# # spec file for package python-apipkg # # Copyright (c) 2019 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 https://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-apipkg Version: 1.5 Release: 3.2 Summary: Namespace control and lazy-import mechanism License: MIT Group: Development/Languages/Python URL: https://github.com/pytest-dev/apipkg/ Source: https://files.pythonhosted.org/packages/source/a/apipkg/apipkg-%{version}.tar.gz Patch0: pytest4.patch BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros BuildArch: noarch %python_subpackages %description With apipkg you can control the exported namespace of a python package and greatly reduce the number of imports for your users. It is a `small pure python module`_ that works on virtually all Python versions, including CPython2.3 to Python3.1, Jython and PyPy. It co-operates well with Python's ``help()`` system, custom importers (PEP302) and common command line completion tools. Usage is very simple: you can require 'apipkg' as a dependency or you can copy paste the <100 Lines of code into your project. %prep %setup -q -n apipkg-%{version} %patch0 -p1 %build %python_build %install %python_install %python_expand %fdupes -s %{buildroot}%{$python_sitelib} %check %python_expand PYTHONPATH="%{buildroot}%{$python_sitelib}" $python -m pytest %files %{python_files} %license LICENSE %doc README.rst CHANGELOG %dir %{python_sitelib}/apipkg %{python_sitelib}/apipkg/* %{python_sitelib}/apipkg-%{version}-py%{python_version}.egg-info %changelog * Fri Jul 19 2019 Ondřej Súkup - refresh pytest4.patch for pytest5 * Tue Feb 12 2019 Tomáš Chvátal - Add patch to fix build with pytest newer than 4: * pytest4.patch * Sun Aug 5 2018 mimi.vx@gmail.com - update to 1.5 - fixed dependencies * switch to setuptools_scm * avoid dict iteration (fixes issue on python3) * preserve __package__ - ths gets us better pep 302 compliance * Thu Apr 27 2017 aloisio@gmx.com - Fixed source URL * Fri Apr 21 2017 aloisio@gmx.com - Converted to single-spec - Enabled tests * Fri Mar 11 2016 tbechtold@suse.com - update to 1.4: - revert the automated version gathering - fix issue2 - adapt tests on Jython - handle jython __pkgpath__ missabstraction when running python from jar files - alias modules pointing to unimportable modules will return None for all their attributes instead of raising ImportError. This addresses python3.4 where any call to getframeinfo() can choke on sys.modules contents if pytest is not installed (because py.test.* imports it). - introduce apipkg.distribution_version(name) as helper to obtain the current version number of a package from install metadata its used by default with the package name - add an eagerloading option and eagerload automatically if bpython is used (workaround for their monkeypatching) - Switch to use .tar.gz sdist instead of zip - Install LICENSE - BuildRequires python-setuptools * Tue Nov 20 2012 saschpe@suse.de - Initial version