Skip to content

[DISCUSSION] Contribution pathway for community-curated materials/grades #218

@gerchowl

Description

@gerchowl

The question

py-mat 3.11.0 ships ~80 curated materials with _sources provenance and a licensing gate. The long tail of engineering materials is vast — every CAD user we don't ship is a user who needs a path to define their own. Today there are three plausible modes, and we don't yet have an opinion on the right default.

  1. Personal configMaterial(name="MyAlloy", density=...) ad-hoc in the user's own script. Zero ceremony; no provenance; no shared correctness.
  2. Per-project / per-vendor TOML — committed to the user's repo, loaded via pymat.load_toml(path). Per-team curation; provenance preserved; users pay the schema cost. (Existing API, undocumented as the recommended pattern.)
  3. Upstream PR — material added to src/pymat/data/<category>.toml with citations + license, reviewed against docs/data-policy.md. Everyone gets it; highest friction.

What I'd like your read on, @bernhard-42

Three things, where build123d's user-base shape is the strongest signal:

  1. What's the realistic split? Of build123d users who reach for shape.material = ..., how many would land at (a) ad-hoc, (b) per-team TOML, (c) upstream PR? Order-of-magnitude is enough.
  2. Is the schema bar a barrier for the long tail? A user who just wants density for shape.mass (your Level-2 ergonomic) faces the full TOML schema today. Is a lighter "drive-by" path worth building?
  3. Is the licensing/provenance gate (citation + license per property) reasonable for community contributions, or does it filter the long tail before it reaches a PR?

Picking a default unilaterally would lock in the wrong choice if your users actually behave differently than we'd guess. No timeline.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions