$npx skillfedfor your agent

zss

Tree edit distance using the Zhang Shasha algorithm

SkipPyPI Scientific/EngineeringReleased Mar 2018306.7K downloads / moSource build

Decision gist · record as of 2026-08-14

sdist only — zss-1.2.0.tar.gz · builds from source
v1.2.0 · released 2018-03-12

No. The package is abandoned (last release 2018, last commit 2020) with unclear licensing and unspecified Python support. While the algorithm is sound and there are no known vulnerabilities, the lack of maintenance creates compatibility risk with modern Python versions and dependency ecosystems. Consider maintained alternatives or implementing Zhang-Shasha directly if tree edit distance is critical to your project.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Package is abandoned with no active maintenance; Python version support is unspecified and may not work on modern Python versions.
  • High install friction: the package is abandoned (last release March 2018, last commit October 2020) with no declared runtime dependencies but requires compilation from source.
  • No active maintenance.

License · maintenance · safety

(unclear) — License status is unclear—no SPDX identifier or raw license text provided. Verify licensing terms before use in proprietary or copyleft-sensitive projects.

last release 2018-03-12 (3077 days) · last repo commit 2020-10-15 · 459 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 306,742 downloads/mo, #7,782 on PyPI

Verify before relying

from zss import simple_distance, Node

A = Node("f").addkid(Node("a")).addkid(Node("e"))
B = Node("f").addkid(Node("a")).addkid(Node("e"))
dist = simple_distance(A, B)
print(dist)
  • Compatibility with Python 3.10+ and current NumPy/editdist versions
  • Whether optional dependencies (editdist, numpy >= 1.7) are still installable and functional
  • Actual license terms (no SPDX or raw license text in metadata)
Same gist for agents: .md · .json

What it is and what it does

zss implements the Zhang-Shasha algorithm for computing tree edit distance—a measure of how many insertions, deletions, and relabelings are needed to transform one tree into another. It provides a default Node class and edit distance function for convenience, but also accepts custom tree formats and distance metrics via callback functions.

The package is designed for comparing hierarchical structures where you need a numeric similarity or difference score. It has no runtime dependencies by default, though optional dependencies (editdist for string-based label comparison, numpy for performance) can be installed. However, the package has been abandoned since 2018 and is no longer maintained, creating risk around compatibility with modern Python and dependency versions.

Use it for

  • Compare abstract syntax trees (ASTs) from different code versions to measure structural changes
  • Measure similarity between XML or JSON document structures for data reconciliation
  • Detect structural differences in parse trees for natural language processing tasks
  • Quantify changes in hierarchical data models or organizational structures over time

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Skip

No.

The package is abandoned (last release 2018, last commit 2020) with unclear licensing and unspecified Python support. While the algorithm is sound and there are no known vulnerabilities, the lack of maintenance creates compatibility risk with modern Python versions and dependency ecosystems. Consider maintained alternatives or implementing Zhang-Shasha directly if tree edit distance is critical to your project.

Install

zss on PyPI

Before you install

High install friction: the package is abandoned (last release March 2018, last commit October 2020) with no declared runtime dependencies but requires compilation from source. No active maintenance.

Package is abandoned with no active maintenance; Python version support is unspecified and may not work on modern Python versions.

License in practice

License status is unclear—no SPDX identifier or raw license text provided. Verify licensing terms before use in proprietary or copyleft-sensitive projects.

Quickstart

from zss import simple_distance, Node

A = Node("f").addkid(Node("a")).addkid(Node("e"))
B = Node("f").addkid(Node("a")).addkid(Node("e"))
dist = simple_distance(A, B)
print(dist)

Verify before relying

  • Compatibility with Python 3.10+ and current NumPy/editdist versions
  • Whether optional dependencies (editdist, numpy >= 1.7) are still installable and functional
  • Actual license terms (no SPDX or raw license text in metadata)

Package facts

LicenseNot declared unclear
Python supportNot specified
Install frictionHigh. Source build required
Runtime dependenciesNone
MaintenanceAbandoned 3,077 days since the last release
Last repo commit
First released
Downloads306,742 / month, #7,782 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: zss-1.2.0.tar.gz

Tags

Capabilities
tree edit distancezhang shasha algorithmtree comparison distancetree similarity metricstructural tree difftree alignment distancenode-based tree metrics
Topics
tree-algorithmsedit-distanceabandoned

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “zhang shasha algorithm”

  • zssComputes the edit distance between two tree structures using the…
  • munkresImplements the Munkres algorithm (Hungarian algorithm) to solve the…
  • squarifyComputes treemap layout rectangles from a list of values using the…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also apted · strsimpy · textdistance · pyjson · editdistance · recursive-diff · editdistpy · pylev · edlib · python-Levenshtein