Skip to main content

Research Timeline

DOI CI Python License: MIT SWH

Track, visualize, and export research timelines — from first AI interaction to scientific discovery.

research-timeline documents the process of research, not just its artifacts: every milestone of a project (the first AI interaction that shaped the protocol, the first QPU commit with its evidence, pivots, controls, submissions, publications) is recorded in a single versioned JSON file with typed events, quantitative metrics, and supporting evidence.

Features

  • Typed eventsT0, T1Tn, pivot, control, submission, publication, milestone
  • Metrics — attach any quantitative result (z-scores, shots, backend, MI, …) to an event
  • Evidence — git commits, IBM Quantum job IDs, data links, code links
  • AI-role disclosure — each timeline declares how AI was used (cognitive_prosthesis, co_pilot, autonomous_agent)
  • Exports — LaTeX table (papers/reports), Markdown, standalone HTML, schema.org JSON-LD
  • Validate — structural checks with CI-friendly exit codes
  • Simple JSON storage — human readable, diff-friendly, git-native, zero lock-in

Installation

pip install research-timeline
# or from source:
pip install git+https://github.com/Strugiss/research-timeline.git
# or editable for development:
pip install -e .

Usage

# Initialize a timeline
research-timeline init --output timeline.json

# Log a typed event (with metrics and evidence)
research-timeline log T1 --desc "First commit: 14 QPU experiments, Z>50sigma" \
  --z-combined 50.0 --git-commit c3ddc4a --job-ids abc,def --tags commit,qpu

# List events (optionally with metrics)
research-timeline list --metrics

# Export to LaTeX (papers), Markdown, HTML, or JSON-LD
research-timeline export --format latex -o timeline.tex
research-timeline export --format markdown -o timeline.md
research-timeline export --format html -o timeline.html
research-timeline export --format jsonld -o timeline.jsonld

# Validate
research-timeline validate

See example/timeline.json for a real-world timeline (the PASM DTC Discovery project, N47Lab MatterMemory research program) and the generated exports in example/.

Event IDs

T0, T1, T2, …, Tn (ordered research phases) plus special events: pivot, control, submission, publication, milestone.

File Format

A timeline is a single JSON document:

{
  "project": {"name": "PASM DTC Discovery", "description": "...", "domain": "quantum"},
  "author": {"name": "N47Lab", "affiliation": "independent", "ai_role": "cognitive_prosthesis"},
  "events": [{
    "id": "T1", "type": "T1", "date": "2026-07-31",
    "description": "First commit: 14 QPU experiments, Z>50sigma",
    "metrics": {"z_score_combined": 50.0},
    "evidence": {"git_commit": "c3ddc4a", "job_ids": ["abc"]}
  }]
}

The schema is documented in schema/timeline.schema.json (JSON Schema draft-07).

Related work

  • Notes/task tools (Notion, Obsidian, Logseq, Trello) — general-purpose notes or task boards; no typed research phases, no JSON schema, no CI validation, cloud-dependent storage.
  • Experiment trackers (Weights & Biases, MLflow, DVC) — track model runs, artifacts, and metrics; they do not record researcher-level process events (first insight, pivot, control, submission) nor provide paper-oriented exports (LaTeX).
  • Notebooks (Jupyter, Quarto) — rich narrative but unstructured; no enforcement of a timeline schema, no machine-readable JSON-LD export.
  • Lab notebooks (ELN, Code Ocean) — heavyweight, instrument-locked, or cloud-bound; too heavy for long-term, single-author project process tracking.

research-timeline fills the empty slot: a zero-dependency, git-native, JSON-backed tracker for the research narrative with an explicit schema, structured evidence fields, and LaTeX/JSON-LD exports for the writing stage.

AI Usage Disclosure

This project was developed with the assistance of generative AI tools (interactive AI coding assistants with agentic workflows). AI assistance covered initial code scaffolding, the test suite, and documentation drafting (June–August 2026). All AI-assisted output was reviewed by the human author, with AI-assisted review for verification; design decisions and final acceptance of every change (schema, event types, export contracts, ai_role semantics) were made by the human author. Algorithmic behavior is covered by the test suite in tests/ and by CI. The work was conducted by a single human author with substantial AI assistance, mirroring the distribution of roles in a research group (design, implementation, verification, drafting), with the human author bearing full responsibility for the final result. See AI_POLICY.md for the full policy.

Development & Contributing

See CONTRIBUTING.md — tests, coding conventions, and governance.

pip install -e ".[dev]"
pytest tests/ -v

Software Heritage

This repository is archived in permanent storage: swh:1:snp:62a2f748e52113016cf291c4b8c944e86c6848bf

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

research_timeline-0.2.3.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

research_timeline-0.2.3-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file research_timeline-0.2.3.tar.gz.

File metadata

  • Download URL: research_timeline-0.2.3.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for research_timeline-0.2.3.tar.gz
Algorithm Hash digest
SHA256 56cc9d89ccef5fc39273145adb4fadcecfa5e91b72604b9aefc0ebf3ba333987
MD5 25192461c4dd377b57cafd14fefae899
BLAKE2b-256 67a6e74174453194e49b458bd6e5a717ee3e37880c3168f2acd6042d08ba2291

See more details on using hashes here.

File details

Details for the file research_timeline-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for research_timeline-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 57d1ad09cffca323c3ced6274b6ba315c3a62e2bcd325e47b2233e7564305bd9
MD5 6cae771a5df6d068d8b7a0a2b07d1929
BLAKE2b-256 91aecfbb544976321bf125c02cbd3b10529b0ba2eae662f4dfe474486a56a08c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page