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.1rc1.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.1.1rc1-cp39-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9+Windows x86-64

scrybe_py-0.1.1rc1-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.1rc1-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.1rc1.tar.gz.

File metadata

  • Download URL: scrybe_py-0.1.1rc1.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.1.1rc1.tar.gz
Algorithm Hash digest
SHA256 dfa0dd0cdca373577a661a6906ec4bf0acf3ea54578c14edb3e2b82f33ebcdd9
MD5 31b44f7e519376b5350bdd76b6f020c1
BLAKE2b-256 51514958e545ed3953b6fb475adc8c061bc705827129903b0aab9ce5e3f23800

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: scrybe_py-0.1.1rc1-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.1rc1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7daf625682f5babd0f70583b317d5aa6f23e4d342d5507e08c6fd85daf440275
MD5 acbd8fbdcb5f2a1095d0ead162ff6632
BLAKE2b-256 b0f1f1e3c981bce0b2e5be5428b3ebcd76770e1aac22739bc3f31b35f98dc33d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.1.1rc1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b7c13c3c99f073577b5397f7a29b4e489b4ec331884b8a78d16d5718c787a050
MD5 ad0a73ebffa28c35ab835b6658d4362b
BLAKE2b-256 920723ddcbc182ae29a7402754ba849f5a55d3f1354aa628bab32d43e97b975d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for scrybe_py-0.1.1rc1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 729f2d327f1cd564f69af334a63db5eea79af68d9537328cae60c212cb3d11a1
MD5 51723b2fb771d81efa0264d6b8229e9b
BLAKE2b-256 75427dfd89d47750f9ccd9cf10eae460b65219f7f4cbdcdd123219eb51d8f5b3

See more details on using hashes here.

Provenance

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