4 releases
0.2.1 | Oct 17, 2024 |
---|---|
0.2.0 | Oct 4, 2024 |
0.1.1 | Sep 3, 2024 |
0.1.0 | Aug 4, 2024 |
#303 in Filesystem
80 downloads per month
Used in 5 crates
(via htsget-search)
320KB
8K
SLoC
htsget-search
Contains storage interfaces and abstractions for htsget-rs. It:
- Allows htsget-rs to interact with storage to fetch and retrieve bioinformatics files like indexes.
- Contains logic for local filesystem access, AWS S3 cloud access and arbitrary URL server access.
Overview
This crate is the mechanism by which htsget-rs interacts fetches data from bioinformatics files which it needs to process requrests. It also allows htsget-rs to create and format URL tickets correctly. It does this by providing storage layer abstractions which other crates can use to interact with data. It defines three kinds of storage which can fetch data:
- local: Access files on the local filesystem.
- s3: Access files on AWS S3.
- url: Access files on any server which can respond to requests.
This crate is responsible for allowing the user to fetch the URL tickets returned by the ticket server. In the case of
LocalStorage
, this entails a separate data_server
that can serve files using HTTP. S3Storage
simply returns
presigned S3 URLs.
Usage
For running htsget-rs as an application
In order to use a particular storage backend for URL tickets, the proper backend should be configured using htsget-config.
As a library
This crate provides have the following features:
- The
Storage
trait contains functions used to fetch data:get
,range_url
,head
anddata_url
. The local, s3, and url modules implement theStorage
functionality.
Feature flags
This crate has the following features:
s3-storage
: used to enableS3Storage
functionality.url-storage
: used to enableUrlStorage
functionality.experimental
: used to enable experimental features that aren't necessarily part of the htsget spec, such as Crypt4GH support throughC4GHStorage
.
License
This project is licensed under the MIT license.
Dependencies
~31–55MB
~1M SLoC