Skip to main content

A BRAPI server instance that functions as a proxy to merge and combine endpoints from existing BRAPI services

Project description

BrAPI proxy solution

A BrAPI server instance that functions as a proxy to merge and combine endpoints from existing BrAPI services.

Installation

  • Step 1: Install BrAPI Proxy
    • To install the BrAPI Proxy, run the following command:
      pip install brapi_proxy
      
  • Step 2: Test the Installation (Optional)
    • To ensure that the installation was successful, you can run the BrAPI Proxy in demo mode with the following command:
      brapi_proxy --demo
      
      This will start a service on port 8080 from a configuration based on the BrAPI Test Server

Usage

  • Step 1: Create Configuration File

    • Create a file named config.ini.
    • Populate this file with the necessary configuration settings.
  • Step 2: Start the Service

    • Start the service by running the command:
      brapi_proxy
      
    • If the config.ini file is located outside the working directory, use the --config option to specify its location. For example:
      brapi_proxy --config /path/to/config.ini
      

Currently Supported

BrAPI Versions

  • version 2.1

Endpoints

  • BrAPI-Core
    • /commoncropnames
    • /lists
    • /lists/{listDbId}
    • /locations
    • /locations/{locationDbId}
    • /people
    • /people/{personDbId}
    • /programs
    • /programs/{programDbId}
    • /seasons
    • /seasons/{seasonDbId}
    • /studies
    • /studies/{studyDbId}
    • /trials
    • /trials/{trialDbId}
  • BrAPI-Phenotyping
    • /ontologies
    • /ontologies/{ontologyDbId}
  • BrAPI-Genotyping
    • /allelematrix
    • /callsets
    • /callsets/{callSetDbId}
    • /plates
    • /plates/{plateDbId}
    • /references
    • /references/{referenceDbId}
    • /referencesets
    • /referencesets/{referenceSetDbId}
    • /samples
    • /samples/{sampleDbId}
    • /variants
    • /variants/{variantDbId}
    • /variantsets
    • /variantsets/{variantSetDbId}
  • BrAPI-Germplasm
    • /breedingmethods
    • /breedingmethods/{breedingMethodDbId}

ToDo

  • Implement additional endpoints

Structure Configuration File

Create a config.ini file with the necessary configuration settings.

Basic Configuration

Include at least the brapi section:

[brapi]
port=8080
host=0.0.0.0
location=/
threads=4
debug=False
version=1.2.3

Optional: Serverinfo

Optionally, provide serverinfo entries:

contactEmail=noreply@wur.nl
documentationURL=https://github.com/matthijsbrouwer/brapi-proxy/
location=Wageningen
organizationName=Wageningen University and Research
organizationURL=https://www.plantbreeding.wur.nl/
serverDescription=Demo-version proxy to combine multiple BrAPI services
serverName=BrAPI-Proxy

Optional: Authorization

Optionally, provide authentication tokens to restrict access in the authorization section:

[authorization]
john=tokenjohn123abc
mary=tokenmary456def

Server Definitions

Within sections prefixed with server., define the underlying servers:

[server.test1]
url=https://test-server.brapi.org/brapi/v2
calls=commoncropnames,variants,allelematrix
authorization=XXXX
prefix.variants=barley:
prefix.variantsets=barley:
prefix.references=barley:
prefix.referencesets=barley:
prefix.callsets=barley:

[server.test2]
url=https://test-server.brapi.org/brapi/v2
calls=commoncropnames,variants,allelematrix
prefix.variants=wheat:
prefix.variantsets=wheat:
prefix.references=wheat:
prefix.referencesets=wheat:
prefix.callsets=wheat:

[server.test3]
url=https://test-server.brapi.org/brapi/v2
calls=samples,studies,plates,callsets,variantsets,referencesets,references

To include all available and supported calls from a namespace:

[server.test3]
url=https://test-server.brapi.org/brapi/v2
calls=core.*

To include all available and supported calls:

[server.test3]
url=https://test-server.brapi.org/brapi/v2
calls=*

This software has been developed for the AGENT project

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

brapi_proxy-0.0.12.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

brapi_proxy-0.0.12-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file brapi_proxy-0.0.12.tar.gz.

File metadata

  • Download URL: brapi_proxy-0.0.12.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.4

File hashes

Hashes for brapi_proxy-0.0.12.tar.gz
Algorithm Hash digest
SHA256 4c2bdbfb50fa0d0040179e81843f82919a32d00b3ecf092c8b1136e8535dd2f7
MD5 b477951a17056bec0528d33429bb37f2
BLAKE2b-256 bc38906b32b7fccd42b11a6f57142693219ce65188d625f9e09125ba14f28aea

See more details on using hashes here.

File details

Details for the file brapi_proxy-0.0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for brapi_proxy-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 9e91452780adaa23e2f6ac4c4393cefb31c3f6422f9e3121a2b6a2abeaf4c8fe
MD5 29a962c7213703c4670247abb0b064ae
BLAKE2b-256 469f353a5436c9b29d244de0879743679eec49d7be74d2c46b4f1d0c60842933

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