“””A version by any other name would be just as sweet.”””
A small library for keeping your version up-to-date easily & everywhere.
The pain of having to update your setup.py, your Sphinx conf.py, your __init__.py & everything else on every release of your Python package sucks. Make your life easier (& very semver!)
By putting your version number in a top-level VERSION file & using this library, you can cut duplication & tedious manual work without having to lean on crazy import hacks.
Inspired by crazy discussion with George Hickman (ghickman) at PyCon 2013.
Requirements
Python 2.5+
Usage
To start, first install rose (see below). Then, push your version number into it’s own file (typically called VERSION):
$ echo '1.0.0-beta' > VERSION
Update your setup.py to look like:
# ...
import rose
setup(
name='your_package_name_here',
# UPDATE THIS LINE!
version=rose.load_version('VERSION'),
# The usual follows...
Then update your __init__.py:
# Whatever is there, then...
import os
import rose
# If you don't care about being cross-platform, you can just pass a simple
# path instead.
VERSION_FILE = os.path.join(os.path.dirname('VERSION'))
__version__ = rose.build_version('your_package_name_here', rose.load_version(VERSION_FILE))
And if you’re documenting with Sphinx, you can update your conf.py with:
# ADD THIS!
import rose
RELEASE_VERSION = rose.load_version('../VERSION')
SHORT_VERSION = RELEASE_VERSION.split('-')[0]
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = SHORT_VERSION
# The full version, including alpha/beta/rc tags.
release = RELEASE_VERSION
Installation
Using pip, simply run:
pip install rose
License
New BSD
Release files for rose 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rose-1.0.0.tar.gz | 3.6 kB | Details |
Release files / rose-1.0.0.tar.gz
| Download URL | rose-1.0.0.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
52b532a79051c4abeaf8cc8b0248800dbbd7ceeddf91ee00e2a096f6f78a7d6b
|
|
BLAKE2b-256 checksum How to use checksums |
0f6239518437e7ef4e4451f39640ee4f68b57551cd0cb36d3ce3c5d2db6e3282
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |