Skip to main content

A package to export tournament info from FIDE site

Project description

fideparser

https://img.shields.io/pypi/v/fideparser.svg https://travis-ci.com/erral/fideparser.svg?branch=master https://coveralls.io/repos/github/erral/fideparser/badge.svg?branch=master PyPI - Python Version

fideparser is a script to parse FIDE Ratings website and export the data of the rated tournaments.

FIDE (Federation International des Echecs or World Chess Federation) is the internationally recognised governing body of chess. Every month a lot of tournaments are played all over the world and many of them are rated for the FIDE Rating List which is published on 1st day of each month.

FIDE publishes all the rating reports of those rated chess tournaments online at http://ratings.fide.com but they don’t provide any API or automatized way of exporting or getting that information.

So this script allows you to export all the data of those tournaments (based on country and rating period) to CSV, JSON and an internal pickle-based format. This script doesn’t export the player data from each tournament, but the metadata about the tournament: name, start- and end-dates, format, player number, arbiter and organizer name, …

This scripts relies on screen-scrapping so if FIDE changes the HTML the script will break :S

I intend to mantain this script at least once a year to export data of the previous year, so I will keep an eye on the FIDE site and try to fix the bugs.

Feel free to fork and ask for pull-requests. If you find any issue, use the issue tracker in GitHub.

Dependencies

This script depends on BeautifulSoup4 an excelent HTML parser used, among other things, for doing screen-scrapping tasks. The scripts pulls the correct version of BeautifulSoup4 so there’s no need to do anything on your side to install it.

Installation

Install using pip:

$ pip install fideparser

And to upgrade to a newer version, just use pip again:

$ pip install --upgrade fideparser

Use

All options are explained in the help, that you can get running this:

$ export_fide_tournaments -h

Examples

Export all data from spanish tournaments rated on January 2013 in csv format:

$ export_fide_tournaments ESP 2013-01-01 2013-january-spain.csv csv

Export all data from french tournaments rated on July 2013 in binary format:

$ export_fide_tournaments FRA 2012-07-01 2012-july.binary binary

Use the previously exported binary file from France, to create a JSON file:

$ export_fide_tournaments FRA 2012-07-01 2012-july.json json --datafile 2012-july.binary

Use the previously exported binary file from France, to create a csv file:

$ export_fide_tournaments FRA 2012-07-01 2012-july.csv csv --datafile 2012-july.binary

If you want to export more arbiter data, append the optional flag –arbiter-data:

$ export_fide_tournaments ESP 2013-01-01 2013-january-spain.csv csv --arbiter-data

If you want to export the report data (currently only the number of players present in the tournament report), append the optional flag –report-data:

$ export_fide_tournaments ESP 2013-01-01 2013-january-spain.csv csv --report-data

A script for merging CSV files is also provided, usefull to merge files generated by export_fide_tournaments script. It can be used as follows:

$ merge_csv_files outfile.csv 2013-january-spain.csv 2012-july.csv

Author

Mikel Larreategi <larreategi@eibar.org>

FIDE International Arbiter and python developer

Changelog

1.1 (2024-09-03)

  • Fixes for HTML changes in FIDE site. [erral]

1.0.2 (2019-01-10)

  • More tests [erral]

1.0.1 (2019-01-03)

  • Use unicodecsv library to produce CSV files. [erral]

1.0 (2019-01-03)

  • Python 3 support [erral]

  • Minimal test setup using travis-ci [erral]

0.8.1 (2019-01-03)

  • Fix player count when parsing report data. [erral]

0.8 (2019-01-02)

  • Use HTTPS for FIDE urls. [erral]

  • Format code using black. [erral]

0.7.1 (2018-01-07)

  • Document optional flags [erral]

  • Fix error when no arbiter data is present [erral]

0.7 (2018-01-07)

  • Condition export of report data (player count present in report) [erral]

  • Condition export of arbiter data [erral]

0.6 (2018-01-06)

  • Use http [erral]

  • Remove setup.cfg [erral]

0.5 (2018-01-06)

  • Minor fixes [erral]

0.4.1 (2014-01-01)

  • Fix history [erral]

0.4 - (2014-01-01)

  • Handle situations when the given arbiter has not valid information in FIDE site [erral]

0.3 - (2013-01-08)

  • Avoid duplicated headers in exported csv file [erral]

  • Fix arbiter parsing: previously some organizers were parsed like arbiters. Fixes #1 [erral]

0.2 - (2013-01-06)

  • Added a CSV file merging utlity [erral]

  • Improve documentation [erral]

0.1 - (2013-01-06)

  • Initial release [erral]

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

fideparser-1.1.tar.gz (85.9 kB view details)

Uploaded Source

Built Distribution

fideparser-1.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file fideparser-1.1.tar.gz.

File metadata

  • Download URL: fideparser-1.1.tar.gz
  • Upload date:
  • Size: 85.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for fideparser-1.1.tar.gz
Algorithm Hash digest
SHA256 4e21ce17e4c6a675a926cd07ba694b15c2907bcb463bc3118e938063932adda9
MD5 98a1ba1477d91f8dd517978c66dd59c4
BLAKE2b-256 52e514d8d81767119f785a380fc6583d259cd30dda97e0b6185b4070ccb5deea

See more details on using hashes here.

File details

Details for the file fideparser-1.1-py3-none-any.whl.

File metadata

  • Download URL: fideparser-1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for fideparser-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0c92ac02abb0acccd7d4fc47c6d4ff4f56da6ce54a7d6e750dbe8e242ba2864a
MD5 2b36c7893072e51a4ea34020fc0e6b68
BLAKE2b-256 b51233fc0fbb50b0660d00cd605ba7067c09b0840723a57a16b0dcc7b275d074

See more details on using hashes here.

Supported by

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