sunfish
typer
Our great sponsors
sunfish | typer | |
---|---|---|
12 | 87 | |
2,885 | 14,347 | |
- | - | |
2.5 | 8.7 | |
3 months ago | 3 days ago | |
Python | Python | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sunfish
-
funAndEasyToUse
The NNUE version does but the non-NNUE version doesn't use numpy. That numpy import is for a neural network based evaluation functions. The base engine still plays at a strong human level and doesn't use numpy to do any of the heavy lifting. It does rely on itertools and collections though.
-
Python is slow, garbage language!
I'm currently working on a chess bot in C++. The literature and common sense tells you that faster is better, which was my main reason for choosing C++. Then I discovered Sunfish on GitHub that in around 400 lines of Python (without any low level libraries like ctypes) and it still beat me somewhat convincingly. It was definitely fast enough.
-
Easy to read chess engine source code
Just one file: Sunfish.py
-
This Week In Python
sunfish – A Python Chess Engine in 111 lines of code
- Sunfish is a simple, but strong chess engine, written in Python
-
Looking for mod friendly python chess program.
https://github.com/thomasahle/sunfish sunfish is a pretty simple one that uses piece square tables for evaluating positions. Wouldn’t be too difficult to change or even tune
-
sunfish VS Synergy-Chess - a user suggested alternative
2 projects | 17 Jun 2022
-
Look what I found here. I used to play with it a lot because I have no friends. Do you guys have something similar?
It's from 1990. My father passed it down to me. It works... Uhmm.. idk. There's a proprietary chess engine built in. It says it's around 1700 elo points strong. I am a big noob when it comes to chess engines but if you're interested in learning you can check out sunfish , but (Python) programming skills are required.
-
The Kilobyte's Gambit: Can you beat 1024 bytes of JavaScript [at chess]?
Incomprehensible scheiße code. I looked around and I like this one because it has "meta-level" definition of movements and liitle bit of strategy. You could implement context-free chess games with varying rules for us congenitally lazy and dull-witted. https://github.com/thomasahle/sunfish/blob/master/sunfish.py
-
Can you defeat a chess engine written in 1KB of Javascript?
sunfish https://github.com/thomasahle/sunfish (sunfish is the most compact and still understandable code in my opinion)
typer
- Typer: Python library for building CLI applications
- Copilot for your GitHub stars
-
Things I've learned about building CLI tools in Python
I have been using Typer on every one of my CLI projects which uses Click under the hood. The documentation is fantastic, the CLI app it produces looks great and lets you create things quickly. I high recommend it.
https://typer.tiangolo.com/
-
Things to do with standalone script
Adding CLI capabilities. My preferred library here is typer.
-
Where to start for managing a Python code base for public distribution
I just heard about this but it seems to be pretty much the type of thing you want and want fast.
-
Help on Docstrings
Docstrings are for documenting how a function/ class/ method/ module works. Often you don't need to add a docstring to your main function because no one will be importing it to use elsewhere. And if you want it to run as a CLI, then there are better ways to document the available options. For example, typer does most of it for you, or in click you add the help text to the decorator.
-
Which best practices do you follow to build robust & extensible ETL jobs?
Most computing tasks in airflow DAGs are KubernetesPodOperator containing a CLI (Python Typer). It allows us to pass arguments easily to run DAG manually if needed (the new UI to pass arguments to DAG in airflow 2.6 is really nice). Arguments allow us to replay DAG easily (change start / end dates for instance).
-
Devs on teams that deploy anytime you want, what does your SDLC workflow look like?
So it's basically the main .gitlab-ci.yml file plus a separate Python CI app using Typer for the AWS instrumentation.
-
The different uses of Python type hints
Similarly for Typer, which is literally "the FastAPI of CLIs"[1]. Handy to type your `main` parameters and have CLI argument parsing. For more complicated cases, it's a wrapper around Click.
[1] https://typer.tiangolo.com/
-
Command line parser library, which one do you like the most, regardless of language?
interesting that you hate python, but love Click. Did you try Typer which uses Click underneath?
What are some alternatives?
stockfish - Integrates the Stockfish chess engine with Python
click - Python composable command line interface toolkit
Auto-Chess - A chess bot that automatically calculates the best moves and plays them for you
Python Fire - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
Synergy-Chess - system that allows you to simultaneously start 8 chess engines and obtain a single move through the majority criteria and of score.
Gooey - Turn (almost) any Python command line program into a full GUI application with one line
nanochess - Deobfuscation of the Toledo Javascript Chess
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
Play-online-chess-with-real-chess-board - Program that enables you to play online chess using real chess boards.
python-prompt-toolkit - Library for building powerful interactive command line applications in Python
bootOS - bootOS is a monolithic operating system in 512 bytes of x86 machine code.
cement - Application Framework for Python