https://github.com/australianbiocommons/aai-backend

The backend library between Auth0 and the AAI portal front end.

https://github.com/australianbiocommons/aai-backend

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
Last synced: 10 months ago · JSON representation

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
Created about 1 year ago · Last pushed 10 months ago
Metadata Files
Readme

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:

Installation

Follow these steps to set up the project:

  1. Clone the Repository:

bash git clone https://github.com/AustralianBioCommons/aai-backend.git cd aai-backend

  1. Set Up a Virtual Environment: Create and activate a virtual environment:

bash uv venv source .venv/bin/activate

  1. Install Dependencies: bash uv sync

For dev: bash uv sync --extra dev

  1. 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

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

.github/workflows/deploy.yml actions
  • actions/checkout v4 composite
  • actions/setup-node v4 composite
  • actions/setup-python v5 composite
  • aws-actions/configure-aws-credentials v4 composite
Dockerfile docker
  • ghcr.io/astral-sh/uv python3.13-alpine build
deploy/requirements-dev.txt pypi
  • pytest ==6.2.5 development
.github/workflows/build-ecr.yml actions
  • actions/checkout v4 composite
  • aws-actions/amazon-ecr-login v2 composite
  • aws-actions/configure-aws-credentials v4 composite
deploy/requirements.txt pypi
  • aws-cdk-lib ==2.186.0
  • constructs >=10.0.0,<11.0.0
  • python-dotenv >=1.1.0,<2.0
.github/workflows/python-tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
  • fastapi [standard]>=0.115.12
  • httpx >=0.28.1
uv.lock pypi
  • 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