A free and open source chess improvement app that combines the power of lichess and anki
Project description
Chessli
A free and open-source CHESS improvement program that combines the power of Lichess and Anki.
Demos
CLI Demo (watch whole video on Youtube)
Anki Cards Demo (watch whole video on Youtube)
Documentation
If you have a question please first take a look at the documentation (also available here), which is currently work in progress. Feel free to open an issue afterwards :).
Features
- Automatically fetch your games and played tactics puzzles from
lichess
via theberserk
python client for the Lichess API.! - Find your mistakes by parsing your games and analysing them with
python-chess
. - Create a simple opening repertoire!
- Spaced repetition & Retrieval Practice: Automatically (via
apy
) add your game mistakes, your openings and your tackled lichess puzzles toAnki
. - More features on the way...!
Getting Started
:information_source: Information
- At the moment, some technical expertise is needed to use
Chessli
. - Starting with version 0.2, however, I will add an Anki-Addon to ease those technical hurdles.
- Also, please notice that this is a very early version, and some code parts are still rough on the edges.
- Further, there are still some opinionated parts and hard-coded choices:
- For example, it is not possible to fetch more than 20 games at once (to not bug down Lichess).
- A lot more options are going to be opened up as soon as the codebase stabilises.
- Long story short: things will improve over time! But feel free to open up issues!
Get Chessli
- Clone this repository & navigate into it:
git clone https://github.com/pwenker/chessli.git && cd chessli
- Install chessli with
pip
:
pip install -e .
Anki Support via apy
- In order to directly "ankify" your mistakes, openings and tactics, you need to set up
apy
. - Currently
chessli
is compatible withapy
version 0.6.0 andanki
version 2.1.26. - Please refer to its install instructions for detailed information.
Lichess API Authentification
- Some parts of the lichess API, for example fetching your puzzle activity, require authentification.
- For this purpose, you need to get a personal API access token. Put your token into
configs/lichess.token
. - For more information read the corresponding
berserk
documentation section.
Get the Chessli Anki Cards
- There is no dedicated shared deck page on Anki available yet, but will be coming soon.
- Until then, download the required sample of Anki cards from [here]("/imgs/Chessli Sample Cards.apkg").
Acknowledgments:
- The interactive chess functionality on the cards is taken from these fantastic cards.
- You can find a great video about those cards here.
Basic Usage
To get an overview of the basic CLI capabilities of Chessli
, take a look at this short demo video I
created (click on the image below to watch on youtube):
Youtube-Video: CLI Demo
There is also a short video showing the chessli
s Anki cards in action:
Youtube-Video: Anki Cards Demo
:information_source: I am in the midst of creating a comprehensive documentation that will be released with version 0.2.
Until then you can take a look at the CLI documentation, or programmatically ask it questions:
Examples:
- Getting general help for
chessli
:
chessli --help
- Getting help for individual
chessli
commands:
chessli games --help
- You can add a create a file
configs/lichess.user
and put your user name in it. - Then it will be used as default username in place of mighty
DrNykterstein
.
Acknowledgments
- Lichess:
- A free, no-ads, open source chess server that let's everyone play chess!
- I truly love it.
- Think about whether to become a patron! :)
- Anki:
- A free and open-source flashcard program using spaced-repetition, a technique from cognitive science for fast and long-lasting memorization.
- I couldn't imagine learning without it anymore.
- Anki Cards Design
- The interactive chess functionality on the cards is taken from these fantastic cards.
- You can find a great video about those cards here.
- Further Awesome Tools:
- Most of the heavy lifting, e.g. parsing games, finding mistakes, extracting openings, etc. is done with
python-chess
. - The communication between
lichess
andchessli
is done viaberserk
. - The CLI is built with
typer
. - The rich colors are made possible with
rich
. - The
apy
tool is used to programmatically import the chess knowledge into Anki. - You should really check those tools out; each and everyone one of them is amazing.
- Most of the heavy lifting, e.g. parsing games, finding mistakes, extracting openings, etc. is done with
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.