easysetup

Helps creating a package distribution setup, that also runs tests, checkers and creates HTML and PDF documentation, for Windows users.

Description, features and To do

Description

Helps creating a package distribution setup, that also runs tests and creates HTML and PDF documentation, for Windows users.

When running easysetup without options, everything on the current directory is moved to a _bak directory.

After running easysetup, you can find a build.cmd in the current directory that should be run to build your application (execute build -h to see usage options).

Before runnning build.cmd for the first time, you should execute

$ pip install -r requirements-dev.txt

to install it’s requirements.

Features:

  • Easy to use, just run easysetup from your application setup directory (it backups everything in current directory to _bak directory when run without options).
  • Allows creating source, wheel, win (exe or msi), py2exe, egg, dumb (zip on windows, tar/ztar/gztar/zip on GNU Linux in the future) and rpm (on GNU Linux in the future) dists.
  • All setup configuration is in one file (appinfo.py).
  • Runs tests and creates HTML and PDF documentation (if you have them, of course).
  • Can publish to PyPI (including documentation if exists) and PyPI tests.
  • Creates index.html with redirection to RTD, to be used if preferred for hosting documentation.
  • Creates templates for Travis, Shippable, AppVeyor and tox.
  • Creates a template for development requirements.
  • Creates a template for installation requirements.
  • Creates a template for git VCS exceptions.
  • Creates a template for files to be included in the setup.
  • Creates a template for a README file.
  • Creates a template for wheel setup and Sphinx documentation upload.
  • Can create template files in the doc directory (assumes use of Sphinx and that the sphinx-quickstart command was already executed).
  • Can create an updated reference.rst in the doc directory (assumes previous item with the autodoc extension).
  • Updates usage section in README.rst based on usage.txt, if it exists inside your application directory.
  • Saves answers (DEFAULT_AUTHOR, DEFAULT_EMAIL, DEFAULT_LICENSE, DEFAULT_URL and DEFAULT_VERSION) for future use in other applications.
  • Recreates reference.rst in the doc directory on each build (can be disabled inside build.cmd by changing the REBUILD_REFERENCE=YES to other value).
  • If the setup directory is empty then a main template file is created inside the application directory.
  • Checks source code with flake8 and Py3 compatibility with pylint.
  • Add URLs to README.rst for PyPI, PyPI documentation site and RTD.
  • Collects all To do from py files into README.rst To do section.

To do

easysetup.py: Auto rebuild requirements.txt on each dist build. easysetup.py: CXF in Py2 and Py3 easysetup.py: checks and error messages easysetup.py: Move build.cmd functionality to easysetup.py.

Installation, usage and options

Installation

$ pip install easysetup

Usage

$ easysetup

Options

$ easysetup -h

usage: easysetup [-option]

optional arguments:
  -d, --doc             creates template files in the doc directory
  -h, --help            show this help message
  -l, --license         show license
  -q, --quiet           no banner
  -r, --reference       creates an updated reference.rst in the doc directory
  -V, --version         show version

No arguments (or only -q, --quiet) creates setup files.
easysetup should always be run from the application setup directory.

Resources and contributing

Resources

Contributing

If Other repository above is Github or compatible, follow these guidelines for contributing:

  1. Fork the repository .
  2. Make a branch of master and commit your changes to it.
  3. Ensure that your name is added to the end of the AUTHORS.rst file using the format: Name <email@domain.com>
  4. Submit a Pull Request to the master branch.