Skip to main content

Server-side component of the ROMI plant database system.

Project description

ROMI_logo / PlantDB.server

Licence Python Version GitHub branch check runs PyPI - Version

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:

  1. plantdb.commons: provides a Python API for interacting with plant data
  2. plantdb.server: provides the server-side REST API to interact with plant data
  3. plantdb.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

plantdb_server-0.15.1.tar.gz (68.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plantdb_server-0.15.1-py3-none-any.whl (78.0 kB view details)

Uploaded Python 3

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

Hashes for plantdb_server-0.15.1.tar.gz
Algorithm Hash digest
SHA256 88667418b270a6e9b5515ae2376c5c89d5b80c7a14082356ebf23c0b779e4c40
MD5 ef772101cc0a685863aa461c49a53467
BLAKE2b-256 e5665815d2e6f221d7eb3ce131b7b5dc0f47419ff2443122770e0aa13991897c

See more details on using hashes here.

Provenance

The following attestation bundles were made for plantdb_server-0.15.1.tar.gz:

Publisher: pip_build_server.yml on romi/plantdb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for plantdb_server-0.15.1-py3-none-any.whl
Algorithm Hash digest
SHA256 459f916dbc6e64f63f7b2c57fa94f6fd79765ace7240465e441d4605fd385e65
MD5 cddc3d7c949f3ac4adfc68d38111223c
BLAKE2b-256 a352226de9ede4dff9963a76f40df20bcd39d12de18d9062853094aca076b24f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page