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.0a5.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.0a5-cp39-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9+Windows x86-64

scrybe_py-0.1.0a5-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.0a5-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.0a5.tar.gz.

File metadata

  • Download URL: scrybe_py-0.1.0a5.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.0a5.tar.gz
Algorithm Hash digest
SHA256 e33d274bfc343e84d22d056a6f8670f6a7a0c442064540f08842caa92934f8df
MD5 9475ae80919d7daac3830aaf3ce5e946
BLAKE2b-256 fd150b1e2552e53c8e513fa62533a9c31de3e93ebc49a6e7dc9f1f6059db307c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: scrybe_py-0.1.0a5-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.0a5-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 49981b11ee9bf705dcf85280c29cf40881310820d8b0fb5bfa0e8d5db52ea996
MD5 e217ec0d4a73d6f03fa13b386324bb09
BLAKE2b-256 6df39272cef61b13df6ff20fd0fc61a23d10c3696daef6ab2e67eb8fefdc26cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.1.0a5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bab0d69b55497c3fc4b89bc1ee0673696cf8120b1782ee3ab73df864a58bb5fa
MD5 d19ebdfad50d49cbcdf271c3883c8079
BLAKE2b-256 15ee4f49f2e951841e91620bac728c1d83ae61d12bbf85db097d37c38a6cadb4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.1.0a5-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c80ed5f58a289ae670817ddd251fd312d6b6f012bcf4c7c5bb84459eedeb181
MD5 116017d5d46d513e00380cb0d6d1d329
BLAKE2b-256 bdaf98d08f5ce5ec7f9b0073a2b416629629a30f25f2c9903e9fee9036f794a2

See more details on using hashes here.

Provenance

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