PyPGN
A pure Python 3 library to simplify parsing and manipulation of PGN (Portable Game Notation) format files, which are often used for serializing games such as chess.
Prerequisites
Python version 3.x >= 3.6 and PiP
Install
Install or upgrade with PiP
$ pip install pypgn
You can also install from source:
git clone https://github.com/DaniruKun/pypgn.git
cd pypgn
python setup.py install
Examples
from pypgn.game import Game
# Importing game from file on disk
chess_game = Game('test.pgn')
# Import game from Lichess
chess_game.pgn('dGm3ND39')
print(chess_game.tag('Event'))
print(chess_game.result())
# Print opening ply for white
print(chess_game.ply(1, 'w'))
Output:
$ Rated Blitz game
$ 0-1
$ e4
Read the docs
Contributing
Local setup
Setup a virtual environment with virtualenv
$ virtualenv venv
$ source venv/bin/activate
Install requirements
$ make install
Run unit tests locally with pytest
$ make test
Run flake8 lint with
$ make lint
Docker
You can also build and run tests in a Docker container:
$ make docker-build
$ make docker-run
Authors
@DaniruKun aka Daniils Petrovs
License
Mozilla Public License 2.0 see LICENSE for more details.
Metadata
Release files for pypgn 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pypgn-0.5.1.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pypgn-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.3 kB
Release files / pypgn-0.5.1.tar.gz
| Download URL | pypgn-0.5.1.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
def0fe8734f82f8660cd82d59a8d956cd4bcadac8703d163bc84b48dca821db9
|
|
BLAKE2b-256 checksum How to use checksums |
fb5adc708b76f6ac84b776017c26a9f93d6bbc008dbad1f75a5dc553547f0c0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.8.0
|
Release files / pypgn-0.5.1-py3-none-any.whl
| Download URL | pypgn-0.5.1-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
047e1bccd99883d037851004890f7fa9c6630412d888faa5d546b64e50026a2d
|
|
BLAKE2b-256 checksum How to use checksums |
a22fed076297301e1e4b5389e89d3e90f962c8c0d9377df8dfcce9fc85a84edb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.8.0
|