inv tasks defined by atelier

This document describes the inv tasks provided by atelier when you import atelier.invlib into your tasks.py file.

Commands for documenting

inv bd

Build docs. Build all Sphinx HTML doctrees for this project.

This runs inv readme, followed by sphinx-build html in every directory defined in doc_trees. The exact options for sphinx-build depend also on tolerate_sphinx_warnings and use_dirhtml.

inv pd

Publish docs. Upload docs to public web server.

inv blog

Edit today’s blog entry, create an empty file if it doesn’t yet exist.

inv readme

Generate or update README.txt or README.rst file from SETUP_INFO.

Commands for internationalization

inv mm

(“make messages”)

Extracts translatable messages from both code and userdocs, then initializes and updates all catalogs. Needs locale_dir and languages to be set.

Commands for deployment

inv ci

Checkin and push to repository, using today’s blog entry as commit message.

Asks confirmation before doing so.

Does nothing in a project whose revision_control_system is None.

In a project whose revision_control_system is 'git' it checks whether the repository is dirty (i.e. has uncommitted changes) and returns without asking confirmation if the repo is clean. Note that unlike git status, this check does currently not (yet) check whether my branch is up-to-date with ‘origin/master’.

inv reg

Register this project (and its current version) to PyPI.

inv sdist

Write a source distribution archive to your sdist_dir.

inv release

Upload the source distribution archive previously created by inv sdist to PyPI, i.e. publish an official version of your package.

Before doing anything, it shows the status of your local repository (which should be clean) and a summary of the project status on PyPI. It then asks a confirmation (unless you specified -b or --batch).

The release will fail if the project has previously been published on PyPI with the same version.

If you specified -r or --branch (and revision_control_system is 'git'), create and push a version branch “vX.Y.Z”.

This command requires that twine is installed.

Commands for testing

inv install

Install required Python packages to your Python environment and/or to your requirements-install.txt file.

This may take some time because it runs install on every demo project defined by demo_projects.

--batch

Don’t ask for confirmations.

--list

Don’t install anything, just list the requirements to stdout.

inv prep

Run pm prep on every demo project.

Optionally run additional custom preparation tasks that need to run before testing.

Both the inv test and the inv bd commands assume that inv prep has been run successfully, but they don’t launch it automatically because it can take some time and is not always necessary.

See also prep_command and demo_prep_command

--after NAME

Run demo_prep_command only in the demo projects after the named one.

--start NAME

Run demo_prep_command only in the demo projects starting at the named one.

--verbose

Whether to print all output. Default is to print only the names of the demo projects that are being prepared.

inv test

Run the test suite of this project.

This is a shortcut for either python setup.py test or py.test or `` tox`` (depending on whether your project has a pytest.ini or tox.ini files or not and ).

inv cov

Create a coverage report.

You can configure the command to use by setting coverage_command.

inv test_sdist

Creates and activates a temporay virtualenv, installs your project and runs your test suite.

  • creates and activates a temporay virtualenv,

  • calls pip install --no-index -f <env.sdist_dir> <prjname>

  • runs python setup.py test

  • removes temporary files.

Assumes that you previously did inv sdist of all your projects related to this project.

Miscellaneous commands

inv clean

Remove temporary and generated files:

  • Sphinx .build files

  • All __pycache__ directories.

  • additional files specified in cleanable_files

Unless option --batch is specified, ask for an interactive user confirmation before removing these files.

inv ct

Display a list of commits in all projects during the last 24 hours.

inv check

Perform an integrity check for this project. Experimental.

inv update-fixtures

Update fixtures that scrape from external data sources like wikidata.

Runs the fixtures_updater function.