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

Total release size: 43.5 MB

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

Download URL textlane-0.7.0-cp39-abi3-win_arm64.whl
Size 5.2 MB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
f4da2708a3c9a36ad0f1c534c9b5c29a160360a23e37720074b1d77925c24cf9
BLAKE2b-256 checksum
How to use checksums
c6a6867419734f01b723ae45318b2f82950afc9d80390219f556c3808e7c5ae3
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.7.0-cp39-abi3-win_amd64.whl

Download URL textlane-0.7.0-cp39-abi3-win_amd64.whl
Size 5.5 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8d8e475e1104ff4390a1208a79a1505a5e18a63ed6da12c1977ae49227e1e2ee
BLAKE2b-256 checksum
How to use checksums
7ba4cf06804c1e5b481677e7280693e12eeeced4871595e964bd71125428d422
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.7.0-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL textlane-0.7.0-cp39-abi3-musllinux_1_2_x86_64.whl
Size 5.9 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
c68c1da6e4fea99deb9f66cd382035f2aa6108a840edfa38eed67c7396db3bcc
BLAKE2b-256 checksum
How to use checksums
d35b8c91e8a63456f8dae929a93085937ec2bbe7216d271b92859b52693ec7a7
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.7.0-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL textlane-0.7.0-cp39-abi3-musllinux_1_2_aarch64.whl
Size 5.6 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
eb6e9eaf37bd16c14c797b4ced375f266f7396f40f95693d6b9350f4c77d6d10
BLAKE2b-256 checksum
How to use checksums
652dbf06496240e0dead74e86c43f242904698ced245d89b34d2b3de585e70d3
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.7.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL textlane-0.7.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 5.6 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
0a6196713e8d6e68ddff03b798dec9aa76d82a25fa1db2fe19f037b2516c88ee
BLAKE2b-256 checksum
How to use checksums
7a66c997f6a203bef0600a81c01a4687003159084e7b73e1405718112ba6709f
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.7.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL textlane-0.7.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 5.4 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
f21a02713b97d02259361e222a3e4f20062fdd56b7c571018455f544b9077d64
BLAKE2b-256 checksum
How to use checksums
e8269c89a0bf01bc37c54bc7bdd48b4c1f9b2ca4d2d80a7d9752fccc98fe1276
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.7.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL textlane-0.7.0-cp39-abi3-macosx_11_0_arm64.whl
Size 5.1 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
12dae210da82c9ca3eccfe12e8c23d0987bb7f12970506519ba9b7d8f8080e4b
BLAKE2b-256 checksum
How to use checksums
e9f39ba065bccd28a62770b22a1239968a058ecd4b59d55de54894934a427864
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.7.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL textlane-0.7.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 5.3 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a3d8232c6bb312af95e20099f9b3379793f58c78918ea9851b5870bcda956775
BLAKE2b-256 checksum
How to use checksums
539612c549cb349f826416c873eeaa38a5d2f44155355cd7178b06df56039f7c
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.7.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