Thumbnail for dolospy

dolospy

Important usage condition: Use and redistribution are governed by MIT. Review and comply with the license before using the data.
Persistent identifier
doi:10.60507/FK2/LYIDHI
Published version
1.0
Publication date
2026-01-22
License
MIT

Description

This repository contains a re-implementation of the rolling AST hash algorithm from Dolos (https://dolos.ugent.be/) in C++ with Python bindings. It is 8x faster for indexing and 10,000x faster in reporting compared to the original JavaScript implementation (cf. BENCHMARKING.md).

Creators

Keywords

code similarity, rolling ast hash

Files

Before downloading: Use and redistribution are governed by MIT. Review and comply with the license before using the data.
FileTypeBytesChecksum
readme.txttext/plain2706MD5 ac7e464c7be5951689b2ef9e709fb0cb
BENCHMARKING.mdtext/markdown2003MD5 1db4fa3b5d15063f6f3f0e2aab7aaa3d
tokenizer.htext/x-chdr245MD5 b424721ba77516ece32504b0803d2d78
dolospy.pyitext/x-python3771MD5 7565c2e54f0db99774ed9f57ae2dc7d3
CMakeLists.txttext/plain530MD5 6a6ed6ad505aedddc40133bfcdaace1d
hashing.cpptext/x-c++src427MD5 2abc7d2ce7037b22e912555e3351cd21
__main__.pytext/x-python4032MD5 2f3b777ad646f8ecdfffe9a4f6f15d2d
python.cpptext/x-c++src2434MD5 fc9ea80f5e4295af554dde440b48e040
tokenizer.cpptext/x-c++src1802MD5 7a601aca257e4a9a3a4d060d21491368
__init__.pytext/x-python23MD5 e530edf264988f6a4c4babd93c530c3d
interface.cpptext/x-c++src1175MD5 3776958457801dec7fc20cf6ef4ab603
pyproject.tomlapplication/toml289MD5 4368885f11e8fa8a025a7038a9674d67
main.cpptext/x-c++src1371MD5 ec5984e3784fd2070846100648737a14
index.htext/x-chdr1128MD5 1bc1902c00ef14ba0dc1eda8e83ee433
hashing.htext/x-chdr2693MD5 c75f67e5eb94720110d8f5bf4edabdbc
interface.htext/x-chdr222MD5 f70d3f56dfecdcbe6a0c7eabcfa484ef
BUILD.mdtext/markdown203MD5 673451ff60913a9e6ac59a6f085a76c5
index.cpptext/x-c++src4925MD5 d9342731f06c2c9ac192ebf7a8e3e395

Citation

Swierzy, Ben, 2026-01-22, dolospy, doi:10.60507/FK2/LYIDHI, V1.0

Additional Dataverse fields

Export metadata

Static metadata exports available for this published dataset version:

Complete Dataverse metadata

Expected crawler behaviour

Use a stable, truthful User-Agent with product/version and a working contact URL. Across all IP addresses and HTTP connections used by one crawler identity, allow no more than 5 requests in flight and wait at least 20 seconds between request starts. Crawl URLs listed in the catalog sitemap, including file pages and download URLs when they are published, use conditional requests, honor Retry-After, and apply exponential backoff after errors.

The welcome page may link to the interactive repository for human navigation. Automated clients must not treat that human link as a catalog crawl target.

Read the live machine-readable crawler policy before and during a crawl. Stop crawling when it reports CPU or memory utilization at or above 80% and 80% respectively.