SQLAlchemy-Utils 0.42.0__tar.gz → 0.42.1__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 (204) hide show
  1. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/CHANGES.rst +5 -0
  2. {sqlalchemy_utils-0.42.0/SQLAlchemy_Utils.egg-info → sqlalchemy_utils-0.42.1}/PKG-INFO +1 -1
  3. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1/SQLAlchemy_Utils.egg-info}/PKG-INFO +1 -1
  4. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/pyproject.toml +1 -1
  5. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/listeners.py +3 -1
  6. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_instant_defaults_listener.py +19 -0
  7. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/LICENSE +0 -0
  8. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/MANIFEST.in +0 -0
  9. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/README.rst +0 -0
  10. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/SQLAlchemy_Utils.egg-info/SOURCES.txt +0 -0
  11. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/SQLAlchemy_Utils.egg-info/dependency_links.txt +0 -0
  12. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/SQLAlchemy_Utils.egg-info/requires.txt +0 -0
  13. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/SQLAlchemy_Utils.egg-info/top_level.txt +0 -0
  14. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/aggregates.rst +0 -0
  15. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/conf.py +0 -0
  16. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/data_types.rst +0 -0
  17. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/database_helpers.rst +0 -0
  18. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/foreign_key_helpers.rst +0 -0
  19. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/generic_relationship.rst +0 -0
  20. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/index.rst +0 -0
  21. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/installation.rst +0 -0
  22. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/internationalization.rst +0 -0
  23. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/license.rst +0 -0
  24. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/listeners.rst +0 -0
  25. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/models.rst +0 -0
  26. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/observers.rst +0 -0
  27. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/orm_helpers.rst +0 -0
  28. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/range_data_types.rst +0 -0
  29. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/testing.rst +0 -0
  30. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/utility_classes.rst +0 -0
  31. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/docs/view.rst +0 -0
  32. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/setup.cfg +0 -0
  33. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/__init__.py +0 -0
  34. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/aggregates.py +0 -0
  35. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/asserts.py +0 -0
  36. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/compat.py +0 -0
  37. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/exceptions.py +0 -0
  38. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/expressions.py +0 -0
  39. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/functions/__init__.py +0 -0
  40. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/functions/database.py +0 -0
  41. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/functions/foreign_keys.py +0 -0
  42. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/functions/mock.py +0 -0
  43. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/functions/orm.py +0 -0
  44. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/functions/render.py +0 -0
  45. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/functions/sort_query.py +0 -0
  46. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/generic.py +0 -0
  47. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/i18n.py +0 -0
  48. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/models.py +0 -0
  49. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/observer.py +0 -0
  50. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/operators.py +0 -0
  51. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/path.py +0 -0
  52. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/primitives/__init__.py +0 -0
  53. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/primitives/country.py +0 -0
  54. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/primitives/currency.py +0 -0
  55. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/primitives/ltree.py +0 -0
  56. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/primitives/weekday.py +0 -0
  57. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/primitives/weekdays.py +0 -0
  58. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/proxy_dict.py +0 -0
  59. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/query_chain.py +0 -0
  60. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/relationships/__init__.py +0 -0
  61. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/relationships/chained_join.py +0 -0
  62. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/__init__.py +0 -0
  63. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/arrow.py +0 -0
  64. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/bit.py +0 -0
  65. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/choice.py +0 -0
  66. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/color.py +0 -0
  67. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/country.py +0 -0
  68. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/currency.py +0 -0
  69. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/email.py +0 -0
  70. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/encrypted/__init__.py +0 -0
  71. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/encrypted/encrypted_type.py +0 -0
  72. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/encrypted/padding.py +0 -0
  73. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/enriched_datetime/__init__.py +0 -0
  74. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/enriched_datetime/arrow_datetime.py +0 -0
  75. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/enriched_datetime/enriched_date_type.py +0 -0
  76. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/enriched_datetime/enriched_datetime_type.py +0 -0
  77. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/enriched_datetime/pendulum_date.py +0 -0
  78. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/enriched_datetime/pendulum_datetime.py +0 -0
  79. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/ip_address.py +0 -0
  80. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/json.py +0 -0
  81. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/locale.py +0 -0
  82. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/ltree.py +0 -0
  83. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/password.py +0 -0
  84. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/pg_composite.py +0 -0
  85. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/phone_number.py +0 -0
  86. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/range.py +0 -0
  87. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/scalar_coercible.py +0 -0
  88. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/scalar_list.py +0 -0
  89. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/timezone.py +0 -0
  90. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/ts_vector.py +0 -0
  91. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/url.py +0 -0
  92. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/uuid.py +0 -0
  93. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/types/weekdays.py +0 -0
  94. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/utils.py +0 -0
  95. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/sqlalchemy_utils/view.py +0 -0
  96. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/__init__.py +0 -0
  97. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/__init__.py +0 -0
  98. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_backrefs.py +0 -0
  99. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_custom_select_expressions.py +0 -0
  100. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_join_table_inheritance.py +0 -0
  101. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_m2m.py +0 -0
  102. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_m2m_m2m.py +0 -0
  103. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_multiple_aggregates_per_class.py +0 -0
  104. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_o2m_m2m.py +0 -0
  105. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_o2m_o2m.py +0 -0
  106. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_o2m_o2m_o2m.py +0 -0
  107. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_search_vectors.py +0 -0
  108. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_simple_paths.py +0 -0
  109. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_with_column_alias.py +0 -0
  110. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/aggregate/test_with_ondelete_cascade.py +0 -0
  111. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/conftest.py +0 -0
  112. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/__init__.py +0 -0
  113. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_cast_if.py +0 -0
  114. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_database.py +0 -0
  115. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_dependent_objects.py +0 -0
  116. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_escape_like.py +0 -0
  117. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_bind.py +0 -0
  118. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_class_by_table.py +0 -0
  119. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_column_key.py +0 -0
  120. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_columns.py +0 -0
  121. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_hybrid_properties.py +0 -0
  122. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_mapper.py +0 -0
  123. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_primary_keys.py +0 -0
  124. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_referencing_foreign_keys.py +0 -0
  125. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_tables.py +0 -0
  126. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_get_type.py +0 -0
  127. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_getdotattr.py +0 -0
  128. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_has_changes.py +0 -0
  129. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_has_index.py +0 -0
  130. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_has_unique_index.py +0 -0
  131. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_identity.py +0 -0
  132. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_is_loaded.py +0 -0
  133. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_json_sql.py +0 -0
  134. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_jsonb_sql.py +0 -0
  135. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_make_order_by_deterministic.py +0 -0
  136. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_merge_references.py +0 -0
  137. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_naturally_equivalent.py +0 -0
  138. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_non_indexed_foreign_keys.py +0 -0
  139. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_quote.py +0 -0
  140. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_render.py +0 -0
  141. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/functions/test_table_name.py +0 -0
  142. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/generic_relationship/__init__.py +0 -0
  143. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/generic_relationship/test_abstract_base_class.py +0 -0
  144. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/generic_relationship/test_column_aliases.py +0 -0
  145. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/generic_relationship/test_composite_keys.py +0 -0
  146. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/generic_relationship/test_hybrid_properties.py +0 -0
  147. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/generic_relationship/test_single_table_inheritance.py +0 -0
  148. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/mixins.py +0 -0
  149. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/observes/__init__.py +0 -0
  150. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/observes/test_column_property.py +0 -0
  151. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/observes/test_dynamic_relationship.py +0 -0
  152. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/observes/test_m2m_m2m_m2m.py +0 -0
  153. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/observes/test_o2m_o2m_o2m.py +0 -0
  154. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/observes/test_o2m_o2o_o2m.py +0 -0
  155. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/observes/test_o2o_o2o.py +0 -0
  156. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/observes/test_o2o_o2o_o2o.py +0 -0
  157. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/primitives/__init__.py +0 -0
  158. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/primitives/test_country.py +0 -0
  159. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/primitives/test_currency.py +0 -0
  160. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/primitives/test_ltree.py +0 -0
  161. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/primitives/test_weekdays.py +0 -0
  162. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/relationships/__init__.py +0 -0
  163. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/relationships/test_chained_join.py +0 -0
  164. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/relationships/test_select_correlated_expression.py +0 -0
  165. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_asserts.py +0 -0
  166. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_auto_delete_orphans.py +0 -0
  167. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_case_insensitive_comparator.py +0 -0
  168. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_expressions.py +0 -0
  169. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_instrumented_list.py +0 -0
  170. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_models.py +0 -0
  171. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_path.py +0 -0
  172. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_proxy_dict.py +0 -0
  173. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_query_chain.py +0 -0
  174. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_translation_hybrid.py +0 -0
  175. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/test_views.py +0 -0
  176. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/__init__.py +0 -0
  177. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/encrypted/test_padding.py +0 -0
  178. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_arrow.py +0 -0
  179. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_choice.py +0 -0
  180. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_color.py +0 -0
  181. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_composite.py +0 -0
  182. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_country.py +0 -0
  183. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_currency.py +0 -0
  184. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_date_range.py +0 -0
  185. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_datetime_range.py +0 -0
  186. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_email.py +0 -0
  187. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_encrypted.py +0 -0
  188. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_enriched_date_pendulum.py +0 -0
  189. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_enriched_datetime_arrow.py +0 -0
  190. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_enriched_datetime_pendulum.py +0 -0
  191. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_int_range.py +0 -0
  192. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_ip_address.py +0 -0
  193. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_json.py +0 -0
  194. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_locale.py +0 -0
  195. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_ltree.py +0 -0
  196. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_numeric_range.py +0 -0
  197. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_password.py +0 -0
  198. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_phonenumber.py +0 -0
  199. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_scalar_list.py +0 -0
  200. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_timezone.py +0 -0
  201. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_tsvector.py +0 -0
  202. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_url.py +0 -0
  203. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_uuid.py +0 -0
  204. {sqlalchemy_utils-0.42.0 → sqlalchemy_utils-0.42.1}/tests/types/test_weekdays.py +0 -0
