Apache Airavata Django Portal SDK

Clone this repo:
  1. 4190add Bump to version 1.8.3 by Marcus Christie · 6 weeks ago master v1.8.3
  2. d0de482 AIRAVATA-3697 Set filename appropriately when downloading file with utf8 characters by Marcus Christie · 6 weeks ago
  3. 350636e Removing travis file by Marcus Christie · 4 months ago
  4. b3d2dcb Bump to version 1.8.2 by Marcus Christie · 4 months ago v1.8.2
  5. f5b2684 AIRAVATA-3682 Passthrough 'userHasWriteAccess' by Marcus Christie · 4 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/*