Metadata-Version: 2.1
Name: editables
Version: 0.3
Summary: Editable installations
Home-page: https://github.com/pfmoore/editables
Author: Paul Moore
Author-email: p.f.moore@gmail.com
Maintainer: Paul Moore
Maintainer-email: p.f.moore@gmail.com
License: MIT
Project-URL: Source, https://github.com/pfmoore/editables
Project-URL: Tracker, https://github.com/pfmoore/editables/issues
Project-URL: Documentation, https://editables.readthedocs.io
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).
        
Keywords: packaging,editables
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=3.7
Description-Content-Type: text/markdown
