Make sure you have PyPI account with maintainer access to the Snorkel project. Create a .pypirc in your home directory. It should look like this:
[distutils]
index-servers =
pypi
pypitest
[pypi]
username=YOUR_USERNAME
password=YOUR_PASSWORD
Then run chmod 600 ./.pypirc
so only you can read/write.
-
Make sure you're in the top-level
snorkel
directory. -
Make certain your branch is in sync with head:
$ git pull origin master
-
Make sure
CHANGELOG.md
is up to date for the release: compare against PRs merged since the last release & update top heading with release date. -
Update version to, e.g. 0.9.0 (remove the
+dev
label) insnorkel/version.py
. -
Commit these changes and create a PR:
git add . -u git commit -m "[RELEASE]: v0.9.0" git push origin master
-
Once the PR is approved, merge it and pull master locally.
-
Tag the release:
git tag -a v0.9.0 -m "v0.9.0 release" git push origin v0.9.0
-
Build source & wheel distributions:
rm -rf dist build # clean old builds & distributions python3 setup.py sdist # create a source distribution python3 setup.py bdist_wheel # create a universal wheel
-
Attach the resulting binaries in (
dist/snorkel-x.x.x.*
) to the release. -
Check that everything looks correct by uploading the package to the PyPI test server:
pip install twine # if not installed twine upload dist/* -r pypitest # publish to test.pypi.org python3 -m venv test_snorkel # create a virtualenv for testing source test_snorkel/bin/activate # activate virtualenv python3 -m pip install -i https://testpypi.python.org/pypi snorkel # check that install works
-
Publish to PyPI
twine upload dist/* -r pypi
-
A PR is auto-submitted (this will take a few hours) on
conda-forge/snorkel-feedstock
to update the version.- A maintainer needs to accept and merge those changes.
-
Copy the release notes in
CHANGELOG.md
to the GitHub tag and publish a release. -
Update version to, e.g. 0.9.1+dev in
snorkel/VERSION.py
. -
Add a new changelog entry for the unreleased version:
## [Unreleased] ## [0.9.1] ### [Breaking Changes] ### [Added] ### [Changed] ### [Deprecated] ### [Removed]
-
Commit these changes and push to master:
git add . -u git commit -m "[BUMP]: v0.9.1+dev" git push origin master
-
Add the new tag to the Snorkel project on ReadTheDocs,
- Trigger a build for master to pull new tags.
- Go to the "Versions" tab, and "Activate" the new tag.
- Go to Admin/Advanced to set this tag as the new default version.
- Make sure a build is triggered on the correct tag in "Overview".