15
0
forked from pool/python-atom
Files
python-atom/python-atom.spec
Dirk Mueller 182c869975 - update to 0.9.0:
* fix the generation of Subclass from type annotations PR #193
  * move getstate and setstate implementation to C and allow to
    customize the condition under which a member value is
    pickled. PR #182
  * Customization is used to only pickle member value whose
    state can be restored (for example Constant is not
    pickled). Whether a member is pickled can be customized
    using a method prefixed with ``_getstate_`` on an Atom
    subclass.
  * use the Typed member when a type annotation resolve to a
    single type whose metaclass does not implement a custom
    ``__instancecheck__`` PR #185
  * generate Tuple member for tuple[] annotations.
    The content of the tuple is typed check only if it is a
    1-tuple or variable-length tuple. PR #184
  * fix the resolution order of members in the presence of
    multiple inheritance with a common base class PR
  * Due to the above changes, adding a member after the class
    definition requires more work than before. As a
    consequence a new helper function ``add_member`` has
    been added.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=14
2023-03-01 13:57:06 +00:00

66 lines
2.0 KiB
RPMSpec

#
# spec file for package python-atom
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
Name: python-atom
Version: 0.9.0
Release: 0
Summary: Memory efficient Python objects
License: BSD-3-Clause
URL: https://github.com/nucleic/atom
Source: https://files.pythonhosted.org/packages/source/a/atom/atom-%{version}.tar.gz
BuildRequires: %{python_module cppy >= 1.2.0}
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools >= 61.2}
BuildRequires: %{python_module setuptools_scm >= 3.4.3}
BuildRequires: %{python_module wheel}
BuildRequires: c++_compiler
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%python_subpackages
%description
Atom is a framework for creating memory efficient Python objects with
enhanced features such as dynamic initialization, validation, and
change notification for object attributes. It provides the default
model binding behaviour for the Enaml UI framework.
%prep
%setup -q -n atom-%{version}
%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%check
%pytest_arch
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitearch}/atom
%{python_sitearch}/atom-%{version}*-info
%changelog