Skip to content

ResearchPlot 1.x compatibility reference

ResearchPlot 2.x retains the 1.0 target, report, project, submission, and CLI surfaces for migration. This page is a compatibility map; new projects should use schema-v3 projects.

Target workflow

import researchplot as rp

target = rp.target(
    "nature@2026.08.0",
    role="main",
    width="single",
    content="line-art",
)

with target.style() as style:
    fig, ax = style.subplots(aspect=0.62)
    ax.plot(x, y)
    result = target.export(fig, "figure1.pdf", policy="complete")

Target.validate() and Target.audit() return phase-local v1 Report objects. They do not know all project evidence requirements; use Project.plan().check() for a coverage-aware v2 verdict.

V1 configuration reader

profile = "nature@2026.08.0"
policy = "complete"

[[figures]]
path = "figures/figure1.pdf"
role = "main"
width = "single"
content = "line-art"

Load it through ProjectConfig or translate it with researchplot migrate. V1 readers remain available throughout 2.x; new project writes use schema version 3.

Submission bridge

Submission and the v1 submission manifest remain the implementation behind the current Project.bundle() compatibility bridge. Review the richer-project limitations in Bundles.

Legacy plotting helpers

python -m pip install "researchplot-venues[plots]"

The helper names are imported lazily and emit deprecation warnings. New authoring should use native Matplotlib composition inside a ResearchPlot style context.

Historical release

For the exact 1.0.0 source and schemas, use the immutable v1.0.0 GitHub tag. Compatibility promises for 2.x are documented in Migration.