py-flask-sqlalchemy: update to 3.1.1.

Version 3.1.1
-------------

Released 2023-09-11

-   Deprecate the ``__version__`` attribute. Use feature detection, or
    ``importlib.metadata.version("flask-sqlalchemy")``, instead. :issue:`5230`


Version 3.1.0
-------------

Released 2023-09-11

-   Drop support for Python 3.7.  :pr:`1251`
-   Add support for the SQLAlchemy 2.x API via ``model_class`` parameter. :issue:`1140`
-   Bump minimum version of SQLAlchemy to 2.0.16.
-   Remove previously deprecated code.
-   Pass extra keyword arguments from ``get_or_404`` to ``session.get``. :issue:`1149`
-   Fix bug with finding right bind key for clause statements. :issue:`1211`


Version 3.0.5
-------------

Released 2023-06-21

-   ``Pagination.next()`` enforces ``max_per_page``. :issue:`1201`
-   Improve type hint for ``get_or_404`` return value to be non-optional. :pr:`1226`


Version 3.0.4
-------------

Released 2023-06-19

-   Fix type hint for ``get_or_404`` return value. :pr:`1208`
-   Fix type hints for pyright (used by VS Code Pylance extension). :issue:`1205`


Version 3.0.3
-------------

Released 2023-01-31

-   Show helpful errors when mistakenly using multiple ``SQLAlchemy`` instances for the
    same app, or without calling ``init_app``. :pr:`1151`
-   Fix issue with getting the engine associated with a model that uses polymorphic
    table inheritance. :issue:`1155`


Version 3.0.2
-------------

Released 2022-10-14

-   Update compatibility with SQLAlchemy 2. :issue:`1122`


Version 3.0.1
-------------

Released 2022-10-11

-   Export typing information instead of using external typeshed definitions.
    :issue:`1112`
-   If default engine options are set, but ``SQLALCHEMY_DATABASE_URI`` is not set, an
    invalid default bind will not be configured. :issue:`1117`


Version 3.0.0
-------------

Released 2022-10-04

-   Drop support for Python 2, 3.4, 3.5, and 3.6.
-   Bump minimum version of Flask to 2.2.
-   Bump minimum version of SQLAlchemy to 1.4.18.
-   Remove previously deprecated code.
-   The session is scoped to the current app context instead of the thread. This
    requires that an app context is active. This ensures that the session is cleaned up
    after every request.
-   An active Flask application context is always required to access ``session`` and
    ``engine``, regardless of if an application was passed to the constructor.
    :issue:`508, 944`
-   Different bind keys use different SQLAlchemy ``MetaData`` registries, allowing
    tables in different databases to have the same name. Bind keys are stored and looked
    up on the resulting metadata rather than the model or table.
-   ``SQLALCHEMY_DATABASE_URI`` does not default to ``sqlite:///:memory:``. An error is
    raised if neither it nor ``SQLALCHEMY_BINDS`` define any engines. :pr:`731`
-   Configuring SQLite with a relative path is relative to ``app.instance_path`` instead
    of ``app.root_path``. The instance folder is created if necessary. :issue:`462`
-   Added ``get_or_404``, ``first_or_404``, ``one_or_404``, and ``paginate`` methods to
    the extension object. These use SQLAlchemy's preferred ``session.execute(select())``
    pattern instead of the legacy query interface. :issue:`1088`
-   Setup methods that create the engines and session are renamed with a leading
    underscore. They are considered internal interfaces which may change at any time.
-   All parameters to ``SQLAlchemy`` except ``app`` are keyword-only.
-   Renamed the ``bind`` parameter to ``bind_key`` and removed the ``app`` parameter
    from various ``SQLAlchemy`` methods.
-   The extension object uses ``__getattr__`` to alias names from the SQLAlchemy
    package, rather than copying them as attributes.
-   The extension object is stored directly as ``app.extensions["sqlalchemy"]``.
    :issue:`698`
-   The session class can be customized by passing the ``class_`` key in the
    ``session_options`` parameter. :issue:`327`
-   ``SignallingSession`` is renamed to ``Session``.
-   ``Session.get_bind`` more closely matches the base implementation.
-   Model classes and the ``db`` instance are available without imports in
    ``flask shell``. :issue:`1089`
-   The ``CamelCase`` to ``snake_case`` table name converter handles more patterns
    correctly. If model that was already created in the database changed, either use
    Alembic to rename the table, or set ``__tablename__`` to keep the old name.
    :issue:`406`
