Metadata-Version: 2.4
Name: rustling
Version: 0.8.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Text Processing
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Text Processing :: Indexing
Classifier: Topic :: Text Processing :: Linguistic
License-File: LICENSE.md
Summary: A blazingly fast library for computational linguistics
Keywords: linguistics,nlp,text-processing
Author-email: "Jackson L. Lee" <jacksonlunlee@gmail.com>
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Source, https://github.com/jacksonllee/rustling

<div align="center">
  <a href="https://github.com/jacksonllee/rustling">
    <img src="https://raw.githubusercontent.com/jacksonllee/rustling/main/python/docs/_static/logo-with-text.svg" alt="Rustling" height="120">
  </a>
</div>
<br>

[![PyPI](https://img.shields.io/pypi/v/rustling.svg)](https://pypi.org/project/rustling/)
[![Conda Version](https://img.shields.io/conda/vn/conda-forge/rustling.svg)](https://anaconda.org/conda-forge/rustling)
[![crates.io](https://img.shields.io/crates/v/rustling.svg)](https://crates.io/crates/rustling)

Rustling is a blazingly fast library for computational linguistics.
It aims to provide flexible and efficient tools to facilitate further research.

Documentation: [Python](https://docs.rustling.io/) | [Rust](https://docs.rs/rustling)

Currently implemented features:

* Sequence modeling:

   - N-grams and related language models
   - Hidden Markov model
   - Word segmentation
   - Averaged perceptron part-of-speech tagging

* Handling richly formatted data,
  supporting cross-format conversion as well as both local and remote sources for data ingestion:

   - CHAT for TalkBank and CHILDES
   - ELAN for annotated multimedia data
   - TextGrid for Praat annotations
   - CoNLL-U for University Dependencies
   - SRT for SubRip subtitles

## Performance

Rustling is highly performant because it is implemented in Rust under the hood.
For benchmarks comparing Rustling against other Python packages with similar functionalities,
please see [`benchmarks`](https://github.com/jacksonllee/rustling/tree/main/benchmarks).


## Installation

### Python

Using pip:

```bash
pip install rustling
```

Using conda:

```bash
conda install -c conda-forge rustling
```

For Pyodide, pre-built WASM wheels (with multithreading disabled, as Pyodide does not support it)
are available from each [GitHub release](https://github.com/jacksonllee/rustling/releases)
— look for the ``.whl`` file with ``emscripten`` in the filename.

### Rust

```bash
cargo add rustling
```

## License

MIT License

