Skip to main content

Textlane

Textlane is a Rust-native text processing pipeline: a replacement for unified whose plugins run natively, while existing JavaScript plugins can still join the same pipeline. One Rust crate ships to crates.io, npm and PyPI at one version.

Installation

pip install textlane

The wheel carries a prebuilt extension for your platform; no Rust toolchain is needed.

Usage

A processor chains plugins with use, as unified does, then parses, transforms and serializes text with process. Each language reaches the same crate; plugins are grouped by domain (md, html, mdx, nl) and named as the pipeline names them.

Rust:

use textlane::{Processor, html, md};

let processor = Processor::new()
    .with(md::Parse::default())
    .with(md::Gfm::default())
    .with(md::ToHtml::default())
    .with(html::Stringify::default())
    .freeze()?;
assert_eq!(processor.process("# hi")?.value, "<h1>hi</h1>");

Node.js:

import { textlane } from "textlane"
import * as html from "textlane/html"
import * as md from "textlane/md"

const file = await textlane()
  .use(md.parse())
  .use(md.gfm())
  .use(md.toHtml({ allowDangerousHtml: true }))
  .use(html.stringify())
  .process("# hi")
file.value // "<h1>hi</h1>"

Python:

from textlane import html, md, textlane

file = (
    textlane()
    .use(md.parse())
    .use(md.gfm())
    .use(md.to_html({"allowDangerousHtml": True}))
    .use(html.stringify())
    .process("# hi")
)
file["value"]  # "<h1>hi</h1>"

Node.js and Python also offer parse, run, stringify, data and freeze, with Node.js's process/run returning a Promise beside processSync/runSync, and Python's returning the result beside the coroutines aprocess/arun. Errors carry the crate's code, such as unknown-plugin. A JavaScript or Python function joins a pipeline as a unified attacher returning a transformer; it cannot add syntax, a parser or a compiler.

Documentation

Read the docs at textlane.dev.

License

MIT.

Metadata

Release files for textlane 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for textlane 0.2.1
File Actions
textlane-0.2.1-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details for textlane-0.2.1-cp39-abi3-win_arm64.whl
textlane-0.2.1-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details for textlane-0.2.1-cp39-abi3-win_amd64.whl
textlane-0.2.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details for textlane-0.2.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
textlane-0.2.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details for textlane-0.2.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
textlane-0.2.1-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details for textlane-0.2.1-cp39-abi3-macosx_11_0_arm64.whl
textlane-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details for textlane-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl

Total release size: 31.3 MB

Release files / textlane-0.2.1-cp39-abi3-win_arm64.whl

Download URL textlane-0.2.1-cp39-abi3-win_arm64.whl
Size 5.1 MB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
3d8e13f80d253f24560d85448e8da808de1558f5c31b9cef03b34fa9ced2bb68
BLAKE2b-256 checksum
How to use checksums
2c75c3eb315772355552d3cd6d62988c31a44ca9c33532eb7972c3dd9df773e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / textlane-0.2.1-cp39-abi3-win_amd64.whl

Download URL textlane-0.2.1-cp39-abi3-win_amd64.whl
Size 5.3 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
d32a98e12f5151a8da4da74734bbfb9ad20f78ec0c36c697a26667b117765450
BLAKE2b-256 checksum
How to use checksums
f3e0f797082da8e245cf45f3ea1ebf596c9b788b80c7cddad41cdf1f280912b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / textlane-0.2.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL textlane-0.2.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 5.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
1895d5ebbe7e9e6be60cb3f1f5d952e9f6de6c058f55229cc822a7f933af3678
BLAKE2b-256 checksum
How to use checksums
81106ab65a0b89dba059a6287cd649ddcdb39d22bb131fc9be09e8cef4883918
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / textlane-0.2.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL textlane-0.2.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 5.3 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
be1cda152471295325aed882bfe0a12947b2adcfd17d165ae039b635e510f13d
BLAKE2b-256 checksum
How to use checksums
e749b5336f0715322c70163f3c47766a71aa78808283a5212920b5f5a330d6c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / textlane-0.2.1-cp39-abi3-macosx_11_0_arm64.whl

Download URL textlane-0.2.1-cp39-abi3-macosx_11_0_arm64.whl
Size 5.0 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7c6debb63102fa045bf9a852cf3d322a5c6e553bcd41bb663b65f2c3b858146f
BLAKE2b-256 checksum
How to use checksums
91051d3d9969991cdab81a95f0db75ab679fe8b06d99514cb21e85b897057e70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / textlane-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl

Download URL textlane-0.2.1-cp39-abi3-macosx_10_12_x86_64.whl
Size 5.2 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
204da69c026786268c3e0c5c3c95eddbfa1b6345382d94c850ada96c44c83e63
BLAKE2b-256 checksum
How to use checksums
399ab6d0da17a5245622b2a1b884af88df1acbc9e2e9855f6ee4e352f4ec6b65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for textlane 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page