factory
- update to 4.0.0:
* **Python 3.11+ required** (previously 3.7+)
* Removed explicit `__annotations__` class variable from all
command classes and base classes. Python manages
`__annotations__` automatically; the explicit declarations
conflicted with `object.__annotations__`. Code that
introspected `MyCommand.__annotations__` directly may need
updating.
* **Fix `Basic.Reject(requeue=False)` being coerced to `True`**
— The codegen emitted `self.requeue = requeue or True` which
made it impossible to reject without requeuing. Now uses a
proper ternary to preserve explicit `False`.
* **Fix `Exchange.Declare(internal=True)` raising
`ValueError`** — The `internal` flag was incorrectly treated
as a deprecated field. It is a legitimate AMQP flag used for
internal exchanges and RabbitMQ tracing.
* **Fix encoding of negative byte-range integers in field
tables** (#45) — `table_integer` routed values in `-128..127`
to `octet()` which uses unsigned byte format (`struct 'B'`),
causing `struct.error` for negative values like `-1`. Now
uses signed byte format (`struct '>b'`). This affected
`x-priority`, `x-delivery-limit`, and any other table
argument using small negative integers.
* **Fix codegen domain regex for exchange/queue names** — The
codegen now extends the AMQP spec regex to include characters
RabbitMQ allows in practice (`@`, `#`, `,`, `/`, `+`, space),
and fixes a bug where the trailing-comma replacement
corrupted regex patterns containing commas.
* **Full type checking with mypy and basedpyright** — Both type
checkers now pass cleanly and are enforced in pre-commit
OBS-URL: https://build.opensuse.org/request/show/1345940
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pamqp?expand=0&rev=13
Description
No description provided
Languages
RPM Spec
100%