igvf-catalog
Catalog API repository for the IGVF project
Run with Docker Compose
- Clone repository and make sure Docker is running.
- Start services and load data inserts:
# From repository.
$ docker compose up
# Note if any dependencies have changed (e.g. switching between branches that
# rely on different versions of snovault) use the build flag as well
# to rebuild the underlying Docker image:
$ docker compose up --build
- Browse at
localhost:2023
. - ArangoDB Client is available at
localhost:8529
. Default username and password areigvf
.
Running locally
- Clone repository.
- Install Python 3.11.
- Install Node 18.13.0.
- Install ArangoDB 3.10.0. (https://www.arangodb.com/docs/stable/installation.html)
- Install JS dependencies:
npm install
- Install Python dependencies:
pip install -r data/requirements.txt
. It's recommended to have a tool to create an isolated Python environment, such as virtualenv. - Update
config/development.json
with your ArangoDB root credentials. - Load sample data with
cd data && python3 dev_setup.py
. - Run tests:
npm test
andcd data && pytest
. - Run the server
npm run dev:server
. - Server should be available at:
localhost:2023
for Swagger interface, andlocalhost:2023/trpc
for tRPC interface.
Automatic linting
This repo includes configuration for pre-commit hooks. To use pre-commit, install pre-commit, and activate the hooks:
pip install pre-commit==3.2.1
pre-commit install