# cgt
Combinatorial Game Theory framework and toolkit in Rust and Python.
## `cgt-gui`
Experimental graphical interface. See [README](./cgt_gui/README.md).
## `cgt-cli` utils
Some of the library features are exposed through CLI utility tool. See [CLI README](./cgt_cli/README.md) for installation and usage instructions.
## Rust Library
[Documentation](https://docs.rs/cgt/latest/cgt/)
## Python library (`cgt-py`)
Available on [pypi](https://pypi.org/project/cgt-py)
Python interface is intended as a thin wrapper for interactive exploration using notebook software like [Jupyter](https://jupyter.org/) rather than exhaustive searches of large search spaces.
## Credits
- Library is heavily inspired by https://github.com/aaron-siegel/cgsuite
- Library in Haskell that provides basic functions to work with combinatorial games https://github.com/kamekura/haskell-cgt
## Citing
If you found the toolkit useful for your work please consider citing it.
### BibTeX
```bib
@misc{maciosowskiCgttools,
title = {cgt-tools},
author = {Maciosowski, Tomasz},
howpublished = {https://cgt.tools},
abstract = {Combinatorial Game Theory toolkit},
copyright = {AGPL-3.0}
}
```
### BibLaTeX
```bib
@software{maciosowskiCgttools,
title = {cgt-tools},
author = {Maciosowski, Tomasz},
url = {https://cgt.tools},
abstract = {Combinatorial Game Theory toolkit}
}
```
## License
Copyright (C) 2023-2025 Tomasz Maciosowski (t4ccer)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.