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.

Source Distribution

pypgn-0.5.1.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypgn-0.5.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file pypgn-0.5.1.tar.gz.

File metadata

  • Download URL: pypgn-0.5.1.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for pypgn-0.5.1.tar.gz
Algorithm Hash digest
SHA256 def0fe8734f82f8660cd82d59a8d956cd4bcadac8703d163bc84b48dca821db9
MD5 1e7d28d32f839c3cf04696c8580ce264
BLAKE2b-256 fb5adc708b76f6ac84b776017c26a9f93d6bbc008dbad1f75a5dc553547f0c0f

See more details on using hashes here.

File details

Details for the file pypgn-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: pypgn-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pypgn-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 047e1bccd99883d037851004890f7fa9c6630412d888faa5d546b64e50026a2d
MD5 791031e50109f424d9b5406475196f1e
BLAKE2b-256 a22fed076297301e1e4b5389e89d3e90f962c8c0d9377df8dfcce9fc85a84edb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page