@@ -3,6 +3,11 @@ Changelog
3
3
 
4
4
  Here you can see the full list of changes between each SQLAlchemy-Utils release.
5
5
 
6
+ 0.42.1 (2025-12-12)
7
+ ^^^^^^^^^^^^^^^^^^^
8
+
9
+ - Fix ``AttributeError`` with Sequence defaults in ``instant_defaults_listener`` (#793)
10
+
6
11
  0.42.0 (2025-08-30)
7
12
  ^^^^^^^^^^^^^^^^^^^
8
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SQLAlchemy-Utils
3
- Version: 0.42.0
3
+ Version: 0.42.1
4
4
  Summary: Various utility functions for SQLAlchemy.
5
5
  Author: Ryan Leckey, Janne Vanhala, Vesa Uimonen
6
6
  Author-email: Konsta Vesterinen <konsta@fastmonkeys.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SQLAlchemy-Utils
3
- Version: 0.42.0
3
+ Version: 0.42.1
4
4
  Summary: Various utility functions for SQLAlchemy.
5
5
  Author: Ryan Leckey, Janne Vanhala, Vesa Uimonen
6
6
  Author-email: Konsta Vesterinen <konsta@fastmonkeys.com>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "SQLAlchemy-Utils"
7
- version = "0.42.0"
7
+ version = "0.42.1"
8
8
  description = "Various utility functions for SQLAlchemy."
9
9
  readme = "README.rst"
10
10
  license = "BSD-3-Clause"
@@ -24,7 +24,9 @@ def instant_defaults_listener(target, args, kwargs):
24
24
 
25
25
  for key, column in sa.inspect(target.__class__).columns.items():
26
26
  if hasattr(column, 'default') and column.default is not None:
27
- if callable(column.default.arg):
27
+ if not hasattr(column.default, 'arg'):
28
+ continue
29
+ elif callable(column.default.arg):
28
30
  kwargs[key] = column.default.arg(target)
29
31
  else:
30
32
  kwargs[key] = column.default.arg
@@ -28,6 +28,20 @@ def Article(Base):
28
28
  return Article
29
29
 
30
30
 
31
+ @pytest.fixture
32
+ def Document(Base):
33
+ class Document(Base):
34
+ __tablename__ = 'document'
35
+ id = sa.Column(
36
+ sa.Integer,
37
+ sa.Sequence('document_id_seq'),
38
+ primary_key=True
39
+ )
40
+ title = sa.Column(sa.Unicode(255), default='Untitled')
41
+
42
+ return Document
43
+
44
+
31
45
  class TestInstantDefaultListener:
32
46
  def test_assigns_defaults_on_object_construction(self, Article):
33
47
  article = Article()
@@ -40,3 +54,8 @@ class TestInstantDefaultListener:
40
54
  def test_override_default_with_setter_function(self, Article):
41
55
  article = Article(byline='provided byline')
42
56
  assert article.byline == 'provided byline'
57
+
58
+ def test_handles_sequence_defaults(self, Document):
59
+ document = Document()
60
+ assert document.title == 'Untitled'
61
+ assert document.id is None