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.2.0.tar.gz (50.2 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.2.0-py3-none-any.whl (73.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pumas-1.2.0.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.16

File hashes

Hashes for pumas-1.2.0.tar.gz
Algorithm Hash digest
SHA256 fbb3f19f96d5e576acf98704937a10c621d45c30cea996ee5d0b71ac5b7386e3
MD5 c96f9c5b26ac66cc55e655187bf25c77
BLAKE2b-256 f5146fce10a5cb7cffe35eee0b031c38620a8c5b1d0f294c4782e67d422bc397

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pumas-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 73.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.16

File hashes

Hashes for pumas-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 15c8bce5b27b3a2369b97a65ec15b66ee12e3926d39cf09990dcea1d74007f7f
MD5 7720dd9f6a155cd9a93efe1dcf3e833b
BLAKE2b-256 c4b372cc25c8331ce689e3b4ad9bb38d052c730b7e77e35065cdd1d39a5a5058

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