Skip to content

πŸš€ 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

  1. Phase 1: Environment Setup
  2. Phase 2: Cryptographic Identity
  3. Phase 3: Bootstrapping Your First Plugin
  4. Phase 4: Developing the User Interface
  5. Phase 5: Code Signing & Security
  6. 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.

uv pip install -e .

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:

biopro-sdk init-identity

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.

biopro-sdk bootstrap my_first_plugin

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:

biopro-sdk sign my_first_plugin

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:

  1. ci.yml: Runs your tests and linters on every pull request.
  2. deploy-docs.yml: Automatically generates and deploys MkDocs documentation to GitHub Pages.
  3. release.yml: Automatically packages your plugin into a .zip artifact 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:

  1. Adopt the Split-Manifest Architecture:
  2. V1 relied on a custom manifest.json. In V2, all configuration must be moved to standard Python pyproject.toml.
  3. Your entry point must now be declared under [tool.biopro.plugin] in your pyproject.toml.
  4. Move Source Code to src/:
  5. V1 allowed flat directory structures. V2 enforces a strict src/ layout. Move all your Python logic into src/ and ensure your entry point is resolvable.
  6. Generate Developer Keys:
  7. V1 had no cryptographic signing. You must run biopro-sdk init-identity to generate an Ed25519 keypair.
  8. Sign Your Old Plugins:
  9. Before a V2 host can load your old plugin, you must run biopro-sdk sign <path_to_plugin> to generate a security.json, signature.bin, and trust_chain.json.
  10. Use SDK UI Components:
  11. V2 introduces biopro_sdk.plugin.PluginBase. You should subclass this instead of a raw QWidget for 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! πŸŽ‰