Archeologist - Code Lineage Tracker
CLI tool that reconstructs function decision history via AST-aware lineage tracking. Outputs JSON with commit messages and diffs - perfect for LLM context.
Install
pip install archeologist
Usage
# Analyze a specific function
arc analyze-function path/to/file.py function_name
# Get commit history with diffs
arc history path/to/file.py
# List all functions in a file
arc list-functions path/to/file.py
Output
JSON with commit hash, message, author, date, and diff:
{
"file": "src/flask/helpers.py",
"function": "stream_with_context",
"repo": "/path/to/repo",
"language": "python",
"lineage_edges": 10,
"changes": [
{
"commit_hash": "abc123...",
"commit_message": "redirect defaults to 303",
"author": "David Lord",
"date": "2026-01-24T16:50:54-08:00",
"diff": "diff --git a/src/flask/helpers.py..."
}
]
}
Environment
# Optional: for PR details
export GITHUB_TOKEN=ghp_xxx
# Optional: for narrative synthesis
export CLAUDE_API_KEY=sk-ant-xxx
Languages Supported
Python, JavaScript, TypeScript, Go, Rust, Java, C, C++, Ruby, PHP
Commands
analyze- Analyze file lineageanalyze-function- Analyze specific functionhistory- Show commit history with diffslist-functions- List all functions in filesearch- Search for function across repostats- Repository statistics
Metadata
Release files for archeologist 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| archeologist-0.2.1.tar.gz | 21.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| archeologist-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.5 kB
Release files / archeologist-0.2.1.tar.gz
| Download URL | archeologist-0.2.1.tar.gz |
|---|---|
| Size | 21.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6acba3c3c8bfea794c499c989b32de3c23e5415b8ed25bd8e6b76f063ffe2798
|
|
BLAKE2b-256 checksum How to use checksums |
f42dcff2c55aff4e03d882bd31356fd47c3372fb94ee938ad97c130c6f57e7cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / archeologist-0.2.1-py3-none-any.whl
| Download URL | archeologist-0.2.1-py3-none-any.whl |
|---|---|
| Size | 22.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df080db1a784645cee371d998a95f34d18626398a100d81e7af96e2b859802a2
|
|
BLAKE2b-256 checksum How to use checksums |
1dfae847675ef2ed3800d2dca204a93996337db4dfe896262e4e1909a310b2d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|