mars

Ecosystem and Foundation Alignment

This page captures ecosystem and foundation alignment targets that are adjacent to scientific package review. These are not immediate submission instructions; they define what would make the project credible in each ecosystem.

Alignment Matrix

Target Why it matters Current state Next repo-side step
Apache Arrow Arrow is the main cross-language data interchange story for columnar analytics and memory-oriented interop no Arrow runtime surface yet evaluate Arrow C Data / C Stream as an optional data boundary for matrix and table inputs
PyPA Python packaging standards define the Python distribution baseline PyPI package and release metadata exist keep pyproject.toml, trusted publishing, metadata, and wheel smoke tests aligned with PyPA specs
.NET Foundation C# ecosystem stewardship and project-health framing NuGet package exists document C# binding ownership, support policy, and whether foundation membership is useful
Julia communities Julia General is the registry path and community discovery route Julia package registration is pending for MarsEarth; MarsRuntime is a separate legacy identity keep Julia docs, package metadata, examples, issue routing, and registration status current for future releases
R communities R package review and discovery depend on R-specific documentation and checks R package is locally publication-ready complete r-universe/CRAN path, then align examples and review notes

Apache Arrow Position

Arrow is relevant as a future data interchange boundary, not as a requirement for the current API. A non-breaking path would be:

  1. keep numpy/list inputs and ModelSpec JSON as public APIs
  2. add optional Arrow import/export helpers behind feature gates or package extras
  3. consider Arrow C Data / C Stream only after ownership and lifetime rules are documented
  4. keep model semantics independent from the transport format

PyPA Position

The Python package should stay aligned with PyPA interoperability specs:

.NET Foundation Position

The .NET Foundation is relevant if the C# binding becomes a serious community surface. Before that, the repo needs:

Julia and R Position

Julia and R should be treated as language communities with their own publication norms:

Additional SOTA Improvements

Recommended improvements that cut across ecosystems:

References