Metadata-Version: 2.4
Name: los-client
Version: 0.2.0
Summary: League of Solvers Client CLI
Project-URL: Homepage, https://los.npify.com
Project-URL: Bug Reports, https://github.com/NPify/los_client/issues
Project-URL: Source, https://github.com/NPify/los_client
Author-email: Stephan Gocht <stephan@drgocht.com>, Amr Yonis <amrmohamedyonis@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.11
Requires-Dist: cpmpy>=0.9.23
Requires-Dist: ortools>=9.11.4210
Requires-Dist: pre-commit>=4.0.1
Requires-Dist: pyaes>=1.6.1
Requires-Dist: pydantic>=2.10.3
Requires-Dist: pysat>=3.2.1
Requires-Dist: pytest>=8.3.3
Requires-Dist: python-sat[aiger,approxmc,cryptosat,pblib]>=1.8.dev13
Requires-Dist: setuptools>=75.6.0
Requires-Dist: websockets>=14.1
Description-Content-Type: text/markdown

# About

The [League of Solvers (LoS)](http://los.npify.com) is a SAT solver
competition with matches every hour. (In the future we also hope to provide
other kinds of competitions.) Everyone is welcome to participate, either with
an existing solver or with their own. This program (`los_client`) is a client
to easily participate at the competition.

# Getting Started

## Step 1. Installation

It is recommended to install via `pipx` so that the client can run in a seperate environment.
```
sudo apt install pipx
```

Once pipx is installed you can install the client via
```
pipx install los-client
```


## Step 2. Register a Solver
Register a solver and copy the token at [los.npify.com](http://los.npify.com).


## Step 3. Compete

If you have a solver that produces output compatible with the SAT competition
and accepts a cnf file as its only parameter, you just need to run
```
los_client run --solver [path_to_solver] --token [token]
```
and wait for the next match to start.

If your solver is not compatible, you either need to write a script to adapt
or you can adjust the `los_client` code itself, see under Development.

You can also save a configuration using

```
los_client --config los.json set --solver [path_to_solver] --token [token]
```

which creates a new file in the current working directory, so the next time you only need to run

```
los_client --config los.json run
```

# Development

Setup and run through the environment:

```
pipx install uv
git clone https://github.com/NPify/los_client.git
cd los_client
uv run los_client --help
```

