Show More
@@ -22,7 +22,7 b" name = 'ipython'" | |||
|
22 | 22 | _version_major = 4 |
|
23 | 23 | _version_minor = 1 |
|
24 | 24 | _version_patch = 0 |
|
25 | _version_extra = 'dev' | |
|
25 | _version_extra = '.dev' | |
|
26 | 26 | # _version_extra = 'rc1' |
|
27 | 27 | # _version_extra = '' # Uncomment this for full releases |
|
28 | 28 | |
@@ -34,7 +34,7 b' _ver = [_version_major, _version_minor, _version_patch]' | |||
|
34 | 34 | |
|
35 | 35 | __version__ = '.'.join(map(str, _ver)) |
|
36 | 36 | if _version_extra: |
|
37 |
__version__ = __version__ |
|
|
37 | __version__ = __version__ + _version_extra | |
|
38 | 38 | |
|
39 | 39 | version = __version__ # backwards compatibility name |
|
40 | 40 | version_info = (_version_major, _version_minor, _version_patch, _version_extra) |
@@ -26,3 +26,51 b' on the IPython GitHub wiki.' | |||
|
26 | 26 | pycompat |
|
27 | 27 | config |
|
28 | 28 | inputhook_app |
|
29 | ||
|
30 | Making an IPython release | |
|
31 | ========================= | |
|
32 | ||
|
33 | Make sure the repository is clean of any file that could be problematic. | |
|
34 | You can remove all non-tracked files with: | |
|
35 | ||
|
36 | .. code:: | |
|
37 | ||
|
38 | $ git clean -xfdi | |
|
39 | ||
|
40 | This would ask you for confirmation before removing all untracked files. Make | |
|
41 | sure the ``dist/`` folder is clean and avoid stale build from | |
|
42 | previous attempts. | |
|
43 | ||
|
44 | 1. Update version number in ``IPython/core/release.py``. | |
|
45 | ||
|
46 | Make sure the version number match pep440, in particular, `rc` and `beta` are | |
|
47 | not separated by `.` or the `sdist` and `bdist` will appear as different | |
|
48 | releases. | |
|
49 | ||
|
50 | 2. Commit and tag the release with the current version number: | |
|
51 | ||
|
52 | .. code:: | |
|
53 | ||
|
54 | git commit -am "release $VERSION" | |
|
55 | git tag $VERSION | |
|
56 | ||
|
57 | ||
|
58 | 3. You are now ready to build the ``sdist`` and ``wheel``: | |
|
59 | ||
|
60 | .. code:: | |
|
61 | ||
|
62 | $ python setup.py sdist --formats=zip,gztar | |
|
63 | $ python setup.py bdist_wheel | |
|
64 | ||
|
65 | ||
|
66 | 4. You can now test the ``wheel`` and the ``sdist`` locally before uploading to PyPI. | |
|
67 | Make sure to use `twine <https://github.com/pypa/twine>`_ to upload the archives over SSL. | |
|
68 | ||
|
69 | .. code:: | |
|
70 | ||
|
71 | $ twine upload dist/* | |
|
72 | ||
|
73 | 5. If all went well, change the ``IPython/core/release.py`` back adding the ``.dev`` suffix. | |
|
74 | ||
|
75 | 6. Push directly on master, not forgetting to push ``--tags``. | |
|
76 |
@@ -23,6 +23,7 b' requires utilities which are not available under Windows."""' | |||
|
23 | 23 | from __future__ import print_function |
|
24 | 24 | |
|
25 | 25 | import sys |
|
26 | import re | |
|
26 | 27 | |
|
27 | 28 | # This check is also made in IPython/__init__, don't forget to update both when |
|
28 | 29 | # changing Python version requirements. |
@@ -42,7 +43,6 b' PY3 = (sys.version_info[0] >= 3)' | |||
|
42 | 43 | |
|
43 | 44 | # Stdlib imports |
|
44 | 45 | import os |
|
45 | import shutil | |
|
46 | 46 | |
|
47 | 47 | from glob import glob |
|
48 | 48 | |
@@ -291,7 +291,14 b' else:' | |||
|
291 | 291 | |
|
292 | 292 | setup_args.update(setuptools_extra_args) |
|
293 | 293 | |
|
294 | ||
|
295 | # loose as `.dev` is suppose to be invalid | |
|
296 | loose_pep440re = re.compile('^(\d+)\.(\d+)\.(\d+((a|b|rc)\d+)?)(\.post\d+)?(\.dev\d*)?$') | |
|
297 | ||
|
294 | 298 | def main(): |
|
299 | import IPython.core.release as r | |
|
300 | if not loose_pep440re.match(r.version): | |
|
301 | raise ValueError("Version number '%s' is not valid (should match [N!]N(.N)*[{a|b|rc}N][.postN][.devN])" % r.version) | |
|
295 | 302 | setup(**setup_args) |
|
296 | 303 | |
|
297 | 304 | if __name__ == '__main__': |
General Comments 0
You need to be logged in to leave comments.
Login now