Propan

Latest version: v0.1.5.26

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

Scan your dependencies

Page 2 of 3

0.1.2.17

The current update is a sum of several changes and improvements released from the previous release.

The main change - **Propan** no longer obliges you to receive a message in the form of only one argument.
Your handler function can consume as many arguments as needed and also combine them with **pydantic.BaseModel**.

python
router.handle(...)
async def handler(a: int, b: float):
...
async def handler(a: Message, b: float, c: str):


A few public methods for declaring objects **RabbitMQ** were added to **RabbitBroker**:

python
broker = RabbitBroker()
...
await broker.declare_exchange(RabbitExchange("test"))
await broker.declare_queue(RabbitQueue("test"))
channel: aio_pika.RobustChannel = broker.channel


To maintain the ability to send messages and initialize channels, an `after_startup` hook has been added to all **FastAPI PropanRouters**.

python
router = RabbitRouter()

router.after_startup
async def init_whatever(app: FastAPI): ...


In addition, the behavior of the `__init__` and `connect` methods for all brokers have been improved (now the `connect` parameters have priority and override the `__init__` parameters when connecting to the broker), a correct exception has been implemented when accessing an object unavailable for import, several errors have been fixed and other minor internal changes.

New Contributors
* sallory made their first contribution in https://github.com/Lancetnik/Propan/pull/31
* bodograumann made their first contribution in https://github.com/Lancetnik/Propan/pull/56

0.1.2.3

**Propan** added support for *SQS* as a message broker. This functionality is full tested.

*SQSBroker* supports:

* message delivery
* test client, without the need to run *ElasticMQ* or connect to cloud *SQS*
* *FastAPI* Plugin

*SQSBroker* not supports **RPC** yet.

Also, current release include the following fixes:

* *Kafka* connection recovery
* *Nats* connection recovery
* *Redis* connection methods supports not-url parameters

0.1.2.2

NatsBroker` is full tested now.

Also, to **Nats** supporting added:

* `TestNatsBroker` and test messages to local testing
* **RPC** supporting
* `NatsRouter` for **FastAPI**

0.1.2.0

**Propan** added support for *Kafka* as a message broker. This functionality is full tested.

*KafkaBroker* supports:

* message delivery
* test client, without the need to run *Kafka*
* *FastAPI* Plugin

*KafkaBroker* not supports **RPC** yet.

0.1.1.0

**Propan** added support for *Redis Pub/Sub* as a message broker. This functionality is fully tested and described in the documentation.

*RedisBroker* supports:

* message delivery by key or pattern
* test client, without the need to run *Redis*
* **RPC** requests over *Redis Pub/Sub*
* *FastAPI* Plugin

Also, **Propan CLI** is able to generate templates to any supported broker

bash
propan create async [broker] [APPNAME]

0.1.0.0

Stable and fully documented **Propan** release!

From the current release, no more breaking changes - use the framework safely!

At the current release, all *RabbitMQ* use cases are supported, tested, and described in the documentation.
Expect support for *Redis* (testing now), *Kafka* (in development), and full support for *Nats* (also in development) soon.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.