Apache Airavata Django Portal SDK
APACHE-2.0 License
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.
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
django-admin makemigrations --settings=airavata_django_portal_sdk.tests.test_settings airavata_django_portal_sdk
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
mkdocs serve
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
flake8 .
autopep8 -i -aaa -r .
isort .
Update the version in setup.py
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
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
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/*