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¶
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.