No project description provided
Project description
Release facilitator for pop-projects.
About
Pop 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 with pop, a Python-based implementation of Plugin 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:
Getting Started
Prerequisites
Python 3.8+
git (if installing from source, or contributing to the project)
Installation
If wanting to use pop-release, you can do so by either installing from PyPI or from source.
Install from PyPI
Install the package via PyPi:
pip install pop-release
Install all the extra requirements:
pip install pop-release\[full\]
Install from source
# clone repo
git clone git@gitlab.com/saltstack/pop/pop-release.git
cd pop-release
# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Usage
pop-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.
Traditional
Set up a file called “.pypirc” in your home directory. Your username will be “__token__” and your password will be an API token With 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-release 1.0.0-alpha
Power User
Using 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 a twine.settings.Settings object can be included in a twine acct profile.
credentials.yaml
twine:
default:
username: __token__
password: pypi-api-auth-token
repository_name: pypi
repository_url: https://upload.pypi.org/legacy/
testing:
username: __token__
password: pypi-testing-api-auth-token
repository_name: testpypi
repository_url: https://test.pypi.org/legacy/
internal:
sign: True
sign_with: gpg
identity:
username: __token__
password: pypi-internal-api-auth-token
comment: My project's private repository
config_file: ~/.pypirc
skip_existing: False
cacert:
client_cert:
repository_name: internal_pypi
repository_url: https://pypi.<my_domain>.com/api
Now encrypt your credentials with acct
acct encrypt credentials.yaml
If this is the first time you used the command, it will output a fernet key. Save this key to the environment:
export ACCT_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:
export ACCT_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-profile option.
PyPi release using the default profile:
pop-release 2.0.0
PyPi testing release:
pop-release 2.0.0 --acct-profile=testing
Acknowledgements
Img Shields for making repository badges easy.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pop-release-15.0.0.tar.gz
.
File metadata
- Download URL: pop-release-15.0.0.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/41.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.5 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ee1749d3939f9462697d5a9509a2b0f1d6125ce850dae39da1f6d43267c9e11 |
|
MD5 | 4cb4283fd7d9ef1ed7cc90b212745507 |
|
BLAKE2b-256 | e3768c0d11eb183ed72f2035200819ee706ca46df2ec4865639d1a56cae28097 |
File details
Details for the file pop_release-15.0.0-py3-none-any.whl
.
File metadata
- Download URL: pop_release-15.0.0-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/41.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.5 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 924e11a489fb8737af7d79ce1ad7be454b0bc1e8e847f6090f778b9121770606 |
|
MD5 | 7e2920b857a5c437c17efc7bd6c774b7 |
|
BLAKE2b-256 | b20bd9a1d22de88ac5da8df478841801250ba9b0d1126215b8fd1df01809693d |