Skip to main content

What's the deal with asyncio?

Project description

aioseinfeld

What's the deal with asyncio?

Install

aioseinfeld requires Python 3.7 or newer. It can be installed from PyPI:

$ pip install aioseinfeld

aioseinfeld also depends on having a copy of the script database generated using scripts by Colin Pollick. You can build your own copy using those scripts, or download a prebuilt copy with the following command:

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

Usage

aioseinfeld uses context managers to wrap the underlying sqlite database connection. Create the Seinfeld object by passing the path to the seinfeld.db database:

from aioseinfeld import Seinfeld

async with Seinfeld(db_path) as seinfeld:
    ...

Get information on individual episodes or seasons:

async with Seinfeld(db_path) as seinfeld:
    season = await seinfeld.season(1)
    episodes = await season.episodes
    episodes[0].title  # "Good News, Bad News"
    episodes[0].writers # ["Jerry Seinfeld"]
    episodes[0].date  # date(1990, 6, 14)

Quotes can be retrieved by unique ID:

async with Seinfeld(db_path) as seinfeld:
    quote = await seinfeld.quote(34665)
    quote.speaker.name  # "George"
    quote.episode.title  # "The Pitch"
    quote.text  # "The show is about nothing."

Quotes can also be found by searching:

async with Seinfeld(db_path) as seinfeld:
    await seinfeld.search(speaker="Jerry", subject="keys")  # [Quote(...), ...]

You can even get random quotes with optional search parameters:

async with Seinfeld(db_path) as seinfeld:
    await seinfeld.random()  # Quote(...)
    await seinfeld.random(subject="parking")  # Quote(...)

If you want more context around a quote, passages help:

async with Seinfeld(db_path) as seinfeld:
    quote = await seinfeld.random()
    passage = await seinfeld.passage(quote, length=5)
    passage.quotes # [Quote(...), ...]

License

aiomultiprocess is copyright John Reese, and licensed under the MIT license. I am providing code in this repository to you under an open source license. This is my personal repository; the license you receive to my code is from me and not from my employer. See the LICENSE file for 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

aioseinfeld-0.2.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

aioseinfeld-0.2.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file aioseinfeld-0.2.0.tar.gz.

File metadata

  • Download URL: aioseinfeld-0.2.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.0

File hashes

Hashes for aioseinfeld-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7f5ae5cbb8235fe58aebf1f49e1cce1534977a451c0cd2902722d8711c6b030b
MD5 64ff4099125e80e518a52e059fa62e81
BLAKE2b-256 d05b9ffdab225b23b4f3976e6690559182c073d9ea79995dd54d61d0d5e25d2a

See more details on using hashes here.

File details

Details for the file aioseinfeld-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aioseinfeld-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aca7e444ab45dad062696e296a6ee70f7611dc784011419d79997a8470fd4814
MD5 811554e55b5543a33a057718d3652d05
BLAKE2b-256 0e44dc7cc51a8cce907934d114f721a7a038bda49435f8e31386c0d0627e7c09

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