Skip to content
File format, model, API, and apps for manipulating text and its annotated features
Jupyter Notebook Python JavaScript HTML CSS HCL
Branch: master
Clone or download
dirkroorda Merge pull request #53 from gitter-badger/gitter-badge
Add a Gitter chat badge to
Latest commit 63c4589 Sep 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist fix search template tokenizer Jul 24, 2019
test fix search template tokenizer Jul 24, 2019
tools simple token converter Jan 27, 2019
LICENSE Create LICENSE Mar 5, 2019
MANIFEST New minor release 4.4.2 Jun 13, 2018 Add Gitter badge Sep 11, 2019 intermediate Nov 25, 2018 before branch featcomp Jun 7, 2019
cloc_exclude.lst included templates in package: Dec 17, 2018
sha.png badge software heritage archive Apr 10, 2019


sha Software Heritage Archive


CII Best Practices Join the chat at

Text-Fabric is several things:

  • a browser for ancient text corpora
  • a Python3 package for processing ancient corpora

A corpus of ancient texts and linguistic annotations represents a large body of knowledge. Text-Fabric makes that knowledge accessible to non-programmers by means of built-in a search interface that runs in your browser.

From there the step to program your own analytics is not so big anymore.

You can export your results to Excel and work with them from there.

And if that is not enough, you can call the Text-Fabric API from your Python programs. This works really well in Jupyter notebooks.


It is possible to prepare a dataset in TF format and extend Text-Fabric with an app that has further knowledge of that specific dataset.

A TF-app takes care of automatic downloading of the dataset and it supports the Text-Fabric browser.

Current TF apps


Text Fabric is a Python(3) package on the Python Package Index, so you can install it easily with pip from the command line. Here are the precise installation instructions.


On Windows?

You can click the Start Menu, and type text-fabric bhsa or text-fabric uruk in the search box, and then Enter.

On Linux or Macos?

You can open a terminal (command prompt), and just say

text-fabric bhsa


text-fabric uruk

The corpus data will be downloaded automatically, and be loaded into text-fabric. Then your browser will open and load the search interface. There you'll find links to further help.


There is extensive documentation. If you start using the Text-Fabric API in your programs, you'll need it.

Jump off to the docs


In order to work with Text-Fabric, you need a dataset to operate on. Such a data set must be in TF format.

If you have digital text that you control, in whatever format, and want to convert it to tf, Text-Fabric meets you half-way.

If you walk through the source, and tell TF what you see, it will pick that up and compile a valid TF dataset out of it.

See the conversion tutorial.


Want to contribute?

Start with the contribution notes.

This repository is being archived continuously by the Software Heritage Archive. If you want to cite snippets of the code of this repository, the Software Archive offers an easy and elegant way to do so. As an example, here I quote the stitching algorithm, by means of which Text-Fabric Search collects the solutions of a search template. The quote refers directly to specific lines of code, deeply buried in a Python file within a particular version of Text-Fabric.

You can’t perform that action at this time.