Skip to main content

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 compilation
  • pytest - Testing framework
  • pytest-cov - Coverage reporting
  • pytest-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

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

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

lara_django_organisms_store_grpc-0.2.94.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file lara_django_organisms_store_grpc-0.2.94.tar.gz.

File metadata

File hashes

Hashes for lara_django_organisms_store_grpc-0.2.94.tar.gz
Algorithm Hash digest
SHA256 30ac19bd26957d2670120182706d0b4939adcf400d12465d7201787bf0041d6f
MD5 9711afaed7831ba5633e7a215f4941ff
BLAKE2b-256 8fa282a1cb2ad2db80d31cbaad1b901470dcea6936d731e58d179c1f091fbe47

See more details on using hashes here.

File details

Details for the file lara_django_organisms_store_grpc-0.2.94-py3-none-any.whl.

File metadata

File hashes

Hashes for lara_django_organisms_store_grpc-0.2.94-py3-none-any.whl
Algorithm Hash digest
SHA256 f79f18ec7ea3d9f3f730518473f47883bb016c895bddd32a04d4311b999456b2
MD5 44af2510eda8d195f718dc9832b6ae03
BLAKE2b-256 3dd13978ad56441f0d89e1586ad62a8568e01bab2f10bae2225991eb99678b4c

See more details on using hashes here.

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