Helps creating a package distribution setup, that also runs tests, checkers and creates HTML and PDF documentation, for Windows users.
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
$ 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
Contributing
If Other repository above is Github or compatible, follow these guidelines for contributing:
- Fork the repository .
- Make a branch of master and commit your changes to it.
- Ensure that your name is added to the end of the AUTHORS.rst file using the format:
Name <[email protected]>
- Submit a Pull Request to the master branch.
Copyright 2009-2015 Joao Carlos Roseta Matos. Licensed under the GNU General Public License v2 or later (GPLv2+).