PLAID: Physics-Learning AI Datamodel

PLAID: Physics-Learning AI Datamodel - Published in JOSS (2026)

https://github.com/plaid-lib/plaid

Science Score: 87.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: arxiv.org, joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

data-model dataset physics-simulation scientific-machine-learning

Keywords from Contributors

archival projection profiles interactive sequences generic observability autograding hacking shellcodes
Last synced: about 6 hours ago · JSON representation

Repository

PLAID (Physics-Learning AI Datamodel), a flexible and extensible framework for representing and sharing datasets of physics simulations

Basic Info
Statistics
  • Stars: 23
  • Watchers: 3
  • Forks: 5
  • Open Issues: 23
  • Releases: 16
Topics
data-model dataset physics-simulation scientific-machine-learning
Created about 1 year ago · Last pushed 1 day ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codeowners Security

README.md

PLAID logo

PLAID

Physics Learning AI Data Model — turning complex physics simulations into AI-ready data.

CI Status Docs Coverage Last Commit
Conda Version PyPI Version Spack Version Platform Python Version
License GitHub Stars JOSS paper JOSS paper

Physics Learning AI Data Model (PLAID)

1. Description

This library proposes an implementation for a data model tailored for AI and ML learning of physics problems. It has been developed at SafranTech, the research center of Safran group.

  • Documentation: https://plaid-lib.readthedocs.io/
  • Source code: https://github.com/PLAID-lib/plaid
  • Contributing: https://github.com/PLAID-lib/plaid/blob/main/CONTRIBUTING.md
  • License: https://github.com/PLAID-lib/plaid/blob/main/LICENSE.txt
  • Bug reports: https://github.com/PLAID-lib/plaid/issues
  • Report a security vulnerability: https://github.com/PLAID-lib/plaid/security/advisories/new

2. Getting started

2.1 Using the library

To use the library, the simplest way is to install it from the packages available:

  • on conda-forge for Linux, macOS, and Windows: bash conda install -c conda-forge plaid

  • on PyPI for Linux: bash pip install pyplaid

  • on Spack for Linux, macOS, and Windows: bash spack install py-plaid

Note

  • Conda-forge packages for Linux, macOS, and Windows, as well as the Linux PyPI package, include a bundled pyCGNS dependency. Non-Linux PyPI installations require a separate pyCGNS installation and are untested.
  • A Spack package recipe is available for Linux, macOS, and Windows, but has only been tested on Linux.
  • On Apple Silicon, users can force an osx-64 conda environment with CONDA_SUBDIR=osx-64 to install the existing macOS-64 builds under Rosetta.

2.2 Contributing to the library

To contribute to the library, you need to clone the repo using git:

bash git clone https://github.com/PLAID-lib/plaid.git

2.2.1 Development dependencies

To configure an environment:

  • using conda (Windows, macOS and Linux): bash conda env create -n plaid-dev python=3.12 -f environment.yml pip install -e . --no-deps

  • using uv (Linux): bash uv sync --dev --extra viewer

2.2.2 Tests and examples

To check the installation, you can run the unit test suite:

bash uv run pytest tests

To test further and learn about simple use cases, you can run and explore the examples:

bash cd examples bash run_examples.sh # [unix] run_examples.bat # [win]

2.2.3 Documentation

The documentation is built with Zensical and mkdocstrings. To compile it locally, run:

bash cd docs uv run bash generate_doc.sh

Various notebooks are executed during compilation. The documentation can then be explored in docs/_build/html.

2.2.4 Formatting and linting with Ruff

We use Ruff for linting and formatting.

The configuration is defined in ruff.toml, and some folders like docs/ and examples/ are excluded from checks.

You can run Ruff manually as follows:

bash uv run ruff --config ruff.toml check . --fix # auto-fix linting issues uv run ruff --config ruff.toml format . # auto-format code

2.2.5 Setting up pre-commit

Pre-commit is configured to run the following hooks:

  • Ruff check
  • Ruff format
  • Pytest

The selected hooks are defined in the .pre-commit-config.yaml file.

To run all hooks manually on the full codebase:

bash uv run pre-commit run --all-files

You can also run (once):

bash uv run pre-commit install

This ensures that every time you commit, all the hooks are executed automatically on the staged files.

3. Call for Contributions

The PLAID project welcomes your expertise and enthusiasm!

Small improvements or fixes are always appreciated.

