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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfa0dd0cdca373577a661a6906ec4bf0acf3ea54578c14edb3e2b82f33ebcdd9
|
|
| MD5 |
31b44f7e519376b5350bdd76b6f020c1
|
|
| BLAKE2b-256 |
51514958e545ed3953b6fb475adc8c061bc705827129903b0aab9ce5e3f23800
|
Provenance
The following attestation bundles were made for scrybe_py-0.1.1rc1.tar.gz:
Publisher:
release.yml on hartsock/scrybe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scrybe_py-0.1.1rc1.tar.gz -
Subject digest:
dfa0dd0cdca373577a661a6906ec4bf0acf3ea54578c14edb3e2b82f33ebcdd9 - Sigstore transparency entry: 1487158023
- Sigstore integration time:
-
Permalink:
hartsock/scrybe@b24b121358da16a5b660173f219a33a5f424d031 -
Branch / Tag:
refs/heads/release/v0.1.1 - Owner: https://github.com/hartsock
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b24b121358da16a5b660173f219a33a5f424d031 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7daf625682f5babd0f70583b317d5aa6f23e4d342d5507e08c6fd85daf440275
|
|
| MD5 |
acbd8fbdcb5f2a1095d0ead162ff6632
|
|
| BLAKE2b-256 |
b0f1f1e3c981bce0b2e5be5428b3ebcd76770e1aac22739bc3f31b35f98dc33d
|
Provenance
The following attestation bundles were made for scrybe_py-0.1.1rc1-cp39-abi3-win_amd64.whl:
Publisher:
release.yml on hartsock/scrybe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scrybe_py-0.1.1rc1-cp39-abi3-win_amd64.whl -
Subject digest:
7daf625682f5babd0f70583b317d5aa6f23e4d342d5507e08c6fd85daf440275 - Sigstore transparency entry: 1487158065
- Sigstore integration time:
-
Permalink:
hartsock/scrybe@b24b121358da16a5b660173f219a33a5f424d031 -
Branch / Tag:
refs/heads/release/v0.1.1 - Owner: https://github.com/hartsock
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b24b121358da16a5b660173f219a33a5f424d031 -
Trigger Event:
push
-
Statement type:
File details
Details for the file scrybe_py-0.1.1rc1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: scrybe_py-0.1.1rc1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7c13c3c99f073577b5397f7a29b4e489b4ec331884b8a78d16d5718c787a050
|
|
| MD5 |
ad0a73ebffa28c35ab835b6658d4362b
|
|
| BLAKE2b-256 |
920723ddcbc182ae29a7402754ba849f5a55d3f1354aa628bab32d43e97b975d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scrybe_py-0.1.1rc1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
b7c13c3c99f073577b5397f7a29b4e489b4ec331884b8a78d16d5718c787a050 - Sigstore transparency entry: 1487158115
- Sigstore integration time:
-
Permalink:
hartsock/scrybe@b24b121358da16a5b660173f219a33a5f424d031 -
Branch / Tag:
refs/heads/release/v0.1.1 - Owner: https://github.com/hartsock
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b24b121358da16a5b660173f219a33a5f424d031 -
Trigger Event:
push
-
Statement type:
File details
Details for the file scrybe_py-0.1.1rc1-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: scrybe_py-0.1.1rc1-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
729f2d327f1cd564f69af334a63db5eea79af68d9537328cae60c212cb3d11a1
|
|
| MD5 |
51723b2fb771d81efa0264d6b8229e9b
|
|
| BLAKE2b-256 |
75427dfd89d47750f9ccd9cf10eae460b65219f7f4cbdcdd123219eb51d8f5b3
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scrybe_py-0.1.1rc1-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
729f2d327f1cd564f69af334a63db5eea79af68d9537328cae60c212cb3d11a1 - Sigstore transparency entry: 1487158186
- Sigstore integration time:
-
Permalink:
hartsock/scrybe@b24b121358da16a5b660173f219a33a5f424d031 -
Branch / Tag:
refs/heads/release/v0.1.1 - Owner: https://github.com/hartsock
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b24b121358da16a5b660173f219a33a5f424d031 -
Trigger Event:
push
-
Statement type: