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.91.tar.gz (54.4 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.91.tar.gz.

File metadata

File hashes

Hashes for lara_django_organisms_store_grpc-0.2.91.tar.gz
Algorithm Hash digest
SHA256 2f5a54f56c72c93011db0719cfba4b0081ed3b6b5365f8804760e1a0679f86ee
MD5 6d25d0c316f3488c61f0dcde6f5184f3
BLAKE2b-256 9ac8102199a79ca68374fa1bb02456b39c9b08f67ebe2f3dbcda2c58ff57bc92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lara_django_organisms_store_grpc-0.2.91-py3-none-any.whl
Algorithm Hash digest
SHA256 607b0c2d81c85b6304d774f25ef742b36fa34a45f93948e8eb6ea854a05903fd
MD5 f6d11fa429039365d0ed49e1b5313638
BLAKE2b-256 80e6a50bf3c3a4432fdabf1966261f95a52a88608333bff83f14eec238306884

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