This commit is contained in:
Christian Mantha
2026-03-02 19:10:52 -05:00
commit 2ca0b9ef7c
28907 changed files with 5233713 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
Metadata-Version: 2.4
Name: SQLAlchemy-Utils
Version: 0.42.1
Summary: Various utility functions for SQLAlchemy.
Author: Ryan Leckey, Janne Vanhala, Vesa Uimonen
Author-email: Konsta Vesterinen <konsta@fastmonkeys.com>
License-Expression: BSD-3-Clause
Project-URL: Homepage, https://github.com/kvesteri/sqlalchemy-utils
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: SQLAlchemy>=1.4
Provides-Extra: test
Requires-Dist: pytest==7.4.4; extra == "test"
Requires-Dist: Pygments>=1.2; extra == "test"
Requires-Dist: Jinja2>=2.3; extra == "test"
Requires-Dist: docutils>=0.10; extra == "test"
Requires-Dist: flexmock>=0.9.7; extra == "test"
Requires-Dist: psycopg>=3.1.8; extra == "test"
Requires-Dist: psycopg2>=2.5.1; extra == "test"
Requires-Dist: psycopg2cffi>=2.8.1; extra == "test"
Requires-Dist: pg8000>=1.12.4; extra == "test"
Requires-Dist: pytz>=2014.2; extra == "test"
Requires-Dist: python-dateutil>=2.6; extra == "test"
Requires-Dist: pymysql; extra == "test"
Requires-Dist: flake8>=2.4.0; extra == "test"
Requires-Dist: isort>=4.2.2; extra == "test"
Requires-Dist: pyodbc; extra == "test"
Provides-Extra: babel
Requires-Dist: Babel>=1.3; extra == "babel"
Provides-Extra: arrow
Requires-Dist: arrow>=0.3.4; extra == "arrow"
Provides-Extra: pendulum
Requires-Dist: pendulum>=2.0.5; extra == "pendulum"
Provides-Extra: intervals
Requires-Dist: intervals>=0.7.1; extra == "intervals"
Provides-Extra: phone
Requires-Dist: phonenumbers>=5.9.2; extra == "phone"
Provides-Extra: password
Requires-Dist: passlib<2.0,>=1.6; extra == "password"
Provides-Extra: color
Requires-Dist: colour>=0.0.4; extra == "color"
Provides-Extra: timezone
Requires-Dist: python-dateutil; extra == "timezone"
Provides-Extra: url
Requires-Dist: furl>=0.4.1; extra == "url"
Provides-Extra: encrypted
Requires-Dist: cryptography>=0.6; extra == "encrypted"
Provides-Extra: test-all
Requires-Dist: pytest==7.4.4; extra == "test-all"
Requires-Dist: Pygments>=1.2; extra == "test-all"
Requires-Dist: Jinja2>=2.3; extra == "test-all"
Requires-Dist: docutils>=0.10; extra == "test-all"
Requires-Dist: flexmock>=0.9.7; extra == "test-all"
Requires-Dist: psycopg>=3.1.8; extra == "test-all"
Requires-Dist: psycopg2>=2.5.1; extra == "test-all"
Requires-Dist: psycopg2cffi>=2.8.1; extra == "test-all"
Requires-Dist: pg8000>=1.12.4; extra == "test-all"
Requires-Dist: pytz>=2014.2; extra == "test-all"
Requires-Dist: python-dateutil>=2.6; extra == "test-all"
Requires-Dist: pymysql; extra == "test-all"
Requires-Dist: flake8>=2.4.0; extra == "test-all"
Requires-Dist: isort>=4.2.2; extra == "test-all"
Requires-Dist: pyodbc; extra == "test-all"
Requires-Dist: Babel>=1.3; extra == "test-all"
Requires-Dist: arrow>=0.3.4; extra == "test-all"
Requires-Dist: pendulum>=2.0.5; extra == "test-all"
Requires-Dist: intervals>=0.7.1; extra == "test-all"
Requires-Dist: phonenumbers>=5.9.2; extra == "test-all"
Requires-Dist: passlib<2.0,>=1.6; extra == "test-all"
Requires-Dist: colour>=0.0.4; extra == "test-all"
Requires-Dist: python-dateutil; extra == "test-all"
Requires-Dist: furl>=0.4.1; extra == "test-all"
Requires-Dist: cryptography>=0.6; extra == "test-all"
Dynamic: license-file
SQLAlchemy-Utils
================
|Build| |Version Status| |Downloads|
Various utility functions, new data types and helpers for SQLAlchemy.
Resources
---------
- `Documentation <https://sqlalchemy-utils.readthedocs.io/>`_
- `Issue Tracker <https://github.com/kvesteri/sqlalchemy-utils/issues>`_
- `Code <https://github.com/kvesteri/sqlalchemy-utils/>`_
.. |Build| image:: https://github.com/kvesteri/sqlalchemy-utils/actions/workflows/test.yaml/badge.svg?branch=master
:target: https://github.com/kvesteri/sqlalchemy-utils/actions/workflows/test.yaml
:alt: Tests
.. |Version Status| image:: https://img.shields.io/pypi/v/SQLAlchemy-Utils.svg
:target: https://pypi.python.org/pypi/SQLAlchemy-Utils/
.. |Downloads| image:: https://img.shields.io/pypi/dm/SQLAlchemy-Utils.svg
:target: https://pypi.python.org/pypi/SQLAlchemy-Utils/

