Skip to content

🧬 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
  1. πŸš€ Developer Onboarding: The ultimate master guide for new and existing V1 developers migrating to the BioPro V2 architecture. Start here!
  2. 🏁 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.
  3. πŸ“– Developer Handbook: Deep technical workflows on layouts, dynamic state binding, persistent local storage, and the PyQt6 event model.
  4. πŸ›‘οΈ CI/CD & Security: Learn how the BioPro security model signs code, performs integrity checks, and integrates into GitHub Actions workflows.
  5. πŸ” 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.
  6. 🧠 Architectural Design: Deep dive into the architectural principles (RAII cleanup, DIP preferences, headless QTest event orchestration).