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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

scrybe_py-0.1.0a4-cp311-cp311-win_amd64.whl (997.0 kB view details)

Uploaded CPython 3.11Windows x86-64

scrybe_py-0.1.0a4-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

scrybe_py-0.1.0a4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file scrybe_py-0.1.0a4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: scrybe_py-0.1.0a4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 997.0 kB
  • Tags: CPython 3.11, 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.0a4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 53e8b6efa8e9a52c0c4c8f38eeb7d78550f3fd163b7388e349c13f637cbbc206
MD5 3cc58cbc8bbec8a2fb3bbdf404286817
BLAKE2b-256 5786aec394ed7c15d77aa106abaac990bdc3699b14430e072cc5db43d2db33b2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.1.0a4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5c852f791a3a2997dcec1c871f7bbbcc9b2749b08dbd9e49229ea8751efdb05
MD5 d2418b62cc112d0e177b839e8ae24ec0
BLAKE2b-256 4edef92a2ff6ff589a96a7972f4459fad7691872e551d0d4c575b44219316e94

See more details on using hashes here.

Provenance

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

File details

Details for the file scrybe_py-0.1.0a4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scrybe_py-0.1.0a4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe0f15ae6cf4d0572a331ec88a9f6ea5cbed9fd14f08f6ed7b68d63d07a3e398
MD5 a0800bda792b9e1a9ba93fde03fc61b2
BLAKE2b-256 ac5775fb12325a383fcaf9c110ca25978b7cf65cb2cf616133aaa6dcc5a824ff

See more details on using hashes here.

Provenance

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

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