Skip to main content

Scrybe CLI — headless Markdown render/lint/mermaid tool (binary wheel)

Project description

scrybe-cli

Headless CLI binary for Scrybe: render, lint, mermaid encode/decode, and GUI launcher. Distributed as a maturin binary wheel (scrybe-cli). Python on the outside, Rust on the inside.

What it does

Provides a scrybe command-line tool with four primary subcommands plus a bare invocation shortcut. The binary is self-contained — no Python runtime required at execution time when installed from the wheel.

Role in the architecture

scrybe-cli is the human-facing entry point for headless use and scripting. It delegates to scrybe-core, scrybe-render, and scrybe-mermaid. It is also the launcher for the Tauri GUI app: scrybe file.md locates the Scrybe.app bundle (macOS) or scrybe-app binary and opens the file in it.

Subcommands

Command Description
scrybe render [FILE] Render Markdown to HTML (stdin → stdout by default); --theme, --full-html, --output
scrybe lint FILE Word count, headings, code blocks, broken links; --json for machine output; exits 1 if broken links found
scrybe mermaid embed PNG SOURCE Embed Mermaid source into PNG iTXt chunk
scrybe mermaid extract PNG Print embedded Mermaid source
scrybe mermaid verify PNG Verify SHA-256 integrity of embedded source; exits 1 if tampered
scrybe open [PATH] Launch the Scrybe GUI, optionally at a file or directory
scrybe version Print version and active feature flags
scrybe [PATH] Bare invocation with a path injects open automatically

On macOS, scrybe open prefers the .app bundle via open -n -a to satisfy WebKit's bundle entitlement requirements.

Key library helpers (for integration)

Symbol Description
lint_document(doc) -> LintReport Programmatic lint used by both CLI and MCP lint tool
wrap_full_html(output, title) Wraps a RenderOutput in a complete <!DOCTYPE html> with CDN tags
version_string() / active_features() Used by scrybe version

Build and install

# Rust build (produces scrybe binary)
cargo build -p scrybe-cli --release

# Python wheel (maturin)
maturin build -m scrybe-cli/Cargo.toml --release
pip install target/wheels/scrybe_cli-*.whl

# Run tests
cargo test -p scrybe-cli

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_cli-0.5.0.tar.gz (128.5 kB view details)

Uploaded Source

Built Distributions

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

scrybe_cli-0.5.0-py3-none-win_amd64.whl (4.8 MB view details)

Uploaded Python 3Windows x86-64

scrybe_cli-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

scrybe_cli-0.5.0-py3-none-macosx_11_0_arm64.whl (5.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file scrybe_cli-0.5.0.tar.gz.

File metadata

  • Download URL: scrybe_cli-0.5.0.tar.gz
  • Upload date:
  • Size: 128.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scrybe_cli-0.5.0.tar.gz
Algorithm Hash digest
SHA256 d6a6e3e9056e3f6327a894c5412498ab90b38aeaf74ec0561b6626430bc31c33
MD5 b7e8128be7fdbe0273142ca689ed39f4
BLAKE2b-256 cab90dba0a43de1ec72081a18d1c6a852a27ccde281f028bdc566477c3f5bda3

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_cli-0.5.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_cli-0.5.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: scrybe_cli-0.5.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scrybe_cli-0.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 58ebc5c1f325758d3c1525e7cf7cd5abc398a1101dfaa17cd6f5e88c7d8d585c
MD5 e4449f7ffa728f5b86622bc46e91969e
BLAKE2b-256 c7acbc629c82e4ebd0390dd7ebb37d436c5cffdecaa7fe60bcc358eb28cb5110

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_cli-0.5.0-py3-none-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_cli-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scrybe_cli-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f70e78e8b3106691218773f47b749e12b743c6482af1e4d6ef4166ff3020ded
MD5 5eadbf9aeb7b100e98ca520825ef4c70
BLAKE2b-256 b8d88e4b2f64ab4f1457a90e8d8bdfdeb6d4707186c026595239ef14467f552a

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_cli-0.5.0-py3-none-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_cli-0.5.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scrybe_cli-0.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0efd613a326411742c3339e4aaa77ca3e11cb5fbbf8aecfe7ba1bff79efd7689
MD5 ca698c61e137fc1275c3d8cba2cf69a6
BLAKE2b-256 aded11214d86aa960c75fb0ac26d0edd48c3b67ef178ccbfcd615f5ae9f25e46

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrybe_cli-0.5.0-py3-none-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