https://github.com/lichess-org/scalachess
Chess API written in scala. Immutable and free of side effects.
https://github.com/lichess-org/scalachess
bitboard bitboard-datastructure chess functional-programming lichess scala-3
Last synced: 22 days ago
JSON representation
Chess API written in scala. Immutable and free of side effects.
- Host: GitHub
- URL: https://github.com/lichess-org/scalachess
- Owner: lichess-org
- License: mit
- Created: 2012-05-16T19:22:34.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2025-05-12T17:41:17.000Z (26 days ago)
- Last Synced: 2025-05-12T18:43:50.814Z (26 days ago)
- Topics: bitboard, bitboard-datastructure, chess, functional-programming, lichess, scala-3
- Language: Scala
- Homepage: https://lichess.org
- Size: 7.62 MB
- Stars: 716
- Watchers: 32
- Forks: 215
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/ornicar/scalachess/actions/workflows/ci.yml)
Chess API written in scala for [lichess.org](https://lichess.org)
It is entirely functional, immutable, and free of side effects.
INSTALL
-------Clone scalachess
git clone https://github.com/lichess-org/scalachess
Start [sbt](http://www.scala-sbt.org/download.html) in scalachess directory
sbt
In the sbt shell, to compile scalachess, run
compile
To run the tests
testKit / test
To run benchmarks (takes more than 1 hour to finish):
bench / Jmh / run
Or to output a json file
bench / Jmh / run -rf json
To run quick benchmarks (results may be inaccurate):
bench / Jmh / run -i 1 -wi 1 -f1 -t1
To run benchmarks for a specific class:
bench / Jmh / run -rf json .*PlayBench.*
To run [scalafmt](https://scalameta.org/scalafmt/docs/installation.html) and [scalafix](https://scalacenter.github.io/scalafix):
sbt prepare
Install (python)
-------
For python code, [install pipenv](https://pipenv.pypa.io/en/latest/installation.html#installing-pipenv), and run `$ pipenv install` from project root.