Skip to main content

CAMSAI standards

Project description

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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

camsai_standards-2024.12.13.post1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

camsai_standards-2024.12.13.post1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file camsai_standards-2024.12.13.post1.tar.gz.

File metadata

  • Download URL: camsai_standards-2024.12.13.post1.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for camsai_standards-2024.12.13.post1.tar.gz
Algorithm Hash digest
SHA256 e618f86e70c4f79834184d13d4c63998761fb228ee466e330af90e9016f1b8af
MD5 b075c597ad104c474d356e4ae408d7a6
BLAKE2b-256 a2d1c8ad17a1f932068165af7ca6ef5f3b2861fcc29f50c0246ba2b66fe301f4

See more details on using hashes here.

File details

Details for the file camsai_standards-2024.12.13.post1-py3-none-any.whl.

File metadata

  • Download URL: camsai_standards-2024.12.13.post1-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for camsai_standards-2024.12.13.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 9719d90180e1b5c5d60fef5c0fcfd4fe852c82623df4b2ca271f26f27115e24b
MD5 c1f9b8ead95121cfc41f2b0f8253d5b3
BLAKE2b-256 12f31c9cb0b9b40a0dec80bdffb7692da855e40dba6fb184000f36431464d40d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page