Allows you to create devpi server process with indexes, and upload artifacts to that programmatically.
pip install devpi-process
from pathlib import Path
from devpi_process import Index, IndexServer
with IndexServer(Path("server-dir")) as server:
# create an index mirroring an Artifactory instance
magic_index_url = "https://magic.com/artifactory/api/pypi/magic-pypi/simple"
base_name = "magic"
server.create_index(base_name, "type=mirror", f"mirror_url={magic_index_url}")
# create a dev index server that bases of magic PyPI, and upload a wheel to it
dev: Index = server.create_index("dev", f"bases={server.user}/{base_name}")
dev.upload("magic-2.24.0-py3-none-any.whl")
assert dev.url # point the tool consuming the index server to this