Blacksmith

Latest version: v4.0.5

Safety actively analyzes 710752 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 10

1.0.0

------------------------------
* Add new page in the doc for the web framework integration
* Update dependencies

0.13.4

-------------------------------
* Update dependencies
* Add type support for prometheus
* Remove extra dependency `caching`, add `http_cache_async` and `http_cache_sync`.

0.13.3

-------------------------------
* Rename internal attribute request to read on :class:`blacksmith.HTTPTimeout`
* Declare missing type on :class:`blacksmith.AsyncAbstractTransport`

.. important::

Breaking change

0.13.2

-------------------------------
* Exposing more classes in the main module:

* CollectionParser
* AsyncAbstractServiceDiscovery
* SyncAbstractServiceDiscovery
* AsyncAbstractTransport
* SyncAbstractTransport
* HTTPRequest
* HTTPResponse

* Add an example on how to unit test.

0.13.1

-------------------------------
* Fix typo, rename AbtractTraceContext to :class:`blacksmith.AbstractTraceContext`

.. important::

Breaking change

0.13.0

-------------------------------

.. important::

This is the release candidate.
Last releases where a lot about refactoring and fixing naming concistency.

* No new feature will be added.
* No major breaking change are going to be introduced.


* New feature

* HTTP Cache Middleware now expose metrics using the its `metrics` argument.

* Breaking Changes

* The :meth:`blacksmith.AsyncClientFactory.initialize` must be called to initialize
middleware that requires it. (e.g. the ones that use a ``aioredis`` connections).
See the documentation of :ref:`HTTP Cache Middleware` and
:ref:`Circuit Breaker Middleware` for the detail.

* All middleware classes ends with a ``Middleware`` suffix.
* ``AsyncHTTPAuthorization`` => :class:`blacksmith.AsyncHTTPAuthorizationMiddleware`
* ``AsyncHTTPBearerAuthorization`` => :class:`blacksmith.AsyncHTTPBearerMiddleware`
* ``AsyncCircuitBreaker`` => :class:`blacksmith.AsyncCircuitBreakerMiddleware`
* ``AsyncPrometheusMetrics`` => :class:`blacksmith.AsyncPrometheusMiddleware`
* ``AsyncHTTPCachingMiddleware`` => :class:`blacksmith.AsyncHTTPCacheMiddleware`
* ``SyncHTTPAuthorization`` => :class:`blacksmith.SyncHTTPAuthorizationMiddleware`
* ``SyncHTTPBearerAuthorization`` => :class:`blacksmith.SyncHTTPBearerMiddleware`
* ``SyncCircuitBreaker`` => :class:`blacksmith.SyncCircuitBreakerMiddleware`
* ``SyncPrometheusMetrics`` => :class:`blacksmith.SyncPrometheusMiddleware`
* ``SyncHTTPCachingMiddleware`` => :class:`blacksmith.SyncHTTPCacheMiddleware`

* :class:`blacksmith.AsyncCircuitBreakerMiddleware` and
:class:`blacksmith.SyncCircuitBreakerMiddleware` now have a
:class:`blacksmith.PrometheusMetrics` instead of the prometheus middleware
:class:`blacksmith.AsyncPrometheusMiddleware`
or :class:`blacksmith.SyncPrometheusMiddleware`.

Page 6 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.