π Ultimate Developer Onboarding Guide
Welcome to the BioPro SDK Developer Ecosystem! Whether you are a computational biologist, software engineer, or a lab automation specialist, this guide is designed to take you from a fresh installation to publishing your first cryptographically signed BioPro plugin.
This master guide covers everything you need to know, combining elements from our core documentation into one seamless onboarding journey.
πΊοΈ The Onboarding Journey
- Phase 1: Environment Setup
- Phase 2: Cryptographic Identity
- Phase 3: Bootstrapping Your First Plugin
- Phase 4: Developing the User Interface
- Phase 5: Code Signing & Security
- Phase 6: CI/CD & Publishing
π οΈ Phase 1: Environment Setup
BioPro relies heavily on modern Python standards and ultra-fast dependency management using uv.
1. Create a Virtual Environment
You should always isolate your development environment to prevent version conflicts.
# Create the virtual environment using uv
uv venv
# Activate on macOS/Linux
source .venv/bin/activate
# Activate on Windows Powershell
.venv\Scripts\Activate.ps1
2. Install the BioPro SDK
Install the SDK into your activated virtual environment. This will expose the biopro-sdk CLI globally within your environment.
For more details on the environment setup, read the Quickstart Guide.
π Phase 2: Cryptographic Identity
Before you can write code, you must establish a developer identity. The BioPro host application requires all loaded plugins to be signed by a trusted developer to prevent malicious code execution.
Run the identity initialization command:
What this does:
- Generates an asymmetric Ed25519 private key (~/.biopro/dev_keys/private.key). NEVER SHARE THIS FILE.
- Generates a public key certificate (~/.biopro/dev_keys/public.pub).
- Registers you as an authenticated developer on your local machine.
For a deep dive into our Trust Engine, read the Security & CI/CD Guide.
ποΈ Phase 3: Bootstrapping Your First Plugin
Instead of manually creating boilerplate files, the BioPro SDK provides a scaffolding tool.
This generates a robust plugin structure:
my_first_plugin/
βββ pyproject.toml # The plugin manifest (metadata & configuration)
βββ src/
β βββ __init__.py # The entry point
β βββ ui.py # The User Interface (PyQt6/PySide6)
βββ .github/workflows/ # Pre-configured CI/CD pipelines
Understanding the Manifest (pyproject.toml)
The pyproject.toml file contains standard Python packaging data alongside BioPro-specific metadata:
[tool.biopro.plugin]
id = "my_first_plugin"
min_core_version = "1.4.9"
entry_point = "my_first_plugin:get_panel_class"
π₯οΈ Phase 4: Developing the User Interface
BioPro plugins are natively built using PyQt6 / PySide6. To ensure a cohesive visual aesthetic across the entire platform, the SDK provides pre-built, styled UI components.
Open src/ui.py and import the BioPro SDK components:
from biopro_sdk.plugin import PluginBase, PrimaryButton, SecondaryButton, SectionHeader
class MyPluginUI(PluginBase):
def __init__(self, parent=None):
super().__init__(parent)
# Add a stylized header
header = SectionHeader("Gel Analysis Pipeline", self)
self.layout.addWidget(header)
# Add a primary call-to-action button
btn = PrimaryButton("Run Analysis", self)
btn.clicked.connect(self._run_analysis)
self.layout.addWidget(btn)
def _run_analysis(self):
print("Analysis started...")
For advanced UI state binding, threading, and local storage, read the Developer Handbook.
π Phase 5: Code Signing & Security
Once your code is ready, you must sign it before distributing it to the community or running it in a production BioPro instance.
Run the signing tool from the root of your plugin directory:
What this does:
1. Computes a SHA-256 integrity hash for every file in your src/ folder.
2. Generates a security.json ledger.
3. Cryptographically signs the ledger using your private key, outputting signature.bin.
4. Attaches a trust_chain.json file to establish your identity.
π Phase 6: CI/CD & Publishing
When you bootstrap a plugin, the SDK automatically generates GitHub Actions workflows in .github/workflows/. These are designed to automate your supply chain:
ci.yml: Runs your tests and linters on every pull request.deploy-docs.yml: Automatically generates and deploys MkDocs documentation to GitHub Pages.release.yml: Automatically packages your plugin into a.zipartifact when you publish a new GitHub Release. It runs the signing command dynamically using a GitHub Secret (BIOPRO_PRIVATE_KEY).
π Migration Guide for V1 Developers
If you are an existing developer upgrading your plugins from BioPro V1 to the new V2 ecosystem, you need to make a few critical changes:
- Adopt the Split-Manifest Architecture:
- V1 relied on a custom
manifest.json. In V2, all configuration must be moved to standard Pythonpyproject.toml. - Your entry point must now be declared under
[tool.biopro.plugin]in yourpyproject.toml. - Move Source Code to
src/: - V1 allowed flat directory structures. V2 enforces a strict
src/layout. Move all your Python logic intosrc/and ensure your entry point is resolvable. - Generate Developer Keys:
- V1 had no cryptographic signing. You must run
biopro-sdk init-identityto generate an Ed25519 keypair. - Sign Your Old Plugins:
- Before a V2 host can load your old plugin, you must run
biopro-sdk sign <path_to_plugin>to generate asecurity.json,signature.bin, andtrust_chain.json. - Use SDK UI Components:
- V2 introduces
biopro_sdk.plugin.PluginBase. You should subclass this instead of a rawQWidgetfor out-of-the-box styling and standardized event routing.
Next Steps
Now that you understand the full lifecycle, you are ready to start building powerful bioinformatics plugins! - Want to build complex UI layouts? Check out the Developer Handbook. - Need to understand the Cryptographic pipeline? Read the Security Guide. - Looking for API specifics? Browse the API Reference.
Happy hacking! π