
1k stars · MIT · release-0.7.3 (2026-05-31) · Track this in Rising ↗
Labelled data maps with proper label placement — a diagnostic for cluster naming and a shareable marketing image.
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 7 Oct 2026, 20 days before this check.
Latest release release-0.7.3 on 31 May 2026.
Public since December 2023, a little over 2 years.
1,028 stars and 76 forks.
18 commits and 0 new issues in the last 90 days.
21 contributors. 9 pull requests merged in 90 days.
No security policy file says how to report a problem. No published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 25 Oct 2026 from the repository on GitHub. Covered in Edition 6.
▶Repo detailsthe review · specs · pros & cons · install
What it does
It takes two-dimensional coordinates and a label for each point and draws the map. Label placement is the part it does well: names are positioned so they do not collide, with lines back to the area they belong to. It handles dense regions by drawing them as density rather than as a mess of overlapping dots. It exports either a high-quality still picture or a single self-contained web page with search and hover built in. The licence is MIT, the newest release is 0.7.3, from 31 May 2026, and the code was last changed on 23 August 2026. What it does not do is reduce data to two dimensions, so a separate step has to do that first, and it draws a flat cloud of points rather than a tree that can be opened up.
Why it matters
Who it suits. Two different people, which is unusual. For anyone building a map, it is the fastest way to see whether the groups and their names are any good: one picture of one real conversation teaches more than reading a list of labels. For anyone explaining such a product, a properly labelled map of every question asked inside a 500-message thread is a single picture that explains the whole idea, which is the kind of picture a landing page or a video thumbnail usually lacks. Skip it if the interface is already built and the maps come out of it.
Verdict. Worth an hour, mostly as a checking tool. It is pure Python with no front-end work, which is what makes it an hour and not a week. Three things to expect. It needs a step in front of it that reduces the data to two dimensions, and that step gives different results each run unless its random seed is fixed. The still-picture path goes through a general plotting library, whose handling of Cyrillic fonts is where a fiddly hour will go. And it is a diagnostic and marketing picture, not the interactive drill-in view. apple/embedding-atlas is the interactive alternative.
Summary (Key Points)from the README
Key features
- Two main functions: `create_plot` builds static plots and `create_interactive_plot` builds interactive HTML plots, both from data map coordinates and a list of labels.
- Automated aesthetics: You label the clusters, and the library handles most styling choices.
- Static output: Produces plots suited to presentations, posters and papers.
- Simple interactive output: Produces HTML plots with search, zooming and panning, as shown in the example animations.
- Darkmode and fonts: The README shows a dark-mode example with custom font choices.
- Word-cloud style labels: Labels can be placed over points in a word-cloud style.
- Custom styling: Options include arrow styles, fonts and colour maps.
- Community gallery: A Community Projects gallery links to interactive maps built by other users.
Ways to install
| Platform or method | What it needs | Effort |
|---|---|---|
| pip | Python with pip; required libraries are installed with it | Low, one command |
| conda | conda with the conda-forge channel | Low, one command |
Important
- Dependencies: The library needs Numpy, Matplotlib, Scikit-learn, Pandas, Datashader, Scikit-image, Numba, Requests and Jinja2. The README says all are widely available.
- Labels are required: You must supply the coordinates and a label for each point or cluster. The library does not generate labels.
- Static focus: The README says the focus is static plots, with only simple interactive plots.
- Usage details are external: The README's basic usage example is not included in the text, so full usage and options are in the ReadTheDocs documentation.
- License: The project is MIT licensed.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- MIT, pure Python, and a finished picture or web page straight from a table.
- Label placement is the genuinely hard part of a map like this, and it is already solved.
- The web export is one self-contained file, so it drops into any site with no build step.
- It draws a flat cloud of points, not a tree to open up.
- It needs a dimension-reduction step in front of it, which is another dependency and gives different results each run.
- Still pictures go through a general plotting library, whose Cyrillic font handling needs work.
Same institute as 09, so the two are designed to sit next to each other.
source venv/bin/activate pip install datamapplot
