This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
VERSION DOWNLOADS TESTS COVERAGE

Goal and Philosophy

Releaseme should ease the process of versioning a product and increment its version when required, despite the version is managed as a file or a repository tag.

Documentation

Installation

Two options: to install it in your system/project:

pip install releaseme

And you can use it with:

python -m releaseme -h

Or just download the lastest zip and use it with:

python releaseme-X.Y.Z.zip -h

Examples and FAQ

Let’s see an example. We have git project with a file in project/__init__.py:

__version__ = '2.3.4'

We want to manage versions with releaseme. And just a command is required:

$ python -m releaseme.__main__ --git --file project/__init__.py

What does this?

  • Sets a git tag to 2.3.4
  • Upgrades the version in the file to ‘2.3.5’

What??

This can seem a bit confusing at the beginning, but it is easy to explain: The git tag should mark the point where that version was launched, but the file should change to indicate the version we are working on.

This way, the file will always contain the next version to be used and the git tag, the point when it was released.

Can I set an explicit version?

Yes. Just edit the file with version and put the desired one.

What happens if there are different versions?

The higher one will be used.

What if I want to maintain several files?

Not a problem, because you can use:

$ python -m releaseme.__main__ --file project/__init__.py setup.py

and it will set the same version for all of them.

Options

Releaseme format is:

[-h] [-v] [--git] [--mercurial] [--file [FILE [FILE ...]]] [ACTION]

Where Action is any of get or increment. If none is provided, increment will be used:

  • get shows current version after processing all files.
  • increment will read the version and increment it in all files.

--git

If you are using a Git repository, this will use git tags to get/set the version. No more arguments are required.

--hg or --mercurial

If you are using a Mercurial repository, this will use mercurial tags to get/set the version. No more arguments are required.

--file

Allows you to select one or several files (space separated) to manage the version.

About the version number

Versions are up to 4 numbers separated by points. In addition, it can contain a hyphon (‘-‘) and an alphanumeric string at the end. So, valid version numbers are:

  • 1
  • 1.2
  • 1.2.3
  • 1.2.3.4
  • 1-foo1
  • 1.2-foo1
  • 1.2.3-foo1
  • 1.2.3.4-foo1

Version numbers that will not be managed correctly include:

  • 1-1
  • 1.a.1
  • 1.foo1

If more than one number is retrieved, the higher one will be used. So:

  • ‘1’ vs ‘1.2’ will use ‘1.2’
  • ‘1.2.3.4’ vs ‘1.2’ will use ‘1.2.3.4’
  • ‘1.2.1’ vs ‘1.3.0’ will use ‘1.3.0’

Finally, only the minor number will be incremented:

  • ‘1’ increments to ‘2’
  • ‘1.1’ increments to ‘1.2’
  • ‘1.1-foo1’ increments to ‘1.2-foo1’

Using it like a pro

The best way to use it is launching it just after releasing. So, the best way to do it is to add the releaseme call to your publishing script.

Why it doesn’t support NNNN technology?

Because I still didn’t require it. Please, feel free to add an issue and/or send a pull-request.

License

Copyright (c) 2014 Miguel Ángel García (@magmax9).

Licensed under the MIT license.

Release History

Release History

0.2.8

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
releaseme-0.2.8-py2-none-any.whl (9.0 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Oct 17, 2014
releaseme-0.2.8.tar.gz (5.6 kB) Copy SHA256 Checksum SHA256 Source Oct 17, 2014
releaseme-0.2.8.zip (11.6 kB) Copy SHA256 Checksum SHA256 Source Oct 17, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting