TypeDAL 3.10.4__tar.gz → 3.10.5__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.10.4 → typedal-3.10.5}/CHANGELOG.md +6 -0
  2. {typedal-3.10.4 → typedal-3.10.5}/PKG-INFO +2 -2
  3. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/__about__.py +1 -1
  4. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/core.py +5 -1
  5. {typedal-3.10.4 → typedal-3.10.5}/tests/test_row.py +4 -0
  6. {typedal-3.10.4 → typedal-3.10.5}/.github/workflows/su6.yml +0 -0
  7. {typedal-3.10.4 → typedal-3.10.5}/.gitignore +0 -0
  8. {typedal-3.10.4 → typedal-3.10.5}/.readthedocs.yml +0 -0
  9. {typedal-3.10.4 → typedal-3.10.5}/README.md +0 -0
  10. {typedal-3.10.4 → typedal-3.10.5}/coverage.svg +0 -0
  11. {typedal-3.10.4 → typedal-3.10.5}/docs/1_getting_started.md +0 -0
  12. {typedal-3.10.4 → typedal-3.10.5}/docs/2_defining_tables.md +0 -0
  13. {typedal-3.10.4 → typedal-3.10.5}/docs/3_building_queries.md +0 -0
  14. {typedal-3.10.4 → typedal-3.10.5}/docs/4_relationships.md +0 -0
  15. {typedal-3.10.4 → typedal-3.10.5}/docs/5_py4web.md +0 -0
  16. {typedal-3.10.4 → typedal-3.10.5}/docs/6_migrations.md +0 -0
  17. {typedal-3.10.4 → typedal-3.10.5}/docs/7_mixins.md +0 -0
  18. {typedal-3.10.4 → typedal-3.10.5}/docs/css/code_blocks.css +0 -0
  19. {typedal-3.10.4 → typedal-3.10.5}/docs/index.md +0 -0
  20. {typedal-3.10.4 → typedal-3.10.5}/docs/requirements.txt +0 -0
  21. {typedal-3.10.4 → typedal-3.10.5}/example_new.py +0 -0
  22. {typedal-3.10.4 → typedal-3.10.5}/example_old.py +0 -0
  23. {typedal-3.10.4 → typedal-3.10.5}/mkdocs.yml +0 -0
  24. {typedal-3.10.4 → typedal-3.10.5}/pyproject.toml +0 -0
  25. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/__init__.py +0 -0
  26. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/caching.py +0 -0
  27. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/cli.py +0 -0
  28. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/config.py +0 -0
  29. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/fields.py +0 -0
  30. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/for_py4web.py +0 -0
  31. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/for_web2py.py +0 -0
  32. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/helpers.py +0 -0
  33. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/mixins.py +0 -0
  34. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/py.typed +0 -0
  35. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/serializers/as_json.py +0 -0
  36. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/types.py +0 -0
  37. {typedal-3.10.4 → typedal-3.10.5}/src/typedal/web2py_py4web_shared.py +0 -0
  38. {typedal-3.10.4 → typedal-3.10.5}/tests/__init__.py +0 -0
  39. {typedal-3.10.4 → typedal-3.10.5}/tests/configs/simple.toml +0 -0
  40. {typedal-3.10.4 → typedal-3.10.5}/tests/configs/valid.env +0 -0
  41. {typedal-3.10.4 → typedal-3.10.5}/tests/configs/valid.toml +0 -0
  42. {typedal-3.10.4 → typedal-3.10.5}/tests/test_cli.py +0 -0
  43. {typedal-3.10.4 → typedal-3.10.5}/tests/test_config.py +0 -0
  44. {typedal-3.10.4 → typedal-3.10.5}/tests/test_docs_examples.py +0 -0
  45. {typedal-3.10.4 → typedal-3.10.5}/tests/test_helpers.py +0 -0
  46. {typedal-3.10.4 → typedal-3.10.5}/tests/test_json.py +0 -0
  47. {typedal-3.10.4 → typedal-3.10.5}/tests/test_main.py +0 -0
  48. {typedal-3.10.4 → typedal-3.10.5}/tests/test_mixins.py +0 -0
  49. {typedal-3.10.4 → typedal-3.10.5}/tests/test_mypy.py +0 -0
  50. {typedal-3.10.4 → typedal-3.10.5}/tests/test_orm.py +0 -0
  51. {typedal-3.10.4 → typedal-3.10.5}/tests/test_py4web.py +0 -0
  52. {typedal-3.10.4 → typedal-3.10.5}/tests/test_query_builder.py +0 -0
  53. {typedal-3.10.4 → typedal-3.10.5}/tests/test_relationships.py +0 -0
  54. {typedal-3.10.4 → typedal-3.10.5}/tests/test_stats.py +0 -0
  55. {typedal-3.10.4 → typedal-3.10.5}/tests/test_table.py +0 -0
  56. {typedal-3.10.4 → typedal-3.10.5}/tests/test_web2py.py +0 -0
  57. {typedal-3.10.4 → typedal-3.10.5}/tests/test_xx_others.py +0 -0
  58. {typedal-3.10.4 → typedal-3.10.5}/tests/timings.py +0 -0
@@ -2,6 +2,12 @@
2
2
 
3
3
  <!--next-version-placeholder-->
4
4
 
5
+ ## v3.10.5 (2025-04-22)
6
+
7
+ ### Fix
8
+
9
+ * `repr(rows)` crashed when `rows` contained no data ([`cc3b2d0`](https://github.com/trialandsuccess/TypeDAL/commit/cc3b2d0bd332faee579e6fdfb7068bd511f22093))
10
+
5
11
  ## v3.10.4 (2025-04-17)
6
12
 
7
13
  ### Fix
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.3
2
2
  Name: TypeDAL
3
- Version: 3.10.4
3
+ Version: 3.10.5
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.10.4"
8
+ __version__ = "3.10.5"
@@ -1977,7 +1977,11 @@ class TypedRows(typing.Collection[T_MetaInstance], Rows):
1977
1977
  Print a table on repr().
1978
1978
  """
1979
1979
  data = self.as_dict()
1980
- headers = list(next(iter(data.values())).keys())
1980
+ try:
1981
+ headers = list(next(iter(data.values())).keys())
1982
+ except StopIteration:
1983
+ headers = []
1984
+
1981
1985
  return mktable(data, headers)
1982
1986
 
1983
1987
  def group_by_value(
@@ -214,3 +214,7 @@ def test_rows():
214
214
  assert len(empty) == 0
215
215
  assert len(empty.exclude(lambda x: x)) == 0
216
216
  assert len(empty.find(lambda x: x)) == 0
217
+
218
+ empty_rows = NewStyleClass.where(NewStyleClass.id < 0).collect()
219
+ assert str(empty_rows)
220
+ assert repr(empty_rows)
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