|
|
|
.. highlight:: shell
|
|
|
|
|
|
|
|
============
|
|
|
|
Installation
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
|
|
From sources
|
|
|
|
------------
|
|
|
|
|
|
|
|
The sources for Ordr2 can be downloaded from the `Git repo`_.
|
|
|
|
|
|
|
|
You can clone the public repository:
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
$ git clone https://git.cpi.imtek.uni-freiburg.de/holgi/ordr2
|
|
|
|
|
|
|
|
You should create a new virtual environment prior to installing and activate it
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
$ python3 -m venv venv-ordr2
|
|
|
|
$ source venv-ordr2/bin/activate
|
|
|
|
|
|
|
|
Once you have a copy of the source, you can install it with:
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
$ pip install .
|
|
|
|
|
|
|
|
.. _Git repo: https://git.cpi.imtek.uni-freiburg.de/holgi/ordr2
|
|
|
|
|
|
|
|
|
|
|
|
Stable release (CURRENTLY NOT AVAILABLE)
|
|
|
|
----------------------------------------
|
|
|
|
|
|
|
|
To install Ordr2, run this command in your terminal:
|
|
|
|
|
|
|
|
.. code-block:: console
|
|
|
|
|
|
|
|
$ pip install ordr2
|
|
|
|
|
|
|
|
This is the preferred method to install Ordr2, as it will always install the
|
|
|
|
most recent stable release.
|
|
|
|
|
|
|
|
If you don't have `pip`_ installed, this `Python installation guide`_ can guide
|
|
|
|
you through the process.
|
|
|
|
|
|
|
|
.. _pip: https://pip.pypa.io
|
|
|
|
.. _Python installation guide: http://docs.python-guide.org/en/latest/starting/installation/
|
|
|
|
|
|
|
|
|
|
|
|
Dependencies
|
|
|
|
------------
|
|
|
|
|
|
|
|
These are the top-level packages that are needed by the webapp and why. They
|
|
|
|
rely propably on other packages as well.
|
|
|
|
|
|
|
|
deform
|
|
|
|
form rendering and validation library
|
|
|
|
|
|
|
|
passlib[argon2, bcrypt]
|
|
|
|
password hashing library with argon2 and bcrypt support
|
|
|
|
|
|
|
|
pyramid
|
|
|
|
the framework for the web applicatoin
|
|
|
|
|
|
|
|
pyramid_debugtoolbar
|
|
|
|
debugging the web application in the browser
|
|
|
|
|
|
|
|
|
|
|
|
pyramid_jinja2
|
|
|
|
Jina2 templating engine for the pyramid web framework
|
|
|
|
|
|
|
|
pyramid_nacl_session
|
|
|
|
Session object with encryption
|
|
|
|
|
|
|
|
pyramid_tm
|
|
|
|
automatic transaction management based on the request life cycle
|
|
|
|
|
|
|
|
SQLAlchemy
|
|
|
|
database abstraction
|
|
|
|
|
|
|
|
transaction
|
|
|
|
transaction management
|
|
|
|
|
|
|
|
waitress
|
|
|
|
wsgi server for developement
|
|
|
|
|
|
|
|
zope.sqlalchemy
|
|
|
|
required by pyramid_tm transaction binding
|
|
|
|
|
|
|
|
|
|
|
|
For running tests
|
|
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
pytest
|
|
|
|
for testing python projects
|
|
|
|
|
|
|
|
pytest-cov
|
|
|
|
test coverage report for pytest
|
|
|
|
|
|
|
|
pytest-runner
|
|
|
|
required for `test` command in setup.py
|
|
|
|
|
|
|
|
WebTest
|
|
|
|
run functional or integration tests on the web application
|