Chunkipy
chunkipy is a modular and extensible text chunking library for Python, built for NLP and LLM pipelines.
Why Chunkipy?
- ✅ Lightweight core with optional extras
- ✅ Configurable overlap support via
overlap_ratio - ✅ Composable architecture (chunkers + splitters + size estimators + language detectors)
- ✅ Practical defaults with customizable behavior
Quick Example
from chunkipy import FixedSizeTextChunker
text = "Chunkipy makes text processing modular, flexible, and powerful!"
chunker = FixedSizeTextChunker(chunk_size=20, overlap_ratio=0.2)
chunks = chunker.chunk(text)
for i, c in enumerate(chunks):
print(f"Chunk {i + 1}: {c}")
Implemented vs Roadmap
| Status | Strategy |
|---|---|
| ✅ Implemented | FixedSizeTextChunker |
| ✅ Implemented | RecursiveTextChunker |
| 🚧 Roadmap | Document-based chunking |
| 🚧 Roadmap | Semantic chunker |
| 🚧 Roadmap | LLM-based chunker |
Semantic sentence splitters and language detectors are already available and can be used today.
Installation
Install core package:
pip install chunkipy
Install optional feature groups:
pip install "chunkipy[language-detection]" # Language detection (langdetect + fasttext)
pip install "chunkipy[nlp]" # NLP backends (spacy + stanza)
pip install "chunkipy[ai]" # LLM integration (openai + tiktoken)
pip install "chunkipy[all]" # All optional dependencies
Or install individual packages:
pip install "chunkipy[spacy]"
pip install "chunkipy[stanza]"
pip install "chunkipy[langdetect]"
pip install "chunkipy[fasttext]"
pip install "chunkipy[openai]"
pip install "chunkipy[tiktoken]"
Documentation
Full guides and API reference: 👉 https://gioelecrispo.github.io/chunkipy
Examples: 👉 https://github.com/gioelecrispo/chunkipy/tree/main/examples
Contributing
Issues and pull requests are welcome: 👉 https://github.com/gioelecrispo/chunkipy/issues
For local setup, see CONTRIBUTING.md.
License
chunkipy is released under the MIT License.
Metadata
Release files for chunkipy 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chunkipy-1.2.0.tar.gz | 18.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chunkipy-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.2 kB
Release files / chunkipy-1.2.0.tar.gz
| Download URL | chunkipy-1.2.0.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
012ba791c4d02e0c7c8e42784793b918f40ff91384e8d4fd0824f2d08f8e4f7f
|
|
BLAKE2b-256 checksum How to use checksums |
23ef5e00cee9bdc0ef8588012ab1d93e0e7b6b5ce67e7415cbeabf36d36d98dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / chunkipy-1.2.0-py3-none-any.whl
| Download URL | chunkipy-1.2.0-py3-none-any.whl |
|---|---|
| Size | 25.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
06812a3fdf5fb2b41e35562960090f3795fafa8343594b2fda6a22185b33a008
|
|
BLAKE2b-256 checksum How to use checksums |
e29d9080700800339da110d2c375916b0aa5d745952c91087c20a8a1cd7f3d3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for chunkipy 1.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.