%global _empty_manifest_terminate_build 0 Name: python-editables Version: 0.3 Release: 1 Summary: Editable installations License: MIT URL: https://github.com/pfmoore/editables Source0: https://mirrors.nju.edu.cn/pypi/web/packages/01/b0/a2a87db4b6cb8e7d57004b6836faa634e0747e3e39ded126cdbe5a33ba36/editables-0.3.tar.gz BuildArch: noarch %description # A Python library for creating "editable wheels" This library supports the building of wheels which, when installed, will expose packages in a local directory on `sys.path` in "editable mode". In other words, changes to the package source will be reflected in the package visible to Python, without needing a reinstall. ## Usage Suppose you want to build a wheel for your project `foo`. Your project is located in the directory `/path/to/foo`. Under that directory, you have a `src` directory containing your project, which is a package called `foo` and a Python module called `bar.py`. So your directory structure looks like this: ``` /path/to/foo | +-- src | +-- foo | | +-- __init__.py | +-- bar.py | +-- setup.py +-- other files ``` Build your wheel as follows: ```python from editables import EditableProject my_project = EditableProject("foo", "/path/to/foo") my_project.add_to_path("src") # Build a wheel however you prefer... wheel = BuildAWheel() # Add files to the wheel for name, content in my_project.files(): wheel.add_file(name, content) # Record any runtime dependencies for dep in my_project.dependencies(): wheel.metadata.dependencies.add(dep) ``` The resulting wheel will, when installed, put the project `src` directory on `sys.path` so that editing the original source will take effect without needing a reinstall (i.e., as "editable" packages). The project is exposed on `sys.path` by adding a single `.pth` file, named after the project, into the wheel. For more details, including how to control what gets exposed more precisely, see [the documentation](https://editables.readthedocs.io/en/latest/). Note that this project doesn't build wheels directly. That's the responsibility of the calling code. ## Python Compatibility This project supports the same versions of Python as pip does. Currently that is Python 3.7 and later, and PyPy3 (although we don't test against PyPy). %package -n python3-editables Summary: Editable installations Provides: python-editables BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-editables # A Python library for creating "editable wheels" This library supports the building of wheels which, when installed, will expose packages in a local directory on `sys.path` in "editable mode". In other words, changes to the package source will be reflected in the package visible to Python, without needing a reinstall. ## Usage Suppose you want to build a wheel for your project `foo`. Your project is located in the directory `/path/to/foo`. Under that directory, you have a `src` directory containing your project, which is a package called `foo` and a Python module called `bar.py`. So your directory structure looks like this: ``` /path/to/foo | +-- src | +-- foo | | +-- __init__.py | +-- bar.py | +-- setup.py +-- other files ``` Build your wheel as follows: ```python from editables import EditableProject my_project = EditableProject("foo", "/path/to/foo") my_project.add_to_path("src") # Build a wheel however you prefer... wheel = BuildAWheel() # Add files to the wheel for name, content in my_project.files(): wheel.add_file(name, content) # Record any runtime dependencies for dep in my_project.dependencies(): wheel.metadata.dependencies.add(dep) ``` The resulting wheel will, when installed, put the project `src` directory on `sys.path` so that editing the original source will take effect without needing a reinstall (i.e., as "editable" packages). The project is exposed on `sys.path` by adding a single `.pth` file, named after the project, into the wheel. For more details, including how to control what gets exposed more precisely, see [the documentation](https://editables.readthedocs.io/en/latest/). Note that this project doesn't build wheels directly. That's the responsibility of the calling code. ## Python Compatibility This project supports the same versions of Python as pip does. Currently that is Python 3.7 and later, and PyPy3 (although we don't test against PyPy). %package help Summary: Development documents and examples for editables Provides: python3-editables-doc %description help # A Python library for creating "editable wheels" This library supports the building of wheels which, when installed, will expose packages in a local directory on `sys.path` in "editable mode". In other words, changes to the package source will be reflected in the package visible to Python, without needing a reinstall. ## Usage Suppose you want to build a wheel for your project `foo`. Your project is located in the directory `/path/to/foo`. Under that directory, you have a `src` directory containing your project, which is a package called `foo` and a Python module called `bar.py`. So your directory structure looks like this: ``` /path/to/foo | +-- src | +-- foo | | +-- __init__.py | +-- bar.py | +-- setup.py +-- other files ``` Build your wheel as follows: ```python from editables import EditableProject my_project = EditableProject("foo", "/path/to/foo") my_project.add_to_path("src") # Build a wheel however you prefer... wheel = BuildAWheel() # Add files to the wheel for name, content in my_project.files(): wheel.add_file(name, content) # Record any runtime dependencies for dep in my_project.dependencies(): wheel.metadata.dependencies.add(dep) ``` The resulting wheel will, when installed, put the project `src` directory on `sys.path` so that editing the original source will take effect without needing a reinstall (i.e., as "editable" packages). The project is exposed on `sys.path` by adding a single `.pth` file, named after the project, into the wheel. For more details, including how to control what gets exposed more precisely, see [the documentation](https://editables.readthedocs.io/en/latest/). Note that this project doesn't build wheels directly. That's the responsibility of the calling code. ## Python Compatibility This project supports the same versions of Python as pip does. Currently that is Python 3.7 and later, and PyPy3 (although we don't test against PyPy). %prep %autosetup -n editables-0.3 %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-editables -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 11 2023 Python_Bot - 0.3-1 - Package Spec generated