panther 4.3.1__tar.gz → 4.3.3__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.3.1 → panther-4.3.3}/PKG-INFO +9 -5
  2. {panther-4.3.1 → panther-4.3.3}/panther/__init__.py +1 -1
  3. {panther-4.3.1 → panther-4.3.3}/panther/db/queries/base_queries.py +1 -1
  4. {panther-4.3.1 → panther-4.3.3}/panther/response.py +2 -1
  5. {panther-4.3.1 → panther-4.3.3}/panther/serializer.py +1 -1
  6. {panther-4.3.1 → panther-4.3.3}/panther.egg-info/PKG-INFO +9 -5
  7. {panther-4.3.1 → panther-4.3.3}/panther.egg-info/requires.txt +7 -3
  8. {panther-4.3.1 → panther-4.3.3}/setup.py +20 -11
  9. {panther-4.3.1 → panther-4.3.3}/LICENSE +0 -0
  10. {panther-4.3.1 → panther-4.3.3}/README.md +0 -0
  11. {panther-4.3.1 → panther-4.3.3}/panther/_load_configs.py +0 -0
  12. {panther-4.3.1 → panther-4.3.3}/panther/_utils.py +0 -0
  13. {panther-4.3.1 → panther-4.3.3}/panther/app.py +0 -0
  14. {panther-4.3.1 → panther-4.3.3}/panther/authentications.py +0 -0
  15. {panther-4.3.1 → panther-4.3.3}/panther/background_tasks.py +0 -0
  16. {panther-4.3.1 → panther-4.3.3}/panther/base_request.py +0 -0
  17. {panther-4.3.1 → panther-4.3.3}/panther/base_websocket.py +0 -0
  18. {panther-4.3.1 → panther-4.3.3}/panther/caching.py +0 -0
  19. {panther-4.3.1 → panther-4.3.3}/panther/cli/__init__.py +0 -0
  20. {panther-4.3.1 → panther-4.3.3}/panther/cli/create_command.py +0 -0
  21. {panther-4.3.1 → panther-4.3.3}/panther/cli/main.py +0 -0
  22. {panther-4.3.1 → panther-4.3.3}/panther/cli/monitor_command.py +0 -0
  23. {panther-4.3.1 → panther-4.3.3}/panther/cli/run_command.py +0 -0
  24. {panther-4.3.1 → panther-4.3.3}/panther/cli/template.py +0 -0
  25. {panther-4.3.1 → panther-4.3.3}/panther/cli/utils.py +0 -0
  26. {panther-4.3.1 → panther-4.3.3}/panther/configs.py +0 -0
  27. {panther-4.3.1 → panther-4.3.3}/panther/db/__init__.py +0 -0
  28. {panther-4.3.1 → panther-4.3.3}/panther/db/connections.py +0 -0
  29. {panther-4.3.1 → panther-4.3.3}/panther/db/cursor.py +0 -0
  30. {panther-4.3.1 → panther-4.3.3}/panther/db/models.py +0 -0
  31. {panther-4.3.1 → panther-4.3.3}/panther/db/queries/__init__.py +0 -0
  32. {panther-4.3.1 → panther-4.3.3}/panther/db/queries/mongodb_queries.py +0 -0
  33. {panther-4.3.1 → panther-4.3.3}/panther/db/queries/pantherdb_queries.py +0 -0
  34. {panther-4.3.1 → panther-4.3.3}/panther/db/queries/queries.py +0 -0
  35. {panther-4.3.1 → panther-4.3.3}/panther/db/utils.py +0 -0
  36. {panther-4.3.1 → panther-4.3.3}/panther/events.py +0 -0
  37. {panther-4.3.1 → panther-4.3.3}/panther/exceptions.py +0 -0
  38. {panther-4.3.1 → panther-4.3.3}/panther/file_handler.py +0 -0
  39. {panther-4.3.1 → panther-4.3.3}/panther/generics.py +0 -0
  40. {panther-4.3.1 → panther-4.3.3}/panther/logging.py +0 -0
  41. {panther-4.3.1 → panther-4.3.3}/panther/main.py +0 -0
  42. {panther-4.3.1 → panther-4.3.3}/panther/middlewares/__init__.py +0 -0
  43. {panther-4.3.1 → panther-4.3.3}/panther/middlewares/base.py +0 -0
  44. {panther-4.3.1 → panther-4.3.3}/panther/monitoring.py +0 -0
  45. {panther-4.3.1 → panther-4.3.3}/panther/pagination.py +0 -0
  46. {panther-4.3.1 → panther-4.3.3}/panther/panel/__init__.py +0 -0
  47. {panther-4.3.1 → panther-4.3.3}/panther/panel/apis.py +0 -0
  48. {panther-4.3.1 → panther-4.3.3}/panther/panel/urls.py +0 -0
  49. {panther-4.3.1 → panther-4.3.3}/panther/panel/utils.py +0 -0
  50. {panther-4.3.1 → panther-4.3.3}/panther/permissions.py +0 -0
  51. {panther-4.3.1 → panther-4.3.3}/panther/request.py +0 -0
  52. {panther-4.3.1 → panther-4.3.3}/panther/routings.py +0 -0
  53. {panther-4.3.1 → panther-4.3.3}/panther/status.py +0 -0
  54. {panther-4.3.1 → panther-4.3.3}/panther/test.py +0 -0
  55. {panther-4.3.1 → panther-4.3.3}/panther/throttling.py +0 -0
  56. {panther-4.3.1 → panther-4.3.3}/panther/utils.py +0 -0
  57. {panther-4.3.1 → panther-4.3.3}/panther/websocket.py +0 -0
  58. {panther-4.3.1 → panther-4.3.3}/panther.egg-info/SOURCES.txt +0 -0
  59. {panther-4.3.1 → panther-4.3.3}/panther.egg-info/dependency_links.txt +0 -0
  60. {panther-4.3.1 → panther-4.3.3}/panther.egg-info/entry_points.txt +0 -0
  61. {panther-4.3.1 → panther-4.3.3}/panther.egg-info/top_level.txt +0 -0
  62. {panther-4.3.1 → panther-4.3.3}/pyproject.toml +0 -0
  63. {panther-4.3.1 → panther-4.3.3}/setup.cfg +0 -0
  64. {panther-4.3.1 → panther-4.3.3}/tests/test_authentication.py +0 -0
  65. {panther-4.3.1 → panther-4.3.3}/tests/test_background_tasks.py +0 -0
  66. {panther-4.3.1 → panther-4.3.3}/tests/test_caching.py +0 -0
  67. {panther-4.3.1 → panther-4.3.3}/tests/test_cli.py +0 -0
  68. {panther-4.3.1 → panther-4.3.3}/tests/test_database.py +0 -0
  69. {panther-4.3.1 → panther-4.3.3}/tests/test_events.py +0 -0
  70. {panther-4.3.1 → panther-4.3.3}/tests/test_generics.py +0 -0
  71. {panther-4.3.1 → panther-4.3.3}/tests/test_multipart.py +0 -0
  72. {panther-4.3.1 → panther-4.3.3}/tests/test_panel_apis.py +0 -0
  73. {panther-4.3.1 → panther-4.3.3}/tests/test_request.py +0 -0
  74. {panther-4.3.1 → panther-4.3.3}/tests/test_response.py +0 -0
  75. {panther-4.3.1 → panther-4.3.3}/tests/test_routing.py +0 -0
  76. {panther-4.3.1 → panther-4.3.3}/tests/test_run.py +0 -0
  77. {panther-4.3.1 → panther-4.3.3}/tests/test_serializer.py +0 -0
  78. {panther-4.3.1 → panther-4.3.3}/tests/test_status.py +0 -0
  79. {panther-4.3.1 → panther-4.3.3}/tests/test_throttling.py +0 -0
  80. {panther-4.3.1 → panther-4.3.3}/tests/test_utils.py +0 -0
  81. {panther-4.3.1 → panther-4.3.3}/tests/test_websockets.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: panther
3
- Version: 4.3.1
4
- Summary: Fast & Friendly, Web Framework For Building Async APIs
3
+ Version: 4.3.3
4
+ Summary: Fast & Friendly, Web Framework For Building Async APIs
5
5
  Home-page: https://github.com/alirn76/panther
6
6
  Author: Ali RajabNezhad
7
7
  Author-email: alirn76@yahoo.com
@@ -10,25 +10,29 @@ Classifier: Operating System :: OS Independent
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
13
14
  Requires-Python: >=3.10
14
15
  Description-Content-Type: text/markdown
15
16
  License-File: LICENSE
16
- Requires-Dist: httptools~=0.6.1
17
17
  Requires-Dist: pantherdb~=2.1.0
18
- Requires-Dist: pydantic~=2.7.4
18
+ Requires-Dist: pydantic~=2.8.2
19
19
  Requires-Dist: rich~=13.7.1
20
20
  Requires-Dist: uvicorn~=0.27.1
21
21
  Requires-Dist: pytz~=2024.1
22
22
  Requires-Dist: Jinja2~=3.1
23
+ Requires-Dist: httptools~=0.6.1
23
24
  Provides-Extra: full
24
25
  Requires-Dist: redis==5.0.1; extra == "full"
25
26
  Requires-Dist: motor~=3.5.0; extra == "full"
26
27
  Requires-Dist: bpython~=0.24; extra == "full"
