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.0

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.0
File Actions
textlane-0.2.0-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details for textlane-0.2.0-cp39-abi3-win_arm64.whl
textlane-0.2.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details for textlane-0.2.0-cp39-abi3-win_amd64.whl
textlane-0.2.0-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.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
textlane-0.2.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details for textlane-0.2.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
textlane-0.2.0-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details for textlane-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
textlane-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details for textlane-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl

Total release size: 31.3 MB

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

Download URL textlane-0.2.0-cp39-abi3-win_arm64.whl
Size 5.1 MB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
b32945323e75dec001393c84e1c8536e1b3441ef2dc13f2119820b5659e17864
BLAKE2b-256 checksum
How to use checksums
014b20c60df4733de73b6fca6a0b610ad2a968230f35b0fa2094135af6f512ac
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.0-cp39-abi3-win_amd64.whl

Download URL textlane-0.2.0-cp39-abi3-win_amd64.whl
Size 5.3 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
0da01ea1d298701178e5794429ee76a2d2250ee84d0b1ec96d7456808532486a
BLAKE2b-256 checksum
How to use checksums
5ee159253aa9bfff228577abad369aae6d7f2139fc7c425de7d4904e35dea02b
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.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL textlane-0.2.0-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
cdca4f799b882c0a288611c6cb36e0b577a79ba9f0159bcc37e1c7bfaa78cb28
BLAKE2b-256 checksum
How to use checksums
0a4bf3a09b10d08c4e3cd9cc5e20e67c4baa96cb4f2d31fac7a91b9953b1cc01
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.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL textlane-0.2.0-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
2ab4e394b3bea92a42bdedd1b6971d9cf2e9679f2fd78d6e304da17cd4f02e64
BLAKE2b-256 checksum
How to use checksums
ea21f355aa2a2ad003d82f19cd28fdfa59be2fabb0fbbbca980a35947f955266
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.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL textlane-0.2.0-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
7e2973afb1fe8bb5263a1aea5960d3d19cf6502d4efdca7af688edd50642e63f
BLAKE2b-256 checksum
How to use checksums
59dbf44b0def987f96c16188727052d5bc495266f13728102a68e1752ab67ea5
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.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL textlane-0.2.0-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
2a69e06f5dc1d8af1b83ac25bfb26fe0ba0a47f23be33bdea4067d5bfd75ac52
BLAKE2b-256 checksum
How to use checksums
c7d4b4dec02acca0f2993a8c518a92d5be2a6dd2130292ca0486209b5bfbfa44
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.0

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