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, ContentId, 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_id(), render_html(theme?), ast_title()
scrybe._rust.ContentId scrybe_core::ContentId ContentId.of(bytes), verify(bytes), as_hex()
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_id())"

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

Uploaded CPython 3.9+Windows x86-64

scrybe_py-0.4.0-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.4.0-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.4.0.tar.gz.

File metadata

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

File hashes

Hashes for scrybe_py-0.4.0.tar.gz
Algorithm Hash digest
SHA256 bf82419e17217fe78405baca8ec78733f2249fdfd7edbfb0727131ead79f0fa9
MD5 0675cd5058b777095140ba4518542920
BLAKE2b-256 38e674924d0ba9848304b349b24cdd92aa87b8e7f5ad333de45defb9f1dba78f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: scrybe_py-0.4.0-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.12

File hashes

Hashes for scrybe_py-0.4.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8b5136c9c36f268f285ce0d515727180026262a47bdb00b503bd015cb177f453
MD5 2c0abc8dee84af1a1152199f4835ac6d
BLAKE2b-256 2530720050d09da07510192559a8c80b38e209eb45d8a2377404e41d350a6de3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.4.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4560d2d329d3119ea60e2307cccbb16d4d7d20e8bc82d4ec676a308d1834018e
MD5 93941c3e2dd8522a9825e59331d7f69c
BLAKE2b-256 3ab61ad7928cbcc3ef641f78fe07d8cad75aa948d9a2f23111ce205502565687

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.4.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64268f81538866b50392a494ecf7dd27ff9f7c757272cc871b30a640b62ed7c8
MD5 7c2ad8ff022ca1ba5bb5644a28ceb8e4
BLAKE2b-256 6e4ef549fd9c4cf9a2698e0044862ee85a246b8baf8c0d04e873eccb351b5bf2

See more details on using hashes here.

Provenance

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