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
-
Schema Definitions
- Comprehensive data models for common materials science objects.
- Designed for compatibility with CAMSAI workflows and third-party applications.
-
Validation Tools
- Python utilities to validate data against the defined standards.
- Example workflows for integrating validation into your projects.
-
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:
- Fork the repository.
- Create a branch for your changes:
git checkout -b feature/new-schema
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e618f86e70c4f79834184d13d4c63998761fb228ee466e330af90e9016f1b8af
|
|
| MD5 |
b075c597ad104c474d356e4ae408d7a6
|
|
| BLAKE2b-256 |
a2d1c8ad17a1f932068165af7ca6ef5f3b2861fcc29f50c0246ba2b66fe301f4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9719d90180e1b5c5d60fef5c0fcfd4fe852c82623df4b2ca271f26f27115e24b
|
|
| MD5 |
c1f9b8ead95121cfc41f2b0f8253d5b3
|
|
| BLAKE2b-256 |
12f31c9cb0b9b40a0dec80bdffb7692da855e40dba6fb184000f36431464d40d
|