Skip to content

CAMSAI Standards provides schemas, validation tools, and data models for materials science and AI research. It ensures data consistency, interoperability, and quality across workflows. Built with Pydantic, it streamlines data integration and supports reproducible, collaborative research in the CAMSAI ecosystem.

License

Notifications You must be signed in to change notification settings

camsai/standards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAMSAI Standards

The CAMSAI Standards repository defines and maintains a set of consistent schemas, validation tools, and data standards for materials science data and AI-driven research workflows. These standards ensure the interoperability, reproducibility, and scalability of materials-related datasets and applications across the CAMSAI ecosystem.


Purpose

This repository provides:

  • Data Models: Pydantic-based schemas for defining and validating data structures.
  • Validation Utilities: Tools to ensure data compliance with established standards.
  • Interoperability Support: Standards that facilitate seamless collaboration between different systems, tools, and workflows.

Key Features

  1. Schema Definitions

    • Comprehensive data models for common materials science objects.
    • Designed for compatibility with CAMSAI workflows and third-party applications.
  2. Validation Tools

    • Python utilities to validate data against the defined standards.
    • Example workflows for integrating validation into your projects.
  3. Interoperability

    • Supports data exchange and integration across various CAMSAI and external platforms.

Repository Structure

  • src/py/camsai/standards
    Contains Python files defining the Pydantic schemas for various data models by source/provider (e.g., Mat3ra.com).

Installation

Using pip:

You can install the repository using pip (requires Python 3.8+):

pip install camsai-standards

or from GitHub:

pip install git+https://github.com/camsai/standards.git

In JupyterLite:

Install the package in a Pyodide-based JupyterLite environment:

await micropip.install("camsai-standards")

Usage

Example: Validating a Material Schema

from camsai.standards.mat3ra import Mat3raMaterialSchema
from camsai.standards import is_valid

# Example material data
material_data = {...}

# Validate data
if is_valid(Mat3raMaterialSchema, material_data):
    print("Valid material data")
else:
    print("Invalid material data")

Example: Using Predefined Examples

from mat3ra.esse.data.examples import EXAMPLES

example_material = next((e for e in EXAMPLES if e["path"] == "material"), None)["data"]
print(example_material)

Contributing

We welcome contributions! To contribute:

  1. Fork the repository.
  2. Create a branch for your changes:
    git checkout -b feature/new-schema
  3. Commit your changes and open a pull request.

Please ensure all contributions are consistent with existing standards and include tests where applicable.


License

This repository is licensed under the Apache License 2.0. See the LICENSE file for details.


Contact

For questions or feedback, contact us at:

About

CAMSAI Standards provides schemas, validation tools, and data models for materials science and AI research. It ensures data consistency, interoperability, and quality across workflows. Built with Pydantic, it streamlines data integration and supports reproducible, collaborative research in the CAMSAI ecosystem.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages