Apache Airavata Django Portal SDK

Clone this repo:
  1. cf4c478 Update mkautodoc to work with RTD by Marcus Christie · 1 year, 4 months ago master
  2. 3bf4175 Adding build.os to .readthedocs.yaml by Marcus Christie · 1 year, 4 months ago
  3. 0e0956a Bump version to 1.8.4 by Marcus Christie · 1 year, 5 months ago v1.8.4
  4. 3a6edf0 AIRAVATA-3702 Preserve original filename of input file when it has the same name by Marcus Christie · 1 year, 5 months ago
  5. 7f57be6 Adding .readthedocs.yaml by Marcus Christie · 1 year, 6 months 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.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

Migrations

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

Developing

Setting up dev environment

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

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

Documentation

mkdocs serve

Running tests

pytest

or

django-admin test --settings airavata_django_portal_sdk.tests.test_settings

or use tox to run the tests in all supported Python environments

tox

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”.

    VERSION=...
    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/*