{"categories":[{"label":"Mathematics","url":"https://skillfed.io/packages/category/scientific-engineering-mathematics/2"}],"enrichment":{"capability":"Implements multiway number partitioning and bin packing algorithms with support for exact and approximate methods, multiple input formats, and configurable optimization objectives.","skillfed_tags":["optimization","load-balancing","combinatorial-algorithms"],"use_cases":["Distribute computational tasks across multiple processors to minimize makespan (longest task completion time).","Pack items into shipping containers to minimize the number of containers or maximize container utilization.","Allocate workload across servers to balance CPU or memory usage and avoid overload.","Partition a dataset into balanced subsets for parallel processing or cross-validation in machine learning.","Solve fair division problems where items must be split among parties with minimal imbalance."],"what_it_does":"prtpy provides a collection of algorithms for partitioning numbers into bins and packing items into fixed-capacity bins. It supports both exact methods (via integer linear programming through the mip library) and approximate greedy algorithms, allowing you to choose between solution quality and computation speed. The package wraps numpy and scipy for numerical operations and can optionally use GUROBI for faster ILP solving.\n\nYou supply items (with numeric values), a target number of bins or bin capacity, and an optimization objective (e.g., maximize the smallest bin sum, minimize the largest bin sum). The library returns the assignment of items to bins. It's designed for load-balancing, resource allocation, and scheduling problems where you need to distribute work or items fairly or efficiently across a fixed number of containers.","worth_installing":"Yes, if you need a flexible, permissively licensed partitioning or bin-packing solver. The low install friction and zero known vulnerabilities are strengths. However, the aging maintenance status (last release over a year ago, Pre-Alpha classifier) and lack of recent activity suggest treating it as stable but not actively developed\u2014suitable for production use if the algorithm suite meets your needs, but do not expect rapid bug fixes or new features."},"id":"prtpy","links":{"html":"https://skillfed.io/packages/prtpy","md":"https://skillfed.io/packages/prtpy.md","pypi":"https://pypi.org/project/prtpy/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2024-05-15","license_spdx":null,"license_treatment":"permissive","name":"prtpy","python_support":"supports_current","summary":"Number partitioning in Python"},"popularity":{"monthly_downloads":391716,"position":7013,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.8.3"}
