{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/5"}],"enrichment":{"capability":"Provides four round-robin selection algorithms: basic (cyclic), weighted (LVS-style), smooth weighted (Nginx-style), and smooth weighted with runtime controls for health checks and slow-start.","skillfed_tags":["load-balancing","scheduling","stateful-selection"],"use_cases":["Distribute HTTP requests across multiple backend servers with configurable weights and smooth distribution.","Implement health-check-aware load balancing by disabling unhealthy backends and re-enabling them with slow-start.","Balance work items across thread or process pools with weighted capacity allocation.","Rotate through a list of API endpoints or data sources in a predictable, weighted manner.","Implement slow-start ramp-up for newly added servers to avoid thundering-herd effects."],"what_it_does":"Roundrobin is a pure-Python library for selecting items in a cyclic, weighted, or smoothly-weighted distribution. It implements four selection strategies: basic round-robin cycles through items in order; weighted round-robin distributes picks proportionally to assigned weights (classic LVS algorithm); smooth weighted round-robin avoids clustering by spreading picks more evenly (Nginx-style); and smooth_stateful adds runtime controls to adjust weights, disable items, and enable slow-start ramping without restarting the schedule.\n\nThe library is designed for load-balancing scenarios where you need to distribute requests or work across multiple backends or workers. It has no external dependencies and works across Python 2.7 and Python 3.4 through 3.15. The stateful variant is useful for health checks and dynamic capacity changes, though it is not thread-safe and requires external synchronization if shared across threads.","worth_installing":"Yes, if you need round-robin selection with weighted or smooth distribution. The package is lightweight, dependency-free, and well-documented with clear examples. Maintenance is aging but stable; no known vulnerabilities. Not suitable for high-concurrency scenarios without external locking. Best fit for single-threaded or lock-protected use cases in load balancing, task distribution, or endpoint rotation."},"id":"roundrobin","links":{"html":"https://skillfed.io/packages/roundrobin","md":"https://skillfed.io/packages/roundrobin.md","pypi":"https://pypi.org/project/roundrobin/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2026-01-25","license_spdx":null,"license_treatment":"permissive","name":"roundrobin","python_support":"unspecified","summary":"Collection of roundrobin utilities"},"popularity":{"monthly_downloads":808897,"position":5012,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.1.0"}
