Metadata-Version: 2.4
Name: squid-profile
Version: 0.0.1
Summary: Fleet profiling that produces Narwhal inference configuration
Author: Athrael Soju
License-Expression: Apache-2.0
Project-URL: Repository, https://github.com/athrael-soju/squid
Project-URL: Issues, https://github.com/athrael-soju/squid/issues
Keywords: llm,inference,llm-inference,profiling,benchmarking,disaggregated-inference,narwhal,gpu,fleet
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: System :: Benchmark
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Provides-Extra: dev
Requires-Dist: ruff==0.16.7; extra == "dev"
Requires-Dist: mypy==2.3.1; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5; extra == "dev"
Dynamic: license-file

# Squid

Squid profiles an inference fleet and writes a configuration that Narwhal serves from.

## Status

Release 0.0.1 provides the `squid-profile` command with `--version`.

## Installation

Squid requires Python 3.11 or later.

```bash
pip install squid-profile
```

Check the installed version:

```bash
squid-profile --version
```

Expected output:

```text
squid-profile 0.0.1
```

Run the command on a node with `uvx`:

```bash
uvx squid-profile --version
```

## Development

| Command | Action |
| --- | --- |
| `make setup` | Create `.venv` with the development dependencies |
| `make check` | Run lint, format, type and unit checks |
| `make package` | Build and check the sdist and wheel |

## Releasing

1. Set `version` in `pyproject.toml`.
2. Merge the change to `main`.
3. Push the tag `v<version>` from that commit.

The `release` workflow publishes the tagged version to PyPI through trusted publishing.

## License

Apache-2.0. See [LICENSE](LICENSE).
