Skip to main content

🔌 Karcytics SDK

Documentation CI Build Status License

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


🚀 Key Features

  • Decoupled Architecture: Build and test PySide6-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 karcytics-sdk package.

🛠️ Installation

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

pip install karcytics-sdk

(Or during development, install in editable mode):

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

📦 Creating a Custom Karcytics Plugin

To build a valid plugin, implement the KarcyticsPlugin 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 PySide6.QtWidgets import QWidget, QVBoxLayout, QLabel
from karcytics_sdk.core.interfaces import KarcyticsPlugin
from karcytics_sdk.ui import PrimaryButton


class MyPluginClass(KarcyticsPlugin):
    """A professional-grade Karcytics 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

Karcytics 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

karcytics-sdk setup-identity
  • Local Private Key: ~/.karcytics/dev_private_key.pem
  • Developer Certificate: ~/.karcytics/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:

karcytics-sdk sign <path/to/plugin>

3. Modularity Compliance Check

Verify your plugin matches QA and security standards:

karcytics-sdk evaluate <path/to/plugin>

4. SDK Conformance Report (optional)

Statically check a repo's structure and its use of SDK components, with a file, line, and fix for each finding:

karcytics-sdk doctor <path/to/plugin>

See docs/Doctor.md for the rules.


📘 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 PySide6.QtWidgets import QApplication
from karcytics_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 free for academic and personal use under the PolyForm Noncommercial License 1.0.0. Commercial use requires a separate paid license (not yet available).

Metadata

Release files for karcytics-sdk 3.2.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 karcytics-sdk 3.2.0
File Size Uploaded Provenance Actions
karcytics_sdk-3.2.0.tar.gz 319.4 kB With provenance Details for karcytics_sdk-3.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for karcytics-sdk 3.2.0
File Interpreter ABI Platform Actions
karcytics_sdk-3.2.0-py3-none-any.whl Python 3 none any Details for karcytics_sdk-3.2.0-py3-none-any.whl

Total release size: 665.2 kB

Release files / karcytics_sdk-3.2.0.tar.gz

Download URL karcytics_sdk-3.2.0.tar.gz
Size 319.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a5764e7796e097cc73d7fdfb2b7d544b06f4e170d321a5f4ac0b51889862f54c
BLAKE2b-256 checksum
How to use checksums
25f57bf1671721691fe4f9cb9ea5e8ae89a2bcd2b02554e877e932e8e3835d6c
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 Oct 19, 2026.

Transparency log

Release files / karcytics_sdk-3.2.0-py3-none-any.whl

Download URL karcytics_sdk-3.2.0-py3-none-any.whl
Size 345.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b91b1ff04a50d204bb86a271eed55ac55af3974fae9e441a72c4e82627577ab
BLAKE2b-256 checksum
How to use checksums
7f1fe49c41fe949e09006aad1b7b5746a789e1b065d99c7c9abc58dab271585b
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 Oct 19, 2026.

Transparency log

Security for karcytics-sdk 3.2.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for karcytics_sdk-3.2.0.tar.gz

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 Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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