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 line-by-line by the human author, whose design decisions (schema, event types, export contracts, ai_role semantics) drove the project; algorithmic behavior is covered by the test suite in tests/ and by CI. 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.1.tar.gz (14.7 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.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: research_timeline-0.2.1.tar.gz
  • Upload date:
  • Size: 14.7 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.1.tar.gz
Algorithm Hash digest
SHA256 cefa147c809aae7f817b28bf7a053d73297dda7edbefdfffc18335375c430ab5
MD5 eec73409b88bdf42c32bd6b2d51668de
BLAKE2b-256 ca53a208bb2e22f22514e05761daeff6285da0bca3e6da35a9e0e45e6f7ab3f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for research_timeline-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 68ccb9c1cd522a7cf6df87650fb012d7f040109a71e093d3c2764811d5dee74e
MD5 f61b6e89f25d247d953b49544fb75004
BLAKE2b-256 db536f34a7eeb4b4a7ae25e92b3370192effdb07bf8f1572c907306155b1920d

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