Writing code isn’t the only way to contribute to PLAID. You can also: - review pull requests - help us stay on top of new and old issues - develop tutorials, presentations, and other educational materials - maintain and improve our documentation - help with outreach and onboard new contributors

If you are new to contributing to open source, this guide helps explain why, what, and how to successfully get involved.

4. Documentation

The documentation is deployed on readthedocs.

Owner

  • Name: PLAID-lib
  • Login: PLAID-lib
  • Kind: organization

JOSS Publication

PLAID: Physics-Learning AI Datamodel
Published
July 07, 2026
Volume 11, Issue 123, Page 8830
Authors
Fabien Casenave ORCID
SafranTech, Safran Tech, Digital Sciences & Technologies, 78114 Magny-Les-Hameaux, France
Xavier Roynard ORCID
SafranTech, Safran Tech, Digital Sciences & Technologies, 78114 Magny-Les-Hameaux, France
Alexandre Devaux-Rivière ORCID
SafranTech, Safran Tech, Digital Sciences & Technologies, 78114 Magny-Les-Hameaux, France, EPITA, 14-16 Rue Voltaire, 94270 Le Kremlin-Bicêtre, France
Editor
Chris Vernon ORCID
Tags
python scientific machine learning data model physics simulation

GitHub Events

Total
  • Release event: 13
  • Delete event: 135
  • Member event: 2
  • Pull request event: 168
  • Fork event: 2
  • Issues event: 122
  • Watch event: 16
  • Issue comment event: 320
  • Push event: 697
  • Pull request review event: 163
  • Pull request review comment event: 91
  • Create event: 169
Last Year
  • Release event: 1
  • Delete event: 95
  • Member event: 1
  • Pull request event: 113
  • Fork event: 2
  • Issues event: 86
  • Watch event: 6
  • Issue comment event: 238
  • Push event: 509
  • Pull request review event: 125
  • Pull request review comment event: 71
  • Create event: 119

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 277
  • Total Committers: 13
  • Avg Commits per committer: 21.308
  • Development Distribution Score (DDS): 0.643
Past Year
  • Commits: 172
  • Committers: 11
  • Avg Commits per committer: 15.636
  • Development Distribution Score (DDS): 0.424
Top Committers
Name Email Commits
Fabien Casenave f****e@g****m 99
Fabien Casenave f****e@s****m 67
Xavier Roynard x****d@h****m 51
Alex DR a****e@s****m 28
Brian Staber b****r@g****m 17
William Piat w****t@s****m 4
Arthur HAMARD 7****m 3
Arthur Guelennoc a****c@g****m 2
Dev Kumar Pal 7****3 2
xmvnguyen x****n@s****m 1
dependabot[bot] 4****] 1
Tanmay Chaudhari 4****7 1
Brian Staber b****r@s****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 days ago

All Time
  • Total issues: 79
  • Total pull requests: 110
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 5 days
  • Total issue authors: 4
  • Total pull request authors: 8
  • Average comments per issue: 0.82
  • Average comments per pull request: 1.68
  • Merged pull requests: 56
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 50
  • Pull requests: 77
  • Average time to close issues: 28 days
  • Average time to close pull requests: 4 days
  • Issue authors: 4
  • Pull request authors: 8
  • Average comments per issue: 0.64
  • Average comments per pull request: 2.04
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • xroynard (37)
  • casenave (36)
  • bstaber (5)
  • tanmayc07 (1)
Pull Request Authors
  • casenave (58)
  • xroynard (28)
  • bstaber (15)
  • AntitheticalElysium (3)
  • devkumar2313 (3)
  • williampiat3 (1)
  • dependabot[bot] (1)
  • reg1um (1)
Top Labels
Issue Labels
enhancement (47) bug (14) documentation (11) good first issue (10) organisation (8) nice to have (6) typing (6) tests (4) ci (4) question (2) help wanted (1) duplicate (1) invalid (1)
Pull Request Labels
enhancement (15) documentation (8) bug (8) ci (3) organisation (3) typing (2) tests (2) python (1) dependencies (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 378 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 15
  • Total maintainers: 5
spack.io: py-plaid

A package that implements a data model tailored for AI and ML in the context of physics problems

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 25.7%
Dependent packages count: 51.5%
Maintainers (3)
Last synced: 28 days ago
pypi.org: pyplaid

A package that implements a data model tailored for AI and ML in the context of physics problems

  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 378 Last month
Rankings
Dependent packages count: 9.1%
Average: 30.0%
Dependent repos count: 51.0%
Maintainers (3)
Last synced: 3 days ago