Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PEP 660: add links to prototypes #1998

Merged
merged 3 commits into from
Jun 22, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions pep-0660.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PEP: 660
Title: Editable installs for pyproject.toml based builds
Title: Editable installs for pyproject.toml based builds (wheel based)
Author: Daniel Holth <dholth@gmail.com>, Stéphane Bidoul <stephane.bidoul@gmail.com>
Sponsor: Paul Moore <p.f.moore@gmail.com>
Discussions-To: https://discuss.python.org/t/draft-pep-editable-installs-for-pep-517-style-build-backends/8510
Expand Down Expand Up @@ -79,8 +79,8 @@ encouraged to document such potential differences.
The Mechanism
=============

This PEP adds a single optional hook to the PEP 517 backend interface. The hook
is used to build a wheel that, when installed, allows that distribution to be
This PEP adds two optional hooks to the PEP 517 backend interface. These hooks
are used to build a wheel that, when installed, allows that distribution to be
imported from its source folder.

build_wheel_for_editable
Expand Down Expand Up @@ -202,6 +202,26 @@ With regard to the wheel ``.data`` directory, this PEP focuses on making the
``console_scripts``, make their ``scripts`` tiny wrappers around library
functionality, or manage these from the source checkout during development.

Prototypes
==========

At the time of writing this PEP, several prototype implementations are
available in various frontends and backends. We provide links below to
illustrate possible approaches.

Frontends:

- pip (`pull request <https://github.com/pypa/pip/pull/8212>`__)

Build backends:

- enscons (`pull request 1 <https://github.com/dholth/enscons/pull/9>`__,
`pull request 2 <https://github.com/dholth/enscons/pull/21>`__)
- flit (`pull request <https://github.com/takluyver/flit/pull/400>`__)
- hatchling (`sdist <https://pypi.org/project/hatchling/#files>`__)
- pdm (`pull request <https://github.com/pdm-project/pdm-pep517/pull/36>`__)
- setuptools (`setuptools_pep660 repository <https://github.com/dholth/setuptools_pep660>`_)

Rejected ideas
==============

Expand Down