panther 4.2.1__tar.gz → 4.2.2__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 (81) hide show
  1. {panther-4.2.1 → panther-4.2.2}/PKG-INFO +1 -1
  2. {panther-4.2.1 → panther-4.2.2}/panther/__init__.py +1 -1
  3. {panther-4.2.1 → panther-4.2.2}/panther/base_websocket.py +9 -5
  4. {panther-4.2.1 → panther-4.2.2}/panther.egg-info/PKG-INFO +1 -1
  5. {panther-4.2.1 → panther-4.2.2}/LICENSE +0 -0
  6. {panther-4.2.1 → panther-4.2.2}/README.md +0 -0
  7. {panther-4.2.1 → panther-4.2.2}/panther/_load_configs.py +0 -0
  8. {panther-4.2.1 → panther-4.2.2}/panther/_utils.py +0 -0
  9. {panther-4.2.1 → panther-4.2.2}/panther/app.py +0 -0
  10. {panther-4.2.1 → panther-4.2.2}/panther/authentications.py +0 -0
  11. {panther-4.2.1 → panther-4.2.2}/panther/background_tasks.py +0 -0
  12. {panther-4.2.1 → panther-4.2.2}/panther/base_request.py +0 -0
  13. {panther-4.2.1 → panther-4.2.2}/panther/caching.py +0 -0
  14. {panther-4.2.1 → panther-4.2.2}/panther/cli/__init__.py +0 -0
  15. {panther-4.2.1 → panther-4.2.2}/panther/cli/create_command.py +0 -0
  16. {panther-4.2.1 → panther-4.2.2}/panther/cli/main.py +0 -0
  17. {panther-4.2.1 → panther-4.2.2}/panther/cli/monitor_command.py +0 -0
  18. {panther-4.2.1 → panther-4.2.2}/panther/cli/run_command.py +0 -0
  19. {panther-4.2.1 → panther-4.2.2}/panther/cli/template.py +0 -0
  20. {panther-4.2.1 → panther-4.2.2}/panther/cli/utils.py +0 -0
  21. {panther-4.2.1 → panther-4.2.2}/panther/configs.py +0 -0
  22. {panther-4.2.1 → panther-4.2.2}/panther/db/__init__.py +0 -0
  23. {panther-4.2.1 → panther-4.2.2}/panther/db/connections.py +0 -0
  24. {panther-4.2.1 → panther-4.2.2}/panther/db/cursor.py +0 -0
  25. {panther-4.2.1 → panther-4.2.2}/panther/db/models.py +0 -0
  26. {panther-4.2.1 → panther-4.2.2}/panther/db/queries/__init__.py +0 -0
  27. {panther-4.2.1 → panther-4.2.2}/panther/db/queries/base_queries.py +0 -0
  28. {panther-4.2.1 → panther-4.2.2}/panther/db/queries/mongodb_queries.py +0 -0
  29. {panther-4.2.1 → panther-4.2.2}/panther/db/queries/pantherdb_queries.py +0 -0
  30. {panther-4.2.1 → panther-4.2.2}/panther/db/queries/queries.py +0 -0
  31. {panther-4.2.1 → panther-4.2.2}/panther/db/utils.py +0 -0
  32. {panther-4.2.1 → panther-4.2.2}/panther/events.py +0 -0
  33. {panther-4.2.1 → panther-4.2.2}/panther/exceptions.py +0 -0
  34. {panther-4.2.1 → panther-4.2.2}/panther/file_handler.py +0 -0
  35. {panther-4.2.1 → panther-4.2.2}/panther/generics.py +0 -0
  36. {panther-4.2.1 → panther-4.2.2}/panther/logging.py +0 -0
  37. {panther-4.2.1 → panther-4.2.2}/panther/main.py +0 -0
  38. {panther-4.2.1 → panther-4.2.2}/panther/middlewares/__init__.py +0 -0
  39. {panther-4.2.1 → panther-4.2.2}/panther/middlewares/base.py +0 -0
  40. {panther-4.2.1 → panther-4.2.2}/panther/monitoring.py +0 -0
  41. {panther-4.2.1 → panther-4.2.2}/panther/pagination.py +0 -0
  42. {panther-4.2.1 → panther-4.2.2}/panther/panel/__init__.py +0 -0
  43. {panther-4.2.1 → panther-4.2.2}/panther/panel/apis.py +0 -0
  44. {panther-4.2.1 → panther-4.2.2}/panther/panel/urls.py +0 -0
  45. {panther-4.2.1 → panther-4.2.2}/panther/panel/utils.py +0 -0
  46. {panther-4.2.1 → panther-4.2.2}/panther/permissions.py +0 -0
  47. {panther-4.2.1 → panther-4.2.2}/panther/request.py +0 -0
  48. {panther-4.2.1 → panther-4.2.2}/panther/response.py +0 -0
  49. {panther-4.2.1 → panther-4.2.2}/panther/routings.py +0 -0
  50. {panther-4.2.1 → panther-4.2.2}/panther/serializer.py +0 -0
  51. {panther-4.2.1 → panther-4.2.2}/panther/status.py +0 -0
  52. {panther-4.2.1 → panther-4.2.2}/panther/test.py +0 -0
  53. {panther-4.2.1 → panther-4.2.2}/panther/throttling.py +0 -0
  54. {panther-4.2.1 → panther-4.2.2}/panther/utils.py +0 -0
  55. {panther-4.2.1 → panther-4.2.2}/panther/websocket.py +0 -0
  56. {panther-4.2.1 → panther-4.2.2}/panther.egg-info/SOURCES.txt +0 -0
  57. {panther-4.2.1 → panther-4.2.2}/panther.egg-info/dependency_links.txt +0 -0
  58. {panther-4.2.1 → panther-4.2.2}/panther.egg-info/entry_points.txt +0 -0
  59. {panther-4.2.1 → panther-4.2.2}/panther.egg-info/requires.txt +0 -0
  60. {panther-4.2.1 → panther-4.2.2}/panther.egg-info/top_level.txt +0 -0
  61. {panther-4.2.1 → panther-4.2.2}/pyproject.toml +0 -0
  62. {panther-4.2.1 → panther-4.2.2}/setup.cfg +0 -0
  63. {panther-4.2.1 → panther-4.2.2}/setup.py +0 -0
  64. {panther-4.2.1 → panther-4.2.2}/tests/test_authentication.py +0 -0
  65. {panther-4.2.1 → panther-4.2.2}/tests/test_background_tasks.py +0 -0
  66. {panther-4.2.1 → panther-4.2.2}/tests/test_caching.py +0 -0
  67. {panther-4.2.1 → panther-4.2.2}/tests/test_cli.py +0 -0
  68. {panther-4.2.1 → panther-4.2.2}/tests/test_database.py +0 -0
  69. {panther-4.2.1 → panther-4.2.2}/tests/test_events.py +0 -0
  70. {panther-4.2.1 → panther-4.2.2}/tests/test_generics.py +0 -0
  71. {panther-4.2.1 → panther-4.2.2}/tests/test_multipart.py +0 -0
  72. {panther-4.2.1 → panther-4.2.2}/tests/test_panel_apis.py +0 -0
  73. {panther-4.2.1 → panther-4.2.2}/tests/test_request.py +0 -0
  74. {panther-4.2.1 → panther-4.2.2}/tests/test_response.py +0 -0
  75. {panther-4.2.1 → panther-4.2.2}/tests/test_routing.py +0 -0
  76. {panther-4.2.1 → panther-4.2.2}/tests/test_run.py +0 -0
  77. {panther-4.2.1 → panther-4.2.2}/tests/test_serializer.py +0 -0
  78. {panther-4.2.1 → panther-4.2.2}/tests/test_status.py +0 -0
  79. {panther-4.2.1 → panther-4.2.2}/tests/test_throttling.py +0 -0
  80. {panther-4.2.1 → panther-4.2.2}/tests/test_utils.py +0 -0
  81. {panther-4.2.1 → panther-4.2.2}/tests/test_websockets.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: panther
