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