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

Uploaded CPython 3.9+Windows x86-64

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

File metadata

  • Download URL: scrybe_py-0.2.0.tar.gz
  • Upload date:
  • Size: 58.9 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.2.0.tar.gz
Algorithm Hash digest
SHA256 23b39f90c4ebe4c73184eaa28294af85ef3b6c013a16275832685a5249d9ebfb
MD5 fce8c377d2a409392ec407ff31aa5dc6
BLAKE2b-256 9a6821ecbec27cae1259aefa64d6adc05d051be42527ac75756dfc9afdfbd427

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: scrybe_py-0.2.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.2.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2771b256e322da85d91fef601f33b39e5e4e4bbd7ddb1e9c553ed12791a5f47e
MD5 23e1d2cb7da8059e65b6c4e5c314be55
BLAKE2b-256 ea9503a3c7daf40ae626ad9829e0bb8100d6af2d05e19829261867864e1a8b46

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 122bd7074002965bb4fbcde2d1109439e010b0f74e52a28b70bf120c360d71ee
MD5 979401f2ce6abe313b0713c07244ec04
BLAKE2b-256 0efc3bd8a8c72ddb22682fe11800ecec682490073dd854f40e8147a1645102fc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fdb8226ced57ac68411edb85a5c8a98813cc48f68e9fe0ebeb05af32a163c55b
MD5 16330c60bc990f4ab1f5b80f26ad5b25
BLAKE2b-256 c9abd2aec1b6dd33349af682aa2155638fcaf61a8f056ef7835b611794e995f4

See more details on using hashes here.

Provenance

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