VERSION needs to be formatted following the MAJOR.MINOR.PATCH convention
(we need to follow this convention to be able to retrieve versioned scripts)
To create the package for pypi.
-
Change the version in init.py, setup.py as well as docs/source/conf.py.
-
Commit these changes with the message: "Release: VERSION"
-
Add a tag in git to mark the release: "git tag VERSION -m'Adds tag VERSION for pypi' "
Push the tag to git: git push --tags origin master
-
Build both the sources and the wheel. Do not change anything in setup.py between
creating the wheel and the source distribution (obviously).
For the wheel, run: "python setup.py bdist_wheel" in the top level directory.
(this will build a wheel for the python version you use to build it).
For the sources, run: "python setup.py sdist"
You should now have a /dist directory with both .whl and .tar.gz source versions.
Then change the SCRIPTS_VERSION back to to "master" in init.py (but don't commit this change)
-
Check that everything looks correct by uploading the package to the pypi test server:
twine upload dist/* -r pypitest
(pypi suggest using twine as other methods upload files via plaintext.)
You may have to specify the repository url, use the following command then:
twine upload dist/* -r pypitest --repository-url=https://test.pypi.org/legacy/
Check that you can install it in a virtualenv by running:
pip install -i https://testpypi.python.org/pypi datasets
-
Upload the final version to actual pypi:
twine upload dist/* -r pypi
-
Copy the release notes from RELEASE.md to the tag in github once everything is looking hunky-dory.
-
Update the documentation commit in .circleci/deploy.sh for the accurate documentation to be displayed
Update the version mapping in docs/source/_static/js/custom.js
-
Update README.md to redirect to correct documentation.