Awesome Open Source
Awesome Open Source

Build Status DOI


Full documentation

Talisman is a JavaScript library collecting algorithms, functions and various building blocks for fuzzy matching, information retrieval and natural language processing.


You can install Talisman through npm:

npm install talisman


The library's full documentation can be found here.


An extensive bibliography of the methods & functions implemented by the library can be found here.


  • 📦 Modular: the library is completely modular. This means that if you only need to compute a levenshtein distance, you will only load the relevant code.
  • 💡 Straightforward & simple: just want to compute a Jaccard index? No need to instantiate a class and use two methods to pass options and then finally succeed in getting the index. Just apply the jaccard function and get going.
  • 🍡 Consistent API: the library's API is fully consistent and one should not struggle to understand how to apply two different distance metrics.
  • 📯 Functional: except for cases where classes might be useful (clustering notably), Talisman only uses functions, consumes raw data and order functions' arguments to make partial application & currying etc. as easy as possible.
  • ⚡️ Performant: the library should be as performant as possible for a high-level programming language library.
  • 🌐 Cross-platform: the library is cross-platform and can be used both with Node.js and in the browser.

How to cite

Talisman has been published as a paper on the Journal Of Open Source Software (JOSS).


Contributions are of course welcome :)

Be sure to lint & pass the unit tests before submitting your pull request.

# Cloning the repo
git clone [email protected]:Yomguithereal/talisman.git
cd talisman

# Installing the deps
npm install

# Running the tests
npm test

# Linting the code
npm run lint


This project is available as open source under the terms of the MIT License.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (70,301
machine-learning (3,633
natural-language-processing (699
clustering (178
information-retrieval (83
deduplication (23
fuzzy-matching (21