Just now merged the changes to the draft PEP. I tested the one file implementation to enable PEP-582 in both Cpython
& in PyPy
.
You can test it via GitHub - kushaldas/pep582
Here is one example directory structure while installing two different set of packages in Cpython
& PyPy
(myscript.py
is just an example script in the same top level directory).
.
├── __pypackages__
│ ├── bin
│ │ ├── __pycache__
│ │ │ └── bottle.cpython-310.pyc
│ │ └── bottle.py
│ └── lib
│ ├── pypy3.9
│ │ └── site-packages
│ │ ├── h2
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.pypy39.pyc
│ │ │ │ ├── config.pypy39.pyc
│ │ │ │ ├── connection.pypy39.pyc
│ │ │ │ ├── errors.pypy39.pyc
│ │ │ │ ├── events.pypy39.pyc
│ │ │ │ ├── exceptions.pypy39.pyc
│ │ │ │ ├── frame_buffer.pypy39.pyc
│ │ │ │ ├── settings.pypy39.pyc
│ │ │ │ ├── stream.pypy39.pyc
│ │ │ │ ├── utilities.pypy39.pyc
│ │ │ │ └── windows.pypy39.pyc
│ │ │ ├── config.py
│ │ │ ├── connection.py
│ │ │ ├── errors.py
│ │ │ ├── events.py
│ │ │ ├── exceptions.py
│ │ │ ├── frame_buffer.py
│ │ │ ├── settings.py
│ │ │ ├── stream.py
│ │ │ ├── utilities.py
│ │ │ └── windows.py
│ │ ├── h2-4.1.0.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── REQUESTED
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── hpack
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.pypy39.pyc
│ │ │ │ ├── exceptions.pypy39.pyc
│ │ │ │ ├── hpack.pypy39.pyc
│ │ │ │ ├── huffman.pypy39.pyc
│ │ │ │ ├── huffman_constants.pypy39.pyc
│ │ │ │ ├── huffman_table.pypy39.pyc
│ │ │ │ ├── struct.pypy39.pyc
│ │ │ │ └── table.pypy39.pyc
│ │ │ ├── exceptions.py
│ │ │ ├── hpack.py
│ │ │ ├── huffman.py
│ │ │ ├── huffman_constants.py
│ │ │ ├── huffman_table.py
│ │ │ ├── struct.py
│ │ │ └── table.py
│ │ ├── hpack-4.0.0.dist-info
│ │ │ ├── INSTALLER
│ │ │ ├── LICENSE
│ │ │ ├── METADATA
│ │ │ ├── RECORD
│ │ │ ├── top_level.txt
│ │ │ └── WHEEL
│ │ ├── hyperframe
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.pypy39.pyc
│ │ │ │ ├── exceptions.pypy39.pyc
│ │ │ │ ├── flags.pypy39.pyc
│ │ │ │ └── frame.pypy39.pyc
│ │ │ ├── exceptions.py
│ │ │ ├── flags.py
│ │ │ ├── frame.py
│ │ │ └── py.typed
│ │ └── hyperframe-6.0.1.dist-info
│ │ ├── INSTALLER
│ │ ├── LICENSE
│ │ ├── METADATA
│ │ ├── RECORD
│ │ ├── top_level.txt
│ │ └── WHEEL
│ └── python3.10
│ └── site-packages
│ ├── __pycache__
│ │ └── bottle.cpython-310.pyc
│ ├── bottle-0.12.23.dist-info
│ │ ├── AUTHORS
│ │ ├── INSTALLER
│ │ ├── LICENSE
│ │ ├── METADATA
│ │ ├── RECORD
│ │ ├── REQUESTED
│ │ ├── top_level.txt
│ │ └── WHEEL
│ └── bottle.py
└── myscript.py