inv tasks defined by atelier

This document describes the tasks and configuration settings for inv provided by atelier.

Tasks

Following are the tasks you get 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 Python requirements. Runs install on every demo project defined by demo_projects.

flags:

  • --list

    Lists all the required packages from all of the installed Plugin using get_requirements and writes them into requirements-install.txt file.

    Also, installs the required packages.

    Equivalent of running:

    $ manage.py install && manage.py install --list
    
  • --list-only

    Lists all the packages as –list does and does not install the packages. Equivalent of running:

    $ manage.py install --list
    
inv prep

Prepare a test run. This runs prep on every demo project defined by demo_projects.

It is not launched automatically by inv test or inv bd because it can take some time and is not always necessary.

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.