Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-SQLAlchemy-Utils for 
openSUSE:Factory checked in at 2022-01-04 19:37:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-SQLAlchemy-Utils (Old)
 and      /work/SRC/openSUSE:Factory/.python-SQLAlchemy-Utils.new.1896 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-SQLAlchemy-Utils"

Tue Jan  4 19:37:37 2022 rev:33 rq:943585 version:0.38.2

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-SQLAlchemy-Utils/python-SQLAlchemy-Utils.changes
  2021-10-27 22:21:11.259198106 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-SQLAlchemy-Utils.new.1896/python-SQLAlchemy-Utils.changes
        2022-01-04 19:37:47.913954313 +0100
@@ -1,0 +2,11 @@
+Mon Jan  3 11:34:34 UTC 2022 - Dirk M??ller <[email protected]>
+
+- update to 0.38.2:
+  - Added inherit_cache=False in order to avoid SQLAlchemy warnings
+    in `cast_locale_expr`
+  - Added cache_ok=True for various different types
+  - Removed CompositeArray. Instead of CompositeArray one should use
+    ARRAY(dimensions=1)
+  - Made ChoicesType only convert lists to tuples internally.
+
+-------------------------------------------------------------------

Old:
----
  SQLAlchemy-Utils-0.37.9.tar.gz

New:
----
  SQLAlchemy-Utils-0.38.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-SQLAlchemy-Utils.spec ++++++
--- /var/tmp/diff_new_pack.RftkfQ/_old  2022-01-04 19:37:48.537955129 +0100
+++ /var/tmp/diff_new_pack.RftkfQ/_new  2022-01-04 19:37:48.545955140 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-SQLAlchemy-Utils
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-SQLAlchemy-Utils
-Version:        0.37.9
+Version:        0.38.2
 Release:        0
 Summary:        Various utility functions for SQLAlchemy
 License:        BSD-3-Clause

++++++ SQLAlchemy-Utils-0.37.9.tar.gz -> SQLAlchemy-Utils-0.38.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/SQLAlchemy-Utils-0.37.9/CHANGES.rst 
new/SQLAlchemy-Utils-0.38.2/CHANGES.rst
--- old/SQLAlchemy-Utils-0.37.9/CHANGES.rst     2021-10-19 09:54:10.000000000 
+0200
+++ new/SQLAlchemy-Utils-0.38.2/CHANGES.rst     2021-12-29 09:48:25.000000000 
+0100
@@ -4,6 +4,25 @@
 Here you can see the full list of changes between each SQLAlchemy-Utils 
release.
 
 
+0.38.2 (2021-12-29)
+^^^^^^^^^^^^^^^^^^^
+
+- Added inherit_cache=False in order to avoid SQLAlchemy warnings in 
`cast_locale_expr` (#571)
+
+
+0.38.1 (2021-12-21)
+^^^^^^^^^^^^^^^^^^^
+
+- Added cache_ok=True for various different types
+
+
+0.38.0 (2021-12-21)
+^^^^^^^^^^^^^^^^^^^
+
+- Removed CompositeArray. Instead of CompositeArray one should use 
ARRAY(dimensions=1)
+- Made ChoicesType only convert lists to tuples internally.
+
+
 0.37.9 (2021-10-19)
 ^^^^^^^^^^^^^^^^^^^
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/SQLAlchemy-Utils-0.37.9/PKG-INFO 
new/SQLAlchemy-Utils-0.38.2/PKG-INFO
--- old/SQLAlchemy-Utils-0.37.9/PKG-INFO        2021-10-19 09:54:42.000000000 
+0200
+++ new/SQLAlchemy-Utils-0.38.2/PKG-INFO        2021-12-29 09:55:20.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: SQLAlchemy-Utils
-Version: 0.37.9
+Version: 0.38.2
 Summary: Various utility functions for SQLAlchemy.
 Home-page: https://github.com/kvesteri/sqlalchemy-utils
 Author: Konsta Vesterinen, Ryan Leckey, Janne Vanhala, Vesa Uimonen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/SQLAlchemy_Utils.egg-info/PKG-INFO 
new/SQLAlchemy-Utils-0.38.2/SQLAlchemy_Utils.egg-info/PKG-INFO
--- old/SQLAlchemy-Utils-0.37.9/SQLAlchemy_Utils.egg-info/PKG-INFO      
2021-10-19 09:54:41.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/SQLAlchemy_Utils.egg-info/PKG-INFO      
2021-12-29 09:55:19.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: SQLAlchemy-Utils
-Version: 0.37.9
+Version: 0.38.2
 Summary: Various utility functions for SQLAlchemy.
 Home-page: https://github.com/kvesteri/sqlalchemy-utils
 Author: Konsta Vesterinen, Ryan Leckey, Janne Vanhala, Vesa Uimonen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/__init__.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/__init__.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/__init__.py    2021-10-19 
09:54:15.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/__init__.py    2021-12-29 
09:48:28.000000000 +0100
@@ -61,7 +61,6 @@
     Choice,
     ChoiceType,
     ColorType,
-    CompositeArray,
     CompositeType,
     CountryType,
     CurrencyType,
@@ -102,4 +101,4 @@
     refresh_materialized_view
 )
 
