diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-11 20:47:50 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 20:47:50 +0000 |
| commit | 5119b515feb97046eda293c316fb20ea8c0c1754 (patch) | |
| tree | 385948d5260e8f31d582c4ea64acfe1b015e5f5d | |
| parent | e7b1e8d70a76e6683b68e0d8239ad76df3fde02d (diff) | |
automatic import of python-pythonfinder
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-pythonfinder.spec | 255 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 257 insertions, 0 deletions
@@ -0,0 +1 @@ +/pythonfinder-1.3.2.tar.gz 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 @@ -0,0 +1 @@ +678e0fcb28fab4b5b64b2e1299fd844f pythonfinder-1.3.2.tar.gz |
