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.2.tar.gz (72.6 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.2-cp39-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9+Windows x86-64

scrybe_py-0.6.2-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.2-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.2.tar.gz.

File metadata

  • Download URL: scrybe_py-0.6.2.tar.gz
  • Upload date:
  • Size: 72.6 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.2.tar.gz
Algorithm Hash digest
SHA256 77352c98afa89373311d265a176fda02bb15b198e662637961c43bbc298993a5
MD5 b86d40c769f25fa29d4f57ea044b4a72
BLAKE2b-256 2f25190551420f4c1232d82b0f69d1a8340d0faa7718895fdbaa76d3dba425a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_py-0.6.2.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.2-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: scrybe_py-0.6.2-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.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fa3d9f081083fc87c37b4239c24d5952630715a7c51966ac152a4f8672de62b8
MD5 20149c52e700433cbe2cd21bbb1934cf
BLAKE2b-256 ddcfab64297063458bd94d36add5fcb9b1eed798e59fa9d48cce317b7824998f

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_py-0.6.2-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.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scrybe_py-0.6.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb48409b5ec37eb58c636690450c11b8e346db873a136782a76d040c2e41f345
MD5 37ec0d9c66f7340b51d80438a9f9bc82
BLAKE2b-256 de8b970e5510380cbaf2699f8ec172e550680b1632aa16379242bd3ad2a6010d

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_py-0.6.2-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.2-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scrybe_py-0.6.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a19b013b756f491a0f072db5899429c4d363579516676e7aef3a837916d0cc77
MD5 36854e8c0c979a953d299a2e38bc53b1
BLAKE2b-256 dd9fcfd8b44f290f3590265f7f14206ddf1c21cf44730e49a29b099a2518f01b

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_py-0.6.2-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