- update to version 1.2.8:
* orm
+ [orm] [bug] Fixed regression in 1.2.7 caused by #4228, which
itself was fixing a 1.2-level regression, where the query_cls
callable passed to a Session was assumed to be a subclass of
Query with class method availability, as opposed to an
arbitrary callable. In particular, the dogpile caching example
illustrates query_cls as a function and not a Query subclass.
References: #4256
+ [orm] [bug] Fixed a long-standing regression that occurred in
version 1.0, which prevented the use of a custom MapperOption
that alters the _params of a Query object for a lazy load,
since the lazy loader itself would overwrite those parameters.
This applies to the “temporal range” example on the wiki. Note
however that the Query.populate_existing() method is now
required in order to rewrite the mapper options associated with
an object already loaded in the identity map.
As part of this change, a custom defined MapperOption will now
cause lazy loaders related to the target object to use a non-
baked query by default unless the
MapperOption._generate_cache_key() method is implemented. In
particular, this repairs one regression which occured when
using the dogpile.cache “advanced” example, which was not
returning cached results and instead emitting SQL due to an
incompatibility with the baked query loader; with the change,
the RelationshipCache option included for many releases in the
dogpile example will disable the “baked” query altogether. Note
that the dogpile example is also modernized to avoid both of
these issues as part of issue #4258. References: #4128
+ [orm] [bug] Fixed bug where the new
OBS-URL: https://build.opensuse.org/request/show/618391
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=112
99 lines
3.2 KiB
RPMSpec
99 lines
3.2 KiB
RPMSpec
#
|
|
# spec file for package python-SQLAlchemy
|
|
#
|
|
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
%define oldpython python
|
|
%bcond_without tests
|
|
Name: python-SQLAlchemy
|
|
Version: 1.2.8
|
|
Release: 0
|
|
Summary: Database Abstraction Library
|
|
License: MIT
|
|
Group: Development/Languages/Python
|
|
URL: http://www.sqlalchemy.org
|
|
Source: https://files.pythonhosted.org/packages/source/S/SQLAlchemy/SQLAlchemy-%{version}.tar.gz
|
|
BuildRequires: %{python_module devel}
|
|
# Test requirements:
|
|
BuildRequires: %{python_module mock}
|
|
BuildRequires: %{python_module pytest-xdist}
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
#BuildRequires: python-pysqlite
|
|
%ifpython2
|
|
Obsoletes: %{oldpython}-sqlalchemy < %{version}
|
|
Provides: %{oldpython}-sqlalchemy = %{version}
|
|
%endif
|
|
%ifpython3
|
|
Provides: python3-sqlalchemy = %{version}
|
|
Obsoletes: python3-sqlalchemy < %{version}
|
|
%endif
|
|
%python_subpackages
|
|
|
|
%description
|
|
SQLAlchemy is an Object Relational Mappper (ORM) that provides a flexible,
|
|
high-level interface to SQL databases. Database and domain concepts are
|
|
decoupled, allowing both sides maximum flexibility and power. SQLAlchemy
|
|
provides a powerful mapping layer that can work as automatically or as manually
|
|
as you choose, determining relationships based on foreign keys or letting you
|
|
define the join conditions explicitly, to bridge the gap between database and
|
|
domain.
|
|
|
|
%package -n %{name}-doc
|
|
Summary: Documentation for python-SQLAlchemy
|
|
Group: Documentation/Other
|
|
Provides: python-SQLAlchemy-doc = %{version}
|
|
Provides: python2-SQLAlchemy-doc = %{version}
|
|
Provides: python3-SQLAlchemy-doc = %{version}
|
|
BuildArch: noarch
|
|
|
|
%description -n %{name}-doc
|
|
This package contains HTML documentation, including tutorials and API
|
|
reference for python-SQLAlchemy.
|
|
|
|
%prep
|
|
%setup -q -n SQLAlchemy-%{version}
|
|
rm -rf doc/build # Remove unnecessary scripts for building documentation
|
|
sed -i 's/\r$//' examples/dynamic_dict/dynamic_dict.py
|
|
|
|
%build
|
|
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
|
|
|
%if %{with tests}
|
|
%check
|
|
%python_expand py.test-%{$python_bin_suffix}
|
|
%endif
|
|
|
|
%files %{python_files}
|
|
%license LICENSE
|
|
%doc CHANGES README.rst README.dialects.rst README.unittests.rst
|
|
%{python_sitearch}/sqlalchemy/
|
|
%{python_sitearch}/SQLAlchemy-%{version}-py%{py_ver}.egg-info
|
|
|
|
%files -n %{name}-doc
|
|
%doc doc/
|
|
%doc examples/
|
|
|
|
%changelog
|