ctl.plugins.pypi

Plugin that allows you to release a python package to pypi

Requirements

pip install twine

Classes


PyPIPlugin

PyPIPlugin(ctl.plugins.release.ReleasePlugin)

facilitate a PyPI package release

Class Attributes

  • ConfigSchema (ConfigSchema Class): Base plugin config schema

Instanced Attributes

These attributes / properties will be available on instances of the class

  • dist_path (@property): the path for dist output
  • dry_run (bool): are we doing a dry run?
  • pypi_repository (str): name of the pypi repostiroy we will be targeting
  • pypirc_path (str): path to to pypi config file
  • twine_settings (twine.Settings)

Methods

_build_dist

def _build_dist(self, **kwargs)

Build dist


_release

def _release(self, **kwargs)

Build dist and validate dist and then upload to pypi


_upload

def _upload(self, **kwargs)

Upload to pypi


_validate

def _validate(self, **kwargs)

Build dist and validate


_validate_dist

def _validate_dist(self, **kwargs)

Validate dist


prepare

def prepare(self)

prepares the command environment

cwd, shell env, stdout / stdin are all set up through this

this is called automatically during the ExecutablePlugin.execute call

overrides ExecutablePlugin.prepare


PyPIPluginConfig

PyPIPluginConfig(ctl.plugins.release.ReleasePluginConfig)

Configuration schema for PyPIPlugin

Class Attributes

  • config_file (Str): path to pypi config file (e.g. ~/.pypirc)
  • identity (Str): sign release with this identity
  • pypi_repository (Str): PyPI repository name - needs to exist in your pypi config file
  • sign (Bool): sign releases
  • sign_with (Str): sign release with this program