Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/closeio/releaserabbit
🐇 Reducing friction of releasing open source projects.
https://github.com/closeio/releaserabbit
Last synced: about 1 month ago
JSON representation
🐇 Reducing friction of releasing open source projects.
- Host: GitHub
- URL: https://github.com/closeio/releaserabbit
- Owner: closeio
- License: mit
- Created: 2019-10-08T13:58:46.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-04-17T07:57:31.000Z (over 1 year ago)
- Last Synced: 2024-04-29T04:23:05.873Z (8 months ago)
- Language: Python
- Homepage:
- Size: 43 KB
- Stars: 5
- Watchers: 17
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ReleaseRabbit
A little tool to make releasing new versions of open source Python projects easier.
In one simple command, ReleaseRabbit bumps version number in your project, pushes a github release, packs and uploads Python package to PyPI.
# Usage
```shell
$ cd myproject$ releaserabbit 1.2.3
# OR
$ releaserabbit patch
# OR
$ releaserabbit minor
# OR
$ releaserabbit major
```# Setup
1. `pip install releaserabbit`.
1. Setup your pypi credentials in `~/.pypirc`.
1. *`setup.py` must pull version name from a separate version file (see snippet below). `VERSION_FILE` must be a constant in setup.py*
- Alternative: `VERSION` as a string constant in `setup.py` if you can't (or don't want to) expose `__version__` in your actual production python code.
1. Make sure you can push commits and tags to master.# Pulling version from a separate file
```python
import io, re
VERSION_FILE = "cleancat/__init__.py"
with io.open(VERSION_FILE, "rt", encoding="utf8") as f:
version = re.search(r'__version__ = ([\'"])(.*?)\1', f.read()).group(2)
```