-__version__ = '0.37.9'
+__version__ = '0.38.2'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/i18n.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/i18n.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/i18n.py        2021-10-19 
09:49:21.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/i18n.py        2021-12-29 
09:45:47.000000000 +0100
@@ -48,6 +48,8 @@
 
 
 class cast_locale_expr(ColumnElement):
+    inherit_cache = False
+
     def __init__(self, cls, locale, attr):
         self.cls = cls
         self.locale = locale
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/__init__.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/__init__.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/__init__.py      
2021-04-12 14:12:57.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/__init__.py      
2021-12-21 09:22:47.000000000 +0100
@@ -19,7 +19,6 @@
 from .ltree import LtreeType  # noqa
 from .password import Password, PasswordType  # noqa
 from .pg_composite import (  # noqa
-    CompositeArray,
     CompositeType,
     register_composites,
     remove_composite_listeners
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/arrow.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/arrow.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/arrow.py 2021-05-16 
10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/arrow.py 2021-12-21 
13:58:31.000000000 +0100
@@ -49,6 +49,8 @@
         # 'an hour ago'
 
     """
+    cache_ok = True
+
     def __init__(self, *args, **kwargs):
         if not arrow:
             raise ImproperlyConfigured(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/choice.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/choice.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/choice.py        
2021-05-16 10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/choice.py        
2021-12-21 13:58:44.000000000 +0100
@@ -1,6 +1,5 @@
 from enum import Enum
 
-import six
 from sqlalchemy import types
 
 from ..exceptions import ImproperlyConfigured
@@ -23,11 +22,8 @@
     def __ne__(self, other):
         return not (self == other)
 
-    def __unicode__(self):
-        return six.text_type(self.value)
-
     def __str__(self):
-        return six.ensure_str(self.__unicode__())
+        return str(self.value)
 
     def __repr__(self):
         return 'Choice(code={code}, value={value})'.format(
@@ -143,8 +139,10 @@
 
     impl = types.Unicode(255)
 
+    cache_ok = True
+
     def __init__(self, choices, impl=None):
-        self.choices = tuple(choices)
+        self.choices = tuple(choices) if isinstance(choices, list) else choices
 
         if (
             Enum is not None and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/color.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/color.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/color.py 2021-05-16 
10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/color.py 2021-12-21 
13:59:03.000000000 +0100
@@ -52,6 +52,7 @@
     STORE_FORMAT = 'hex'
     impl = types.Unicode(20)
     python_type = python_colour_type
+    cache_ok = True
 
     def __init__(self, max_length=20, *args, **kwargs):
         # Fail if colour is not found.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/country.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/country.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/country.py       
2021-05-16 10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/country.py       
2021-12-21 13:59:16.000000000 +0100
@@ -46,6 +46,7 @@
     """
     impl = types.String(2)
     python_type = Country
+    cache_ok = True
 
     def process_bind_param(self, value, dialect):
         if isinstance(value, Country):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/currency.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/currency.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/currency.py      
2021-05-16 10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/currency.py      
2021-12-21 13:59:30.000000000 +0100
@@ -49,6 +49,7 @@
     """
     impl = types.String(3)
     python_type = Currency
+    cache_ok = True
 
     def __init__(self, *args, **kwargs):
         if i18n.babel is None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/ip_address.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/ip_address.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/ip_address.py    
2021-05-16 10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/ip_address.py    
2021-12-21 14:01:10.000000000 +0100
@@ -40,6 +40,7 @@
     """
 
     impl = types.Unicode(50)
+    cache_ok = True
 
     def __init__(self, max_length=50, *args, **kwargs):
         if not ip_address:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/locale.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/locale.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/locale.py        
2021-05-16 10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/locale.py        
2021-12-21 13:55:26.000000000 +0100
@@ -52,6 +52,8 @@
 
     impl = types.Unicode(10)
 
+    cache_ok = True
+
     def __init__(self):
         if babel is None:
             raise ImproperlyConfigured(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/ltree.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/ltree.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/ltree.py 2019-02-02 
12:03:24.000000000 +0100
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/ltree.py 2021-12-21 
14:01:40.000000000 +0100
@@ -39,6 +39,7 @@
         may require installation of Postgresql ltree extension on the server
         side. Please visit http://www.postgres.org for details.
     """
+    cache_ok = True
 
     class comparator_factory(types.Concatenable.Comparator):
         def ancestor_of(self, other):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/password.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/password.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/password.py      
2021-05-16 10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/password.py      
2021-12-21 14:02:12.000000000 +0100
@@ -148,6 +148,7 @@
 
     impl = types.VARBINARY(1024)
     python_type = Password
+    cache_ok = True
 
     def __init__(self, max_length=None, **kwargs):
         # Fail if passlib is not found.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/pg_composite.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/pg_composite.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/pg_composite.py  
2021-05-21 12:24:40.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/pg_composite.py  
2021-12-21 09:22:47.000000000 +0100
@@ -82,21 +82,22 @@
 
 ::
 
-    from sqlalchemy_utils import CompositeArray
+    from sqlalchemy.dialects.postgresql import ARRAY
 
 
     class Account(Base):
         __tablename__ = 'account'
         id = sa.Column(sa.Integer, primary_key=True)
         balances = sa.Column(
-            CompositeArray(
+            ARRAY(
                 CompositeType(
                     'money_type',
                     [
                         sa.Column('currency', CurrencyType),
                         sa.Column('amount', sa.Integer)
                     ]
-                )
+                ),
+                dimensions=1
             )
         )
 
@@ -113,7 +114,6 @@
 
 import six
 import sqlalchemy as sa
-from sqlalchemy.dialects.postgresql import ARRAY
 from sqlalchemy.dialects.postgresql.psycopg2 import PGDialect_psycopg2
 from sqlalchemy.ext.compiler import compiles
 from sqlalchemy.schema import _CreateDropBase
@@ -156,15 +156,6 @@
     return '(%s).%s' % (compiler.process(expr.clauses, **kw), expr.name)
 
 
-class CompositeArray(ARRAY):
-    def _proc_array(self, arr, itemproc, dim, collection):
-        if dim is None:
-            if isinstance(self.item_type, CompositeType):
-                arr = [itemproc(a) for a in arr]
-                return arr
-        return ARRAY._proc_array(self, arr, itemproc, dim, collection)
-
-
 # TODO: Make the registration work on connection level instead of global level
 registered_composites = {}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/phone_number.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/phone_number.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/phone_number.py  
2021-05-16 10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/phone_number.py  
2021-12-21 14:02:49.000000000 +0100
@@ -165,6 +165,7 @@
     STORE_FORMAT = 'e164'
     impl = types.Unicode(20)
     python_type = PhoneNumber
+    cache_ok = True
 
     def __init__(self, region='US', max_length=20, *args, **kwargs):
         # Bail if phonenumbers is not found.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/range.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/range.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/range.py 2021-05-16 
10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/range.py 2021-12-21 
14:01:03.000000000 +0100
@@ -355,6 +355,7 @@
     """
     impl = INT4RANGE
     comparator_factory = IntRangeComparator
+    cache_ok = True
 
     def __init__(self, *args, **kwargs):
         super(IntRangeType, self).__init__(*args, **kwargs)
@@ -407,6 +408,7 @@
     """
     impl = INT8RANGE
     comparator_factory = IntRangeComparator
+    cache_ok = True
 
     def __init__(self, *args, **kwargs):
         super(Int8RangeType, self).__init__(*args, **kwargs)
@@ -433,6 +435,7 @@
     """
     impl = DATERANGE
     comparator_factory = DateRangeComparator
+    cache_ok = True
 
     def __init__(self, *args, **kwargs):
         super(DateRangeType, self).__init__(*args, **kwargs)
@@ -460,6 +463,7 @@
 
     impl = NUMRANGE
     comparator_factory = ContinuousRangeComparator
+    cache_ok = True
 
     def __init__(self, *args, **kwargs):
         super(NumericRangeType, self).__init__(*args, **kwargs)
@@ -469,6 +473,7 @@
 class DateTimeRangeType(RangeType):
     impl = TSRANGE
     comparator_factory = ContinuousRangeComparator
+    cache_ok = True
 
     def __init__(self, *args, **kwargs):
         super(DateTimeRangeType, self).__init__(*args, **kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/timezone.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/timezone.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/timezone.py      
2021-06-28 09:19:48.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/timezone.py      
2021-12-21 14:03:12.000000000 +0100
@@ -30,8 +30,8 @@
     """
 
     impl = types.Unicode(50)
-
     python_type = None
+    cache_ok = True
 
     def __init__(self, backend='dateutil'):
         self.backend = backend
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/url.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/url.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/url.py   2021-05-16 
10:51:24.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/url.py   2021-12-21 
14:03:55.000000000 +0100
@@ -40,6 +40,7 @@
     """
 
     impl = types.UnicodeText
+    cache_ok = True
 
     def process_bind_param(self, value, dialect):
         if furl is not None and isinstance(value, furl):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/uuid.py 
new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/uuid.py
--- old/SQLAlchemy-Utils-0.37.9/sqlalchemy_utils/types/uuid.py  2021-10-19 
09:54:23.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/sqlalchemy_utils/types/uuid.py  2021-12-21 
13:54:54.000000000 +0100
@@ -22,12 +22,18 @@
             __tablename__ = 'user'
 
             # Pass `binary=False` to fallback to CHAR instead of BINARY
-            id = sa.Column(UUIDType(binary=False), primary_key=True, 
default=uuid.uuid4)
+            id = sa.Column(
+                UUIDType(binary=False),
+                primary_key=True,
+                default=uuid.uuid4
+            )
     """
     impl = types.BINARY(16)
 
     python_type = uuid.UUID
 
+    cache_ok = True
+
     def __init__(self, binary=True, native=True):
         """
         :param binary: Whether to use a BINARY(16) or CHAR(32) fallback.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/SQLAlchemy-Utils-0.37.9/tests/types/test_composite.py 
new/SQLAlchemy-Utils-0.38.2/tests/types/test_composite.py
--- old/SQLAlchemy-Utils-0.37.9/tests/types/test_composite.py   2020-05-03 
19:32:28.000000000 +0200
+++ new/SQLAlchemy-Utils-0.38.2/tests/types/test_composite.py   2021-12-21 
09:22:47.000000000 +0100
@@ -1,11 +1,11 @@
 # -*- coding: utf-8 -*-
 import pytest
 import sqlalchemy as sa
+from sqlalchemy.dialects.postgresql import ARRAY
 from sqlalchemy.orm import sessionmaker
 from sqlalchemy.orm.session import close_all_sessions
 
 from sqlalchemy_utils import (
-    CompositeArray,
     CompositeType,
     Currency,
     CurrencyType,
@@ -182,7 +182,7 @@
             __tablename__ = 'account'
             id = sa.Column(sa.Integer, primary_key=True)
             balances = sa.Column(
-                CompositeArray(type_)
+                ARRAY(type_, dimensions=1)
             )
 
         return Account
@@ -246,7 +246,7 @@
             __tablename__ = 'account'
             id = sa.Column(sa.Integer, primary_key=True)
             categories = sa.Column(
-                CompositeArray(type_)
+                ARRAY(type_, dimensions=1)
             )
 
         return Account

Reply via email to