3
- Version: 4.2.1
3
+ Version: 4.2.2
4
4
  Summary: Fast & Friendly, Web Framework For Building Async APIs
5
5
  Home-page: https://github.com/alirn76/panther
6
6
  Author: Ali RajabNezhad
@@ -1,6 +1,6 @@
1
1
  from panther.main import Panther # noqa: F401
2
2
 
3
- __version__ = '4.2.1'
3
+ __version__ = '4.2.2'
4
4
 
5
5
 
6
6
  def version():
@@ -1,12 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import asyncio
4
- import logging
4
+ import orjson as json
5
5
  from multiprocessing.managers import SyncManager
6
6
  from typing import TYPE_CHECKING, Literal
7
7
 
8
- import orjson as json
9
-
8
+ import logging
10
9
  from panther import status
11
10
  from panther.base_request import BaseRequest
12
11
  from panther.configs import config
@@ -53,9 +52,14 @@ class WebsocketConnections(Singleton):
53
52
  logger.info("Subscribed to 'websocket_connections' queue")
54
53
  while True:
55
54
  try:
56
- received_message = queue.get()
55
+ received_message = await asyncio.to_thread(queue.get)
56
+ if received_message is None:
57
+ # The None came from the CancelledError, so break the loop
58
+ break
57
59
  await self._handle_received_message(received_message=received_message)
58
- except InterruptedError:
60
+ except (InterruptedError, asyncio.CancelledError):
61
+ # Put the None to the queue, so the executor knows that it ends
62
+ queue.put(None)
59
63
  break
60
64
  else:
61
65
  # We have a redis connection, so use it for pubsub
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: panther
3
- Version: 4.2.1
3
+ Version: 4.2.2
4
4
  Summary: Fast & Friendly, Web Framework For Building Async APIs
5
5
  Home-page: https://github.com/alirn76/panther
6
6
  Author: Ali RajabNezhad
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes