1===============
2Release Process
3===============
4
5In order to allow for rapid, predictable releases, Setuptools uses a
6mechanical technique for releases, enacted on tagged commits by
7continuous integration.
8
9To finalize a release, run ``tox -e finalize``, review, then push
10the changes.
11
12If tests pass, the release will be uploaded to PyPI.
13
14Release Frequency
15-----------------
16
17Some have asked why Setuptools is released so frequently. Because Setuptools
18uses a mechanical release process, it's very easy to make releases whenever the
19code is stable (tests are passing). As a result, the philosophy is to release
20early and often.
21
22While some find the frequent releases somewhat surprising, they only empower
23the user. Although releases are made frequently, users can choose the frequency
24at which they use those releases. If instead Setuptools contributions were only
25released in batches, the user would be constrained to only use Setuptools when
26those official releases were made. With frequent releases, the user can govern
27exactly how often he wishes to update.
28
29Frequent releases also then obviate the need for dev or beta releases in most
30cases. Because releases are made early and often, bugs are discovered and
31corrected quickly, in many cases before other users have yet to encounter them.
32
33Release Managers
34----------------
35
36Additionally, anyone with push access to the master branch has access to cut
37releases.
38