Skip to main content

A python package for running parallel experiments across parameter grids with MPI.

Project description

Read the Docs tests codecov Ruff GitHub License DOI

A python package for running parallel experiments across parameter grids with MPI.

Features

  • Flexible Experimentation with Parameter Grids: SweepExp simplifies running experiments over a grid of parameter combinations. Results are stored in an xarray dataset for easy access and analysis.
  • Parallelization: Support for parallelization using multiprocessing, or MPI for high-performance computing.
  • User-Friendly API: Define the function to be tested, set up parameter sweeps, and specify return types effortlessly.

Installation

SweepExp can be installed via pip:

pip install sweepexp

Usage

The followin example shows how to setup a simple experiment that is run on a grid of parameters. Where each parameter combination is run in parallel on separate processes.

from sweepexp import SweepExpParallel

# Define a function to be tested
def my_custom_experiment(x: float, y: float) -> dict:
    """Add and multiply two numbers."""
    return {"addition": x + y, "multiplication": x * y}

sweep = SweepExpParallel(
    func = my_custom_experiment,
    parameters = { "x": [1, 2], "y": [3, 4, 5] },
)

sweep.run()

print(sweep.data)

with the output:

<xarray.Dataset> Size: 160B
Dimensions:         (x: 2, y: 3)
Coordinates:
    * x               (x) int64 16B 1 2
    * y               (y) int64 24B 3 4 5
Data variables:
    status          (x, y) <U1 24B 'C' 'C' 'C' 'C' 'C' 'C'
    addition        (x, y) float64 48B 4.0 5.0 6.0 5.0 6.0 7.0
    multiplication  (x, y) float64 48B 3.0 4.0 5.0 6.0 8.0 10.0

For more information on how to use the package, please refer to the documentation

How to cite

@software{Rosenau_sweepexp_2025,
          author = {Rosenau, Silvano Gordian},
          doi = {10.5281/zenodo.14779187},
          month = jan,
          title = {{SweepExp: A python package for running parallel experiments across parameter grids.}},
          url = {https://github.com/Gordi42/sweepexp},
          version = {1.0.2},
          year = {2025}
}

Author

License

SweepExp is licensed under the MIT License. See LICENSE for more information.

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

sweepexp-1.0.3.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

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

sweepexp-1.0.3-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file sweepexp-1.0.3.tar.gz.

File metadata

  • Download URL: sweepexp-1.0.3.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sweepexp-1.0.3.tar.gz
Algorithm Hash digest
SHA256 13ce176d317670d36debef3383ef37fd750fde9c1290fabd9d529e8c4e0e6221
MD5 bfe8801203658b51493187ecebdb6752
BLAKE2b-256 189f92f66727db8ac72aa85e5df460e1cf2337ef4fe8c71cc7f3bd6b51688a21

See more details on using hashes here.

Provenance

The following attestation bundles were made for sweepexp-1.0.3.tar.gz:

Publisher: publish-to-test-pypi.yml on Gordi42/sweepexp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sweepexp-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: sweepexp-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sweepexp-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f353f423c79701fbf091f2a67122a39b29b8c88f1c85a4071ac72643771a9605
MD5 41a4510072d4cfbe7042ad964fb14233
BLAKE2b-256 6fd5af1eba965c181fe9f37de85d70084bf33d2a7d220208f29d1150bb450dcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for sweepexp-1.0.3-py3-none-any.whl:

Publisher: publish-to-test-pypi.yml on Gordi42/sweepexp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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