Server-side component of the ROMI plant database system.
Project description
/ PlantDB.server
Server-side component of the ROMI plant database system.
Provides a robust REST API server implementation for managing plant phenotyping data.
Features include:
- File system database management
- Data synchronization services
- Command-line tools for database management
Overview
PlantDB is a library for the ROMI (Robotics for Microfarms) plant database ecosystem. It is designed for plant and agricultural research facilities and robotics labs that require lightweight plant data management infrastructure.
It consists of three components:
plantdb.commons: provides a Python API for interacting with plant dataplantdb.server: provides the server-side REST API to interact with plant dataplantdb.client: provides the client-side REST API to interact with plant data
For comprehensive documentation of the PlantImager project, visit: https://docs.romi-project.eu/plant_imager/
API documentation for the plantdb library is available at: https://romi.github.io/plantdb/
Environment Setup
We strongly recommend using isolated environments to install ROMI libraries.
Python venv
To create a new Python virtual environment for PlantDB:
python -m venv .venv # create a pyvenv named `.venv` in the current directory
source .venv/bin/activate # activate the virtual environment
pip install ipython # optional interactive workbench
Conda
This documentation uses conda as both an environment and package manager.
If you don't have miniconda3 installed, please refer to the official documentation.
To create a new conda environment for PlantDB:
conda create -n plantdb 'python=3.10' ipython
To use it, you need to activate it with:
conda activate plantdb # activate your environment
Installation
User – Pre Built Packages
Activate your environment and install the packages using pip:
pip install plantdb.commons plantdb.server plantdb.client
Developers – From Sources
To contribute to the development, you will need to install the sources:
git clone https://github.com/romi/plantdb.git
cd plantdb
# Install 'plantdb.commons'...
pip install -e src/commons/.[io]
# Install 'plantdb.server'...
pip install -e src/server/.
# Install 'plantdb.client'...
pip install -e src/client/
Usage
Test with Toy Dataset
To run the server with a temporary test database in debug mode:
python fsdb_rest_api.py --test --debug
Development
To start the REST API server for a local plant database:
python fsdb_rest_api.py --db_location /path/to/your/database --host 127.0.0.1 --port 8080
Production
To start the REST API server in production:
uwsgi --http :5000 --module plantdb.server.cli.wsgi:application --callable application --master
For detailed usage instructions and a full endpoint reference, see:
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plantdb_server-0.15.1.tar.gz.
File metadata
- Download URL: plantdb_server-0.15.1.tar.gz
- Upload date:
- Size: 68.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88667418b270a6e9b5515ae2376c5c89d5b80c7a14082356ebf23c0b779e4c40
|
|
| MD5 |
ef772101cc0a685863aa461c49a53467
|
|
| BLAKE2b-256 |
e5665815d2e6f221d7eb3ce131b7b5dc0f47419ff2443122770e0aa13991897c
|
Provenance
The following attestation bundles were made for plantdb_server-0.15.1.tar.gz:
Publisher:
pip_build_server.yml on romi/plantdb
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
plantdb_server-0.15.1.tar.gz -
Subject digest:
88667418b270a6e9b5515ae2376c5c89d5b80c7a14082356ebf23c0b779e4c40 - Sigstore transparency entry: 1804223666
- Sigstore integration time:
-
Permalink:
romi/plantdb@fa47de8c7c143ddad362499a313324a55c87ed61 -
Branch / Tag:
refs/tags/v0.15.1 - Owner: https://github.com/romi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pip_build_server.yml@fa47de8c7c143ddad362499a313324a55c87ed61 -
Trigger Event:
release
-
Statement type:
File details
Details for the file plantdb_server-0.15.1-py3-none-any.whl.
File metadata
- Download URL: plantdb_server-0.15.1-py3-none-any.whl
- Upload date:
- Size: 78.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
459f916dbc6e64f63f7b2c57fa94f6fd79765ace7240465e441d4605fd385e65
|
|
| MD5 |
cddc3d7c949f3ac4adfc68d38111223c
|
|
| BLAKE2b-256 |
a352226de9ede4dff9963a76f40df20bcd39d12de18d9062853094aca076b24f
|
Provenance
The following attestation bundles were made for plantdb_server-0.15.1-py3-none-any.whl:
Publisher:
pip_build_server.yml on romi/plantdb
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
plantdb_server-0.15.1-py3-none-any.whl -
Subject digest:
459f916dbc6e64f63f7b2c57fa94f6fd79765ace7240465e441d4605fd385e65 - Sigstore transparency entry: 1804223695
- Sigstore integration time:
-
Permalink:
romi/plantdb@fa47de8c7c143ddad362499a313324a55c87ed61 -
Branch / Tag:
refs/tags/v0.15.1 - Owner: https://github.com/romi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pip_build_server.yml@fa47de8c7c143ddad362499a313324a55c87ed61 -
Trigger Event:
release
-
Statement type: