https://github.com/apache/airavata-django-portal-sdk
Apache Airavata Django Portal SDK
https://github.com/apache/airavata-django-portal-sdk
airavata bigdata cloudnative gateways java microservices sciencegateways workflow workfloworchestrator
Last synced: 6 months ago
JSON representation
Apache Airavata Django Portal SDK
- Host: GitHub
- URL: https://github.com/apache/airavata-django-portal-sdk
- Owner: apache
- License: apache-2.0
- Created: 2020-08-10T16:52:17.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-08-16T21:53:32.000Z (almost 3 years ago)
- Last Synced: 2025-10-29T00:49:49.788Z (8 months ago)
- Topics: airavata, bigdata, cloudnative, gateways, java, microservices, sciencegateways, workflow, workfloworchestrator
- Language: Python
- Homepage: https://airavata.apache.org/
- Size: 197 KB
- Stars: 0
- Watchers: 8
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Airavata Django Portal SDK
[](https://travis-ci.com/apache/airavata-django-portal-sdk)
The Airavata Django Portal SDK provides libraries that assist in developing
custom Django app extensions to the
[Airavata Django Portal](https://github.com/apache/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](https://docs.python.org/3/tutorial/venv.html) 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
for more info.
```
python3 -m pip install --upgrade twine
python3 -m twine upload dist/*
```