Package: distriploy
This tool can assist you to perform deployment of release artifacts.UsageAfter itsinstallation, distriploy is typically called from your repo’s
root folder using:distriployor:python-mdistriployThe repo should have been configured prior to that, seeconfiguration.Run it with–helpto get to know the options.Prior to runningdistriploy, you might want to create a custom tag. It will be used to name the release. E.g.:gittag-sr$(date+%Y%m%d)Installationdistriploy is available on pypi:python-mpipinstall--userdistriployor you can grab a release or clone the repository and use it.ConfigurationAn enabled repository has a.distriploy.ymlfile in its root folder.
Seethis repo’sfor inspiration.The file is YAML, it contains an object with the following members:release: release information objectrelease.method: release method. Supported values are:github: the project has a github repo.Additional info may be provided if so:release.remote: string, optional (defaults toorigin)The local git repo remote corresponding to github.postrelease.add_mirror_urls: bool (defaults tofalse)Whether to add to the release description a list of mirrors.
Limited use because if github is down, the list is not
accessible.Environment variableGITHUB_TOKEN, must be populated by user,
contains a token string created fromhttps://github.com/settings/tokensSet it up with eg.:readGITHUB_TOKENexportGITHUB_TOKENOr add it to an environment filenot under revision control.mirrors: mirroring information object, containing members whose
key is a mirror handle.Each entry contains:mirrors.${mirror}.method: mirroring upload method. Supported
values (unsupported are ignored, with a warning) are (TODO):osf: upload tohttps://osf.ioUse requires installation withosfoption, or subsequent
installation of theosfclientdependency.Additional info may be provided if so:project: string, OSF project keyfolder: string, OSF file foldername: string, optional (defaults to release artifact name)Useful if using OSF’s revision system.Environment variablesOSF_USERNAMEandOSF_PASSWORD, must be populated by user,
they come from uid & pass inhttps://academictorrents.com/about.php#apikeysSet it up with eg.:readOSF_USERNAMEOSF_PASSWORDexportOSF_USERNAMEOSF_PASSWORDOr add it to an environment filenot under revision control.rsync: upload with rsyncAdditional info may be provided if so:remote: string, rsync destinationpublic: string, public URI prefix, accessible once upload is completedacademictorrents: create torrent file, and upload tohttps://academictorrents.comThe torrent file will be generated in cwd, named like the release
artifact and added`.torrent` extension.Additional info may be provided if so:params: object, academictorrents upload params, to be POST’edEnvironment variablesACADEMICTORRENTS_USERNAMEandACADEMICTORRENTS_PASSWORD, must be populated by user,
they come from uid & pass inhttps://academictorrents.com/about.php#apikeysSet it up with eg.:readACADEMICTORRENTS_USERNAMEACADEMICTORRENTS_PASSWORDexportACADEMICTORRENTS_USERNAMEACADEMICTORRENTS_PASSWORDOr add it to an environment filenot under revision control.TODOget some use and feedbackLicenseMIT.Releasingreadversion# eg. 0.14sed-i-e's/^version = .*/version = "'${version}'"/g'setup.pygitaddsetup.pygitcommit-m"preparation for v${version}"gittag--annotate--message""v${version}gitpush;gitpush--tagsrm-rfdist;pythonsetup.pysdist&&twineuploaddist/*-rpypipython-mdistriploy