REVIEW 4 major objections 8 minor 1 cited by
exoatlas: friendly Python code for exoplanet populations
T0 review · 4 major / 8 minor · reviewed 2026-08-06 · deepseek-v4-flash
Pith's one-line read exoatlas is a Python toolkit that wraps public planet archives behind a single `Population` class, so any exoplanet or Solar System object can be retrieved, analyzed, and visualized in population context with units, propagated…
desk verdict A well-intentioned, clearly written software wrapper paper that is unverifiable as submitted because no code repository or version is given; worth refereeing only if that is fixed. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The carrying object is the `Population` class: a standardized table of planet properties with physical units, plus attached methods for derivation, filtering, observation planning, and plotting. Its load-bearing pieces are fallback derivations for missing quantities (for example, semimajor axis from period and stellar mass via Kepler's Third Law, then from transit-derived $a/R_\ast$), numerical propagation of uncertainties by carrying sample distributions through calculations, and a plotting language built from `Plottable` (how a quantity is scaled and labelled), `Map` (position, size, or color encoding), and `Gallery` (linked panels).
What would settle it
In a clean environment, build a `TransitingExoplanets` population and compare every returned quantity (period, radius, derived semimajor axis, units) against the same entries queried directly from the source archive; if any value or unit disagrees, or if a download fails, the interface is not faithful.
Extended reading notes
Core claim
The paper's central claim is that population context should be a routine, low-effort operation, and that exoatlas delivers it. The authors describe a `Population` class that retrieves uniform tables of exoplanet and Solar System properties, computes derived quantities such as semimajor axis from period and stellar mass when needed, propagates uncertainties numerically through all calculations, supports masking and slicing to build comparison subpopulations, estimates signal-to-noise for observables, and renders context plots. A six-line example places the first discovered transiting exoplanet HD209458b among other transiting exoplanets and the eight major Solar System planets. If the package performs as described, it makes the connection between an individual world and its population immediate for researchers, educators, and students.
Load-bearing premise
Everything rests on the automatic downloads from public planet databases, and the unit and uncertainty calculations built on them, being implemented correctly and staying current as those databases change.
Editorial extensions
If this is right
- A user can retrieve a uniform, unit-aware table of exoplanet and Solar System properties without learning each archive's query language.
- Missing measurements are filled automatically from fallback formulas, so analyses keep working when catalogs are incomplete.
- Subpopulations can be built by indexing, slicing, and masking, and custom calculations can be attached to the resulting `Population` objects.
- The package can flag upcoming transits visible from a given ground-based telescope by combining predicted times with local altitude and azimuth.
- A handful of lines is enough to generate a published-quality population comparison plot, as in the HD209458b example.
Reading between the lines
- A natural testable extension would be to validate the wrapper by comparing a downloaded `Population` table line by line with a direct query of the same archive, which would also catch upstream format changes.
- The same `Population`/`Plottable`/`Map`/`Gallery` pattern could be applied to other astronomical catalogs, such as stellar or galaxy populations, giving the same low-effort context for different kinds of objects.
- Because the package's value depends on current archive contents, adding versioned snapshots or data provenance stamps would make analyses reproducible after archives update.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The manuscript describes exoatlas, a Python package intended to provide a friendly interface for retrieving and working with exoplanet and Solar System planet populations. The central abstraction is a Population class that pulls data from the NASA Exoplanet Archive and JPL Solar System Dynamics, attaches astropy units, computes derived quantities such as semimajor axes with numerically propagated uncertainties, supports masking and subpopulation creation, plans ground-based observations of transits, and offers a visual-language layer for population comparison figures. The paper demonstrates the interface with a six-line code example that produces a gallery placing HD 209458b in context with transiting exoplanets and Solar System planets. No repository URL, version identifier, tests, or benchmark outputs are included in the manuscript.
Significance. If the package works as described, it could lower the barrier for students, educators, and researchers who wish to contextualize individual planets within broad populations, and it would provide a useful pedagogical complement to the existing archive services. The paper's scientific claims are modest and are largely about software behavior rather than astrophysical results, and the design choices—standard archives, astropy-based units and uncertainty propagation, a uniform column naming scheme—are sensible and aligned with current community practice. The main strength is conceptual: the package would centralize several commonly repeated tasks in one consistent API. However, the significance is currently conditional because the manuscript provides no way to verify the software, no reproducibility artifacts, and no external validation of the data-access wrappers or derived-quantity calculations.
major comments (4)
- [General availability and §3] The central claim that exoatlas is a friendly, working Python interface is unverifiable as written. The manuscript identifies only a documentation URL (zkbt.github.io/exoatlas/) but provides no persistent repository address, DOI, release tag, or commit hash. A reader cannot run the six-line code block in §3 that supposedly generates Figure 1, cannot inspect the Population class implementation, and cannot check how archival columns are parsed or how derived quantities and uncertainties are computed. For a software-description paper, versioned, publicly accessible source code is the primary evidence for the claims, and its absence is a load-bearing omission rather than a presentation issue.
- [§3, first bullet] The manuscript asserts that Population objects 'automatically access archive data' from the NASA Exoplanet Archive and JPL Solar System Dynamics APIs, but it provides no tests, no example outputs, and no demonstration that the wrappers correctly handle the current API schemas or column names. Because the value of the package is precisely that it hides these details, an incorrect wrapper would silently produce wrong contexts for every user. The paper should include a small test suite or at least a minimal verification script showing that the returned tables match known reference values (e.g., a handful of known planets and their published orbital parameters) and that the semimajor-axis calculation reproduces archival values within propagated uncertainties.
- [§3, second bullet] The derived-quantity workflow is described only in prose. Specifically, the semimajor axis is said to be calculated from P and M⋆ using Kepler's third law, with uncertainties propagated through astropy.uncertainty, but the manuscript does not state the input column names, the assumed mass units, the handling of missing stellar masses, or the treatment of non-Gaussian uncertainties. Without a documented formula and a sample of computed outputs compared against independent values, the correctness of this central feature cannot be assessed. Please provide the actual calculation function or a detailed specification with at least one worked example.
- [Figure 1 and §3, sixth bullet] The six-line code example is presented as evidence of usability, but the figure is not reproducible from the manuscript alone. The example calls TransitingExoplanets() and SolarSystem() and then indexes e["HD209458b"], but the manuscript never specifies how naming-based indexing is implemented, which archive columns back the planet name, or which version of the package produces the figure. Including the generating script with a pinned dependency environment and versioned package would make the figure a meaningful artifact rather than an unverifiable screenshot.
minor comments (8)
- [Title page/author list] The author list contains 'Autumn Stephens' twice; one occurrence should be removed.
- [Abstract and §1] The abstract and the first paragraph of §1 are nearly identical; consider condensing one of them.
- [§3, bullet 6] The text reads 'Figure Figure 1'; the duplicated word should be corrected.
- [§3, bullet 4] There is a typo, 'acheivable' for 'achievable'.
- [§4] The sentence 'All these communities are encouraged try exoatlas' is missing 'to' before 'try'.
- [§3, third bullet] The statement about indexing, slicing, and masking is clear in intent, but the manuscript does not give an example of how masked Population objects are created; a one-line example would make this feature concrete.
- [References and documentation] The documentation URL appears only as plain text and is not a clickable link; also, no license or installation instructions are given, which are important for a software paper.
- [Figure 1 caption] The caption refers to 'Errorbars'; the standard spelling 'error bars' would be clearer.
Circularity Check
No circularity found; the paper is a software description whose only external dependencies are standard archives and libraries.
full rationale
exoatlas is an astronomy software paper, not a derivation or prediction paper. Its claims are about providing a Python interface that retrieves data from the NASA Exoplanet Archive and JPL Solar System Dynamics, computes standard quantities such as Kepler's third law, and propagates uncertainties with astropy (§3). None of these claims reduces to a self-referential input: the retrieved data come from external archives, the derived quantities come from independently stated physical formulas, and no fitted parameter is later renamed as a prediction. The only self-citations are references to the package documentation site (zkbt.github.io/exoatlas/) and the package repository itself, which are the standard way to point readers to a software artifact rather than load-bearing justifications of a scientific result. The manuscript does not include a repository URL, DOI, or commit hash, and it provides no tests or benchmark outputs; these are important reproducibility concerns (flagged in the skeptic's attack) but they are not circularity. Because there is no derivation chain whose outputs are equivalent to its inputs by construction, the circularity score is 0.
Assumptions & free parameters
assumptions (3)
- standard math Kepler's third law P^2 = 4 pi^2 a^3 / (G M*)
- domain assumption Data from NASA Exoplanet Archive and JPL Solar System Dynamics are accurate and current
- domain assumption astropy.uncertainty sample propagation yields valid confidence intervals
Cite this review
Pith. "Pith review of exoatlas: friendly Python code for exoplanet populations." pith.science (2026). https://pith.science/paper/7WIHXKRR
@misc{pith2026250702210,
author = {Pith},
title = {Pith review of: exoatlas: friendly Python code for exoplanet populations},
year = {2026},
howpublished = {\url{https://pith.science/paper/7WIHXKRR}},
note = {Machine review of arXiv:2507.02210}
}
read the original abstract
Planets are complicated. Understanding how they work requires connecting individual objects to the context of broader populations. Exoplanets are easier to picture next to their closest Solar System archetypes, and planets in the Solar System are richer when seen alongside a growing community of known exoplanets in the Milky Way. The `exoatlas` toolkit provides a friendly Python interface for retrieving and working with populations of planets, aiming to simplify the process of placing worlds in context.
Figures
Forward citations
Cited by 1 Pith paper
-
ESCAPE: a small explorer mission to study the stellar drivers of exoplanet evolution
ESCAPE is a proposed NASA Small Explorer that would measure EUV spectra of about 300 nearby stars to constrain stellar EUV irradiance and coronal mass ejection rates affecting exoplanet habitability.
Reference graph
Works this paper leans on
-
[1]
, " * write output.state after.block = add.period write newline
ENTRY address archivePrefix author booktitle chapter doi edition editor eprint howpublished institution journal key month number organization pages publisher school series title misctitle type volume year version url label extra.label sort.label short.list INTEGERS output.state before.all mid.sentence after.sentence after.block FUNCTION init.state.consts ...
-
[2]
write newline
" write newline "" before.all 'output.state := FUNCTION format.url url empty "" new.block "" url * "" * if FUNCTION format.eprint eprint empty "" archivePrefix empty "" archivePrefix "arXiv" = new.block " " eprint * " " * new.block " " eprint * " " * if if if FUNCTION format.doi doi empty "" " " doi * " " * if FUNCTION format.pid doi empty eprint empty ur...
-
[3]
B BHёt#Aj
thebibliography [1] 20pt to REFERENCES 6pt =0pt -12pt 10pt plus 3pt =0pt =0pt =1pt plus 1pt =0pt =0pt -12pt =13pt plus 1pt =20pt =13pt plus 1pt \@M =10000 =-1.0em =0pt =0pt 0pt =0pt =1.0em @enumiv\@empty 10000 10000 `\.\@m \@noitemerr \@latex@warning Empty `thebibliography' environment \@ifnextchar \@reference \@latexerr Missing key on reference command E...
2021
-
[4]
Astropy Collaboration , Price-Whelan , A. M., Lim , P. L., et al. 2022, title The Astropy Project: Sustaining and Growing a Community-oriented Open-source Project and the Latest Major Release (v5.0) of the Core Package , , 935, 167, 10.3847/1538-4357/ac7c74
-
[5]
Christiansen , J. L., McElroy , D. L., Harbut , M., et al. 2025, title The NASA Exoplanet Archive and Exoplanet Follow-up Observing Program: Data, Tools, and Usage , arXiv e-prints, arXiv:2506.03299, 10.48550/arXiv.2506.03299
-
[6]
2025, title exoplanet.eu, https://exoplanet.eu/catalog/
exoplanet.eu. 2025, title exoplanet.eu, https://exoplanet.eu/catalog/
work page 2025
-
[7]
2025, title Minor Planet Center, https://minorplanetcenter.net
IAU. 2025, title Minor Planet Center, https://minorplanetcenter.net
work page 2025
-
[8]
2025, title Solar System Dynamics, https://ssd.jpl.nasa.gov
JPL. 2025, title Solar System Dynamics, https://ssd.jpl.nasa.gov
work page 2025
Show all 13 references
-
[9]
M., Tollerud , E., Sip o cz , B., et al
Morris , B. M., Tollerud , E., Sip o cz , B., et al. 2018, title astroplan: An Open Source Observation Planning Package in Python , , 155, 128, 10.3847/1538-3881/aaa47e
2018 doi
-
[10]
2012, title A proposal for community driven and decentralized astronomical databases and the Open Exoplanet Catalogue , arXiv e-prints, arXiv:1211.7121, 10.48550/arXiv.1211.7121
Rein , H. 2012, title A proposal for community driven and decentralized astronomical databases and the Open Exoplanet Catalogue , arXiv e-prints, arXiv:1211.7121, 10.48550/arXiv.1211.7121
-
[11]
2011, title Homogeneous studies of transiting extrasolar planets - IV
Southworth , J. 2011, title Homogeneous studies of transiting extrasolar planets - IV. Thirty systems with space-based light curves , , 417, 2166, 10.1111/j.1365-2966.2011.19399.x
2011
-
[12]
2025, title exo.MAST, https://exo.mast.stsci.edu
STScI. 2025, title exo.MAST, https://exo.mast.stsci.edu
2025
-
[13]
Williams , D. R. 2025, title NSSDCA Planetary Fact Sheets, https://nssdc.gsfc.nasa.gov/planetary/planetfact.html
2025
Reviewed August 6, 2026 · model on record in the stance chip above.
Discussion (0). Sign in to comment.