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

Total release size: 30.8 MB

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

Download URL textlane-0.1.0-cp39-abi3-win_arm64.whl
Size 5.0 MB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
b2c3b8ade4f2ac030305d36e13957d08262e2018aed96097d81a499dff411f38
BLAKE2b-256 checksum
How to use checksums
8d0f03a68f344ce2f0669ccb6afa9b1989a516b55f1aee538a373d1392cda125
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.1.0-cp39-abi3-win_amd64.whl

Download URL textlane-0.1.0-cp39-abi3-win_amd64.whl
Size 5.2 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4adc34ebb4cc7d9b3ac358d766af22766e39ee6d5baf97eec7011860d2df48bd
BLAKE2b-256 checksum
How to use checksums
11e88f5d32676d9d1e5c40b49176da7aedaeae164bf8d0c79bfe239a8d022f27
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.1.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL textlane-0.1.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
72852b75b97687a06904d39de1edd84e961f4fa1c414b131626c5b996d2c9208
BLAKE2b-256 checksum
How to use checksums
4f7e0596221ba6427b53c828ad368d1b3a677c9e9e37020717bc3f14ae57ad9b
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.1.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL textlane-0.1.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 5.2 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
642ccafe42738e7f692e9bfed28de4105624c5114644e2b5e576b141f639b4ac
BLAKE2b-256 checksum
How to use checksums
e607a2a04fd6f2fb289e3e7afe7656fcc9cb81fca71345361f8b17af5a928513
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.1.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL textlane-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Size 4.9 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
41389f33946fd6854f83caa2853877b5a7a2216d116d4fbaa37ed34a256ad8f0
BLAKE2b-256 checksum
How to use checksums
9019742a4e989c45866eecb7b49d488f795f25a76814921e0b062ae2afb76ed2
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.1.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL textlane-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 5.1 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d7b7dca689b4df7b8cdfdda6e87c52559e960871d8bb77de30162e58a54cfc83
BLAKE2b-256 checksum
How to use checksums
2cfa981a509633ec77bfc8517a386cf32db2f724452c10ccdbd39fde679867e1
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.1.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