Skip to main content

🔌 BioPro SDK

Documentation CI Build Status License

The Software Development Kit (SDK) and Command-Line Interface (CLI) for building, validating, and signing plugins for the BioPro desktop scientific suite.


🚀 Key Features

  • Decoupled Architecture: Build and test PyQt6-based scientific plugins independently of the main desktop app.
  • Fail-Safe Dynamic Theme Fallbacks: Visual components automatically load custom HSL-tailored colors when running standalone inside CI/CD test gates or external visualizers.
  • Merkle-Tree Cryptographic Integrity: Built-in Ed25519 signing and verification tools to secure user environments against remote execution and tampering.
  • PyPI-Ready Packaging: Complete declarative pyproject.toml config, built to publish natively under the biopro-sdk package.

🛠️ Installation

Install the SDK directly into your plugin's virtual environment:

pip install biopro-sdk

(Or during development, install in editable mode):

git clone https://github.com/KalaimaranB/BioPro-SDK.git
cd BioPro-SDK
pip install -e .

📦 Creating a Custom BioPro Plugin

To build a valid plugin, implement the BioProPlugin interface and declare your entrypoints.

1. manifest.json

Every plugin must include a manifest file in its root directory:

{
  "id": "my_custom_plugin",
  "name": "My Custom Plugin",
  "version": "1.0.0",
  "author": "Dr. Kalaimaran",
  "description": "High-performance scientific analysis plugin.",
  "category": "analysis",
  "min_core_version": "1.0.0",
  "entrypoint": "plugin:MyPluginClass"
}

2. plugin.py

from PyQt6.QtWidgets import QWidget, QVBoxLayout, QLabel
from biopro_sdk.core.interfaces import BioProPlugin
from biopro_sdk.ui import PrimaryButton

class MyPluginClass(BioProPlugin):
    """A professional-grade BioPro plugin."""

    def initialize(self) -> None:
        self.logger.info("Initializing custom plugin...")

    def create_panel(self, parent=None) -> QWidget:
        panel = QWidget(parent)
        layout = QVBoxLayout(panel)

        title = QLabel("Welcome to Custom Analysis Panel")
        btn = PrimaryButton("Execute Step")

        layout.addWidget(title)
        layout.addWidget(btn)
        return panel

🛡️ Cryptographic Trust Architecture

BioPro implements a professional-grade Chain of Trust to protect laboratory environments:

[ Root Authority ] (Hardcoded Core Key)
       │
       ▼ (signs)
[ Developer Key ] (Dev Certificate)
       │
       ▼ (signs)
[ Plugin Manifest ] (Ed25519 Signature + Merkle-Tree Hashes)

1. Generate Your Cryptographic Identity

biopro-sdk setup-identity
  • Local Private Key: ~/.biopro/dev_private_key.pem
  • Developer Certificate: ~/.biopro/dev_cert.bin

2. Sign Your Plugin payload

Calculates Merkle-hashes for all your files recursively, excludes development directories automatically, updates manifest.json, and writes signature.bin:

biopro-sdk sign <path/to/plugin>

3. Modularity Compliance Check

Verify your plugin matches QA and security standards:

biopro-sdk evaluate <path/to/plugin>

📘 Standalone Preview Support

Since the SDK decouples all theme components from the desktop core using robust try-except fallbacks, you can instantiate and preview components standalone in development:

import sys
from PyQt6.QtWidgets import QApplication
from biopro_sdk.ui import PrimaryButton, WizardPanel

app = QApplication(sys.argv)
widget = WizardPanel()  # Renders beautifully even without the main app!
widget.show()
sys.exit(app.exec())

📄 License

This project is licensed under the MIT License.

Release files for biopro-sdk 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biopro-sdk 1.4.0
File Size Uploaded
biopro_sdk-1.4.0.tar.gz 96.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for biopro-sdk 1.4.0
File Interpreter ABI Platform
biopro_sdk-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 189.8 kB

Release files / biopro_sdk-1.4.0.tar.gz

Download URL biopro_sdk-1.4.0.tar.gz
Size 96.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1d8f42f8d1e1b47f0e6c503b1be610e458377c1cdf95ccc49d63ba79bf88b8df
BLAKE2b-256 checksum
How to use checksums
5879c32c6bc8a574d4720c8abf0709ec2c3a7463361e7e2227f99f02832761eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / biopro_sdk-1.4.0-py3-none-any.whl

Download URL biopro_sdk-1.4.0-py3-none-any.whl
Size 93.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d0d2d597c9e7a2438821cca90747d7a3ec2f1686bfd87d931d38c79156769c99
BLAKE2b-256 checksum
How to use checksums
1e27f315e3b8e52b260c95f50f2658ba58f253caa69011422a466a5b09a71146
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release history Release notifications | RSS feed

1.4.1

2 release files

This release

1.4.0 This release

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page