Skip to main content

Scrybe — MCP-native Markdown editor library (Rust-backed). Provides the `scrybe` import package.

Project description

scrybe-py

PyO3 bindings that expose scrybe-core and scrybe-render to Python as the scrybe._rust native extension module. Python on the outside, Rust on the inside — this crate is the seam between the two.

What it does

Wraps the Rust Document, ContentDigest, and render_html in Python-callable classes and functions. Python code (the scrybe package, plugins, and the gila scrybe CLI integration) calls these via the compiled extension module without any Rust toolchain at runtime.

Role in the architecture

scrybe-py is a thin translation layer. It re-exports scrybe-core and scrybe-render types directly and adds only the PyO3 #[pyclass] wrappers needed for the Python boundary. The module is built with maturin and installed as scrybe/_rust.so (Linux/macOS) or scrybe/_rust.pyd (Windows).

Key public types and entry points

Python name Rust source Description
scrybe._rust.Document scrybe_core::Document Load, inspect, and render Markdown; content_digest() (deprecated content_id() retained), render_html(theme?), ast_title()
scrybe._rust.ContentDigest scrybe_core::ContentDigest ContentDigest.of(bytes), verify(bytes), as_hex(); bare BLAKE3 hex digest, not a CID. ContentId remains as a deprecated alias
scrybe._rust.render_markdown(source, theme?) scrybe_render::render_html One-shot render without opening a Document object

The python feature gate controls whether PyO3 bindings are compiled in. The crate can also be used as a plain Rust library (re-exporting core types) without the feature.

Build and test

# Build the Python extension (editable install into active venv)
maturin develop --features python,extension-module

# Run Rust unit tests (no Python required)
cargo test -p scrybe-py

# Smoke test from Python
python -c "from scrybe._rust import Document; d = Document('# Hi'); print(d.content_digest())"

Requires maturin (pip install maturin) and a Rust toolchain. The workspace Cargo.toml pins pyo3 = "0.28" with auto-initialize.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scrybe_py-0.6.1.tar.gz (72.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

scrybe_py-0.6.1-cp39-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9+Windows x86-64

scrybe_py-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

scrybe_py-0.6.1-cp39-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file scrybe_py-0.6.1.tar.gz.

File metadata

  • Download URL: scrybe_py-0.6.1.tar.gz
  • Upload date:
  • Size: 72.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for scrybe_py-0.6.1.tar.gz
Algorithm Hash digest
SHA256 cbe94a7d8eb920e3fa7be8e9d4b0e1c113861e96a3154fa1475dbeb817a087d3
MD5 e300bcd4dd72a577710352f5168972a6
BLAKE2b-256 475b702b0dd685060975c2203d778c0b173864eb5f228f2c0d4301aa75c8d5e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_py-0.6.1.tar.gz:

Publisher: release.yml on hartsock/scrybe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scrybe_py-0.6.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: scrybe_py-0.6.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for scrybe_py-0.6.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1538d8de4e656f0034a77c3ba07c983dd62e9bb4e73106c9f8e0ba9ba54f3166
MD5 3227208248d643cbe463961f71a64a09
BLAKE2b-256 181a0c4d8a799d6e8d097886bad39e1cc64777d03b025b4750ce45fa50a535f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_py-0.6.1-cp39-abi3-win_amd64.whl:

Publisher: release.yml on hartsock/scrybe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scrybe_py-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scrybe_py-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d3892bcb4a94fad2c0b2baeeaff9cb3dda619a50d604cd9a4940c7516657376
MD5 3393604ca95aed8f6c574f9d4327a845
BLAKE2b-256 08fef1cd2bdcaed86d4e6eecc547f1482d4dde573d43cc18f0952e9e05ecb74d

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_py-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on hartsock/scrybe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scrybe_py-0.6.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scrybe_py-0.6.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e6d7424d8eefcee874fdf686522a6ef16f5d14344104f825dc082bd4a5cfea5b
MD5 3fb12f22b1013732e9def42018675ecd
BLAKE2b-256 675bdc265d53c22bdae9eb0a6420dc3c1b3f61401c0f96a884f0c2c5fb8805b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_py-0.6.1-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on hartsock/scrybe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page