qena-shared-lib 0.1.21__tar.gz → 0.1.22__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/PKG-INFO +1 -1
  2. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/pyproject.toml +1 -1
  3. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/mongodb.py +28 -4
  4. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/README.md +0 -0
  5. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/__init__.py +0 -0
  6. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/alias.py +0 -0
  7. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/application.py +0 -0
  8. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/background.py +0 -0
  9. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/cache.py +0 -0
  10. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/dependencies/__init__.py +0 -0
  11. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/dependencies/http.py +0 -0
  12. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/dependencies/miscellaneous.py +0 -0
  13. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/enums.py +0 -0
  14. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/eventbus.py +0 -0
  15. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/exception_handling.py +0 -0
  16. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/exceptions.py +0 -0
  17. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/http/__init__.py +0 -0
  18. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/http/_base.py +0 -0
  19. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/http/_exception_handlers.py +0 -0
  20. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/http/_request.py +0 -0
  21. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/http/_response.py +0 -0
  22. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/kafka/__init__.py +0 -0
  23. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/kafka/_base.py +0 -0
  24. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/kafka/_consumer.py +0 -0
  25. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/kafka/_exception_handlers.py +0 -0
  26. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/kafka/_producer.py +0 -0
  27. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/logging.py +0 -0
  28. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/py.typed +0 -0
  29. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/__init__.py +0 -0
  30. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/_base.py +0 -0
  31. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/_channel.py +0 -0
  32. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/_exception_handlers.py +0 -0
  33. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/_listener.py +0 -0
  34. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/_pool.py +0 -0
  35. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/_publisher.py +0 -0
  36. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/_rpc_client.py +0 -0
  37. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/message/__init__.py +0 -0
  38. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/message/_inbound.py +0 -0
  39. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/rabbitmq/message/_outbound.py +0 -0
  40. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/redis.py +0 -0
  41. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/remotelogging/__init__.py +0 -0
  42. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/remotelogging/_base.py +0 -0
  43. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/remotelogging/logstash/__init__.py +0 -0
  44. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/remotelogging/logstash/_base.py +0 -0
  45. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/remotelogging/logstash/_http_sender.py +0 -0
  46. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/remotelogging/logstash/_tcp_sender.py +0 -0
  47. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/scheduler.py +0 -0
  48. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/security.py +0 -0
  49. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/sync.py +0 -0
  50. {qena_shared_lib-0.1.21 → qena_shared_lib-0.1.22}/src/qena_shared_lib/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: qena-shared-lib
3
- Version: 0.1.21
3
+ Version: 0.1.22
4
4
  Summary: A shared tools for other services
5
5
  Requires-Dist: fastapi[all]==0.115.6
6
6
  Requires-Dist: prometheus-client==0.21.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "qena-shared-lib"
3
- version = "0.1.21"
3
+ version = "0.1.22"
4
4
  description = "A shared tools for other services"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -587,16 +587,40 @@ class RepositoryBase(Generic[T]):
587
587
 
588
588
  return cast(int, await self.collection.estimated_document_count())
589
589
 
590
- async def aggregate(
590
+ @overload
591
+ def aggregate(
591
592
  self,
593
+ *,
592
594
  aggregation: type[A],
593
595
  let: dict[str, Any] | None = None,
594
596
  session: AsyncClientSession | None = None,
595
597
  ) -> AsyncGenerator[A, None]:
598
+ pass
599
+
600
+ @overload
601
+ def aggregate(
602
+ self,
603
+ *,
604
+ aggregation: type[A],
605
+ pipeline: list[Any],
606
+ let: dict[str, Any] | None = None,
607
+ session: AsyncClientSession | None = None,
608
+ ) -> AsyncGenerator[A, None]:
609
+ pass
610
+
611
+ async def aggregate(
612
+ self, *_: Any, **kwarg: Any
613
+ ) -> AsyncGenerator[Any, None]:
614
+ aggregation = cast(AggregatedDocument, kwarg.get("aggregation"))
615
+ pipeline = kwarg.get("pipeline")
616
+
617
+ if pipeline is None:
618
+ pipeline = aggregation.get_pipeline()
619
+
596
620
  async with await self.collection.aggregate(
597
- pipeline=aggregation.get_pipeline(),
598
- let=let,
599
- session=session or self.session,
621
+ pipeline=pipeline,
622
+ let=kwarg.get("let"),
623
+ session=kwarg.get("session") or self.session,
600
624
  ) as cursor:
601
625
  async for document in cursor:
602
626
  yield aggregation.from_raw_aggregated_document(document)