Tools to automate release to GitHub, pypi and conda
Project description
easyrelease
Automate your GitHub, pypi and conda releases
How to install
Via pip
pip install easyrelease
or via conda
conda install easyrelease
Packages vs Application
We conceptually differentiate between two kind of projects:
- Packages: These are python projects you want to bundle for others to install via
pip
orconda
- Applications: These are python projects without packaging purposes like a web application. You can still use this package for this kind of projects in order to automate your release workflow
How to use
Prerequisites
After installation you need the fulfill the following prerequisites for the package to work:
Git project
You need to initialize a git project in your project root folder for this package to work, i.e. run in your command line
git init
GitHub credentials
You need to store your GitHub credentials (GitHub username and token) in your project root for automatic GitHub releases. The credentials should be stored in a file called .gh-credentials
with the following contents:
gh_user = Your GitHub username
gh_token = Your GitHub token
Package structure
Only for python packages
For this package to work you need to comply to the following minimal project structure for python packages
package_name
|-- .git
|-- package_name
| |-- __init__.py
| |-- module1.py
| |-- module2.py
| |-- ...
|-- tests
| |-- test_module1.py
| |-- test_module2.py
| |-- ...
Pypi credentials
Only for python packages
To publish to Pypi you need to store your pypi credentials in a file with the name .pypi-credentials
in your user root or project root directory. The file should include the following contents
username = Your Pypi username
password = Your Pypi password
Anaconda credentials
Only for python packages
To publish to Anaconda you need to store your anaconda credentials in a file with the name .anaconda-credentials
in your user root or project root directory. The file should include the following contents
username = Your Anaconda username
password = Your Anaconda password
Getting started
For applications
Only once:
- Fulfill the prerequisites
- Run
easyrelease-init application
- Edit your in the previous step generated file
settings.ini
- Edit your in the previous step generated file
.gh-release-config.yaml
Each time you want to make a GitHub release:
- Run
gh-release
to make a GitHub release - Run
make-changelog
to generate / update your CHANGELOG
For packages
Only once:
- Fulfill the prerequisites
- Run
easyrelease-init application
- Edit your in the previous step generated file
settings.ini
- Edit your in the previous step generated file
.gh-release-config.yaml
- Run
login-to-anaconda
Each time you want to release / publish your package:
- Run
gh-release
to make a GitHub release - Run
make-changelog
to generate / update your CHANGELOG - Run
publish-pypi-package
to publish to pypi - Run
update-meta-yaml
to generate / update your meta.yaml under conda-bld
- (Optionally recommended): Check your meta.yaml
- Run
build-conda-package
to build your conda package - Run
upload-conda-package
to publish your conda package
Project details
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
Hashes for easyrelease-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8b1d4e43349b06c86f47e7d693183c717274cc887016f5e099d637dbd0fb9be |
|
MD5 | c83a708ec522fabd317a5946b0f26c58 |
|
BLAKE2b-256 | 3546e4c40291408f6d49c4f2a5568359c3b2db9caaa8bfe0615178f623378a14 |