# Airavata Django Portal SDK
[![Build Status](https://travis-ci.com/apache/airavata-django-portal-sdk.svg?branch=master)](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
<https://packaging.python.org/tutorials/packaging-projects/> for more info.
```
python3 -m pip install --upgrade twine
python3 -m twine upload dist/*
```
Raw data
{
"_id": null,
"home_page": "https://github.com/apache/airavata-django-portal-sdk",
"name": "airavata-django-portal-sdk",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Apache Software Foundation",
"author_email": "dev@airavata.apache.org",
"download_url": "https://files.pythonhosted.org/packages/c8/8b/22dab9a36bf22cd297e06b731ef76568436d957b641d1134da5a9a4121ab/airavata-django-portal-sdk-1.8.4.tar.gz",
"platform": null,
"description": "# Airavata Django Portal SDK\n\n[![Build Status](https://travis-ci.com/apache/airavata-django-portal-sdk.svg?branch=master)](https://travis-ci.com/apache/airavata-django-portal-sdk)\n\nThe Airavata Django Portal SDK provides libraries that assist in developing\ncustom Django app extensions to the\n[Airavata Django Portal](https://github.com/apache/airavata-django-portal).\n\nSee the documentation at https://airavata-django-portal-sdk.readthedocs.io/ for\nmore details.\n\n## Getting Started\n\nTo integrate the SDK with an Airavata Django Portal custom app, add\n\n```\nairavata-django-portal-sdk\n```\n\nto the `install_requires` list in your setup.cfg or setup.py file. Then\nreinstall the Django app with\n\n```\npip install -e .\n```\n\n(see your Airavata Django custom app's README for details)\n\nYou can also just install the library with:\n\n```\npip install airavata-django-portal-sdk\n```\n\n## Migrations\n\n```\ndjango-admin makemigrations --settings=airavata_django_portal_sdk.tests.test_settings airavata_django_portal_sdk\n```\n\n## Developing\n\n### Setting up dev environment\n\nTo generate the documentation,\n[create a virtual environment](https://docs.python.org/3/tutorial/venv.html) and\nthen:\n\n```\nsource venv/bin/activate\npip install --upgrade pip setuptools wheel\npip install -r requirements-dev.txt\n```\n\n### Documentation\n\n```\nmkdocs serve\n```\n\n### Running tests\n\n```\npytest\n```\n\nor\n\n```\ndjango-admin test --settings airavata_django_portal_sdk.tests.test_settings\n```\n\nor use tox to run the tests in all supported Python environments\n\n```\ntox\n```\n\n### Running flake8\n\n```\nflake8 .\n```\n\n### Automatically formatting Python code\n\n```\nautopep8 -i -aaa -r .\nisort .\n```\n\n### Making a new release\n\n1. Update the version in setup.py\n2. Tag the repo with the same version, with the format `v${version_number}`. For\n example, if the version number in setup.py is \"1.2\" then tag the repo with\n \"v1.2\".\n\n ```\n VERSION=...\n git tag -m $VERSION $VERSION\n git push --follow-tags\n ```\n\n3. In a clean checkout\n\n ```\n cd /tmp/\n git clone /path/to/airavata-django-portal-sdk/ -b $VERSION\n cd airavata-django-portal-sdk\n python3 -m venv venv\n source venv/bin/activate\n python3 -m pip install --upgrade build\n python3 -m build\n ```\n\n4. Push to pypi.org. Optionally can push to test.pypi.org. See\n <https://packaging.python.org/tutorials/packaging-projects/> for more info.\n\n ```\n python3 -m pip install --upgrade twine\n python3 -m twine upload dist/*\n ```\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "The Airavata Django Portal SDK is a library that makes it easier to develop Airavata Django Portal customizations.",
"version": "1.8.4",
"project_urls": {
"Homepage": "https://github.com/apache/airavata-django-portal-sdk"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e220bb96f0ee486e9e42c41262e8758eb8c6cf0b823cfb61651f6333bf8bec17",
"md5": "96547d0fbbbed4eba9f5b3ade6ea6cda",
"sha256": "9e3d0be57a068ac57c8ebeb083dee4a5236865dc6e6c82b7c01d6e8db65d9b12"
},
"downloads": -1,
"filename": "airavata_django_portal_sdk-1.8.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "96547d0fbbbed4eba9f5b3ade6ea6cda",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 50347,
"upload_time": "2023-07-17T15:18:22",
"upload_time_iso_8601": "2023-07-17T15:18:22.460722Z",
"url": "https://files.pythonhosted.org/packages/e2/20/bb96f0ee486e9e42c41262e8758eb8c6cf0b823cfb61651f6333bf8bec17/airavata_django_portal_sdk-1.8.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c88b22dab9a36bf22cd297e06b731ef76568436d957b641d1134da5a9a4121ab",
"md5": "b0ce554d827f1abfea5f00ee3b2e56d7",
"sha256": "4a486d7f33ca6018d80d8b59e6d05fd2a105cdd3e62b23dde0b71cbd8d533528"
},
"downloads": -1,
"filename": "airavata-django-portal-sdk-1.8.4.tar.gz",
"has_sig": false,
"md5_digest": "b0ce554d827f1abfea5f00ee3b2e56d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 41163,
"upload_time": "2023-07-17T15:18:24",
"upload_time_iso_8601": "2023-07-17T15:18:24.738738Z",
"url": "https://files.pythonhosted.org/packages/c8/8b/22dab9a36bf22cd297e06b731ef76568436d957b641d1134da5a9a4121ab/airavata-django-portal-sdk-1.8.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-17 15:18:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "apache",
"github_project": "airavata-django-portal-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"tox": true,
"lcname": "airavata-django-portal-sdk"
}