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

Uploaded CPython 3.9+Windows x86-64

scrybe_py-0.1.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.1.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.1.0.tar.gz.

File metadata

  • Download URL: scrybe_py-0.1.0.tar.gz
  • Upload date:
  • Size: 58.7 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.1.0.tar.gz
Algorithm Hash digest
SHA256 5099aac9d358b14e4ce74bbe83e53b08c08fc2bd4736e201ff0a61f4e3b7e9a5
MD5 6f4c111d7f6a6b8b69205b0edc6bb879
BLAKE2b-256 5c598dfe738a62c2ede4ddfba364f3228176cecd8688b94200689728d48d41c1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: scrybe_py-0.1.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.1.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 999c7908c95796d51a0dac4ffc35a2de69e45145684aa8a91edd03009cf75cc8
MD5 b2141233e61c90a954026bf0d74cd36a
BLAKE2b-256 79687e9cc1e286298b690f11461b554c61bc71260e32117c9bca2397e67ad383

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 739e5f53b270a153853e75365a2d4089a1ef35542cfd4995537bfa713d8d9cab
MD5 c8ec1c3796731dbaf00ffbeac83b50d8
BLAKE2b-256 dec5300f4b4e2e65d37320615baacc2077cce36a01f08a230233b7a64c08e2cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb1943acba0c4779d768f6ab5fb236c3f5f738b3048da36fe528cbb713b46e81
MD5 fcf8d0de9a484062030cad7980d73827
BLAKE2b-256 8a0643c465d541c1e95e7e6c7a1d326d289a13b762afba3651670aaf66b25f0e

See more details on using hashes here.

Provenance

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