Skip to content

Introduction to AMNES Development

The following sections consist of guidelines for AMNES Development and tips for getting started with developing for AMNES. If you want to contribute to AMNES, you should also checkout our Contribution Guidelines.

Getting Started

After cloning the repository, you need to prepare your environment by calling Pipenv:

pipenv sync --dev
pipenv shell

You should now install AMNES and AMNES Development Utility as source packages:

pip install -e src
pip install -e dev/src

It is recommended to enable git hooks, to repeat these commands after each checkout:

amnesdev hooks enable

You should now be able to use AMNES commands:

amnes --help
amnesdev --help

Visual Studio Code

If you want to use an IDE, we recommend Visual Studio Code as it is supported through our development utility. See AMNES Development Utility for more information.

Directory Structure

AMNES uses the following directory structure for its sources:

AMNES-Repository/   # Git Repository
  dev/              # AMNES Development Utility and its assets
  src/              # Subdirectory for Seperation
    amnes/          # AMNES Python Sources
  tests/            # AMNES Python Tests
  docs/             # AMNES Documentation

The actual AMNES package resides in src so it will not be automatically imported by pytest. This allows us to choose whether we want to run the tests against a local or installed version of AMNES. In addition to this, we are able to access all local AMNES modules after adding the project root directory to the python search path by using the prefix src.amnes., regardless whether we use a local or installed version of AMNES by importing modules with the prefix amnes..

All AMNES python tests are contained in the tests directory, which decouples sources and tests. The AMNES Documentation resides in docs.

Start Developing

To accelerate your development process and automize redundant tasks, you should checkout or custom Development Utility and Development Environment.