From a7af883ee34f933e019b97284efdd244e86aaf51 Mon Sep 17 00:00:00 2001 From: pepellsd Date: Mon, 23 Dec 2024 22:15:54 +0300 Subject: [PATCH] minor fixes and docs --- docs/docs/SUMMARY.md | 6 ++-- .../RabbitQueueType.md => QueueType.md} | 2 +- .../RabbitQueueType.md => QueueType.md} | 2 +- .../rabbit/schemas/queue/QueueType.md | 11 +++++++ docs/docs_src/rabbit/subscription/stream.py | 6 ++-- faststream/rabbit/__init__.py | 2 ++ faststream/rabbit/schemas/__init__.py | 4 +-- faststream/rabbit/schemas/queue.py | 30 +++++++++---------- 8 files changed, 37 insertions(+), 26 deletions(-) rename docs/docs/en/api/faststream/rabbit/{schemas/RabbitQueueType.md => QueueType.md} (70%) rename docs/docs/en/api/faststream/rabbit/schemas/{queue/RabbitQueueType.md => QueueType.md} (67%) create mode 100644 docs/docs/en/api/faststream/rabbit/schemas/queue/QueueType.md diff --git a/docs/docs/SUMMARY.md b/docs/docs/SUMMARY.md index af9d0f7404..b41d3fa972 100644 --- a/docs/docs/SUMMARY.md +++ b/docs/docs/SUMMARY.md @@ -186,6 +186,7 @@ search: - [TelemetrySettingsProvider](public_api/faststream/opentelemetry/TelemetrySettingsProvider.md) - rabbit - [ExchangeType](public_api/faststream/rabbit/ExchangeType.md) + - [QueueType](public_api/faststream/rabbit/QueueType.md) - [RabbitBroker](public_api/faststream/rabbit/RabbitBroker.md) - [RabbitExchange](public_api/faststream/rabbit/RabbitExchange.md) - [RabbitPublisher](public_api/faststream/rabbit/RabbitPublisher.md) @@ -872,6 +873,7 @@ search: - [PublishingStatus](api/faststream/prometheus/types/PublishingStatus.md) - rabbit - [ExchangeType](api/faststream/rabbit/ExchangeType.md) + - [QueueType](api/faststream/rabbit/QueueType.md) - [RabbitBroker](api/faststream/rabbit/RabbitBroker.md) - [RabbitExchange](api/faststream/rabbit/RabbitExchange.md) - [RabbitPublisher](api/faststream/rabbit/RabbitPublisher.md) @@ -932,9 +934,9 @@ search: - schemas - [BaseRMQInformation](api/faststream/rabbit/schemas/BaseRMQInformation.md) - [ExchangeType](api/faststream/rabbit/schemas/ExchangeType.md) + - [QueueType](api/faststream/rabbit/schemas/QueueType.md) - [RabbitExchange](api/faststream/rabbit/schemas/RabbitExchange.md) - [RabbitQueue](api/faststream/rabbit/schemas/RabbitQueue.md) - - [RabbitQueueType](api/faststream/rabbit/schemas/RabbitQueueType.md) - [ReplyConfig](api/faststream/rabbit/schemas/ReplyConfig.md) - constants - [ExchangeType](api/faststream/rabbit/schemas/constants/ExchangeType.md) @@ -948,9 +950,9 @@ search: - [QueueClassicTypeSpecificArgs](api/faststream/rabbit/schemas/queue/QueueClassicTypeSpecificArgs.md) - [QueueQuorumTypeSpecificArgs](api/faststream/rabbit/schemas/queue/QueueQuorumTypeSpecificArgs.md) - [QueueStreamTypeSpecificArgs](api/faststream/rabbit/schemas/queue/QueueStreamTypeSpecificArgs.md) + - [QueueType](api/faststream/rabbit/schemas/queue/QueueType.md) - [QuorumQueueArgs](api/faststream/rabbit/schemas/queue/QuorumQueueArgs.md) - [RabbitQueue](api/faststream/rabbit/schemas/queue/RabbitQueue.md) - - [RabbitQueueType](api/faststream/rabbit/schemas/queue/RabbitQueueType.md) - [SharedQueueClassicAndQuorumArgs](api/faststream/rabbit/schemas/queue/SharedQueueClassicAndQuorumArgs.md) - [StreamQueueArgs](api/faststream/rabbit/schemas/queue/StreamQueueArgs.md) - reply diff --git a/docs/docs/en/api/faststream/rabbit/schemas/RabbitQueueType.md b/docs/docs/en/api/faststream/rabbit/QueueType.md similarity index 70% rename from docs/docs/en/api/faststream/rabbit/schemas/RabbitQueueType.md rename to docs/docs/en/api/faststream/rabbit/QueueType.md index a5e356b5d5..32fded7b16 100644 --- a/docs/docs/en/api/faststream/rabbit/schemas/RabbitQueueType.md +++ b/docs/docs/en/api/faststream/rabbit/QueueType.md @@ -8,4 +8,4 @@ search: boost: 0.5 --- -::: faststream.rabbit.schemas.RabbitQueueType +::: faststream.rabbit.QueueType diff --git a/docs/docs/en/api/faststream/rabbit/schemas/queue/RabbitQueueType.md b/docs/docs/en/api/faststream/rabbit/schemas/QueueType.md similarity index 67% rename from docs/docs/en/api/faststream/rabbit/schemas/queue/RabbitQueueType.md rename to docs/docs/en/api/faststream/rabbit/schemas/QueueType.md index 5b2476199c..49ab8b9abe 100644 --- a/docs/docs/en/api/faststream/rabbit/schemas/queue/RabbitQueueType.md +++ b/docs/docs/en/api/faststream/rabbit/schemas/QueueType.md @@ -8,4 +8,4 @@ search: boost: 0.5 --- -::: faststream.rabbit.schemas.queue.RabbitQueueType +::: faststream.rabbit.schemas.QueueType diff --git a/docs/docs/en/api/faststream/rabbit/schemas/queue/QueueType.md b/docs/docs/en/api/faststream/rabbit/schemas/queue/QueueType.md new file mode 100644 index 0000000000..099131fea0 --- /dev/null +++ b/docs/docs/en/api/faststream/rabbit/schemas/queue/QueueType.md @@ -0,0 +1,11 @@ +--- +# 0.5 - API +# 2 - Release +# 3 - Contributing +# 5 - Template Page +# 10 - Default +search: + boost: 0.5 +--- + +::: faststream.rabbit.schemas.queue.QueueType diff --git a/docs/docs_src/rabbit/subscription/stream.py b/docs/docs_src/rabbit/subscription/stream.py index 1510622402..17c99753cf 100644 --- a/docs/docs_src/rabbit/subscription/stream.py +++ b/docs/docs_src/rabbit/subscription/stream.py @@ -1,5 +1,5 @@ from faststream import FastStream, Logger -from faststream.rabbit import RabbitBroker, RabbitQueue +from faststream.rabbit import RabbitBroker, RabbitQueue, QueueType broker = RabbitBroker(max_consumers=10) app = FastStream(broker) @@ -7,9 +7,7 @@ queue = RabbitQueue( name="test-stream", durable=True, - arguments={ - "x-queue-type": "stream", - }, + queue_type=QueueType.STREAM ) diff --git a/faststream/rabbit/__init__.py b/faststream/rabbit/__init__.py index 15b323772c..98f364656d 100644 --- a/faststream/rabbit/__init__.py +++ b/faststream/rabbit/__init__.py @@ -4,6 +4,7 @@ from faststream.rabbit.router import RabbitPublisher, RabbitRoute, RabbitRouter from faststream.rabbit.schemas import ( ExchangeType, + QueueType, RabbitExchange, RabbitQueue, ReplyConfig, @@ -13,6 +14,7 @@ __all__ = ( "ExchangeType", + "QueueType", "RabbitBroker", "RabbitExchange", # Annotations diff --git a/faststream/rabbit/schemas/__init__.py b/faststream/rabbit/schemas/__init__.py index e4db738fc4..08e72e7700 100644 --- a/faststream/rabbit/schemas/__init__.py +++ b/faststream/rabbit/schemas/__init__.py @@ -1,16 +1,16 @@ from faststream.rabbit.schemas.constants import ExchangeType from faststream.rabbit.schemas.exchange import RabbitExchange from faststream.rabbit.schemas.proto import BaseRMQInformation -from faststream.rabbit.schemas.queue import RabbitQueue, RabbitQueueType +from faststream.rabbit.schemas.queue import QueueType, RabbitQueue from faststream.rabbit.schemas.reply import ReplyConfig __all__ = ( "RABBIT_REPLY", "BaseRMQInformation", "ExchangeType", + "QueueType", "RabbitExchange", "RabbitQueue", - "RabbitQueueType", "ReplyConfig", ) diff --git a/faststream/rabbit/schemas/queue.py b/faststream/rabbit/schemas/queue.py index 5e215908a1..1608c838f2 100644 --- a/faststream/rabbit/schemas/queue.py +++ b/faststream/rabbit/schemas/queue.py @@ -11,10 +11,10 @@ from faststream.types import AnyDict -class RabbitQueueType(Enum): - Classic = "classic" - Quorum = "quorum" - Stream = "stream" +class QueueType(str, Enum): + CLASSIC = "classic" + QUORUM = "quorum" + STREAM = "stream" CommonQueueArgs = TypedDict( @@ -23,7 +23,7 @@ class RabbitQueueType(Enum): "x-queue-leader-locator": Literal["client-local", "balanced"], "x-max-length-bytes": int, }, - total=True, + total=False, ) SharedQueueClassicAndQuorumArgs = TypedDict( @@ -36,7 +36,7 @@ class RabbitQueueType(Enum): "x-dead-letter-routing-key": str, "x-max-length": int, }, - total=True, + total=False, ) @@ -46,7 +46,7 @@ class RabbitQueueType(Enum): "x-overflow": Literal["drop-head", "reject-publish", "reject-publish-dlx"], "x-max-priority": int, }, - total=True, + total=False, ) QueueQuorumTypeSpecificArgs = TypedDict( @@ -58,7 +58,7 @@ class RabbitQueueType(Enum): "x-quorum-target-group-size": int, "x-dead-letter-strategy": Literal["at-most-once", "at-least-once"], }, - total=True, + total=False, ) @@ -70,7 +70,7 @@ class RabbitQueueType(Enum): "x-stream-filter-size-bytes": int, "x-initial-cluster-size": int, }, - total=True, + total=False, ) @@ -131,7 +131,7 @@ def routing(self) -> str: def __init__( self, name: str, - queue_type: Literal[RabbitQueueType.Classic] = RabbitQueueType.Classic, + queue_type: Literal[QueueType.CLASSIC] = QueueType.CLASSIC, durable: Literal[True, False] = False, exclusive: bool = False, passive: bool = False, @@ -147,7 +147,7 @@ def __init__( def __init__( self, name: str, - queue_type: Literal[RabbitQueueType.Quorum], + queue_type: Literal[QueueType.QUORUM], durable: Literal[True], exclusive: bool = False, passive: bool = False, @@ -163,7 +163,7 @@ def __init__( def __init__( self, name: str, - queue_type: Literal[RabbitQueueType.Stream], + queue_type: Literal[QueueType.STREAM], durable: Literal[True], exclusive: bool = False, passive: bool = False, @@ -178,15 +178,13 @@ def __init__( def __init__( self, name: str, - queue_type: Literal[ - RabbitQueueType.Quorum, RabbitQueueType.Classic, RabbitQueueType.Stream - ] = RabbitQueueType.Classic, + queue_type: QueueType = QueueType.CLASSIC, durable: Literal[True, False] = False, exclusive: bool = False, passive: bool = False, auto_delete: bool = False, arguments: Optional[ - Union[QuorumQueueArgs, ClassicQueueArgs, StreamQueueArgs] + Union[QuorumQueueArgs, ClassicQueueArgs, StreamQueueArgs, "AnyDict"] ] = None, timeout: "TimeoutType" = None, robust: bool = True,