semvec/pypi-packages huggingface dataset:
bumpreqs 0.9.3
Update requirements to latest
License: MIT
Requires Python: >=3.8

# bumpreqs

Usage

```shell-session
$ pip install bumpreqs
$ python -m bumpreqs --write requirements*.txt
```

It will update the requirements to all use the latest versions.  Most
environment markers are ignored (although preserved on modified lines).


## `python_version` and `full_python_version`

There is some rudimentary support that works for simple comparisons using the
`and` operator (as in `requires_python` using `,`).  If there is _any_ overlap
between the constraint and release's `requires_python`, then it can be bumped.

The reason to check for _any_ overlap rather than _full_ overlap is because many
project specify a constraint like `python_version < "3.7"` without a lower
bound, and when checking against a release that has `Requires-Python: >=3.6` the
check would fail because `3.5` (or `2.1` or any other silly example) is not
included.  See currently open issue for future work.


# License

bumpreqs is copyright [Tim Hatch](https://timhatch.com/), and licensed under
the MIT license.  I am providing code in this repository to you under an open
source license.  This is my personal repository; the license you receive to
my code is from me and not from my employer. See the `LICENSE` file for details.
equation-sdk 1.0.7
Python SDK for equationconnect.com
License: MIT

# 🌞 equation-sdk
## A python 3 library to interact with Equation Devices.


`equation-sdk` is a Python 3 library for the Equation HomeAssistant integration via a REST API.

* [Installation](#Installation)
* [Supported devices] (#supported-devices)


## Installation
```bash
pip install equation-sdk
```

## Supported devices
Currently supported devices include:
* Hera radiators

## Contributions used
* Portions from https://github.com/tggm/rointe-sdk
* Portions from https://github.com/AndreMiras/equation-connect.js
slowroll 0.0.1
Configuration slowly applied to clients over time
License: MIT
Requires Python: >=3.8

# slowroll

Let's say you want to roll out a feature flag, or something that selects a
canary version.  Put a json config up somewhere, decide how you're hashing your
users, and use `SlowrollConfig`:

```py
from slowroll import SlowrollConfig

sc = SlowrollConfig("https://example.com/config.json", "app_features")
if sc.get_value("features", "install_to_opt_foo", socket.gethostname()):
    ...
```

The config for this would look like

```json
{
    "features": {
        "install_to_opt_foo": {
            "end_time": "2025-01-01 00:00Z",
            "duration": "14d",
            "stable": false,
            "new": true,
            "early_adopters": ["canary-host"],
        }
    }
}
```

Note that the values for "stable" and "new" can be any valid json.  Here they
are bools, but could just as easily be strings that represent versions of a
Python project.  `start_time` is not explicitly specified, but calculated from
the duration.

There are few restrictions on the http server, namely that it _must_ provide
etags using the default implementation, but you can provide your own that takes
an opaque url and an opaque value that you can use to store any etag-esque
metadata.

As in semver, expect no compatibility guarantees until this reaches 1.0.  Both
the API and config format are expected to change.

# Extensibility

* What if I want to store the config in zookeeper?  Sure, provide a custom
  callback that returns the latest version you know of.

# Future Work

* Ability to locally lock a value (either old or new)
* Example using a requests session
* Retries/fallback
* More testing on `_pct` values
* Config validator
* Interpolation of numeric values
* Regex `early_adopters`
* Rollbacks that count down

# License

slowroll is copyright [Tim Hatch](https://timhatch.com/), and licensed under
the MIT license.  I am providing code in this repository to you under an open
source license.  This is my personal repository; the license you receive to
my code is from me and not from my employer. See the `LICENSE` file for details.