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
- To install the BrAPI Proxy, run the following command:
- 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 --demoThis will start a service on port 8080 from a configuration based on the BrAPI Test Server
- To ensure that the installation was successful, you can run the BrAPI Proxy in demo mode with the following command:
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
- Start the service by running the command:
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
- /methods
- /methods/{methodDbId}
- /observations
- /observations/{observationDbId}
- /observationunits
- /observationunits/{observationUnitDbId}
- /ontologies
- /ontologies/{ontologyDbId}
- /scales
- /scales/{scaleDbId}
- /traits
- /traits/{traitDbId}
- /variables
- /variables{observationVariableDbId}
- 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
- /attributes
- /attributes/{attributeDbId}
- /attributevalues
- /attributevalues/{attributeValueDbId}
- /breedingmethods
- /breedingmethods/{breedingMethodDbId}
- /germplasm
- /germplasm/{germplasmDbId}
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
Metadata
Release files for brapi-proxy 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| brapi_proxy-0.9.0.tar.gz | 29.5 kB | Without provenance | Details for brapi_proxy-0.9.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| brapi_proxy-0.9.0-py3-none-any.whl | Python 3 | none | any | Details for brapi_proxy-0.9.0-py3-none-any.whl |
Total release size: 93.1 kB
Release files / brapi_proxy-0.9.0.tar.gz
| Download URL | brapi_proxy-0.9.0.tar.gz |
|---|---|
| Size | 29.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
27b346e6af592c8e09e08bb176ef06610f6a486ec27d30f398a7e7efc6236b19
|
|
BLAKE2b-256 checksum How to use checksums |
7d5278dcd14fe37eea20a0f44c741cf0ef110b870ef2841b10af27be7ba05be5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.10.4
|
Release files / brapi_proxy-0.9.0-py3-none-any.whl
| Download URL | brapi_proxy-0.9.0-py3-none-any.whl |
|---|---|
| Size | 63.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f877245f932f0ec1611c603364ed3a5794f10105ee2cdff92786847e2e9d884b
|
|
BLAKE2b-256 checksum How to use checksums |
8c04ece155548b3ba4e18bc781c989e501fb6dde841ac2601e6f13f363b17b83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.10.4
|
Security for brapi-proxy 0.9.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.