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.1.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.1-py3-none-any.whl (9.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ml_peg-0.4.1.tar.gz
  • Upload date:
  • Size: 9.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.1.tar.gz
Algorithm Hash digest
SHA256 49ca768053d87653095b176d92a6df05594294453ff991b202583c278a9538d6
MD5 1f0009fa60cbbbca8f8a248b168a3645
BLAKE2b-256 323e2eec19a4949c850e55073861f990a9b2d937eefb1b1c450cea5fd06efeac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ml_peg-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d93f2d600012d0afb09f3b11512069ccf6c88a1f77505fbfc370075a972325f9
MD5 6b1704db5b035b71172f0e30d229b5c9
BLAKE2b-256 ddbc564f698016571c2705ee9e2e2b15e57a4a739e1ccb21d67af670933849b6

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