Skip to main content

A database server application that provides both a RESTful API and GUI for access to BED files and related basic statistics

Project description

bedhost

Code style: black

bedhost is a Python FastAPI module for the API that powers BEDbase It needs a path to the bedbase configuration file, which can be provided either via -c/--config argument or read from $BEDBASE_CONFIG environment variable.

Running for development

Running with uvicorn provides auto-reload. To configure, this assumes you have previously set up databio/secrets.

  1. Source .env file to populate the environment variables referenced in the configuration file.
  2. Start bedhost using uvicorn and pass the configuration file via the BEDBASE_CONFIG env var.
source ../bedbase.org/environment/production.env
BEDBASE_CONFIG=../bedbase.org/config/api.bedbase.org.yaml uvicorn bedhost.main:app --reload

You can change the database you're connecting to by using a different config file:

  • Using a local config: BEDBASE_CONFIG=../bbconf/tests/data/config.yaml uvicorn bedhost.main:app --reload
  • With new database: BEDBASE_CONFIG=../bedbase.org/config/bedbase2.yaml uvicorn bedhost.main:app --reload

Now, you can access the service at http://127.0.0.1:8000. Example endpoints:

  • 127.0.0.1:8000/bed/78c0e4753d04b238fc07e4ebe5a02984/img/open_chromatin
  • 127.0.0.1:8000/bed/78c0e4753d04b238fc07e4ebe5a02984/img_path/open_chromatin
  • 127.0.0.1:8000/bed/78c0e4753d04b238fc07e4ebe5a02984/file/bedfile
  • 127.0.0.1:8000/bed/78c0e4753d04b238fc07e4ebe5a02984/file_path/bedfile
  • 127.0.0.1:8000/bed/78c0e4753d04b238fc07e4ebe5a02984/metadata
  • 127.0.0.1:8000/bed/78c0e4753d04b238fc07e4ebe5a02984/metadata?attr_ids=md5sum&attr_ids=genome

Running the server in Docker

Building image

  • Primary image: docker build -t databio/bedhost -f .Dockerfile .
  • Dev image docker build -t databio/bedhost:dev -f dev.Dockerfile .
  • Test image: docker build -t databio/bedhost:dev -f test.Dockerfile .

Existing images can be found at dockerhub.

Running container for development

Configuration settings and deployment instructions are in the bedbase.org repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bedhost-0.2.0.tar.gz (102.0 kB view hashes)

Uploaded Source

Built Distribution

bedhost-0.2.0-py3-none-any.whl (103.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page