Metadata-Version: 2.4
Name: minimindslab-semver-range
Version: 0.1.0
Summary: Parse and evaluate simple semantic version ranges against version strings without external dependencies.
Author: MiniMindsLab
License: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# MiniMindsLab SemVer Range

A tiny, dependency-free Python library to parse semantic versions and evaluate simple range expressions.

## Features

- Parse `MAJOR.MINOR.PATCH` versions
- Compare versions with `==`, `!=`, `>`, `>=`, `<`, `<=`
- Evaluate comma-separated constraints (logical AND), e.g.:
  - `>=1.0.0,<2.0.0`
  - `== 1.2.3`

## Install

```bash
pip install minimindslab-semver-range
```

## Usage

```python
from minimindslab_semver_range import parse_version, satisfies

v = parse_version("1.2.3")
print(v.major, v.minor, v.patch)  # 1 2 3

print(satisfies("1.2.3", ">=1.0.0,<2.0.0"))  # True
print(satisfies("2.0.0", ">=1.0.0,<2.0.0"))  # False
```

## Supported Range Syntax

- Operators: `==`, `!=`, `>=`, `<=`, `>`, `<`
- Clauses separated by commas mean all clauses must match.
- Whitespace around operators and commas is tolerated.

Examples:

- `>=1.0.0, <2.0.0`
- `!= 1.5.0, >=1.0.0`
- `==1.2.3`

Invalid or unsupported syntax raises `ValueError`.

## License

MIT