View File

@@ -0,0 +1,134 @@
sqlalchemy_utils-0.42.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
sqlalchemy_utils-0.42.1.dist-info/METADATA,sha256=3so51KK0idZZOqTrRvB2-_sPISvbxyvb-65kvnwDG_8,4610
sqlalchemy_utils-0.42.1.dist-info/RECORD,,
sqlalchemy_utils-0.42.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
sqlalchemy_utils-0.42.1.dist-info/licenses/LICENSE,sha256=aKpRvWCrOmo-gm2RyB2KhgP4FtG6tTWi_xi_fWmqmwo,1437
sqlalchemy_utils-0.42.1.dist-info/top_level.txt,sha256=C1ORFCU1fhRUCHEe-ZcUkfSkafW8gtZgCEAFeXZeaLc,17
sqlalchemy_utils/__init__.py,sha256=AojqPcZpJTppFQQCGdPf_jBhCuZCxEjWjv1UaQ2pLoQ,2368
sqlalchemy_utils/__pycache__/__init__.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/aggregates.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/asserts.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/compat.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/exceptions.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/expressions.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/generic.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/i18n.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/listeners.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/models.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/observer.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/operators.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/path.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/proxy_dict.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/query_chain.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/utils.cpython-39.pyc,,
sqlalchemy_utils/__pycache__/view.cpython-39.pyc,,
sqlalchemy_utils/aggregates.py,sha256=1vz63X0Hk1JYjptM28XMH0NvAVCYPtYsLQHO-DxKWPg,14856
sqlalchemy_utils/asserts.py,sha256=wKsT9eY1yl7OxWRovBgO8PkXiuD34vAt7FrBwLx0_rE,5352
sqlalchemy_utils/compat.py,sha256=HMNA3rKx1dXfNPCZrkAi5B2mUtbxShB8wV1econsJ7Q,379
sqlalchemy_utils/exceptions.py,sha256=iZW-TQSZDtCge4pzDDpYug4tKmpEM8coaplYiPJ8UPw,229
sqlalchemy_utils/expressions.py,sha256=XAr4gEcpo0CaXL8L_BL-Zbp4el4KsDNJRoR1rjozcBs,1544
sqlalchemy_utils/functions/__init__.py,sha256=BLF8QuIXrn5G9nZTg--iQrS6iVeOLVk82nJZb_HBenA,953
sqlalchemy_utils/functions/__pycache__/__init__.cpython-39.pyc,,
sqlalchemy_utils/functions/__pycache__/database.cpython-39.pyc,,
sqlalchemy_utils/functions/__pycache__/foreign_keys.cpython-39.pyc,,
sqlalchemy_utils/functions/__pycache__/mock.cpython-39.pyc,,
sqlalchemy_utils/functions/__pycache__/orm.cpython-39.pyc,,
sqlalchemy_utils/functions/__pycache__/render.cpython-39.pyc,,
sqlalchemy_utils/functions/__pycache__/sort_query.cpython-39.pyc,,
sqlalchemy_utils/functions/database.py,sha256=MRj0UHZvGrFjQzPx-AxvUofQgII5b6qEzc7s-FAx9zI,19410
sqlalchemy_utils/functions/foreign_keys.py,sha256=BZlW8VnHZ6GETXjI8afRWilGYMKdXTLK8TQ-cJ8Wggc,10204
sqlalchemy_utils/functions/mock.py,sha256=3YRkw5dCi0JnVmjnb6r4MjrT_V35VL-Jeb9XqanjuLg,3092
sqlalchemy_utils/functions/orm.py,sha256=RbhvNsGNmMUuDboIp_5YIeUt582nb6hRGGO7hR4AxRs,24300
sqlalchemy_utils/functions/render.py,sha256=aCAtzQicivrCMbCvaT-CdHhQvztr2yzAVFXHImzakH8,2057
sqlalchemy_utils/functions/sort_query.py,sha256=Oscd6sD0e1w3fwNRCxPrO3nxRWWb6gmKgVQAuBP7DfA,2318
sqlalchemy_utils/generic.py,sha256=UVgUHj5iaAz18S6iey_O6YIbDi0MfQbl59MbL1DeffM,6998
sqlalchemy_utils/i18n.py,sha256=koN4A6GZxeCAH9D_V48r74CMGrHgE4i_6yEUzfw5Sic,3864
sqlalchemy_utils/listeners.py,sha256=2ZmWjNTrMZbEdY-u7iLO63TARSeH13US02fvE9GZ4us,7548
sqlalchemy_utils/models.py,sha256=Y1OlwcSiZs0SIB-bxvioIw8RYkat0r4pr3z6_KDS9eI,3024
sqlalchemy_utils/observer.py,sha256=qIEmMQn14izWELOxUg7nig1GcCzBP2xGdD3pTMnaJl4,11771
sqlalchemy_utils/operators.py,sha256=lwP5-zN0YIjObquvMroFYYJazWbMNGbNofhj6zTxcMc,1901
sqlalchemy_utils/path.py,sha256=IWfomv6sqA0783QxdnTrfElpOnO5M90iUXD8sRZf5HI,3867
sqlalchemy_utils/primitives/__init__.py,sha256=Ubo8i8HJr2TIcA94y0I822FninJyxKSmHY676wZWT14,185
sqlalchemy_utils/primitives/__pycache__/__init__.cpython-39.pyc,,
sqlalchemy_utils/primitives/__pycache__/country.cpython-39.pyc,,
sqlalchemy_utils/primitives/__pycache__/currency.cpython-39.pyc,,
sqlalchemy_utils/primitives/__pycache__/ltree.cpython-39.pyc,,
sqlalchemy_utils/primitives/__pycache__/weekday.cpython-39.pyc,,
sqlalchemy_utils/primitives/__pycache__/weekdays.cpython-39.pyc,,
sqlalchemy_utils/primitives/country.py,sha256=hhn0Dd8R9lkYUAdQM8pzI9xYbc1CaFmHSExz4hZ-4zw,2694
sqlalchemy_utils/primitives/currency.py,sha256=J3Fgedi6G_g2lHsm8DH3AUL5mSxV_k-G82UTb5SDF04,2700
sqlalchemy_utils/primitives/ltree.py,sha256=iB2KwFoFY3pFKp5wCr6H11xnsB84nMnHlqJrL0UxxI4,5160
sqlalchemy_utils/primitives/weekday.py,sha256=vbULEK8MQZEoPyYf_oPgh-kMszQ_-id8lpOYHqdri-E,1149
sqlalchemy_utils/primitives/weekdays.py,sha256=IiCstduxC-NJk-QHr5wjbgmsPQu2UybfhtziHkC5sDQ,1674
sqlalchemy_utils/proxy_dict.py,sha256=6ISIZ3DRGq5X-sly-q0ItJiatrmX3Hk3XBk5wPBSw5U,2345
sqlalchemy_utils/query_chain.py,sha256=EYnPEYB634f-bW9AYNUoyt0X61XmSGY-NydfOms9qs8,3966
sqlalchemy_utils/relationships/__init__.py,sha256=-l3yZkFzia83ieLKZc6KYv34Ymud-y2MtzRY6-iEshY,3336
sqlalchemy_utils/relationships/__pycache__/__init__.cpython-39.pyc,,
sqlalchemy_utils/relationships/__pycache__/chained_join.cpython-39.pyc,,
sqlalchemy_utils/relationships/chained_join.py,sha256=L4wL02x90LCS5OOk07BNf30vRaytP7qWd7fkcYRY1Gg,730
sqlalchemy_utils/types/__init__.py,sha256=bm2xHM7u-lbdma0-OJehpHj9yQGFpTaewyQsurkfsdk,1924
sqlalchemy_utils/types/__pycache__/__init__.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/arrow.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/bit.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/choice.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/color.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/country.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/currency.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/email.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/ip_address.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/json.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/locale.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/ltree.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/password.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/pg_composite.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/phone_number.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/range.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/scalar_coercible.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/scalar_list.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/timezone.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/ts_vector.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/url.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/uuid.cpython-39.pyc,,
sqlalchemy_utils/types/__pycache__/weekdays.cpython-39.pyc,,
sqlalchemy_utils/types/arrow.py,sha256=uk_0jPOb_2N9MmoBSUXex2OES-JB0ADIsXOdkmgCw1I,1460
sqlalchemy_utils/types/bit.py,sha256=waq2RRRt-MRB5jEUz3HPhwtHyrKU1WVYHcyAPxbXhnc,757
sqlalchemy_utils/types/choice.py,sha256=xz97YXkQeuHrLoTr7U886M8JWhdV9ayfSbQ9JMvZCpY,5583
sqlalchemy_utils/types/color.py,sha256=ZRyw9yZxo7Iw8rNRMYgXwv6mPc049728RSh9S4rXhUI,2123
sqlalchemy_utils/types/country.py,sha256=7wtuQsk4ac_zhqfKANY1FrE8YScYj70vZ4fpVD18E90,1581
sqlalchemy_utils/types/currency.py,sha256=7BsUR8BN4Ofm7bVDBlFq6LqLWiWnriLtfFCSblHMx8c,1934
sqlalchemy_utils/types/email.py,sha256=z8ebcTSKOXS6KVRVtq5IGW4sC2xucXqfKMu5QY1-wI4,1260
sqlalchemy_utils/types/encrypted/__init__.py,sha256=54Yf-Bd-HekcoRTJnHc5q0YVbAlJh8XMcPctgKTJGJo,28
sqlalchemy_utils/types/encrypted/__pycache__/__init__.cpython-39.pyc,,
sqlalchemy_utils/types/encrypted/__pycache__/encrypted_type.cpython-39.pyc,,
sqlalchemy_utils/types/encrypted/__pycache__/padding.cpython-39.pyc,,
sqlalchemy_utils/types/encrypted/encrypted_type.py,sha256=GzWlmYhW5l9FwADsk-neWXoIHv1UGwLyk6QTFg6f9_o,16604
sqlalchemy_utils/types/encrypted/padding.py,sha256=VgiBDJOo5rWnRZDCGk0F63_LWlwsdAVpHeFNWqdFBDQ,4517
sqlalchemy_utils/types/enriched_datetime/__init__.py,sha256=OmaPAmpYTRsySUrf5V6YboLtq5cGMzjSkixzXg0g3fs,196
sqlalchemy_utils/types/enriched_datetime/__pycache__/__init__.cpython-39.pyc,,
sqlalchemy_utils/types/enriched_datetime/__pycache__/arrow_datetime.cpython-39.pyc,,
sqlalchemy_utils/types/enriched_datetime/__pycache__/enriched_date_type.cpython-39.pyc,,
sqlalchemy_utils/types/enriched_datetime/__pycache__/enriched_datetime_type.cpython-39.pyc,,
sqlalchemy_utils/types/enriched_datetime/__pycache__/pendulum_date.cpython-39.pyc,,
sqlalchemy_utils/types/enriched_datetime/__pycache__/pendulum_datetime.cpython-39.pyc,,
sqlalchemy_utils/types/enriched_datetime/arrow_datetime.py,sha256=EI5wI7ucI-f_TgPsoSjntJEC3L8M-pWwY4iyTpmGfE4,1021
sqlalchemy_utils/types/enriched_datetime/enriched_date_type.py,sha256=mvTrWOU8BXqRzkjes8PKYLI3neD5jXa__v4dKbyUceY,1368
sqlalchemy_utils/types/enriched_datetime/enriched_datetime_type.py,sha256=Cnh4P9D5TfkBoqilNqeOJdmosOewbtzhVsf_Yjx4kJo,1447
sqlalchemy_utils/types/enriched_datetime/pendulum_date.py,sha256=4gWAowdqxXWxkci5iKG6UrtYdAQ7ZbM4S4Br4Su7clA,868
sqlalchemy_utils/types/enriched_datetime/pendulum_datetime.py,sha256=iobRt6ojsmpKGgeufvDgzgt9m4g-5WqY9o4DDahUFdw,1285
sqlalchemy_utils/types/ip_address.py,sha256=d0W5H9ICIchWfGi76hkwOCZVVBsUiFS5ZE3HzJoHZwU,1327
sqlalchemy_utils/types/json.py,sha256=yb5WaxER8Qp-HZcBI7PQvvfRQhkgDtP572Ex7pfNKWo,2127
sqlalchemy_utils/types/locale.py,sha256=6D3-BpeZ9VMwtWHbdZlGQCz-KSWG4g0_GLdjeysXKeM,1767
sqlalchemy_utils/types/ltree.py,sha256=9eE08-knePrfjIDbBtAfhCyd6-OORfEGvDvdkThqusY,3392
sqlalchemy_utils/types/password.py,sha256=grmClIEpWglah3mAb_hR91E-3vq-7gvifX0e0J9nXY4,7704
sqlalchemy_utils/types/pg_composite.py,sha256=NVtJV6K3W3GbVLuV8mOtLzxLa8VOHe_Bm-faZjP6qHQ,10006
sqlalchemy_utils/types/phone_number.py,sha256=FKqIoAgWBJHceOyrwB18grVCYu4Bj9FXtgGNe3i6qjQ,6707
sqlalchemy_utils/types/range.py,sha256=2kd0fhSDcR1X8Hq-SaqDYZCPFrGGHVu-AULjWdG8brk,12142
sqlalchemy_utils/types/scalar_coercible.py,sha256=cIG3kQKMPy6tktOQmexFZ_iDYzWzz3ky_x4jRZ38VFU,192
sqlalchemy_utils/types/scalar_list.py,sha256=aSpWVIkXxFXXI18YJNGuhDXjP4CYqmUhNd4PB2l4AP4,2622
sqlalchemy_utils/types/timezone.py,sha256=1FFqulG6Jghn8qX2oioXNwFGf5uJ2BCbQ7GDeRkiuFc,2864
sqlalchemy_utils/types/ts_vector.py,sha256=HbO7Xuwz_JN9ws-t1511wenxYsrr7rTH2s0Qztxlua8,3101
sqlalchemy_utils/types/url.py,sha256=Gwa05HTM1ZKOBVWVk4AZ2WcydaQTAbwwANO8jp-SFmQ,1525
sqlalchemy_utils/types/uuid.py,sha256=b2np-UCeICI6_F9nPBJF5mmHeSEvLUNze85g_TjNnjc,3208
sqlalchemy_utils/types/weekdays.py,sha256=u0AEc_sNnRNFKBYBfupby-7j7iBC3CWo5S2JDVC8mDE,2129
sqlalchemy_utils/utils.py,sha256=s0ATBsM1urv1scrF-EyYvBkHMw0p5U7gH3rBEzoj56U,438
sqlalchemy_utils/view.py,sha256=CvmdhDE84gAapJldvlxcAquuXyMLu9FwRP64H-hFQCg,6743

View File

@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: setuptools (80.9.0)
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,27 @@
Copyright (c) 2012, Konsta Vesterinen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* The names of the contributors may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1 @@
sqlalchemy_utils