gRPC interface to lara_django_organisms_store
Project description
LARA Django Organisms Store - gRPC API
This package provides a gRPC interface to the LARA Django Organisms Store, enabling high-performance remote procedure calls for managing organism instances and related data.
Overview
The lara_django_organisms_store_grpc package offers a strongly-typed, efficient gRPC API for interacting with the LARA Django Organisms Store. It supports operations on:
- OrganismInstances: Individual organism records with origin, location, and metadata
- OrganismBaskets: Collections of organism instances
- OrganismLocalStore: Local storage management for organisms
- OrganismInstancesSubset: Filtered subsets of organism data
- ExtraData: Additional metadata and extended information
Installation
Requirements
- Python 3.13.*
- gRPC runtime (
grpcio>=1.73.0)
Install from source
cd api/grpc
pip install .
Development installation
For development with additional tools:
pip install -e ".[dev]"
This includes:
grpcio-tools- For protocol buffer compilationpytest- Testing frameworkpytest-cov- Coverage reportingpytest-asyncio- Async testing support
Usage
Basic Client Example
import grpc
from lara_django_organisms_store_grpc import organism_service_pb2
from lara_django_organisms_store_grpc import organism_service_pb2_grpc
# Create a gRPC channel
channel = grpc.insecure_channel('localhost:50051')
# Create a stub (client)
stub = organism_service_pb2_grpc.OrganismServiceStub(channel)
# Make a request
response = stub.GetOrganism(
organism_service_pb2.GetOrganismRequest(organism_id="123")
)
print(f"Organism: {response.name}")
Server Setup
The gRPC server is typically integrated with the Django application. Refer to the main LARA Django Organisms Store documentation for server configuration.
Development
Running Tests
pytest
Running Tests with Coverage
pytest --cov=lara_django_organisms_store_grpc
Regenerating Protocol Buffers
If you modify the .proto files, regenerate the Python code:
cd api
buf generate
API Documentation
For detailed API documentation, see:
Project Structure
api/grpc/
├── README.md # This file
├── pyproject.toml # Package configuration
└── python/ # Python module root
└── lara_django_organisms_store_grpc/
├── __init__.py
└── *_pb2.py # Generated protocol buffer code
Links
- Documentation: https://larasuite.gitlab.io/lara-django-organisms-store/
- Source Code: https://gitlab.com/larasuite/lara-django-organisms-store
- Issue Tracker: https://gitlab.com/larasuite/lara-django-organisms-store/-/issues
License
See the LICENSE file in the project root for license information.
Contributing
Contributions are welcome! Please see the CONTRIBUTING.md file in the project root for guidelines.
Authors
- Mark Doerr mark.doerr@uni-greifswald.de
Project details
Release history Release notifications | RSS feed
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 lara_django_organisms_store_grpc-0.2.94.tar.gz.
File metadata
- Download URL: lara_django_organisms_store_grpc-0.2.94.tar.gz
- Upload date:
- Size: 33.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30ac19bd26957d2670120182706d0b4939adcf400d12465d7201787bf0041d6f
|
|
| MD5 |
9711afaed7831ba5633e7a215f4941ff
|
|
| BLAKE2b-256 |
8fa282a1cb2ad2db80d31cbaad1b901470dcea6936d731e58d179c1f091fbe47
|
File details
Details for the file lara_django_organisms_store_grpc-0.2.94-py3-none-any.whl.
File metadata
- Download URL: lara_django_organisms_store_grpc-0.2.94-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f79f18ec7ea3d9f3f730518473f47883bb016c895bddd32a04d4311b999456b2
|
|
| MD5 |
44af2510eda8d195f718dc9832b6ae03
|
|
| BLAKE2b-256 |
3dd13978ad56441f0d89e1586ad62a8568e01bab2f10bae2225991eb99678b4c
|