panther 4.3.1__py3-none-any.whl → 4.3.3__py3-none-any.whl

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.
panther/__init__.py CHANGED
@@ -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()
panther/response.py CHANGED
@@ -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)
panther/serializer.py CHANGED
@@ -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,22 +10,26 @@ 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
24
+ Provides-Extra: dev
25
+ Requires-Dist: ruff~=0.1.9; extra == "dev"
26
+ Requires-Dist: pytest~=8.3.3; extra == "dev"
23
27
  Provides-Extra: full
24
28
  Requires-Dist: redis==5.0.1; extra == "full"
25
29
  Requires-Dist: motor~=3.5.0; extra == "full"
26
30
  Requires-Dist: bpython~=0.24; extra == "full"
27
- Requires-Dist: ruff~=0.1.9; extra == "full"
28
31
  Requires-Dist: python-jose~=3.3.0; extra == "full"
32
+ Requires-Dist: ruff~=0.1.9; extra == "full"
29
33
  Requires-Dist: websockets~=12.0; extra == "full"
30
34
  Requires-Dist: cryptography~=42.0.8; extra == "full"
31
35
  Requires-Dist: watchfiles~=0.21.0; extra == "full"
@@ -1,4 +1,4 @@
1
- panther/__init__.py,sha256=hMDOHZroAMX-dAiBlxUfhmaKrxK2GYCD-0hCQf25VJU,110
1
+ panther/__init__.py,sha256=dHSHKCuH-PIVagzBpiGQuX4E_rciYT3fi8UlfzKEUNM,110
2
2
  panther/_load_configs.py,sha256=NZEwp3s7Mq_gU6w5FFN-3JfJImjZtf4_q-qengDQ6Y0,9875
3
3
  panther/_utils.py,sha256=R1tsUde1zA5iJtk-ZvWe8hp6JaNhKgNoH2rxpdiQDMc,4449
4
4
  panther/app.py,sha256=e2eb4sXIaBje5vpcm4pbvvEO_sj83pLfBHCIZJFFX38,8222
@@ -18,9 +18,9 @@ panther/monitoring.py,sha256=y1F3c8FJlnmooM-m1nSyOTa9eWq0v1nHnmw9zz-4Kls,1314
18
18
  panther/pagination.py,sha256=ANJrEF0q1nVAfD33I4nZfUUxFcETzJb01gIhbZX3HEw,1639
19
19
  panther/permissions.py,sha256=9-J5vzvEKa_PITwEVQbZZv8PG2FOu05YBlD5yMrKcfc,348
20
20
  panther/request.py,sha256=F9ZiAWSse7_6moAzqdoFInUN4zTKlzijh9AdU9w3Jfw,1673
21
- panther/response.py,sha256=uQ41lmBhdFUu3mmkftmbiZEvVgGoenEbt7zVwIDodbk,8851
21
+ panther/response.py,sha256=ZjmYfbaZyF8DnLtBCdnxZCIBvnEG_BTkGy_9Uwwnuvw,8899
22
22
  panther/routings.py,sha256=1eqbjubLnUUEQRlz8mIF464ImvCMjyasiekHBtxEQoQ,6218
23
- panther/serializer.py,sha256=UX-cVS-11KnxijUhPXsBs_Pb-Sm3EVzUQFTf9bFQT0A,9096
23
+ panther/serializer.py,sha256=5O5dypP9ys0qTKrjwaXONmOqCfDHoXY1q5ajsirFjM8,9083
24
24
  panther/status.py,sha256=Gc_PnYrHfInTsZpGbqiCfDB-py1C7Rh8KMdb6Lq9Exs,3346
25
25
  panther/test.py,sha256=RsQtP5IURLWR__BihOjruWoX3NscmGDqDqj1CfAb3bI,7037
26
26
  panther/throttling.py,sha256=mVa_mGv6w_Ad7LLtV4eG5QpDwwNsk4QjFFi0mIHQBnE,231
