{"categories":[{"label":"Mathematics","url":"https://skillfed.io/packages/category/scientific-engineering-mathematics/2"}],"enrichment":{"capability":"Distributes weighted items into bins using greedy algorithms, either to a fixed number of bins with balanced loads or to the minimum bins with a maximum capacity constraint.","skillfed_tags":["scheduling","resource-allocation","heuristic"],"use_cases":["Distribute jobs with known durations across a fixed number of CPU cores to minimize total runtime.","Group files of different sizes into memory allocations to minimize the number of program runs needed.","Pack items into containers or shipments with a maximum weight limit to minimize the number of containers.","Partition data into batches for parallel processing while keeping batch sizes roughly equal.","Schedule tasks across servers with fixed capacity to balance load.","Bin CSV rows by a weight column for resource planning or logistics optimization."],"what_it_does":"binpacking solves two classic bin packing problems using greedy heuristics. The first distributes items into exactly N bins with approximately balanced total weight per bin (useful for load balancing across a fixed number of workers). The second distributes items into the minimum number of bins, each respecting a maximum capacity constraint (useful for minimizing resource allocations). The package accepts input as lists, dictionaries, lists of tuples, or CSV files, and includes both pure Python and optional NumPy-accelerated implementations.\n\nThe algorithms are Least Loaded Fit Decreasing for constant-volume packing and Longest Processing Time for constant-bin-number packing. Both sort items by weight descending before placement. This is a straightforward, dependency-free tool for scheduling, resource allocation, and partitioning problems where exact optimality is less critical than a fast, reasonable solution.","worth_installing":"Yes. The package solves a real, common problem with zero dependencies, low install friction, and a permissive license. The greedy algorithms are fast and adequate for most practical load-balancing and partitioning tasks. Maintenance is aging but the code is stable and the repository is not abandoned. Install it if you need to distribute weighted items across fixed bins or minimize bin count."},"id":"binpacking","links":{"html":"https://skillfed.io/packages/binpacking","md":"https://skillfed.io/packages/binpacking.md","pypi":"https://pypi.org/project/binpacking/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2026-01-22","license_spdx":null,"license_treatment":"permissive","name":"binpacking","python_support":"supports_current","summary":"Heuristic distribution of weighted items to bins (either a fixed number of bins or a fixed number of volume per bin). Data may be in form of list, dictionary, list of tuples or csv-file."},"popularity":{"monthly_downloads":265679,"position":8319,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"2.0.1"}
