Skip to content
/ atomea Public

Extensible schema for atomistic simulations and calculations

License

Notifications You must be signed in to change notification settings

oasci/atomea

Repository files navigation

atomea

Extensible schema for atomistic data and calculations.

Build Status Build Status PyPI version PyPI - Python Version codecov GitHub release (latest by date) License GitHub repo size Black style Black style Black style

Overview

Atomea is a Python package designed to simplify and standardize the setup and data management for atomistic data and calculations. It leverages the power of Pydantic for schema definition and Jinja2 templates for input file generation, making it easy to automate, document, and prepare input files for various computational chemistry and biology tools.

Key features

  • Extensible Schema Definition: Easily define schemas for various computational packages using Pydantic.
  • Automated Input File Preparation: Generate input files with Jinja2 templates to ensure consistency and reproducibility.
  • Data Digestion: Convert raw output files into optimized storage formats (e.g., Zarr) with a consistent interface.
  • YAML Integration: Save and load configurations and data in YAML format for easy sharing and reproducibility.

Installation

Atomea requires Python 3.10 or later. You can install it using pip, the Python package installer. This will install atomea along with its core dependencies: loguru, pydantic, pyyaml, and numpy.

pip install atomea

Atomea has several optional dependency groups that you can install based on your needs. You can include these when installing atomea or add them later.

  • storage: Allows saving digested outputs to several file types.
  • sim: Allows digesting simulations using MDAnalysis.

For example, we can install both of these optional dependencies.

pip install atomea[storage,sim]

Deploying

We use bump-my-version to release a new version. This will create a git tag that is used by poetry-dynamic-version to generate version strings and update CHANGELOG.md.

For example, to bump the minor version you would run the following command.

poetry run bump-my-version bump minor

After releasing a new version, you need to push and include all tags.

git push --follow-tags

License

This project is released under the Apache-2.0 License as specified in LICENSE.md.

About

Extensible schema for atomistic simulations and calculations

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published