Skip to content

Add Earthmover Marketplace user guide - #1138

Open
negin513 wants to merge 21 commits into
NVIDIA:mainfrom
negin513:worktree-earthmover-marketplace-docs
Open

negin513 wants to merge 21 commits into
NVIDIA:mainfrom
negin513:worktree-earthmover-marketplace-docs

Conversation

@negin513

@negin513 negin513 commented Sep 4, 2026

Copy link
Copy Markdown
Member

Earth2Studio Pull Request

Description

Adds a new user guide page (docs/userguide/components/earthmover_marketplace.md)
documenting how to use Earth2Studio's Earthmover Marketplace data sources
(EarthMoverERA5, EarthMoverBrightBandIFS, EarthMoverBrightBandIFS_FX):
subscribing to a listing, authenticating, fetching data, how the data is hosted
(read live from the provider's own object store via Icechunk, not copied), writing
output back to Arraylake, and publishing your own Marketplace listing. Wired into
mkdocs.yml nav and cross-linked from the existing Data Sources page. Also fixes the
data-source usage examples to pass datetime objects instead of raw ISO strings,
which prep_data_inputs does not support outside of run.deterministic.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.
  • The CHANGELOG.md is up to date with these changes.
  • An issue is linked to this pull request.
  • Assess and address Greptile feedback (AI code review bot for guidance; use discretion, addressing all feedback is not required).

Dependencies

None.

Documents subscribing, authenticating, and reading Earthmover
Marketplace repos (EarthMoverERA5, EarthMoverBrightBandIFS,
EarthMoverBrightBandIFS_FX) with usage examples and troubleshooting.
Add free-vs-paid subscription flow details (Professional plan, request
access, filtered subscriptions) and further-reading links, verified
against docs.earthmover.io/marketplace and /setup/installation.
Each listing page is where the Arraylake repository is hosted and
subscribed to; link directly to each dataset's listing.
Explain that Marketplace data is read live from each provider's own
object store rather than copied (free vs filtered subscriptions), and
that these data sources have no local disk cache unlike other
Earth2Studio remote sources. Add a license/cost callout to the
subscribe step. Sourced from docs.earthmover.io/marketplace/data-providers.
earth2studio.data.utils.prep_data_inputs does not accept a bare
string or a list of strings for the time argument (only datetime,
np.datetime64, pd.Timestamp, or arrays thereof) -- only workflow
entry points like run.deterministic convert list[str] via
to_time_array first. Verified against the library by running
EarthMoverERA5/EarthMoverBrightBandIFS_FX directly; string input
raised a raw TypeError instead of the intended validation error.
Replace paraphrased subscribe steps with direct quotes from
docs.earthmover.io/marketplace/data-users, and add the
not-anonymous subscription privacy note from the same source.
Earth2Studio's IceChunkBackend is not integrated with Arraylake's
managed repos (verified by reading its __init__: it only accepts a
plain icechunk.Storage and always calls Repository.open_or_create()
itself). Document the arraylake client's writable_session/commit
pattern as the supported path instead.
…atim

Add the full provider onboarding flow (org creation, Professional
tier, Credential Vending, listing creation, pricing models) sourced
from docs.earthmover.io/marketplace/data-providers.
Link each dataset's og:image (Earthmover's own public social-preview
card, hosted on app.earthmover.io) in a card grid, with its exact
listing description quoted. Also add a Provider column to the table
(earthmover-public, brightband) sourced from the same cards.
Replace remaining paraphrases with verbatim quotes: FAQ pricing
language in the License & cost note, storage/BYOB wording in How
the data is hosted, and API key creation steps in Authenticate.
Sourced from docs.earthmover.io/marketplace/faq, /concepts/storage,
and /setup/org-access.
@copy-pr-bot

copy-pr-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@greptile-apps

greptile-apps Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds an Earthmover Marketplace user guide, links it from the data-source documentation and site navigation, and documents subscription, authentication, reads, writes, and publishing.

  • Adds usage examples for the three EarthMover data sources.
  • Documents Arraylake authentication, repository access, and output-writing workflows.
  • Adds Marketplace navigation and cross-links from the existing data-source guide.

Confidence Score: 4/5

The PR appears safe to merge after the non-blocking Python-version wording is narrowed to the package's supported range.

The documentation and navigation align with the implemented EarthMover interfaces, but the prerequisite note incorrectly implies support for Python 3.15 and later despite the package metadata rejecting those interpreters.

Files Needing Attention: docs/userguide/components/earthmover_marketplace.md

Important Files Changed

Filename Overview
docs/userguide/components/earthmover_marketplace.md Adds the Marketplace guide; its open-ended “Python 3.12 or newer” prerequisite conflicts with the package's <3.15 upper bound.
docs/userguide/components/datasources.md Adds a valid cross-link to the new Marketplace guide.
mkdocs.yml Adds the new page to the Components navigation using the established path format.

Reviews (1): Last reviewed commit: "Quote more of Earthmover's exact docs la..." | Re-trigger Greptile

Comment on lines +12 to +13
Arraylake-backed Earthmover data sources require **Python 3.12 or newer** and the
optional `arraylake` dependency, installed with:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Python support range is overstated

The guide says these data sources support “Python 3.12 or newer,” but the package requires Python <3.15. Users on Python 3.15 or later are therefore told their interpreter is supported even though installation is rejected; describe the range as Python 3.12 through 3.14.

Suggested change
Arraylake-backed Earthmover data sources require **Python 3.12 or newer** and the
optional `arraylake` dependency, installed with:
Arraylake-backed Earthmover data sources require **Python 3.12 through 3.14** and the
optional `arraylake` dependency, installed with:

- Complete the truncated Brightband IFS quote ("available 4x daily")
- Disambiguate "your object store" consistently in both free/paid
  hosting quotes (both are from provider-facing docs)
- Replace the inaccurate generic "<org>/<dataset>-subscription"
  naming claim with real, verified examples per listing
- Document that EarthMoverERA5 hardcodes fixed Zarr group names,
  unlike the BrightBandIFS classes, so custom-repo compatibility is
  per-class, not universal
- Soften the caching claim to what was actually verified (Earth2Studio's
  own cache is unused; arraylake/Icechunk-internal caching is unverified)
black only formats Python, not markdown; this repo's actual
markdown linter is markdownlint-cli (pre-commit). Add the
markdownlint-disable MD013/MD033/MD046 header used by other doc
pages with tables, inline HTML, and admonition-nested code fences
(e.g. install.md, datasources_analysis.md), and fix a genuine
stray-space-in-code-span issue in the Troubleshooting table.
@negin513
negin513 requested a review from NickGeneva September 4, 2026 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant