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.95.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.95.tar.gz.

File metadata

File hashes

Hashes for lara_django_organisms_store_grpc-0.2.95.tar.gz
Algorithm Hash digest
SHA256 4f0e5f3e782e12491924b1eb6ad2587b115e6465ccadf974d1330a7e658b5c0d
MD5 7a0e631fcd95ef11d66fd23dd7376cb9
BLAKE2b-256 2c4aa45c79dfeba2e4fd219523c5332a196128f875608425459f08d7d13bbf10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for lara_django_organisms_store_grpc-0.2.95-py3-none-any.whl
Algorithm Hash digest
SHA256 ba5ddd645c636e1e60c0613c7263f8faeadb84c9320a75b13124444bd7583d12
MD5 90a669fc38f3f0b26c912759f6801062
BLAKE2b-256 9cdb59208ad1604a7afffae0b8a169a423b5571972e5380d3632255ce72f501e

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