Archive of non-dominated points
Previous version (0.21) used to achive of all non-dominated points using Fast Incremental BSP Tree. This package provides a Python wrapper for code provided as a fast incremental BSP archive.
In order to not needing to install Cython, the package uses numpy implementation only
Debuging
python -m venv -r requirements.txt .venv
source .venv/bin/activate
pip install --upgrade pip
python -m pip install -e .[dev]
Testing
# Run tests
PYTHONPATH=src /usr/bin/python -m pytest tests/ -v
# PYTHONPATH=src /usr/bin/python -m pytest tests/ -v
USAGE
obj1 = [1, 2, 3]
obj2 = [3, 2, 1]
from paretoarchive import np_pareto
dom = np_pareto(obj1, obj2, minimize=[False, True])
print(dom) # [True, False, True] (first and third points are non-dominated)
Using in Pandas
You can easily use the library to filter a Pandas DataFrame. Note that the selected columns cannot have a "NaN" values (you should use df.dropna(subset=["c1", "c2"]) function.
from paretoarchive.pandas import pareto
par_df = pareto(df, ["area", "energy", "weight"], minimize=[False, True, True])
SOURCE
- Tobias Glasmachers: A Fast Incremental BSP Tree Archive for Non-dominated Points
- Similar problem (SKYLINE) https://github.com/sean-chester/SkyBench
Metadata
Release files for py-paretoarchive 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| py_paretoarchive-1.0.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| py_paretoarchive-1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.9 kB
Release files / py_paretoarchive-1.0.tar.gz
| Download URL | py_paretoarchive-1.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
072ea97c9d280858b1d87b61b775673b393b51f0ebf442acae4aab19083fc64d
|
|
BLAKE2b-256 checksum How to use checksums |
80b912be7e7da33b64c4f6adfca1319a60cde80cb9b4602485e814fc30710545
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 23, 2025.
Transparency logRelease files / py_paretoarchive-1.0-py3-none-any.whl
| Download URL | py_paretoarchive-1.0-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e65b87a7af91843465dc062604ea9e0c78309bbeb9f4298196bb3040d1f86ad4
|
|
BLAKE2b-256 checksum How to use checksums |
ea6e8af758d8e0acb429f58638b7a68a837a49e11f90c957b44b00211b0578a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 23, 2025.
Transparency log