𧬠BioPro SDK: Developer Portal
Welcome to the official developer portal and documentation site for the BioPro Software Development Kit (SDK)!
BioPro SDK is a state-of-the-art, high-performance Python framework designed to build secure, multi-threaded, and theme-compliant scientific analysis plugins. It is engineered with robust cryptographic trust controls, decoupled UI/engine execution boundaries, and seamless thread pool delegation.
ποΈ Codebase Map: What is Where?
A developer looking at the repository files should be able to navigate instantly. Here is a comprehensive breakdown of the file system and module layout:
biopro-sdk/
βββ src/ # Main source files
β βββ biopro_sdk/
β βββ plugin/ # Foundation for plugin developers
β β βββ base.py # Core PluginBase and PluginState definitions
β β βββ components.py # Custom semantic UI buttons and cards
β β βββ dialogs.py # Themed dialog prompts and input wrappers
β β βββ wizard.py # Multi-step guided wizard framework
β β βββ analysis.py # Non-blocking AnalysisBase background thread interfaces
β β βββ logging.py # Injected PluginLoggerAdapter console loggers
β β βββ io.py # Persistent JSON configurations (PluginConfig)
β β βββ preferences.py # PreferenceManagerProtocol abstractions
β β
β βββ host/ # Host Application Integrations & Security
β β βββ trust_manager.py # Standard-based signature verification engine
β β βββ trust_overrides.py# Silently signed local user trust registries
β β βββ trust_path.py # Structured manifest path serializations
β β βββ docs.py # Programmatic API documentation indices
β β βββ ai.py # AI Assistants and inference endpoints
β β
β βββ sdk_cli.py # Argparse Unified CLI (Identity manager, signing, shims)
β
βββ examples/ # Production-grade Sandbox Blueprints
β βββ hello_world/ # Minimal panel, semantic components, and status alerts
β βββ background_task/ # Multi-threaded calculations using QThreadPool and progress bars
β βββ themed_wizard/ # Dynamic guided setup forms, local configs, and theme adapters
β
βββ tests/ # Comprehensive Headless testing suite
β βββ conftest.py # Shared QApplication event loops and fixtures
β βββ test_plugin_state.py # Assertions for state captures and undo history
β βββ test_ui_components.py # Graphic interactions and semantic layouts
β βββ ...
β
βββ docs/ # Structured developer handbook files
πΊοΈ Visual Documentation Roadmap
To get started quickly, follow these curated pathways:
graph TD
A["Welcome Portal"] -->|Start Here| Z["0. Onboarding Guide"]
Z -->|Quick Setup| B["1. Getting Started"]
A -->|Build Interfaces| C["2. Developer Handbook"]
A -->|Signing & Deployment| D["3. Cryptography & CI/CD"]
A -->|API Blueprints| E["4. API Reference Overview"]
A -->|Architecture| F["5. Architecture Deep Dive"]
style A fill:#4CC9F0,stroke:#4CC9F0,stroke-width:2px,color:#fff
style Z fill:#4361EE,stroke:#4361EE,stroke-width:2px,color:#fff
style B fill:#4895EF,stroke:#4895EF,stroke-width:2px,color:#fff
style C fill:#4895EF,stroke:#4895EF,stroke-width:2px,color:#fff
style D fill:#560BAD,stroke:#560BAD,stroke-width:2px,color:#fff
style E fill:#7209B7,stroke:#7209B7,stroke-width:2px,color:#fff
style F fill:#F72585,stroke:#F72585,stroke-width:2px,color:#fff
π§ Navigating the Pillars:
- π Developer Onboarding: The ultimate master guide for new and existing V1 developers migrating to the BioPro V2 architecture. Start here!
- π Quickstart Guide: Learn how to prepare your local virtual environment using
uv, generate onboarding keys, bootstrap a new plugin repository, and cryptographically sign your work. - π Developer Handbook: Deep technical workflows on layouts, dynamic state binding, persistent local storage, and the PyQt6 event model.
- π‘οΈ CI/CD & Security: Learn how the BioPro security model signs code, performs integrity checks, and integrates into GitHub Actions workflows.
- π API Reference: Comprehensive technical references generated directly from the source code:
- Plugin Core:
PluginBase,PluginState, UI Components, and more. - Host & Trust:
TrustManager, Plugin Signing, and AI integration. - Contrib Utils: Helpful pure functions for plugin tasks.
- Interfaces: Protocols outlining the boundaries of the SDK.
- Plugin Core:
- π§ Architectural Design: Deep dive into the architectural principles (RAII cleanup, DIP preferences, headless QTest event orchestration).