https://github.com/australianbiocommons/aai-backend
The backend library between Auth0 and the AAI portal front end.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.2%) to scientific vocabulary
Repository
The backend library between Auth0 and the AAI portal front end.
Basic Info
- Host: GitHub
- Owner: AustralianBioCommons
- Language: Python
- Default Branch: main
- Size: 656 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
AAI Backend
The backend library between Auth0 and the AAI portal front end. Technical design document for this project lives in this Google doc.
Requirements
Ensure you have the following installed:
- python 3.13+
- uv (installation instructions)
Installation
Follow these steps to set up the project:
- Clone the Repository:
bash
git clone https://github.com/AustralianBioCommons/aai-backend.git
cd aai-backend
- Set Up a Virtual Environment: Create and activate a virtual environment:
bash
uv venv
source .venv/bin/activate
- Install Dependencies:
bash uv sync
For dev:
bash
uv sync --extra dev
- Install pre-commit:
bash pre-commit install
Run the Application
Use uv to run the FastAPI application:
bash
uv run fastapi dev main.py
Run Tests
Execute the test suite using pytest:
bash
uv run pytest
Run the Linter
This command will automatically fix issues where possible:
bash
uv run -- ruff check . --fix
Manually run pre-commit
bash
pre-commit run --all-files
Database management
The deployed service uses a Postgres database on AWS RDS. In order to generate migrations for the database locally, we use a Postgres docker container to generate migrations against.
After making any changes to the database models, run the
generate_migrations.py script to create migrations:
shell
python generate_migrations.py -m migration_name
and commit them to git. Once your updated code has been
deployed on AWS, you can connect to the container via
the AWS CLI.
Run aws sso login first, then aws ecs execute-command
to access a shell in the container:
shell
aws ecs execute-command \
--cluster <cluster-id> \
--task <task-id> \
--container FastAPIContainer \
--command "/bin/sh" \
--interactive
and run the migrations:
shell
uv run alembic upgrade head
Deployment
Currently the service is deployed to AWS via the CDK scripts in deploy/,
and updated on each commit to main.
Secrets/configuration variables for the deployment are stored in the GitHub Secrets for the repository.
Owner
- Name: AustralianBioCommons
- Login: AustralianBioCommons
- Kind: organization
- Email: systems@biocommons.org.au
- Website: https://www.biocommons.org.au/
- Repositories: 17
- Profile: https://github.com/AustralianBioCommons
Documentation for the development, deployment and/or optimisation of key community-endorsed bioinformatics tools and workflows
GitHub Events
Total
- Delete event: 4
- Issue comment event: 20
- Member event: 2
- Push event: 252
- Pull request review comment event: 95
- Pull request review event: 147
- Pull request event: 94
- Create event: 46
Last Year
- Delete event: 4
- Issue comment event: 20
- Member event: 2
- Push event: 252
- Pull request review comment event: 95
- Pull request review event: 147
- Pull request event: 94
- Create event: 46
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 53
- Average time to close issues: N/A
- Average time to close pull requests: 2 days
- Total issue authors: 0
- Total pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.4
- Merged pull requests: 39
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 53
- Average time to close issues: N/A
- Average time to close pull requests: 2 days
- Issue authors: 0
- Pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.4
- Merged pull requests: 39
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- marius-mather (33)
- amandazhuyilan (12)
- minh-biocommons (8)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/setup-python v5 composite
- aws-actions/configure-aws-credentials v4 composite
- ghcr.io/astral-sh/uv python3.13-alpine build
- pytest ==6.2.5 development
- actions/checkout v4 composite
- aws-actions/amazon-ecr-login v2 composite
- aws-actions/configure-aws-credentials v4 composite
- aws-cdk-lib ==2.186.0
- constructs >=10.0.0,<11.0.0
- python-dotenv >=1.1.0,<2.0
- actions/checkout v3 composite
- actions/setup-python v4 composite
- fastapi [standard]>=0.115.12
- httpx >=0.28.1
- aai-backend 0.1.0
- annotated-types 0.7.0
- anyio 4.9.0
- certifi 2025.1.31
- click 8.1.8
- colorama 0.4.6
- dnspython 2.7.0
- email-validator 2.2.0
- fastapi 0.115.12
- fastapi-cli 0.0.7
- h11 0.14.0
- httpcore 1.0.7
- httptools 0.6.4
- httpx 0.28.1
- idna 3.10
- iniconfig 2.1.0
- jinja2 3.1.6
- markdown-it-py 3.0.0
- markupsafe 3.0.2
- mdurl 0.1.2
- packaging 24.2
- pluggy 1.5.0
- pydantic 2.11.3
- pydantic-core 2.33.1
- pygments 2.19.1
- pytest 8.3.5
- python-dotenv 1.1.0
- python-multipart 0.0.20
- pyyaml 6.0.2
- rich 14.0.0
- rich-toolkit 0.14.1
- shellingham 1.5.4
- sniffio 1.3.1
- starlette 0.46.1
- typer 0.15.2
- typing-extensions 4.13.2
- typing-inspection 0.4.0
- uvicorn 0.34.0
- uvloop 0.21.0
- watchfiles 1.0.5
- websockets 15.0.1