summaryrefslogtreecommitdiff
path: root/python-pythonfinder.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 20:47:50 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 20:47:50 +0000
commit5119b515feb97046eda293c316fb20ea8c0c1754 (patch)
tree385948d5260e8f31d582c4ea64acfe1b015e5f5d /python-pythonfinder.spec
parente7b1e8d70a76e6683b68e0d8239ad76df3fde02d (diff)
automatic import of python-pythonfinder
Diffstat (limited to 'python-pythonfinder.spec')
-rw-r--r--python-pythonfinder.spec255
1 files changed, 255 insertions, 0 deletions
diff --git a/python-pythonfinder.spec b/python-pythonfinder.spec
new file mode 100644
index 0000000..716d674
--- /dev/null
+++ b/python-pythonfinder.spec
@@ -0,0 +1,255 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pythonfinder
+Version: 1.3.2
+Release: 1
+Summary: A cross-platform python discovery tool to help locate python on any system.
+License: MIT
+URL: https://github.com/sarugaku/pythonfinder
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/af/6f/b6338a39667ffb26cfd4ada45577d36c96bd791715d32564d053b40ed49d/pythonfinder-1.3.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-attrs
+Requires: python3-cached-property
+Requires: python3-packaging
+Requires: python3-click
+Requires: python3-parver
+Requires: python3-wheel
+Requires: python3-invoke
+Requires: python3-twine
+Requires: python3-lxml
+Requires: python3-pre-commit
+Requires: python3-towncrier
+Requires: python3-pytest
+Requires: python3-pytest-cov
+Requires: python3-pytest-timeout
+Requires: python3-coverage
+
+%description
+Installation
+*************
+Install from `PyPI`_:
+ $ pipenv install pythonfinder
+Install from `Github`_:
+ $ pipenv install -e git+https://github.com/sarugaku/pythonfinder.git#egg=pythonfinder
+Usage
+******
+Using PythonFinder is easy. Simply import it and ask for a python:
+ >>> from pythonfinder import Finder
+ >>> f = Finder()
+ >>> f.find_python_version(3, minor=6)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=6, patch=5, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.5')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.find_python_version(2)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/shims/python2'), ...py_version=PythonVersion(major=2, minor=7, patch=15, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('2.7.15')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/shims/python2'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.find_python_version("anaconda3-5.3.0")
+Find a named distribution, such as ``anaconda3-5.3.0``:
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/anaconda3-5.3.0/bin/python3.7m'), _children={'/home/hawk/.pyenv/versions/anaconda3-5.3.0/bin/python3.7m': ...}, only_python=False, name='anaconda3-5.3.0', _py_version=PythonVersion(major=3, minor=7, patch=0, is_prerelease=False, is_postrelease=False, is_devrelease=False,...))
+PythonFinder can even find beta releases:
+ >>> f.find_python_version(3, minor=7)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.7.0b1/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=7, patch=0, is_prerelease=True, is_postrelease=False, is_devrelease=False, version=<Version('3.7.0b1')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.7.0b1/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.which('python')
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=6, patch=5, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.5')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+Windows Support
+****************
+PythonFinder natively supports windows via both the *PATH* environment variable and `PEP-514 <https://www.python.org/dev/peps/pep-0514/>`_ compliant finder which comes by default with python 3. Usage on windows becomes:
+ >>> from pythonfinder import Finder
+ >>> f = Finder()
+ >>> f.find_python_version(3, minor=6)
+ PythonVersion(major=3, minor=6, patch=4, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.4')>, architecture='64bit', comes_from=PathEntry(path=WindowsPath('C:/Program Files/Python36/python.exe'), _children={}, is_root=False, only_python=True, py_version=None, pythons=None), executable=WindowsPath('C:/Program Files/Python36/python.exe'))
+ >>> f.find_python_version(3, minor=7, pre=True)
+ PythonVersion(major=3, minor=7, patch=0, is_prerelease=True, is_postrelease=False, is_devrelease=False, version=<Version('3.7.0b5')>, architecture='64bit', comes_from=PathEntry(path=WindowsPath('C:/Program Files/Python37/python.exe'), _children={}, is_root=False, only_python=True, py_version=None, pythons=None), executable=WindowsPath('C:/Program Files/Python37/python.exe'))
+ >>> f.which('python')
+ PathEntry(path=WindowsPath('C:/Python27/python.exe'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+Finding Executables
+///////////////////
+PythonFinder also provides **which** functionality across platforms, and it uses lazy loading and fast-returns to be performant at this task.
+ >>> f.which('cmd')
+ PathEntry(path=WindowsPath('C:/windows/system32/cmd.exe'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('code')
+ PathEntry(path=WindowsPath('C:/Program Files/Microsoft VS Code/bin/code'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('vim')
+ PathEntry(path=PosixPath('/usr/bin/vim'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('inv')
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/inv'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+Architecture support
+////////////////////
+PythonFinder supports architecture specific lookups on all platforms:
+ >>> f.find_python_version(3, minor=6, arch="64")
+ PathEntry(path=PosixPath('/usr/bin/python3'), _children={'/usr/bin/python3': ...}, only_python=False, name='python3', _py_version=PythonVersion(major=3, minor=6, patch=7, is_prerelease=False, is_postrelease=False, is_devrelease=False, is_debug=False, version=<Version('3.6.7')>, architecture='64bit', comes_from=..., executable='/usr/bin/python3', name='python3'), _pythons=defaultdict(None, {}), is_root=False)
+Integrations
+*************
+* `Pyenv <https://github.com/pyenv/pyenv>`_
+* `ASDF <https://github.com/asdf-vm/asdf>`_
+* `PEP-514 <https://www.python.org/dev/peps/pep-0514/>`_
+* `Virtualenv <https://github.com/pypa/virtualenv>`_
+* `Pipenv <https://pipenv.org>`_
+
+%package -n python3-pythonfinder
+Summary: A cross-platform python discovery tool to help locate python on any system.
+Provides: python-pythonfinder
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pythonfinder
+Installation
+*************
+Install from `PyPI`_:
+ $ pipenv install pythonfinder
+Install from `Github`_:
+ $ pipenv install -e git+https://github.com/sarugaku/pythonfinder.git#egg=pythonfinder
+Usage
+******
+Using PythonFinder is easy. Simply import it and ask for a python:
+ >>> from pythonfinder import Finder
+ >>> f = Finder()
+ >>> f.find_python_version(3, minor=6)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=6, patch=5, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.5')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.find_python_version(2)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/shims/python2'), ...py_version=PythonVersion(major=2, minor=7, patch=15, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('2.7.15')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/shims/python2'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.find_python_version("anaconda3-5.3.0")
+Find a named distribution, such as ``anaconda3-5.3.0``:
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/anaconda3-5.3.0/bin/python3.7m'), _children={'/home/hawk/.pyenv/versions/anaconda3-5.3.0/bin/python3.7m': ...}, only_python=False, name='anaconda3-5.3.0', _py_version=PythonVersion(major=3, minor=7, patch=0, is_prerelease=False, is_postrelease=False, is_devrelease=False,...))
+PythonFinder can even find beta releases:
+ >>> f.find_python_version(3, minor=7)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.7.0b1/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=7, patch=0, is_prerelease=True, is_postrelease=False, is_devrelease=False, version=<Version('3.7.0b1')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.7.0b1/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.which('python')
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=6, patch=5, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.5')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+Windows Support
+****************
+PythonFinder natively supports windows via both the *PATH* environment variable and `PEP-514 <https://www.python.org/dev/peps/pep-0514/>`_ compliant finder which comes by default with python 3. Usage on windows becomes:
+ >>> from pythonfinder import Finder
+ >>> f = Finder()
+ >>> f.find_python_version(3, minor=6)
+ PythonVersion(major=3, minor=6, patch=4, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.4')>, architecture='64bit', comes_from=PathEntry(path=WindowsPath('C:/Program Files/Python36/python.exe'), _children={}, is_root=False, only_python=True, py_version=None, pythons=None), executable=WindowsPath('C:/Program Files/Python36/python.exe'))
+ >>> f.find_python_version(3, minor=7, pre=True)
+ PythonVersion(major=3, minor=7, patch=0, is_prerelease=True, is_postrelease=False, is_devrelease=False, version=<Version('3.7.0b5')>, architecture='64bit', comes_from=PathEntry(path=WindowsPath('C:/Program Files/Python37/python.exe'), _children={}, is_root=False, only_python=True, py_version=None, pythons=None), executable=WindowsPath('C:/Program Files/Python37/python.exe'))
+ >>> f.which('python')
+ PathEntry(path=WindowsPath('C:/Python27/python.exe'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+Finding Executables
+///////////////////
+PythonFinder also provides **which** functionality across platforms, and it uses lazy loading and fast-returns to be performant at this task.
+ >>> f.which('cmd')
+ PathEntry(path=WindowsPath('C:/windows/system32/cmd.exe'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('code')
+ PathEntry(path=WindowsPath('C:/Program Files/Microsoft VS Code/bin/code'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('vim')
+ PathEntry(path=PosixPath('/usr/bin/vim'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('inv')
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/inv'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+Architecture support
+////////////////////
+PythonFinder supports architecture specific lookups on all platforms:
+ >>> f.find_python_version(3, minor=6, arch="64")
+ PathEntry(path=PosixPath('/usr/bin/python3'), _children={'/usr/bin/python3': ...}, only_python=False, name='python3', _py_version=PythonVersion(major=3, minor=6, patch=7, is_prerelease=False, is_postrelease=False, is_devrelease=False, is_debug=False, version=<Version('3.6.7')>, architecture='64bit', comes_from=..., executable='/usr/bin/python3', name='python3'), _pythons=defaultdict(None, {}), is_root=False)
+Integrations
+*************
+* `Pyenv <https://github.com/pyenv/pyenv>`_
+* `ASDF <https://github.com/asdf-vm/asdf>`_
+* `PEP-514 <https://www.python.org/dev/peps/pep-0514/>`_
+* `Virtualenv <https://github.com/pypa/virtualenv>`_
+* `Pipenv <https://pipenv.org>`_
+
+%package help
+Summary: Development documents and examples for pythonfinder
+Provides: python3-pythonfinder-doc
+%description help
+Installation
+*************
+Install from `PyPI`_:
+ $ pipenv install pythonfinder
+Install from `Github`_:
+ $ pipenv install -e git+https://github.com/sarugaku/pythonfinder.git#egg=pythonfinder
+Usage
+******
+Using PythonFinder is easy. Simply import it and ask for a python:
+ >>> from pythonfinder import Finder
+ >>> f = Finder()
+ >>> f.find_python_version(3, minor=6)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=6, patch=5, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.5')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.find_python_version(2)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/shims/python2'), ...py_version=PythonVersion(major=2, minor=7, patch=15, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('2.7.15')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/shims/python2'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.find_python_version("anaconda3-5.3.0")
+Find a named distribution, such as ``anaconda3-5.3.0``:
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/anaconda3-5.3.0/bin/python3.7m'), _children={'/home/hawk/.pyenv/versions/anaconda3-5.3.0/bin/python3.7m': ...}, only_python=False, name='anaconda3-5.3.0', _py_version=PythonVersion(major=3, minor=7, patch=0, is_prerelease=False, is_postrelease=False, is_devrelease=False,...))
+PythonFinder can even find beta releases:
+ >>> f.find_python_version(3, minor=7)
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.7.0b1/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=7, patch=0, is_prerelease=True, is_postrelease=False, is_devrelease=False, version=<Version('3.7.0b1')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.7.0b1/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+ >>> f.which('python')
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=False, only_python=False, py_version=PythonVersion(major=3, minor=6, patch=5, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.5')>, architecture='64bit', comes_from=PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/python'), _children={}, is_root=True, only_python=False, py_version=None, pythons=None), executable=None), pythons=None)
+Windows Support
+****************
+PythonFinder natively supports windows via both the *PATH* environment variable and `PEP-514 <https://www.python.org/dev/peps/pep-0514/>`_ compliant finder which comes by default with python 3. Usage on windows becomes:
+ >>> from pythonfinder import Finder
+ >>> f = Finder()
+ >>> f.find_python_version(3, minor=6)
+ PythonVersion(major=3, minor=6, patch=4, is_prerelease=False, is_postrelease=False, is_devrelease=False, version=<Version('3.6.4')>, architecture='64bit', comes_from=PathEntry(path=WindowsPath('C:/Program Files/Python36/python.exe'), _children={}, is_root=False, only_python=True, py_version=None, pythons=None), executable=WindowsPath('C:/Program Files/Python36/python.exe'))
+ >>> f.find_python_version(3, minor=7, pre=True)
+ PythonVersion(major=3, minor=7, patch=0, is_prerelease=True, is_postrelease=False, is_devrelease=False, version=<Version('3.7.0b5')>, architecture='64bit', comes_from=PathEntry(path=WindowsPath('C:/Program Files/Python37/python.exe'), _children={}, is_root=False, only_python=True, py_version=None, pythons=None), executable=WindowsPath('C:/Program Files/Python37/python.exe'))
+ >>> f.which('python')
+ PathEntry(path=WindowsPath('C:/Python27/python.exe'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+Finding Executables
+///////////////////
+PythonFinder also provides **which** functionality across platforms, and it uses lazy loading and fast-returns to be performant at this task.
+ >>> f.which('cmd')
+ PathEntry(path=WindowsPath('C:/windows/system32/cmd.exe'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('code')
+ PathEntry(path=WindowsPath('C:/Program Files/Microsoft VS Code/bin/code'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('vim')
+ PathEntry(path=PosixPath('/usr/bin/vim'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+ >>> f.which('inv')
+ PathEntry(path=PosixPath('/home/hawk/.pyenv/versions/3.6.5/bin/inv'), _children={}, is_root=False, only_python=False, py_version=None, pythons=None)
+Architecture support
+////////////////////
+PythonFinder supports architecture specific lookups on all platforms:
+ >>> f.find_python_version(3, minor=6, arch="64")
+ PathEntry(path=PosixPath('/usr/bin/python3'), _children={'/usr/bin/python3': ...}, only_python=False, name='python3', _py_version=PythonVersion(major=3, minor=6, patch=7, is_prerelease=False, is_postrelease=False, is_devrelease=False, is_debug=False, version=<Version('3.6.7')>, architecture='64bit', comes_from=..., executable='/usr/bin/python3', name='python3'), _pythons=defaultdict(None, {}), is_root=False)
+Integrations
+*************
+* `Pyenv <https://github.com/pyenv/pyenv>`_
+* `ASDF <https://github.com/asdf-vm/asdf>`_
+* `PEP-514 <https://www.python.org/dev/peps/pep-0514/>`_
+* `Virtualenv <https://github.com/pypa/virtualenv>`_
+* `Pipenv <https://pipenv.org>`_
+
+%prep
+%autosetup -n pythonfinder-1.3.2
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pythonfinder -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.3.2-1
+- Package Spec generated