Metadata-Version: 2.4
Name: praicing
Version: 0.0.2
Summary: Offline utility functions for estimating costs across different model providers.
Project-URL: Issues, https://github.com/joaopalmeiro/praicing/issues
Project-URL: Source, https://github.com/joaopalmeiro/praicing
Author-email: João Palmeiro <joaopalmeiro@proton.me>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: openai>=1.97.0
Requires-Dist: pillow>=11.0.0
Requires-Dist: tiktoken>=0.9.0
Description-Content-Type: text/markdown

# praicing

[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/)

Offline utility functions for estimating costs across different model providers.

- [Source code](https://github.com/joaopalmeiro/praicing)
- [PyPI package](https://pypi.org/project/praicing/)
- [Snyk Advisor](https://snyk.io/advisor/python/praicing)

## Development

Install [uv](https://docs.astral.sh/uv/getting-started/installation/) (if necessary):

```bash
curl -LsSf https://astral.sh/uv/0.7.19/install.sh | sh
```

```bash
uv python install
```

```bash
uv run python -c "from praicing import __version__; print(__version__)"
```

```bash
source .venv/bin/activate
```

```bash
mypy
```

```bash
ruff check --fix
```

```bash
ruff format
```

```bash
deactivate
```

## Deployment

```bash
uv version --bump patch
```

```bash
uv version --bump minor
```

```bash
uv version --bump major
```

```bash
uv build
```

```bash
echo "v$(uv version --short)" | pbcopy
```

- Commit and push changes.
- Create a tag on [GitHub Desktop](https://github.blog/2020-05-12-create-and-push-tags-in-the-latest-github-desktop-2-5-release/).
- Check [GitHub](https://github.com/joaopalmeiro/praicing/tags).

```bash
uv publish
```

- Check [PyPI](https://pypi.org/project/praicing/).
