Skip to main content

A library to manage and update NFL data in a relational database.

Project description

Module nfldb provides command line tools and a library for maintaining and querying a relational database of play-by-play NFL data. The data is imported from nflgame, which in turn gets its data from a JSON feed on NFL.com’s live GameCenter pages. This data includes, but is not limited to, game schedules, scores, rosters and play-by-play data for every preseason, regular season and postseason game dating back to 2009.

Here is a small teaser that shows how to use nfldb to find the top five passers in the 2012 regular season:

#!python
import nfldb

db = nfldb.connect()
q = nfldb.Query(db)

q.game(season_year=2012, season_type='Regular')
for pp in q.sort('passing_yds').limit(5).as_aggregate():
    print ( pp.player, pp.passing_yds)

And the output is:

[andrew@Liger ~] python2 top-five.py
Drew Brees (NO, QB) 5177
Matthew Stafford (DET, QB) 4965
Tony Romo (DAL, QB) 4903
Tom Brady (NE, QB) 4799
Matt Ryan (ATL, QB) 4719

In theory, both nfldb and nflgame provide access to the same data. The difference is in the execution. In order to search data in nflgame, a large JSON file needs to be read from disk and loaded into Python data structures for each game. Conversely, nfldb’s data is stored in a relational database, which can be searched and retrieved faster than nflgame by a few orders of magnitude. Moreover, the relational organization of data in nfldb allows for a convenient query interface to search NFL play data.

The database can be updated with real time data from active games by running the nfldb-update script included with this module as often as you’re comfortable pinging NFL.com. (N.B. The JSON data itself only updates every 15 seconds, so running nfldb-update faster than that would be wasteful.) Roster updates are done automatically at a minimum interval of 12 hours.

nfldb has comprehensive API documentation and a wiki with examples.

nfldb can be used in conjunction with nflvid to search and watch NFL game footage.

Please join us in discord https://discord.gg/G7uay2

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

nfldb-redux-1.0.0a4.tar.gz (230.1 kB view details)

Uploaded Source

Built Distribution

nfldb_redux-1.0.0a4-py3-none-any.whl (246.8 kB view details)

Uploaded Python 3

File details

Details for the file nfldb-redux-1.0.0a4.tar.gz.

File metadata

  • Download URL: nfldb-redux-1.0.0a4.tar.gz
  • Upload date:
  • Size: 230.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.5.7

File hashes

Hashes for nfldb-redux-1.0.0a4.tar.gz
Algorithm Hash digest
SHA256 aed21b02fbaba1550d36e6165948dae028aa59d74597e58af916ab71ceaadccc
MD5 6a0140822305c929e21faf9964357993
BLAKE2b-256 1594c8d43e60881bd515f6533d6d80caf10d1ed6234681bdfc8f4d7b54b58589

See more details on using hashes here.

File details

Details for the file nfldb_redux-1.0.0a4-py3-none-any.whl.

File metadata

  • Download URL: nfldb_redux-1.0.0a4-py3-none-any.whl
  • Upload date:
  • Size: 246.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.5.7

File hashes

Hashes for nfldb_redux-1.0.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 db03f989c8eed426921fbf8c94232a8a7de787c56a8d8a4bb93cc94d6388d2bf
MD5 cb06028a290c45d7cfd98303083937d5
BLAKE2b-256 383e5828c9a8172bb11ef0ccc0ff123f71eb8108366b7d7f51a31b26b48baef0

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