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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file bedhost-0.2.0.tar.gz.

File metadata

  • Download URL: bedhost-0.2.0.tar.gz
  • Upload date:
  • Size: 102.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for bedhost-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7757e9c9589adc9145aa56522016ee7d45249912df0ba133ece7bae2d7dfa83d
MD5 bedf32825bc25f96dd8df4466d724429
BLAKE2b-256 3fa5eff52f59911b3d6afa3600933a5fd2744e42569f4f390c0a7b7ef6373df5

See more details on using hashes here.

File details

Details for the file bedhost-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: bedhost-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 103.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for bedhost-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30f3d157de1b2ae515bb589652e31b50b6b8db9e3d128a72bd7fd4a2a9d70767
MD5 f9d66036892591ba5874af84401e1908
BLAKE2b-256 d9308c46d4628e84e818572f6da5452a49aa740d568e042d31fa8dcea01e077e

See more details on using hashes here.

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