# Airavata Custos Portal
## How to use
Airavat custos portal is available as a python package to install and customise for tenants needs.
The forllowing instructions are for setting up a customised portal using all the features available
in the airavata custos portal.
1. Install
```
pip install airavata-custos-portal
```
2. Create a Django app
```
django-admin startproject my_first_custos_app
cd my_first_custos_app/my_first_custos_app
django-admin startapp my_custom_ui
```
3. Include the custos portal api and frontend in the urls.
```
# my_first_custos_app/my_first_custos_app/urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path("api/", include("airavata_custos_portal.apps.api.urls")),
path("", include("airavata_custos_portal.apps.frontend.urls")),
]
```
4. Also, include the custom UI app in the urls.
```
# my_first_custos_app/my_first_custos_app/urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path("api/", include("airavata_custos_portal.apps.api.urls")),
path("", include("airavata_custos_portal.apps.frontend.urls")),
path("custom-ui/", include("my_first_custos_app.my_custom_ui.urls")),
]
```
## Development
The application consists of a Vue.js frontend and a Django based backend.
The instructions below are for setting up the local setup for development.
### Change the configurations
Change the environment variables on `.env`
### Run Vue.js app
```
yarn install
yarn serve
```
### Lints and fixes files
```
yarn lint
```
## Running the Django server locally
```
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd airavata_custos_portal/
./manage.py migrate
./manage.py runserver
```
And then point to http://localhost:8000
## How to publish
1. Build the static files
```
yarn build
```
2. Build the python package
```
python -m pip install --upgrade build
python -m build
```
3. Publish the python package to pypi.org. Optionally can push to test.pypi.org. See https://packaging.python.org/tutorials/packaging-projects/ for more info.
```
python -m pip install --upgrade twine
python -m twine upload dist/*
```
Raw data
{
"_id": null,
"home_page": "https://github.com/apache/airavata-custos-portal",
"name": "airavata-custos-portal",
"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/b8/17/6c1615616e2b5043f2112ec2e7431b3b337c6a28223c3eee30d00bf99358/airavata_custos_portal-0.0.6.tar.gz",
"platform": null,
"description": "# Airavata Custos Portal\n\n## How to use\n\nAiravat custos portal is available as a python package to install and customise for tenants needs.\nThe forllowing instructions are for setting up a customised portal using all the features available\nin the airavata custos portal.\n\n1. Install\n```\npip install airavata-custos-portal\n```\n\n2. Create a Django app\n```\ndjango-admin startproject my_first_custos_app\ncd my_first_custos_app/my_first_custos_app\ndjango-admin startapp my_custom_ui\n```\n\n3. Include the custos portal api and frontend in the urls.\n\n```\n# my_first_custos_app/my_first_custos_app/urls.py \n\nfrom django.contrib import admin\nfrom django.urls import path\nfrom django.conf.urls import include\n\nurlpatterns = [\n path('admin/', admin.site.urls),\n path(\"api/\", include(\"airavata_custos_portal.apps.api.urls\")),\n path(\"\", include(\"airavata_custos_portal.apps.frontend.urls\")),\n]\n```\n\n4. Also, include the custom UI app in the urls.\n\n```\n# my_first_custos_app/my_first_custos_app/urls.py \n\nfrom django.contrib import admin\nfrom django.urls import path\nfrom django.conf.urls import include\n\nurlpatterns = [\n path('admin/', admin.site.urls),\n path(\"api/\", include(\"airavata_custos_portal.apps.api.urls\")),\n path(\"\", include(\"airavata_custos_portal.apps.frontend.urls\")),\n path(\"custom-ui/\", include(\"my_first_custos_app.my_custom_ui.urls\")),\n]\n```\n\n## Development\n\nThe application consists of a Vue.js frontend and a Django based backend. \nThe instructions below are for setting up the local setup for development.\n\n### Change the configurations\n\nChange the environment variables on `.env`\n\n### Run Vue.js app\n\n```\nyarn install\nyarn serve\n```\n\n### Lints and fixes files\n\n```\nyarn lint\n```\n\n## Running the Django server locally\n\n```\npython -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\ncd airavata_custos_portal/\n./manage.py migrate\n./manage.py runserver\n```\n\nAnd then point to http://localhost:8000\n\n## How to publish\n\n1. Build the static files\n```\nyarn build\n```\n\n2. Build the python package\n\n```\npython -m pip install --upgrade build\npython -m build\n```\n\n3. Publish the python package to pypi.org. Optionally can push to test.pypi.org. See https://packaging.python.org/tutorials/packaging-projects/ for more info.\n\n```\npython -m pip install --upgrade twine\npython -m twine upload dist/*\n```\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "The Airavata Custos Portal SDK is a library that makes it easier to develop Airavata Custos Portal customizations.",
"version": "0.0.6",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b08f3211c18203b717f2d53695e17de5daf171eac7d9415c6bfbe9bb66c95fd2",
"md5": "7e4c93a3658446c043c83fd78cc1b346",
"sha256": "bc3b1dac9b8a736c2f63ab41e53adcee2595b96e704de8adaa07b3efdbe86260"
},
"downloads": -1,
"filename": "airavata_custos_portal-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7e4c93a3658446c043c83fd78cc1b346",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1766007,
"upload_time": "2023-01-28T07:47:06",
"upload_time_iso_8601": "2023-01-28T07:47:06.912652Z",
"url": "https://files.pythonhosted.org/packages/b0/8f/3211c18203b717f2d53695e17de5daf171eac7d9415c6bfbe9bb66c95fd2/airavata_custos_portal-0.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b8176c1615616e2b5043f2112ec2e7431b3b337c6a28223c3eee30d00bf99358",
"md5": "6d35143eba058a5e12d440d8013362ec",
"sha256": "84bdaab55edc12ab0d64c3d8152142a65c4d373ab6e777d845b42c3077b29ff3"
},
"downloads": -1,
"filename": "airavata_custos_portal-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "6d35143eba058a5e12d440d8013362ec",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1746015,
"upload_time": "2023-01-28T07:47:08",
"upload_time_iso_8601": "2023-01-28T07:47:08.898565Z",
"url": "https://files.pythonhosted.org/packages/b8/17/6c1615616e2b5043f2112ec2e7431b3b337c6a28223c3eee30d00bf99358/airavata_custos_portal-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-28 07:47:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "apache",
"github_project": "airavata-custos-portal",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "airavata-custos-portal"
}