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.5.0.tar.gz (9.6 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.5.0-py3-none-any.whl (9.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ml_peg-0.5.0.tar.gz
  • Upload date:
  • Size: 9.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.5.0.tar.gz
Algorithm Hash digest
SHA256 7778e3aa61e8553f990fac1c55a048d01e819dbc0cbb36a4e198156c7f558387
MD5 618f483f8d7209b2212f1b147298311c
BLAKE2b-256 03e645234d9e9aaf59f069cc4d2a3d66482781699baceceadfeaae739fb6d4a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ml_peg-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c24e1718f437fb43c56bb385775f305d7951d137c450f5d7dd35856ca6dbb54
MD5 2a8a0359be1c8a7967734877f2a2015c
BLAKE2b-256 47c44c6d33dab17adcc55d18c8c80eac304c4f4233bd0c26beede89da47d01da

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