Currently,the latest version of dbfread available on PyPI is 2.0.7 (from November 2016). That version does not register its supported versions of Python and it doesn't include any trove classifiers. It would be great to make the newest version available via pip install --upgrade dbfread.
Also, I think it could be helpful to add a check-list that could be used when publishing releases. This is something I do for my own projects and it helps formalize the process and reduce mistakes.
If you like the idea, I can submit it as a pull request. But for now, here is a release-checklist.rst file I would suggest as a good starting point:
Release Checklist
=================
#. In ``dbfread/version.py``, make sure the correct version number is defined
for this release.
#. Make sure that information about supported Python versions is consistent:
* In the call to ``setup()``, check the versions defined by the
*python_requires* argument (see the "Version specifiers" section of
PEP-440 for details).
* In the call to ``setup()``, check the trove classifiers in the
*classifiers* argument (see https://pypi.org/classifiers/ for values).
* In ``README.rst``, check the versions listed in the "Main Features" and
"Installing" sections.
* In ``docs/installing.rst``, check the versions listed in the
"Requirements" section.
#. Make sure the *description* argument in ``setup.py`` matches the project
description on GitHub (in the "About" section).
#. Check that *packages* argument of ``setup()`` is correct. Check that the
value matches what ``setuptools.find_packages()`` returns:
>>> import setuptools
>>> sorted(setuptools.find_packages('.', exclude=['tests']))
Defining this list explicitly (rather than using ``find_packages()``
directly in ``setup.py`` file) is needed when installing on systems
where ``setuptools`` is not available.
#. Make final updates to ``docs/changes.rst`` file.
#. Commit and push final changes to the upstream development repository:
Prepare version info, documentation, and README for version N.N.N release.
#. In the upstream repository, make sure that all of the tests and checks
are passing.
#. Make sure the packaging tools are up-to-date:
pip install -U twine wheel setuptools check-manifest
#. Check the manifest against the project's root folder:
check-manifest .
#. Remove any existing files from the ``dist/`` folder.
#. Build new distributions:
python setup.py sdist bdist_wheel
#. Upload distributions to TestPyPI:
twine upload --repository testpypi dist/*
#. View the package's web page on TestPyPI and verify that the information
is correct for the "Project links" and "Meta" sections:
* https://test.pypi.org/project/dbfread
If you are testing a pre-release version, make sure to use the URL returned
by twine in the previous step (the default URL shows the latest *stable*
version).
#. Test the installation process from TestPyPI:
python -m pip install --index-url https://test.pypi.org/simple/ dbfread
If you're testing a pre-release version, make sure to use the "pip install"
command listed at the top of the project's TestPyPI page.
#. Upload source and wheel distributions to PyPI:
twine upload dist/*
#. Double check PyPI project page and test installation from PyPI:
python -m pip install dbfread
#. Make sure the documentation version reflects the new release:
* https://dbfread.readthedocs.io/
If the documentation was not automatically updated, you may need to
login to https://readthedocs.org/ and start the build process manually.
#. Publish update announcement to relevant mailing lists:
* python-announce-list@python.org
Currently,the latest version of
dbfread
available on PyPI is 2.0.7 (from November 2016). That version does not register its supported versions of Python and it doesn't include any trove classifiers. It would be great to make the newest version available viapip install --upgrade dbfread
.Also, I think it could be helpful to add a check-list that could be used when publishing releases. This is something I do for my own projects and it helps formalize the process and reduce mistakes.
If you like the idea, I can submit it as a pull request. But for now, here is a
release-checklist.rst
file I would suggest as a good starting point: