Package: pop-release
Release facilitator for pop-projects.AboutPop Release is a simple tool to automate the process of creating a release.
When making POP software releases should be happening very quickly, every
few commits should justify a release.Since releases happen so frequently, and since they should be executed in
an identical way from project to project, pop-release becomes a simple command
to update the release locally and on pypi.What is POP?This project is built withpop, a Python-based
implementation ofPlugin Oriented Programming (POP). POP seeks to bring
together concepts and wisdom from the history of computing in new ways to solve
modern computing problems.For more information:Intro to Plugin Oriented Programming (POP)pop-awesomepop-createGetting StartedPrerequisitesPython 3.8+git(if installing from source, or contributing to the project)InstallationNoteIf wanting to contribute to the project, and setup your local development
environment, see theCONTRIBUTING.rstdocument in the source repository
for this project.If wanting to usepop-release, you can do so by either
installing from PyPI or from source.Install from PyPIInstall the package via PyPi:pipinstallpop-releaseInstall all the extra requirements:pipinstallpop-release\[full\]Install from source# clone repogitclonegit@gitlab.com/saltstack/pop/pop-release.gitcdpop-release# Setup venvpython3-mvenv.venvsource.venv/bin/activatepipinstall-e.Usagepop-release can be run several ways.
The traditional method uses a ~/.pypirc config file.
The most powerful and versatile method is to use idem/acct’s authentication.TraditionalSet up a file called “.pypirc” in your home directory.
Your username will be “__token__” and your password will be anAPI tokenWith this method you can’t choose between the configured profiles.~/.pypirc[distutils]
index-servers=
    pypi

[pypi]
repository = https://upload.pypi.org/legacy/
username = __token__
password = pypi-<pypi_api_token>With your credentials set up, you can simply run the pop-release command in the root of the directory
that contains your source code.  The only argument you need is a semantic version number.pop-release1.0.0-alphaPower UserUsing the acct plugin, we can have multiple named profiles.
The “default” and “testing” examples below show the bare minimum of configuration required.
Any options that can be used by atwine.settings.Settingsobject can be included in a twine acct profile.credentials.yamltwine:default:username:__token__password:pypi-api-auth-tokenrepository_name:pypirepository_url:https://upload.pypi.org/legacy/testing:username:__token__password:pypi-testing-api-auth-tokenrepository_name:testpypirepository_url:https://test.pypi.org/legacy/internal:sign:Truesign_with:gpgidentity:username:__token__password:pypi-internal-api-auth-tokencomment:My project's private repositoryconfig_file:~/.pypircskip_existing:Falsecacert:client_cert:repository_name:internal_pypirepository_url:https://pypi.<my_domain>.com/apiNow encrypt your credentials withacctacctencryptcredentials.yamlIf this is the first time you used the command, it will output a fernet key.
Save this key to the environment:exportACCT_KEY="i6KbvytHAYWYiWBV48x5Ao0M3xuP-7Yzyi5K5g4eRQw="There will also be a new file created called<credentials_file_name>.fernet.
Save the full path to this file to your environment:exportACCT_FILE="/home/myuser/.../credentials.yaml.fernet"Now you can run pop-release using your encrypted credentials.
The profile called “default” will be used implicitly.
You can choose a profile for running pop-release by using the–acct-profileoption.PyPi release using the default profile:pop-release2.0.0PyPi testing release:pop-release2.0.0--acct-profile=testingAcknowledgementsImg Shieldsfor making repository badges easy.