Skip to main content

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:

Release files for camsai-standards 2024.12.13.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for camsai-standards 2024.12.13.post1
File Size Uploaded
camsai_standards-2024.12.13.post1.tar.gz 10.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for camsai-standards 2024.12.13.post1
File Interpreter ABI Platform
camsai_standards-2024.12.13.post1-py3-none-any.whl Python 3 none any Details

Total release size: 18.5 kB

Release files / camsai_standards-2024.12.13.post1.tar.gz

Download URL camsai_standards-2024.12.13.post1.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e618f86e70c4f79834184d13d4c63998761fb228ee466e330af90e9016f1b8af
BLAKE2b-256 checksum
How to use checksums
a2d1c8ad17a1f932068165af7ca6ef5f3b2861fcc29f50c0246ba2b66fe301f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/8.5.0 pkginfo/1.12.0 requests/2.32.3 requests-toolbelt/1.0.0 tqdm/4.67.1 CPython/3.10.12

Release files / camsai_standards-2024.12.13.post1-py3-none-any.whl

Download URL camsai_standards-2024.12.13.post1-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9719d90180e1b5c5d60fef5c0fcfd4fe852c82623df4b2ca271f26f27115e24b
BLAKE2b-256 checksum
How to use checksums
12f31c9cb0b9b40a0dec80bdffb7692da855e40dba6fb184000f36431464d40d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/8.5.0 pkginfo/1.12.0 requests/2.32.3 requests-toolbelt/1.0.0 tqdm/4.67.1 CPython/3.10.12

Release history Release notifications | RSS feed

This release

2024.12.13.post1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page