Skip to main content

ML Performance and Extrapolation Guide

Project description

ML-PEG: ML Performance and Extrapolation Guide

PyPI version Python versions Build Status Docs status License DOI

🔗 See our live guide: https://ml-peg.stfc.ac.uk

Contents

Getting started

Dependencies

All required and optional dependencies can be found in pyproject.toml.

Installation

The latest stable release of ML-PEG, including its dependencies, can be installed from PyPI by running:

python3 -m pip install ml-peg

To get all the latest changes, ML-PEG can be installed from GitHub:

python3 -m pip install git+https://github.com/ddmms/ml-peg.git

Features

More details coming soon!

Development

Please ensure you have consulted our contribution guidelines and coding style before proceeding.

We recommend installing uv for dependency management when developing for ML-PEG:

  1. Install uv
  2. Install ML-PEG with dependencies in a virtual environment:
git clone https://github.com/ddmms/ml-peg
cd ml-peg
uv sync # Create a virtual environment and install dependencies
source .venv/bin/activate
pre-commit install  # Install pre-commit hooks
pytest -v  # Discover and run all tests

Please refer to the online documentation for information about contributing new benchmarks and models.

Command-line interface

To help run calculations, analysis, and the application, we provide the ml_peg command line tool, which is installed with the package. This provides the following commands:

ml_peg app
ml_peg calc
ml_peg analyse
ml_peg download
ml_peg list

For example, to run the X23 test with mace-mp-0a and orb-v3-consv-inf-omat, you can run:

ml_peg calc --test X23 --models mace-mp-0a,orb-v3-consv-inf-omat

A description of each subcommand, as well as valid options, can be listed using the --help option. For example:

ml_peg calc --help

The ml_peg list command provides a further set of subcommands:

ml_peg list calcs
ml_peg list analysis
ml_peg list app
ml_peg list models

which list the available tests and categories that may be run for ml_peg calc, ml_peg analyse and ml_peg app, and the MLIPs that these can be run for.

Tutorials

We encourage developers new to the ML-PEG framework to work through the detailed step-by-step guides provided by our Jupyter Notebook tutorials:

Docker/Podman images

You can use Docker or Podman to build and/or run the ML-PEG app yourself.

[!TIP] The commands below will assume you are using Docker. To use Podman, replace docker with podman, e.g. podman pull, podman build, and podman run.

A Docker image with the latest changes can be pulled from the GitHub container registry, following the command that can be found under this repository's packages.

[!NOTE] Currently, this repository only contains images for the linux/amd64 platform. On MacOS with ARM silicon, this can often still be run by setting --platform linux/amd64 when using docker run.

Alternatively, to build the container yourself, you can use the Dockerfile provided. From the ml-peg directory, run:

docker build -t ml-peg-app -f containers/Dockerfile .

Once built, you can mount your current application data and start the app by running:

docker run --volume ./ml_peg/app/data:/app/ml_peg/app/data  --publish 8050:8050 ml-peg-app

[!TIP] Ensure ml_peg/app/data is populated with results before running the container.

A compressed zip file containing the current live data can be found at http://s3.echo.stfc.ac.uk/ml-peg-data/app/data/data.tar.gz.

This may also be downloaded through the command line using

ml_peg download --key app/data/data.tar.gz  --filename data.tar.gz

Alternatively, you can use the compose.yml file provided, via Docker Compose:

docker compose -f containers/compose.yml up -d

The app should now be accessible at http://localhost:8050.

License

GNU General Public License version 3

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

ml_peg-0.4.0.tar.gz (9.5 MB view details)

Uploaded Source

Built Distribution

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

ml_peg-0.4.0-py3-none-any.whl (9.7 MB view details)

Uploaded Python 3

File details

Details for the file ml_peg-0.4.0.tar.gz.

File metadata

  • Download URL: ml_peg-0.4.0.tar.gz
  • Upload date:
  • Size: 9.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ml_peg-0.4.0.tar.gz
Algorithm Hash digest
SHA256 d120aa38fe6f4d0c5c0fd65266e30d193accc4a1d27b3c116794d724bb896906
MD5 b41240d3090683f521c2ad9e5280f72d
BLAKE2b-256 e7a5a73a528cb444434f6f8953ed87de4c30e7a5d1208eb7cbf63a0cea399131

See more details on using hashes here.

File details

Details for the file ml_peg-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: ml_peg-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ml_peg-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff96409632b9631dea9cb6d67ac6c6f1ff3aa9a5c15598a8569a47d5d9a5722b
MD5 e65a3ff1d39bf5bdcbee5931ff4edee7
BLAKE2b-256 87a43d27bc4cd6b9cb365f9d198b49b130185dee6923e0549cde3d686a043266

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