@@ -39,7 +39,7 @@ panther/db/cursor.py,sha256=jJ6bhz_Zljt3-AoeVdi563e2q3MSDJPP33WVbQk-goE,1287
39
39
  panther/db/models.py,sha256=GRbKXJiwnxQJ_SjuPfXPzA5miH_djZNTPPyqiRp5DI8,2561
40
40
  panther/db/utils.py,sha256=ZZa3TMkuRtssl5ZRItFLonyxvMFsTq4fmTD4BblhLDA,1589
41
41
  panther/db/queries/__init__.py,sha256=uF4gvBjLBJ-Yl3WLqoZEVNtHCVhFRKW3_Vi44pJxDNI,45
42
- panther/db/queries/base_queries.py,sha256=8HhdlsSW-lgz3-IrZYfOtHNC3TBWbCNErDR4XE718AY,3764
42
+ panther/db/queries/base_queries.py,sha256=nUhkkfkZT7Fi3NE395b59IJMet0yCS-S1QXfCugh-p8,3769
43
43
  panther/db/queries/mongodb_queries.py,sha256=VLRrUc6kO6YinzEa3mnxzOPv2YyAEh7KjPS4WwzCcRM,5707
44
44
  panther/db/queries/pantherdb_queries.py,sha256=c9K3EHvOTZFN-1ZH8LUiK1BSXpEjPR8vaqPt5FuC05U,4581
45
45
  panther/db/queries/queries.py,sha256=9VY8CMmn0wIbuQVHJO7U5xeym-53saYmFkRIL3sensc,12420
@@ -49,9 +49,9 @@ panther/panel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  panther/panel/apis.py,sha256=COsbwKZyTgyHvHYbpDfusifAH9ojMS3z1KhZCt9M-Ms,2428
50
50
  panther/panel/urls.py,sha256=JiV-H4dWE-m_bfaTTVxzOxTvJmOWhyLOvcbM7xU3Bn4,240
51
51
  panther/panel/utils.py,sha256=0Rv79oR5IEqalqwpRKQHMn1p5duVY5mxMqDKiA5mWx4,437
52
- panther-4.3.1.dist-info/LICENSE,sha256=2aF1hL2aC0zRPjzUkSxJUzZbn2_uLoOkn7DHjzZni-I,1524
53
- panther-4.3.1.dist-info/METADATA,sha256=32_c-_BRnAQRawYwDccXv1fpYEk571vUqAAEA20ltX8,6537
54
- panther-4.3.1.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
55
- panther-4.3.1.dist-info/entry_points.txt,sha256=6GPxYFGuzVfNB4YpHFJvYex6iWah5_tLnirAHwj2Qsg,51
56
- panther-4.3.1.dist-info/top_level.txt,sha256=VbBs02JGXTIoHMzsX-eLOk2MCbBZzQbLhWiYpI7xI2g,8
57
- panther-4.3.1.dist-info/RECORD,,
52
+ panther-4.3.3.dist-info/LICENSE,sha256=2aF1hL2aC0zRPjzUkSxJUzZbn2_uLoOkn7DHjzZni-I,1524
53
+ panther-4.3.3.dist-info/METADATA,sha256=h6jZdw3vY-nVfpeAkl53zjn7V4WMeuyapMxc7gqgiPU,6695
54
+ panther-4.3.3.dist-info/WHEEL,sha256=a7TGlA-5DaHMRrarXjVbQagU3Man_dCnGIWMJr5kRWo,91
55
+ panther-4.3.3.dist-info/entry_points.txt,sha256=6GPxYFGuzVfNB4YpHFJvYex6iWah5_tLnirAHwj2Qsg,51
56
+ panther-4.3.3.dist-info/top_level.txt,sha256=VbBs02JGXTIoHMzsX-eLOk2MCbBZzQbLhWiYpI7xI2g,8
57
+ panther-4.3.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (73.0.1)
2
+ Generator: setuptools (75.4.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5