Apache Airavata Django Portal SDK

Clone this repo:
  1. e5b9ea1 AIRAVATA-3485 Bump version to 1.1.dev8 by Marcus Christie · 2 days ago master
  2. 33428c1 AIRAVATA-3485 Fix looking up/creating data products for experiment files owned by experiment owner by Marcus Christie · 2 days ago
  3. ea4e68a AIRAVATA-3485 Bump version to 1.1.dev7 by Marcus Christie · 2 days ago
  4. 7d8a750 AIRAVATA-3485 Document the optional experiment_id parameter in user_storage API by Marcus Christie · 2 days ago
  5. f835ec1 AIRAVATA-3420 bug fix: resource_path should be full path by Marcus Christie · 2 days 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

"airavata-django-portal-sdk",

to the install_requires list in your setup.py file. Then with your virtual environment activated, either install the SDK directly:

pip install -e "git+https://github.com/apache/airavata-django-portal-sdk.git@master#egg=airavata-django-portal-sdk"

Or add the dependency to your requirements.txt file:

-e "git+https://github.com/apache/airavata-django-portal-sdk.git@master#egg=airavata-django-portal-sdk"

then run pip install -r requirements.txt

Migrations

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

Documentation

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

pip install -r requirements-dev.txt
mkdocs serve

Developing

Setting up dev environment

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

Running tests

./runtests.py

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

  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/*