.. 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_mailer send emails, uses the transaction manager 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