csspin_python.devpi

The devpi plugin provides integration with a package index server using the Python package devpi. The devpi package is useful for those who need to integrate their project with a package index server for managing and publishing Python packages.

How to setup the devpi plugin?

For using the devpi plugin, a project’s spinfile.yaml must at least contain the following configuration.

Minimal configuration of spinfile.yaml to leverage devpi
plugin_packages:
    - csspin-python
plugins:
    - csspin_python.devpi
python:
    version: "3.11.9"

The provisioning of the required virtual environment as well as the plugins dependencies can be done via the well-known spin provision-task.

The plugin is now ready to use: spin devpi --help.

How to execute devpi through csspin?

After provision, the devpi task can be executed through spin via:

Execute the devpi task
spin devpi

How to upload a wheel to a package server?

The devpi plugin provides a task named “devpi:upload” which builds and uploads a wheel to a package index.

Build and upload a wheel to a package server
spin -p devpi.user=xyz -p devpi.url=https://pypi.org/simple devpi:upload
...
password for user xyz at https://pypi.org/simple: ************

devpi schema reference

devpi: 'object'

Configuration of the devpi plugin for spin

devpi.formats: 'list'

A list of formats to pass to devpi’s –wheel option

devpi.url: 'str'

The URL of the package server to communicate with

devpi.user: 'str'

The user to authenticate with the package server

devpi.schema: 'object'
devpi.requires: 'object'
devpi.requires.spin: 'list'
devpi.requires.python: 'list'
devpi._requires: 'list'