Skip to main content

Query a Seinfeld quote database

Project description

Python library for querying Seinfeld quotes.

Depends on a database generated using scripts by Colin Pollick.

Install

libseinfeld is compatible with Python 2.7 and Python 3.3+. You can install it from PyPI with the following command:

$ pip install seinfeld

libseinfeld requires a local copy of the Seinfeld quote database. You can build it by following the instructions on the seinfeld-scripts repo, or you can download a prebuilt copy with the following command:

$ wget https://noswap.com/pub/seinfeld.db

Usage

First thing is to import libseinfeld and create a connection to the local database:

>>> from seinfeld import Seinfeld
>>> seinfeld = Seinfeld(<path to seinfeld.db>)

To get information on individual episodes or seasons:

>>> seinfeld.season(1).episodes.keys()
[1, 2, 3, 4]

>>> seinfeld.season(1).episodes[1].title
u'Good News, Bad News'

>>> seinfeld.season(1).episodes[1].writers[0]
u'Jerry Seinfeld'

>>> seinfeld.season(1).episodes[1].date
datetime.date(1990, 6, 14)

Quotes can be retrieved by unique ID:

>>> quote = seinfeld.quote(34665)
>>> quote.text
u'The show is about nothing.'

>>> quote.speaker.name
u'George'

>>> quote.episode.title
u'The Pitch'

Searching for quotes is simple:

>>> seinfeld.search(speaker='Jerry', subject='keys')
[Quote(...), ...]

Searches are limited to ten quotes by default, but you can get more or less. To get all the quotes, in order, for a given episode:

>>> episode = seinfeld.season(1).episodes[1]
>>> quotes = seinfeld.search(episode=episode, limit=None)
>>> len(quotes)
209

You can even get random quotes by search query:

>>> seinfeld.random(speaker='George')
Quote(...)

If you’d like context around an individual quote, you can get a passage:

>>> passage = seinfeld.passage(quote)
>>> len(passage.quotes)
5

License

Copyright 2016 John Reese, and licensed under the MIT license. See the LICENSE file for details.

Project details


Release history Release notifications

This version
History Node

1.0.1

History Node

1.0.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
seinfeld-1.0.1.tar.gz (5.0 kB) Copy SHA256 hash SHA256 Source None Jan 17, 2016

Supported by

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