Release processΒΆ

One-time setup

pip install --upgrade build twine
  1. All tests pass on continuous integration

  2. The changelog is up-to-date and dated

  3. The version number is correct in:

    • setup.py
    • docs/conf.py
    • csvkit/cli.py
  4. Check for new authors:

    git log --perl-regexp --author='^((?!James McKinney).*)$'
    
  5. Tag the release:

    git tag -a x.y.z -m 'x.y.z release.'
    git push --follow-tags
    
  6. Upload to PyPI:

    rm -rf dist
    python -m build --sdist --wheel
    twine upload dist/*
    
  7. Build the documentation on ReadTheDocs manually