-
Notifications
You must be signed in to change notification settings - Fork 10
PackageChecklist
See the trunk directory https://github.com/diffpy/diffpy.srreal for reference examples (so far in progress)
- all Python sources start with a hash-bang line '#!/usr/bin/env python'
- executable bit is set only for source files that are intended to be run as a script
- No trailing spaces, no Windows CRLF line ends, no TAB characters at all.
First line is the package full name with a few-word description. This is followed by a paragraph with more detailed description of package functionality and with a URL of the user manual at http://diffpy.github.io/diffpy.FixMe/
REQUIREMENTS section lists the dependencies needed to install the package, the sudo apt-get install
command for Linux and port install
command for MacPorts.
INSTALLATION section gives installation command-lines for python setup.py install
and easy_install diffpy.FixMe
. FIXME{If easy_install GitHubURL
works, include it as well.}
CONTRIBUTION section should give the project GitHub URL, show how to install the package in a developer mode, encourage contributors to fork it and send us pull requests.
CONTACTS section gives package GitHub URL, the main project URL at www.diffpy.org and Simon as the main contact person.
The file lists package authors one per line ordered by their contributions. Simon is included in the list.
Make sure it is up to date or open a ticket on the package GitHub repository to fix the license once its text is ready.
- File docstring gives full Python name of the package, brief description of its functionality, and lists executable scripts that get installed if any.
-
version
is extracted from git data,python setup.py egg_info
updates diffpy/FixMe/version.cfg and sets it to right values. -
install_requires
entry is up-to-date -
dependency_links
is set to['http://www.diffpy.org/packages/']
-
author
is set to the package main author.author_email
is working. -
maintainter
and maintainer_email` are set if different from the author -
license
is set to "BSD, see LICENSE.txt" -
keywords
are set and meaningful -
data_files
include all files in .../tests/testdata/ directory, diffpy/FixMe/version.cfg, any other data files needed by the package -
test_suite
isdiffpy.FixMe.tests.run
,python setup.py test
works -
zip_safe
isFalse
-
classifiers
are up-to-date and include anything relevant from https://pypi.python.org/pypi?%3Aaction=list_classifiers
- includes all sources, package data files, txt files, version.cfg
- excludes build, dist, doc directories, MANIFEST.in, any non-essential temporary or development related files.
- check that a source bundle from
python setup.py sdist --keep-temp
contains correct files. - test installation from a source bundle to virtual Python environment works and passes all tests. Example:
virtualenv --system-site-packages /tmp/tenv1 source /tmp/tenv1/activate easy_install TheSourceTarBall # verify location and version of the installed package pywhichmodule -gv diffpy.FixMe # execute package unit tests python -m diffpy.FixMe.tests.run
- Check that
python setup.py install
run from the git repository produces working installation (reuse the virtualenv and test commands from above) - Check that
python test
run in the git repo executes unit tests and they all pass.
- pywhichmodule script
- pypath script can be also useful