TypeDAL 3.8.2__tar.gz → 3.8.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.

Potentially problematic release.


This version of TypeDAL might be problematic. Click here for more details.

Files changed (58) hide show
  1. {typedal-3.8.2 → typedal-3.8.3}/CHANGELOG.md +9 -0
  2. {typedal-3.8.2 → typedal-3.8.3}/PKG-INFO +1 -1
  3. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/__about__.py +1 -1
  4. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/core.py +1 -1
  5. {typedal-3.8.2 → typedal-3.8.3}/tests/test_query_builder.py +6 -0
  6. {typedal-3.8.2 → typedal-3.8.3}/.github/workflows/su6.yml +0 -0
  7. {typedal-3.8.2 → typedal-3.8.3}/.gitignore +0 -0
  8. {typedal-3.8.2 → typedal-3.8.3}/.readthedocs.yml +0 -0
  9. {typedal-3.8.2 → typedal-3.8.3}/README.md +0 -0
  10. {typedal-3.8.2 → typedal-3.8.3}/coverage.svg +0 -0
  11. {typedal-3.8.2 → typedal-3.8.3}/docs/1_getting_started.md +0 -0
  12. {typedal-3.8.2 → typedal-3.8.3}/docs/2_defining_tables.md +0 -0
  13. {typedal-3.8.2 → typedal-3.8.3}/docs/3_building_queries.md +0 -0
  14. {typedal-3.8.2 → typedal-3.8.3}/docs/4_relationships.md +0 -0
  15. {typedal-3.8.2 → typedal-3.8.3}/docs/5_py4web.md +0 -0
  16. {typedal-3.8.2 → typedal-3.8.3}/docs/6_migrations.md +0 -0
  17. {typedal-3.8.2 → typedal-3.8.3}/docs/7_mixins.md +0 -0
  18. {typedal-3.8.2 → typedal-3.8.3}/docs/css/code_blocks.css +0 -0
  19. {typedal-3.8.2 → typedal-3.8.3}/docs/index.md +0 -0
  20. {typedal-3.8.2 → typedal-3.8.3}/docs/requirements.txt +0 -0
  21. {typedal-3.8.2 → typedal-3.8.3}/example_new.py +0 -0
  22. {typedal-3.8.2 → typedal-3.8.3}/example_old.py +0 -0
  23. {typedal-3.8.2 → typedal-3.8.3}/mkdocs.yml +0 -0
  24. {typedal-3.8.2 → typedal-3.8.3}/pyproject.toml +0 -0
  25. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/__init__.py +0 -0
  26. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/caching.py +0 -0
  27. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/cli.py +0 -0
  28. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/config.py +0 -0
  29. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/fields.py +0 -0
  30. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/for_py4web.py +0 -0
  31. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/for_web2py.py +0 -0
  32. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/helpers.py +0 -0
  33. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/mixins.py +0 -0
  34. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/py.typed +0 -0
  35. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/serializers/as_json.py +0 -0
  36. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/types.py +0 -0
  37. {typedal-3.8.2 → typedal-3.8.3}/src/typedal/web2py_py4web_shared.py +0 -0
  38. {typedal-3.8.2 → typedal-3.8.3}/tests/__init__.py +0 -0
  39. {typedal-3.8.2 → typedal-3.8.3}/tests/configs/simple.toml +0 -0
  40. {typedal-3.8.2 → typedal-3.8.3}/tests/configs/valid.env +0 -0
  41. {typedal-3.8.2 → typedal-3.8.3}/tests/configs/valid.toml +0 -0
  42. {typedal-3.8.2 → typedal-3.8.3}/tests/test_cli.py +0 -0
  43. {typedal-3.8.2 → typedal-3.8.3}/tests/test_config.py +0 -0
  44. {typedal-3.8.2 → typedal-3.8.3}/tests/test_docs_examples.py +0 -0
  45. {typedal-3.8.2 → typedal-3.8.3}/tests/test_helpers.py +0 -0
  46. {typedal-3.8.2 → typedal-3.8.3}/tests/test_json.py +0 -0
  47. {typedal-3.8.2 → typedal-3.8.3}/tests/test_main.py +0 -0
  48. {typedal-3.8.2 → typedal-3.8.3}/tests/test_mixins.py +0 -0
  49. {typedal-3.8.2 → typedal-3.8.3}/tests/test_mypy.py +0 -0
  50. {typedal-3.8.2 → typedal-3.8.3}/tests/test_orm.py +0 -0
  51. {typedal-3.8.2 → typedal-3.8.3}/tests/test_py4web.py +0 -0
  52. {typedal-3.8.2 → typedal-3.8.3}/tests/test_relationships.py +0 -0
  53. {typedal-3.8.2 → typedal-3.8.3}/tests/test_row.py +0 -0
  54. {typedal-3.8.2 → typedal-3.8.3}/tests/test_stats.py +0 -0
  55. {typedal-3.8.2 → typedal-3.8.3}/tests/test_table.py +0 -0
  56. {typedal-3.8.2 → typedal-3.8.3}/tests/test_web2py.py +0 -0
  57. {typedal-3.8.2 → typedal-3.8.3}/tests/test_xx_others.py +0 -0
  58. {typedal-3.8.2 → typedal-3.8.3}/tests/timings.py +0 -0
@@ -2,9 +2,18 @@
2
2
 
3
3
  <!--next-version-placeholder-->
4
4
 
5
+ ## v3.8.3 (2024-10-24)
6
+
7
+ ### Fix
8
+
9
+ * Paginate with limit=0 will yield all rows instead of crashing ([`76813e6`](https://github.com/trialandsuccess/TypeDAL/commit/76813e63fc2a0915de2ae5aa3df5be0254678f8b))
10
+
5
11
  ## v3.8.2 (2024-10-23)
6
12
 
13
+ ### Fix
7
14
 
15
+ * Improvements in relationship detection and multiple mixins
16
+ * make Mixin base class define __settings__ so other mixins can use them without checking for existance
8
17
 
9
18
  ## v3.8.1 (2024-10-22)
10
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: TypeDAL
3
- Version: 3.8.2
3
+ Version: 3.8.3
4
4
  Summary: Typing support for PyDAL
5
5
  Project-URL: Documentation, https://typedal.readthedocs.io/
6
6
  Project-URL: Issues, https://github.com/trialandsuccess/TypeDAL/issues
@@ -5,4 +5,4 @@ This file contains the Version info for this package.
5
5
  # SPDX-FileCopyrightText: 2023-present Robin van der Noord <robinvandernoord@gmail.com>
6
6
  #
7
7
  # SPDX-License-Identifier: MIT
8
- __version__ = "3.8.2"
8
+ __version__ = "3.8.3"
@@ -2754,7 +2754,7 @@ class QueryBuilder(typing.Generic[T_MetaInstance]):
2754
2754
  metadata["pagination"] = {
2755
2755
  "limit": limit,
2756
2756
  "current_page": page,
2757
- "max_page": math.ceil(available / limit),
2757
+ "max_page": math.ceil(available / limit) if limit else 1,
2758
2758
  "rows": available,
2759
2759
  "min_max": (_from, _to),
2760
2760
  }
@@ -273,6 +273,12 @@ def test_paginate():
273
273
  assert page_dict["next_page"] is None
274
274
  assert page_dict["prev_page"] is None
275
275
 
276
+ # what if no limit?
277
+ all_rows = TestQueryTable.join(method="left").paginate(limit=0, page=1)
278
+ assert all_rows.pagination["total_items"] == 5
279
+ assert all_rows.pagination["total_pages"] == 1
280
+ assert not all_rows.pagination["has_next_page"]
281
+
276
282
 
277
283
  def test_chunking():
278
284
  _setup_data()
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