27
- Requires-Dist: ruff~=0.1.9; extra == "full"
28
28
  Requires-Dist: python-jose~=3.3.0; extra == "full"
29
+ Requires-Dist: ruff~=0.1.9; extra == "full"
29
30
  Requires-Dist: websockets~=12.0; extra == "full"
30
31
  Requires-Dist: cryptography~=42.0.8; extra == "full"
31
32
  Requires-Dist: watchfiles~=0.21.0; extra == "full"
33
+ Provides-Extra: dev
34
+ Requires-Dist: ruff~=0.1.9; extra == "dev"
35
+ Requires-Dist: pytest~=8.3.3; extra == "dev"
32
36
 
33
37
 
34
38
  [![PyPI](https://img.shields.io/pypi/v/panther?label=PyPI)](https://pypi.org/project/panther/) [![PyVersion](https://img.shields.io/pypi/pyversions/panther.svg)](https://pypi.org/project/panther/) [![codecov](https://codecov.io/github/AliRn76/panther/graph/badge.svg?token=YWFQA43GSP)](https://codecov.io/github/AliRn76/panther) [![Downloads](https://static.pepy.tech/badge/panther/month)](https://pepy.tech/project/panther) [![license](https://img.shields.io/github/license/alirn76/panther.svg)](https://github.com/alirn76/panther/blob/main/LICENSE)
@@ -1,6 +1,6 @@
1
1
  from panther.main import Panther # noqa: F401
2
2
 
3
- __version__ = '4.3.1'
3
+ __version__ = '4.3.3'
4
4
 
5
5
 
6
6
  def version():
@@ -28,7 +28,7 @@ class BaseQuery:
28
28
  def _clean_error_message(cls, validation_error: ValidationError, is_updating: bool = False) -> str:
29
29
  error = ', '.join(
30
30
  '{field}="{error}"'.format(
31
- field='.'.join(loc for loc in e['loc']),
31
+ field='.'.join(str(loc) for loc in e['loc']),
32
32
  error=e['msg']
33
33
  )
34
34
  for e in validation_error.errors()
@@ -249,6 +249,7 @@ class TemplateResponse(HTMLResponse):
249
249
  :param pagination: instance of Pagination or None
250
250
  Its template() method will be used
251
251
  """
252
-
252
+ if not context:
253
+ context = {}
253
254
  template = self.environment.get_template(path) if path is not None else self.environment.from_string(source)
254
255
  super().__init__(template.render(context), headers, status_code, pagination=pagination)
@@ -39,7 +39,7 @@ class MetaModelSerializer:
39
39
 
40
40
  # 4. Create a serializer
41
41
  return create_model(
42
- __model_name=cls_name,
42
+ cls_name,
43
43
  __module__=namespace['__module__'],
44
44
  __validators__=namespace,
45
45
  __base__=(cls.model_serializer, BaseModel),
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: panther
3
- Version: 4.3.1
4
- Summary: Fast & Friendly, Web Framework For Building Async APIs
3
+ Version: 4.3.3
4
+ Summary: Fast & Friendly, Web Framework For Building Async APIs
5
5
  Home-page: https://github.com/alirn76/panther
6
6
  Author: Ali RajabNezhad
7
7
  Author-email: alirn76@yahoo.com
@@ -10,25 +10,29 @@ Classifier: Operating System :: OS Independent
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
13
14
  Requires-Python: >=3.10
14
15
  Description-Content-Type: text/markdown
15
16
  License-File: LICENSE
16
- Requires-Dist: httptools~=0.6.1
17
17
  Requires-Dist: pantherdb~=2.1.0
18
- Requires-Dist: pydantic~=2.7.4
18
+ Requires-Dist: pydantic~=2.8.2
19
19
  Requires-Dist: rich~=13.7.1
20
20
  Requires-Dist: uvicorn~=0.27.1
21
21
  Requires-Dist: pytz~=2024.1
22
22
  Requires-Dist: Jinja2~=3.1
23
+ Requires-Dist: httptools~=0.6.1
23
24
  Provides-Extra: full
24
25
  Requires-Dist: redis==5.0.1; extra == "full"
25
26
  Requires-Dist: motor~=3.5.0; extra == "full"
26
27
  Requires-Dist: bpython~=0.24; extra == "full"
27
- Requires-Dist: ruff~=0.1.9; extra == "full"
28
28
  Requires-Dist: python-jose~=3.3.0; extra == "full"
29
+ Requires-Dist: ruff~=0.1.9; extra == "full"
29
30
  Requires-Dist: websockets~=12.0; extra == "full"
30
31
  Requires-Dist: cryptography~=42.0.8; extra == "full"
31
32
  Requires-Dist: watchfiles~=0.21.0; extra == "full"
33
+ Provides-Extra: dev
34
+ Requires-Dist: ruff~=0.1.9; extra == "dev"
35
+ Requires-Dist: pytest~=8.3.3; extra == "dev"
32
36
 
33
37
 
34
38
  [![PyPI](https://img.shields.io/pypi/v/panther?label=PyPI)](https://pypi.org/project/panther/) [![PyVersion](https://img.shields.io/pypi/pyversions/panther.svg)](https://pypi.org/project/panther/) [![codecov](https://codecov.io/github/AliRn76/panther/graph/badge.svg?token=YWFQA43GSP)](https://codecov.io/github/AliRn76/panther) [![Downloads](https://static.pepy.tech/badge/panther/month)](https://pepy.tech/project/panther) [![license](https://img.shields.io/github/license/alirn76/panther.svg)](https://github.com/alirn76/panther/blob/main/LICENSE)
@@ -1,17 +1,21 @@
1
- httptools~=0.6.1
2
1
  pantherdb~=2.1.0
3
- pydantic~=2.7.4
2
+ pydantic~=2.8.2
4
3
  rich~=13.7.1
5
4
  uvicorn~=0.27.1
6
5
  pytz~=2024.1
7
6
  Jinja2~=3.1
7
+ httptools~=0.6.1
8
+
9
+ [dev]
10
+ ruff~=0.1.9
11
+ pytest~=8.3.3
8
12
 
9
13
  [full]
10
14
  redis==5.0.1
11
15
  motor~=3.5.0
12
16
  bpython~=0.24
13
- ruff~=0.1.9
14
17
  python-jose~=3.3.0
18
+ ruff~=0.1.9
15
19
  websockets~=12.0
16
20
  cryptography~=42.0.8
17
21
  watchfiles~=0.21.0
@@ -1,4 +1,5 @@
1
1
  import re
2
+ import sys
2
3
 
3
4
  from setuptools import setup
4
5
 
@@ -12,17 +13,32 @@ VERSION = panther_version()
12
13
  with open('README.md', encoding='utf-8') as file:
13
14
  DESCRIPTION = file.read()
14
15
 
16
+ INSTALL_REQUIRES = [
17
+ 'pantherdb~=2.1.0',
18
+ 'pydantic~=2.8.2',
19
+ 'rich~=13.7.1',
20
+ 'uvicorn~=0.27.1',
21
+ 'pytz~=2024.1',
22
+ 'Jinja2~=3.1',
23
+ ]
24
+ if sys.version_info <= (3, 12):
25
+ INSTALL_REQUIRES.append('httptools~=0.6.1')
26
+
15
27
  EXTRAS_REQUIRE = {
16
28
  'full': [
17
29
  'redis==5.0.1',
18
30
  'motor~=3.5.0',
19
31
  'bpython~=0.24',
20
- 'ruff~=0.1.9',
21
32
  'python-jose~=3.3.0',
33
+ 'ruff~=0.1.9',
22
34
  'websockets~=12.0',
23
35
  'cryptography~=42.0.8',
24
36
  'watchfiles~=0.21.0',
25
37
  ],
38
+ 'dev': [
39
+ 'ruff~=0.1.9',
40
+ 'pytest~=8.3.3'
41
+ ]
26
42
  }
27
43
 
28
44
  setup(
@@ -32,7 +48,7 @@ setup(
32
48
  author='Ali RajabNezhad',
33
49
  author_email='alirn76@yahoo.com',
34
50
  url='https://github.com/alirn76/panther',
35
- description='Fast & Friendly, Web Framework For Building Async APIs',
51
+ description='Fast & Friendly, Web Framework For Building Async APIs',
36
52
  long_description=DESCRIPTION,
37
53
  long_description_content_type='text/markdown',
38
54
  include_package_data=True,
@@ -42,6 +58,7 @@ setup(
42
58
  'Programming Language :: Python :: 3.10',
43
59
  'Programming Language :: Python :: 3.11',
44
60
  'Programming Language :: Python :: 3.12',
61
+ 'Programming Language :: Python :: 3.13',
45
62
  ],
46
63
  entry_points={
47
64
  'console_scripts': ['panther=panther.cli.main:start'],
@@ -49,14 +66,6 @@ setup(
49
66
  package_data={
50
67
  'panther': ['cli/*'],
51
68
  },
52
- install_requires=[
53
- 'httptools~=0.6.1',
54
- 'pantherdb~=2.1.0',
55
- 'pydantic~=2.7.4',
56
- 'rich~=13.7.1',
57
- 'uvicorn~=0.27.1',
58
- 'pytz~=2024.1',
59
- 'Jinja2~=3.1',
60
- ],
69
+ install_requires=INSTALL_REQUIRES,
61
70
  extras_require=EXTRAS_REQUIRE,
62
71
  )
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