Oven logo

Oven

Published

devpi process provides a programmatic API to create and use a devpi server process

devpi-process

PyPI PyPI - Implementation PyPI - Python Version Downloads PyPI - License check

Allows you to create devpi server process with indexes, and upload artifacts to that programmatically.

install

pip install devpi-process

use

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