Skip to main content

PUMAS is a Python package implementing a multi-objective scoring systems based on desirability functions and aggregation.

Project description

PyPI - Version Downloads monthly Downloads total GitHub Workflow Status Documentation Status Contributions https://img.shields.io/badge/code%20style-black-000000.svg https://img.shields.io/badge/license-MIT-blue.svg

This Python package implements a flexible multi-objective scoring system based on desirability functions and aggregation.

Key Features

  • Define custom scoring profiles with:

    • Desirability functions for each objective

    • Aggregation algorithm selection

    • Optional weighting and importance factors

  • Calculate individual desirability scores for each property

  • Aggregate scores using the specified method

  • Process data from various input formats (e.g., dictionaries, dataframes)

Use Cases

  • Decision support systems

  • Multi-criteria optimization

  • Performance evaluation

  • Product or candidate ranking

Installation

Create a dedicated Python environment for this package with your favorite environment manager.

conda create -n pumas python=3.9
conda activate pumas
  • Option 1: Install the package from the github repository:

pip install git+ssh://git@github.com/syngenta/pumas.git@main
  • Option 2: Install the package from the Python Package Index (PyPI):

pip install pumas

Installing optional dependencies

Extensions to Pumas, have conditional dependencies on a variety of third-party Python packages. All dependencies are installed

A full list of conditional dependencies can be found in Pumas’s pyproject.toml (stored related requirements text files).

Uncertainty Management and Probabilistic Scoring

The core installation of PUMAS support a basic scoring framework based on numerical values. To enable probabilistic scoring frameworks, to use and propagate value uncertainty, please install optional libraries with:

pip install pumas[uncertainty]

Graphical bindings and plotting

The core installation of PUMAS does not include any plotting capability, and, hence, the graphical bindings are unavailable. To enable both the plotting module and the graphical binding, please install the optional libraries with:

pip install pumas[graphics]

Development Installation

When working on the development of this package, the developer wants to work directly on the source code while still using the packaged installation.

Please install the package in development mode, including all dependencies.

git clone git@github.com:syngenta/pumas.git
pip install -e pumas/[dev]

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

pumas-1.3.0.tar.gz (52.0 kB view details)

Uploaded Source

Built Distribution

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

pumas-1.3.0-py3-none-any.whl (76.0 kB view details)

Uploaded Python 3

File details

Details for the file pumas-1.3.0.tar.gz.

File metadata

  • Download URL: pumas-1.3.0.tar.gz
  • Upload date:
  • Size: 52.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for pumas-1.3.0.tar.gz
Algorithm Hash digest
SHA256 78cc733864af4393f8da558908c89085731731275211de9372182a1c0e744805
MD5 c4e9844b600f2ec9cf550440fa146a64
BLAKE2b-256 58a95ef62c48e50b9126ce59d7cbaa4a1d77a403d3a11a33fa3ff3e67c756bca

See more details on using hashes here.

File details

Details for the file pumas-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: pumas-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 76.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for pumas-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 af4b618f22f1c988260794db9bdc7714d9a8e5ece8717ea77f0a31046f7f0987
MD5 0510becde9f0a49beed6b041d511be50
BLAKE2b-256 963f26e42134c726e9e1e218fd4bb2f0b4a37b3792c5a83a56347d753d945e64

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