-   ``Model`` ``repr`` distinguishes between transient and pending instances.
    :issue:`967`
-   A custom model class can implement ``__init_subclass__`` with class parameters.
    :issue:`1002`
-   ``db.Table`` is a subclass instead of a function.
-   The ``engine_options`` parameter is applied as defaults before per-engine
    configuration.
-   ``SQLALCHEMY_BINDS`` values can either be an engine URL, or a dict of engine options
    including URL, for each bind. ``SQLALCHEMY_DATABASE_URI`` and
    ``SQLALCHEMY_ENGINE_OPTIONS`` correspond to the ``None`` key and take precedence.
    :issue:`783`
-   Engines are created when calling ``init_app`` rather than the first time they are
    accessed. :issue:`698`
-   ``db.engines`` exposes the map of bind keys to engines for the current app.
-   ``get_engine``, ``get_tables_for_bind``, and ``get_binds`` are deprecated.
-   SQLite driver-level URIs that look like ``sqlite:///file:name.db?uri=true`` are
    supported. :issue:`998, 1045`
-   SQLite engines do not use ``NullPool`` if ``pool_size`` is 0.
-   MySQL engines use the "utf8mb4" charset by default. :issue:`875`
-   MySQL engines do not set ``pool_size`` to 10.
-   MySQL engines don't set a default for ``pool_recycle`` if not using a queue pool.
    :issue:`803`
-   ``Query`` is renamed from ``BaseQuery``.
-   Added ``Query.one_or_404``.
-   The query class is applied to ``backref`` in ``relationship``. :issue:`417`
-   Creating ``Pagination`` objects manually is no longer a public API. They should be
    created with ``db.paginate`` or ``query.paginate``. :issue:`1088`
-   ``Pagination.iter_pages`` and ``Query.paginate`` parameters are keyword-only.
-   ``Pagination`` is iterable, iterating over its items. :issue:`70`
-   Pagination count query is more efficient.
-   ``Pagination.iter_pages`` is more efficient. :issue:`622`
-   ``Pagination.iter_pages`` ``right_current`` parameter is inclusive.
-   Pagination ``per_page`` cannot be 0. :issue:`1091`
-   Pagination ``max_per_page`` defaults to 100. :issue:`1091`
-   Added ``Pagination.first`` and ``last`` properties, which give the number of the
    first and last item on the page. :issue:`567`
-   ``SQLALCHEMY_RECORD_QUERIES`` is disabled by default, and is not enabled
    automatically with ``app.debug`` or ``app.testing``. :issue:`1092`
-   ``get_debug_queries`` is renamed to ``get_recorded_queries`` to better match the
    config and functionality.
-   Recorded query info is a dataclass instead of a tuple. The ``context`` attribute is
    renamed to ``location``. Finding the location uses a more inclusive check.
-   ``SQLALCHEMY_TRACK_MODIFICATIONS`` is disabled by default. :pr:`727`
-   ``SQLALCHEMY_COMMIT_ON_TEARDOWN`` is deprecated. It can cause various design issues
    that are difficult to debug. Call ``db.session.commit()`` directly instead.
    :issue:`216`
This commit is contained in:
wiz 2024-03-06 21:17:22 +00:00
parent 7251c82630
commit 13de12e808
3 changed files with 39 additions and 22 deletions

View File

