Skip to main content

Multi-objective optimization using dynamic programming to find Pareto-optimal solutions

Project description

pareto_dp

Simple multi-objective optimization using dynamic programming to approximate the Pareto frontier.

Written in Rust, published as a Python PyPI package with PyO3 and maturin.

Problem specification

This library solves a multi-objective multiple-choice combinatorial optimization problem with additive separable objectives, designed for scenarios with precomputed data for independent decision points.

Here's an introductory blogpost that provides more motivation for the problem.

Core user-facing properties

  • Independent groups: The problem consists of n independent groups (e.g., decision stages, components) with no interdependencies.
  • Additive objective aggregation: The total objective vector for a configuration is the sum of per-group contributions. For a configuration x (one scenario chosen per group), the v-dimensional objective is: $$ F(x) = \sum_{i=1}^n a_{i,x_i} \in \mathbb{R}^v $$ where a_{i,j} is the precomputed objective vector for group i, scenario j.
  • Precomputed lookup table: All per-group, per-scenario objective values are precomputed (table-lookup/black-box). The library takes this 3D lookup table as direct input.

Formal structure

  • n independent groups
  • Each group i has m_i scenarios
  • Multiple-choice constraint: A configuration selects exactly one scenario per group
  • v objectives, precomputed as a_{i,j} ∈ ℝᵛ
  • Goal: Compute the Pareto-optimal frontier in the v-dimensional objective space

Scale challenge

The configuration space size is |X| = ∏_{i=1}^n m_i, which grows exponentially with n. Exhaustive search is infeasible for large n, so the library uses dynamic programming with epsilon-dominance pruning to efficiently approximate the Pareto front.

Installation

pip install pareto-dp

Usage

from pareto_dp import find_pareto_front

# Define your multi-objective optimization problem
# Each stand has multiple scenarios, each scenario has objective values
data = [
    [[3.0, 2.1], [2.0, 1.0]],  # Stand 0: 2 scenarios, 2 objectives
    [[1.0, 1.0], [2.0, 0.5]],  # Stand 1: 2 scenarios, 2 objectives
]

# Find Pareto-optimal solutions with epsilon precision
solutions = find_pareto_front(data, epsilon=0.01)

for sol in solutions:
    print(f"Design: {sol.design_vector}, Objectives: {sol.target_vector}")

API

find_pareto_front(data, epsilon)

Finds all Pareto-optimal solutions for a multi-objective optimization problem.

Parameters:

  • data (List[List[List[float]]]): A 3D list where:
    • First dimension: decision points
    • Second dimension: options for each decision point
    • Third dimension: objective variable values (e.g., [cost, time, quality])
  • epsilon (float): Precision parameter for epsilon-dominance pruning

(Note: the context in which this problem originated is forestry land-use, so decision points are called stands in the code, and options are called scenarios).

Returns:

  • List of ParetoFrontSolution objects, each with:
    • design_vector (List[int]): Which scenario to pick for each stand
    • target_vector (List[float]): The summed objective values for that design

Raises:

  • ValueError: If data is empty, has only one stand, or has inconsistent dimensions

Algorithm

The algorithm uses dynamic programming to efficiently find the Pareto front:

  1. Data Validation: Validates input structure and dimensions
  2. Shift to Positive Space: Shifts all objective values to positive space for numerical stability
  3. DP Tree Construction: Builds partial Pareto fronts iteratively for each stand
  4. Epsilon-Dominance Pruning: Uses logarithmic binning to prune dominated solutions
  5. Solution Reconstruction: Traces back through parent pointers to reconstruct full solutions

Requirements

  • Python >= 3.9
  • Compatible with CPython and PyPy

License

MIT License - see LICENSE file for details.

Repository

https://github.com/Txart/pareto_dp

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

pareto_dp-0.1.6.tar.gz (16.7 kB view details)

Uploaded Source

Built Distributions

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

pareto_dp-0.1.6-cp39-abi3-win_arm64.whl (152.2 kB view details)

Uploaded CPython 3.9+Windows ARM64

pareto_dp-0.1.6-cp39-abi3-win_amd64.whl (156.9 kB view details)

Uploaded CPython 3.9+Windows x86-64

pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_x86_64.whl (505.3 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_i686.whl (536.9 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_armv7l.whl (575.9 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_aarch64.whl (471.5 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (301.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (323.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (417.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (302.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (295.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

pareto_dp-0.1.6-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl (320.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.5+ i686

pareto_dp-0.1.6-cp39-abi3-macosx_11_0_arm64.whl (262.8 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

pareto_dp-0.1.6-cp39-abi3-macosx_10_12_x86_64.whl (265.9 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file pareto_dp-0.1.6.tar.gz.

File metadata

  • Download URL: pareto_dp-0.1.6.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6.tar.gz
Algorithm Hash digest
SHA256 86ff85d4e75a5ed5dca66380fd7e160b25da08960c346727c13c51f8d42b3df1
MD5 1cd91ad4324d5fc6c81b67d248cab4d2
BLAKE2b-256 961e7f32c240d6f2d5bf6f3d651afb820ea5b35fb15200b8611e80a4e3708c42

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-win_arm64.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 152.2 kB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 fedce122c7bb944c41f92f91cd91bd5d9e4420770894afab784de5a67ab865ea
MD5 b0a83363f79208b09aeaaf5f9e57de31
BLAKE2b-256 7451145188513982564f7d6c73dcc508cfcc54bb71e6212f784cb9862edc3c4f

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 156.9 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 302407fb53f536a09aff1d2514dbe24d8de520febc73628d057245b52bbb1597
MD5 7e899655d91d1363903c6c583185ee0d
BLAKE2b-256 eb9bb5e4e2de00c2c252ea0af772e554b8d3e97cc2f0b016d170319f0c4c9ce6

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 505.3 kB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c79de41a8ae79df84b62da35cda1cee2b992117f3269a40234eb6ab2c3dd551d
MD5 b38177de11d73ca8f7dad06f49b4a204
BLAKE2b-256 d1557eff5df43e84073670780199dc34c2ef670b560a9f484377d6c40f3cf554

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 536.9 kB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 276b2d46a5ce5ade7a5f44af46448b13a8ec28bb1206adce798e5b69827840c7
MD5 db3d6ba6595f1cf5590779e8c63163b8
BLAKE2b-256 2bdcdd3bb86bdfd0338f509da1ab7221fab1b2c3124740ddbae846670cdf9fe1

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 575.9 kB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e552c773ff68841b7cebab034a414306e68aa58c734009d7fd497f5148f552aa
MD5 2e8b4a3a90e484b82995048947d4359f
BLAKE2b-256 4ecf97e4e3a1964db12efebd4da59e10a613db32b5d4523d8dc5bfb9fa5398db

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 471.5 kB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 245776cf91930fd9f27a60abf494e4a6581ea1340f4d9fee9c0fe3dc584ef63c
MD5 17e32bcdace2bf4195b9a5020e953747
BLAKE2b-256 b0c11f9059f57450a51b47d4695cbcc64efecef6250eb7a518c2f9d97f9d849f

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 301.1 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13a7594ad6f31eaa19536d86ac7df9cc190dc8abf36abac02bcaa46e4535e4a2
MD5 a73154d907d4753f6db4ccbadd9525b3
BLAKE2b-256 1eb7b2710c4970a62102c6f03544e2a597957bdb8d78c4b938eb8c344213b4c0

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 323.2 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 aaaabc9b38a07ca14dd858b52d5ccb19622b6a0cbbb528c5690323bbcffddb7d
MD5 511ed578ddbefa6f86a2d8ce4508a959
BLAKE2b-256 9f36162a8d4056840c2c0ab8f5dc02020108409fe461e495cd0316be1d0d1767

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 417.1 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9908dd2df1c75260e9869f71147e23d07e1eef7742bdd0c1fbb9cab487e89bb2
MD5 0a74424254243e2c913b92aed0bd0969
BLAKE2b-256 af7571d4748b4b45f3883c91fcde1e5a1d62a8df56f8762ce18f694121a99a86

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 302.1 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 70be31bb21f7eda6395ca107d2b359f8a026c9c66ac95723fce19e5fc0d08115
MD5 566689627f0ecbe496dacad800f09276
BLAKE2b-256 f6e890daf70b63c96bdbb8860687debe77b8f346d7ff134a5f4df606d62b1afb

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 295.2 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d098973b5709472663549d0244e3a29c14627fe452838b1cba7003d5d6057708
MD5 ec4cc7028428024e6f76b7e6ecedade9
BLAKE2b-256 695c49103cc44f78e0f4cf4d7cc037f9ce919c7b39211d9dfd53cbc3b0720880

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
  • Upload date:
  • Size: 320.2 kB
  • Tags: CPython 3.9+, manylinux: glibc 2.5+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9c5e63c221f6f478396b0f91451341baef06efbcfb0fec431a489021bbda96b7
MD5 294fe07a5013c9a845f640f86997bac9
BLAKE2b-256 01eb3a0fea3b9f7198135865d71fb5937554c188464a64f24f5ad243ca46616e

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 262.8 kB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8f1b457485960312d2990cbe83f8a7d8773e9c2a1ce40e4dd520dac91e0a5a0
MD5 c843b63e8d15619fa4c40cae70ce02a7
BLAKE2b-256 f7fbb2125768fbaf16a9b326b5d1798deaf111035253061afb1a9ffff54bfb9c

See more details on using hashes here.

File details

Details for the file pareto_dp-0.1.6-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: pareto_dp-0.1.6-cp39-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 265.9 kB
  • Tags: CPython 3.9+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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 pareto_dp-0.1.6-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 635d44e010b75071fb67ee0c625d2674ea31cb29121bfd06ffb78b97eb24a5e8
MD5 29efda802c9cc46c0b2506cda7638008
BLAKE2b-256 eb8e0ef89709822b67f6707e5b599f45d039f2bc734c5224c693a51a589c39c4

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