Skip to main content

Library for parsing and manipulating PGN format files.

Project description

PyPI version Python 3.6 Language grade: Python Documentation Status Build Status

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

Introduction

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pypgn, version 0.5.1
Filename, size File type Python version Upload date Hashes
Filename, size pypgn-0.5.1-py3-none-any.whl (9.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pypgn-0.5.1.tar.gz (10.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page