Skip to content

amyreese/libseinfeld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libseinfeld

Python library for querying Seinfeld quotes.

Depends on a database generated using scripts by Colin Pollick.

https://travis-ci.org/amyreese/libseinfeld.svg?branch=master

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 2022 Amethyst Reese, and licensed under the MIT license. See the LICENSE file for details.

About

Python library for querying Seinfeld quotes

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published