Metadata-Version: 2.4
Name: oracle-sh
Version: 0.3.2
Summary: A pairwise comparer to discover your truth
Author-email: Mike Moran <oracle@mkmrn.dev>
Project-URL: GitLab, https://gitlab.com/mmoran0032/oracle-sh
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer~=0.13
Requires-Dist: pydantic~=2.10
Dynamic: license-file

# oracle-sh

[![PyPI](https://img.shields.io/pypi/v/oracle-sh)](https://pypi.org/project/oracle-sh/)

A pairwise comparer to discover your truth

Oracle tracks trials and successes for prompted options. Over time and with enough prompting, the results will show what you actually want between the available choices. If you want, you can also run a single trial, and take that as a final decision.

Oracle uses a random weighted sampling method to determine the final fate. This will be updated in the future, including to automatically tell you when Oracle has enough information to make a firm decision.

## Usage

- `oracle trial`: ask the Oracle for your options, and give your response. Oracle will track your responses through time.
- `oracle fate [--verbose]`: ask the Oracle for your answer
- `oracle show [--verbose]`: show the choices that Oracle is tracking for you
- `oracle add|remove CHOICE`: edit the choices available to you
- `oracle reset`: reset all of your saved trials on your choices, but keep your choices
- `oracle clear`: clear everything that Oracle knows

Oracle can keep track of any number of options for you, but won't remove any options unless explicitly told.

## Notes

I'm updating the development process to use `uv` instead of my old system. Keeping a short log of what I'm running below.

```sh
uv add typer
uv add pydantic
uv add --dev pytest
uv add --dev ruff
uv run ruff check .
uv run ruff check --fix .
uv run ruff format .
uv run pytest .
uvx pre-commit install
```
