96 lines
2.5 KiB
ReStructuredText
96 lines
2.5 KiB
ReStructuredText
|
Urban Meal Delivery
|
||
|
===================
|
||
|
|
||
|
.. toctree::
|
||
|
:hidden:
|
||
|
:maxdepth: 1
|
||
|
|
||
|
license
|
||
|
reference
|
||
|
|
||
|
|
||
|
This is the documentation for the `urban-meal-delivery` package
|
||
|
that contains all the source code
|
||
|
used in a research project
|
||
|
residing in this `repository`_.
|
||
|
|
||
|
|
||
|
Prerequisites
|
||
|
-------------
|
||
|
|
||
|
Only `git`_, `Python`_ 3.8 and `poetry`_ must be available.
|
||
|
All other software is automatically installed (cf., next section).
|
||
|
|
||
|
|
||
|
Installation
|
||
|
------------
|
||
|
|
||
|
The `urban-meal-delivery` package is installed
|
||
|
only after cloning the `repository`_.
|
||
|
It is *not* available on `PyPI`_ via `pip`_.
|
||
|
|
||
|
.. code-block:: console
|
||
|
|
||
|
$ git clone https://github.com/webartifex/urban-meal-delivery.git
|
||
|
|
||
|
Use `poetry`_ to install the package
|
||
|
with its dependencies into a `virtual environment`_,
|
||
|
which we also refer to as the **local** or the **develop** environment here.
|
||
|
|
||
|
.. code-block:: console
|
||
|
|
||
|
$ poetry install
|
||
|
|
||
|
|
||
|
First Steps
|
||
|
-----------
|
||
|
|
||
|
Verify that the installation is in a good state by
|
||
|
running the test suite and the code linters
|
||
|
via the automated task runner `nox`_.
|
||
|
|
||
|
``poetry run`` executes whatever comes after it in the develop environment.
|
||
|
If you have a project-independent `nox`_ installation available,
|
||
|
you may drop the ``poetry run`` prefix.
|
||
|
Otherwise, `nox`_ was installed as a develop dependency in the `virtual environment`_
|
||
|
in the installation step above.
|
||
|
|
||
|
Run the default sessions in `nox`_:
|
||
|
|
||
|
.. code-block:: console
|
||
|
|
||
|
$ [poetry run] nox
|
||
|
|
||
|
`nox`_ provides many options.
|
||
|
You can use them to choose among the different tasks you want to achieve.
|
||
|
|
||
|
.. option:: -l, --list
|
||
|
|
||
|
List all available `nox`_ sessions.
|
||
|
This includes sessions that are *not* run by default
|
||
|
and that may be used as develop tools
|
||
|
to work on the source files.
|
||
|
|
||
|
.. option:: -s [SESSION [SESSION ...]], --session[s] [SESSION [SESSION ...]]
|
||
|
|
||
|
Run only the specified session[s]
|
||
|
|
||
|
.. option:: -r, --reuse-existing-virtualenvs
|
||
|
|
||
|
By default,
|
||
|
`nox`_ creates a new `virtual environment`_ for every session.
|
||
|
To speed things up,
|
||
|
one can re-use existing environments with the -r flag.
|
||
|
This should only be done when developing
|
||
|
and not before committing or on the CI server.
|
||
|
|
||
|
|
||
|
.. _git: https://git-scm.com/
|
||
|
.. _nox: https://nox.thea.codes/en/stable/
|
||
|
.. _pip: https://pip.pypa.io/en/stable/
|
||
|
.. _poetry: https://python-poetry.org/docs/
|
||
|
.. _pypi: https://pypi.org/
|
||
|
.. _python: https://docs.python.org/3/
|
||
|
.. _repository: https://github.com/webartifex/urban-meal-delivery
|
||
|
.. _virtual environment: https://docs.python.org/3/tutorial/venv.html
|