@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.17 2022/04/29 11:56:46 wiz Exp $
# $NetBSD: Makefile,v 1.18 2024/03/06 21:17:22 wiz Exp $
DISTNAME= Flask-SQLAlchemy-2.5.1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME:tl}
PKGREVISION= 1
DISTNAME= flask_sqlalchemy-3.1.1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/_/-/}
CATEGORIES= www python
MASTER_SITES= ${MASTER_SITE_PYPI:=F/Flask-SQLAlchemy/}
@ -11,13 +10,13 @@ HOMEPAGE= https://github.com/pallets/flask-sqlalchemy
COMMENT= Adds SQLAlchemy support to your Flask application
LICENSE= modified-bsd
TOOL_DEPENDS+= ${PYPKGPREFIX}-flit_core>=0:../../devel/py-flit_core
DEPENDS+= ${PYPKGPREFIX}-flask>=1.0.4:../../www/py-flask
DEPENDS+= ${PYPKGPREFIX}-sqlalchemy>=1.2:../../databases/py-sqlalchemy
TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
USE_LANGUAGES= # none
PYTHON_VERSIONS_INCOMPATIBLE= 27
.include "../../lang/python/egg.mk"
.include "../../lang/python/wheel.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -1,18 +1,36 @@
@comment $NetBSD: PLIST,v 1.4 2019/05/19 08:07:54 adam Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
@comment $NetBSD: PLIST,v 1.5 2024/03/06 21:17:22 wiz Exp $
${PYSITELIB}/${WHEEL_INFODIR}/LICENSE.rst
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/flask_sqlalchemy/__init__.py
${PYSITELIB}/flask_sqlalchemy/__init__.pyc
${PYSITELIB}/flask_sqlalchemy/__init__.pyo
${PYSITELIB}/flask_sqlalchemy/_compat.py
${PYSITELIB}/flask_sqlalchemy/_compat.pyc
${PYSITELIB}/flask_sqlalchemy/_compat.pyo
${PYSITELIB}/flask_sqlalchemy/cli.py
${PYSITELIB}/flask_sqlalchemy/cli.pyc
${PYSITELIB}/flask_sqlalchemy/cli.pyo
${PYSITELIB}/flask_sqlalchemy/extension.py
${PYSITELIB}/flask_sqlalchemy/extension.pyc
${PYSITELIB}/flask_sqlalchemy/extension.pyo
${PYSITELIB}/flask_sqlalchemy/model.py
${PYSITELIB}/flask_sqlalchemy/model.pyc
${PYSITELIB}/flask_sqlalchemy/model.pyo
${PYSITELIB}/flask_sqlalchemy/utils.py
${PYSITELIB}/flask_sqlalchemy/utils.pyc
${PYSITELIB}/flask_sqlalchemy/utils.pyo
${PYSITELIB}/flask_sqlalchemy/pagination.py
${PYSITELIB}/flask_sqlalchemy/pagination.pyc
${PYSITELIB}/flask_sqlalchemy/pagination.pyo
${PYSITELIB}/flask_sqlalchemy/py.typed
${PYSITELIB}/flask_sqlalchemy/query.py
${PYSITELIB}/flask_sqlalchemy/query.pyc
${PYSITELIB}/flask_sqlalchemy/query.pyo
${PYSITELIB}/flask_sqlalchemy/record_queries.py
${PYSITELIB}/flask_sqlalchemy/record_queries.pyc
${PYSITELIB}/flask_sqlalchemy/record_queries.pyo
${PYSITELIB}/flask_sqlalchemy/session.py
${PYSITELIB}/flask_sqlalchemy/session.pyc
${PYSITELIB}/flask_sqlalchemy/session.pyo
${PYSITELIB}/flask_sqlalchemy/table.py
${PYSITELIB}/flask_sqlalchemy/table.pyc
${PYSITELIB}/flask_sqlalchemy/table.pyo
${PYSITELIB}/flask_sqlalchemy/track_modifications.py
${PYSITELIB}/flask_sqlalchemy/track_modifications.pyc
${PYSITELIB}/flask_sqlalchemy/track_modifications.pyo

View File

@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.13 2021/10/26 11:30:39 nia Exp $
$NetBSD: distinfo,v 1.14 2024/03/06 21:17:22 wiz Exp $
BLAKE2s (Flask-SQLAlchemy-2.5.1.tar.gz) = 08231564563f9be746b8d82c7547f788acd0992fa5192bc5af7d7a7d91a038c8
SHA512 (Flask-SQLAlchemy-2.5.1.tar.gz) = 5d483418204030837e62769d45c16af88c5be6dbafc7c340cc4e67ef1736ea5102f506156119864cd7673cf382b0d3f27050bda64273b93ef4805fce9e1a0f6f
Size (Flask-SQLAlchemy-2.5.1.tar.gz) = 132750 bytes
BLAKE2s (flask_sqlalchemy-3.1.1.tar.gz) = fdc405b95d8e9de043d80f3a358d15912cfcf1f782eeb8fe5039b6ea4c54ac32
SHA512 (flask_sqlalchemy-3.1.1.tar.gz) = 27a93efb96bc8afe483dc32f9e9756e5972029464f4a201e8a55bf62b88f6bcd93ed7f4472ac21cb17376c87852a1d4b5f98a8ddb55d9b12c334346d5bc7e464
Size (flask_sqlalchemy-3.1.1.tar.gz) = 81899 bytes