slobentanzer / igvf-catalog

Catalog API for the IGVF project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CircleCI

igvf-catalog

Catalog API repository for the IGVF project

Run with Docker Compose

  1. Clone repository and make sure Docker is running.
  2. 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
  1. Browse at localhost:2023.
  2. ArangoDB Client is available at localhost:8529. Default username and password are igvf.

Running locally

  1. Clone repository.
  2. Install Python 3.11.
  3. Install Node 18.13.0.
  4. Install ArangoDB 3.10.0. (https://www.arangodb.com/docs/stable/installation.html)
  5. Install JS dependencies: npm install
  6. 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.
  7. Update config/development.json with your ArangoDB root credentials.
  8. Load sample data with cd data && python3 dev_setup.py.
  9. Run tests: npm test and cd data && pytest.
  10. Run the server npm run dev:server.
  11. Server should be available at: localhost:2023 for Swagger interface, and localhost: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

About

Catalog API for the IGVF project

License:MIT License


Languages

Language:TypeScript 55.5%Language:Python 43.8%Language:Dockerfile 0.3%Language:JavaScript 0.2%Language:Shell 0.0%