Apache Airavata Django Portal SDK

Clone this repo:
  1. eb90388 Bump to version 1.5.0 by Marcus Christie · 2 days ago master v1.5.0
  2. 5b916d9 AIRAVATA-3648 Report last modified time in metadata by Marcus Christie · 2 days ago
  3. cf12130 Bump to version 1.4.1 by Marcus Christie · 10 days ago v1.4.1
  4. da035d1 AIRAVATA-3646 improved error message when storage resource is missing provider config by Marcus Christie · 10 days ago
  5. 1f1122e Dropping Jinja2 to 3.0 for Py3.6 compat by Marcus Christie · 7 weeks ago

Airavata Django Portal SDK

Build Status

The Airavata Django Portal SDK provides libraries that assist in developing custom Django app extensions to the Airavata Django Portal.

See the documentation at https://airavata-django-portal-sdk.readthedocs.io/ for more details.

Getting Started

To integrate the SDK with an Airavata Django Portal custom app, add


to the install_requires list in your setup.cfg or setup.py file. Then reinstall the Django app with

pip install -e .

(see your Airavata Django custom app's README for details)

You can also just install the library with:

pip install airavata-django-portal-sdk


django-admin makemigrations --settings=tests.test_settings airavata_django_portal_sdk


To generate the documentation, create a virtual environment and then:

pip install -r requirements-dev.txt
mkdocs serve


Setting up dev environment

source venv/bin/activate
pip install -r requirements-dev.txt

Running tests


Running flake8

flake8 .

Automatically formatting Python code

autopep8 -i -aaa -r .
isort .

Making a new release

  1. Update the version in setup.py

  2. Tag the repo with the same version, with the format v${version_number}. For example, if the version number in setup.py is “1.2” then tag the repo with “v1.2”.

    git tag -m $VERSION $VERSION
    git push --follow-tags
  3. In a clean checkout

    cd /tmp/
    git clone /path/to/airavata-django-portal-sdk/ -b $VERSION
    cd airavata-django-portal-sdk
    python3 -m venv venv
    source venv/bin/activate
    python3 -m pip install --upgrade build
    python3 -m build
  4. Push to pypi.org. Optionally can push to test.pypi.org. See https://packaging.python.org/tutorials/packaging-projects/ for more info.

    python3 -m pip install --upgrade twine
    python3 -m twine upload dist/*