Skip to main content

comics

Project description

comics

GoComics API wrapper

pypiv Python 3.7+ continuous-integration Licence

Installation

pip install comics

Quick start

Find and download the Calvin and Hobbes comic strip published on January 2, 1990:

import comics

ch = comics.calvin_and_hobbes.date('January 2, 1990')
ch.download('calvinandhobbes.png')

Find comics

Comics can be found using the directory class:

import comics

# List available comics - total of 474
comics.directory.listall()
# >>> ("a_problem_like_jamal", "aaggghhh", "adam_at_home", "adult_children", ... )

# Find Dilbert
comics.directory.search("Dilbert")
# >>> ("dilbert", "dilbert_en_espanol")

Use the desired endpoint to query a comic. For example, to search for Dilbert comics in english use comics.dilbert; for spanish, use comics.dilbert_en_espanol.

Search and download comics

Instantiate a query class with a date argument or use the random date constructor:

import comics

# Get a Dilbert comic strip by date
dilbert = comics.dilbert.date("2013-05-13")  # Also accepts datetime object

# Get a random Dilbert comic strip
random_dilbert = comics.dilbert.random_date()

Once instantiated, show, download, or stream the comic strip:

# Show comic strip - opens in default image viewer application
dilbert.show()

# Download comic strip - defaults to {comic endpoint}.png if an export path is not provided
# E.g., a Dilbert comic strip will be exported as "dilbert.png" in the current working directory
dilbert.download()

# Stream comic strip - useful if custom image content manipulation is desired
dilbert.stream()

Attributes

An instantiated query class will have the following public attributes:

import comics

garfield = comics.garfield.date("08/20/2000")
garfield.date
# >>> "2000-08-20"
garfield.title
# >>> "Garfield"
garfield.url
# >>> "https://www.gocomics.com/garfield/2000/08/20"

Exceptions

An exception will be thrown if the query date is unregistered or before the comic's origin date:

import comics
from comics import DateError

try:
    peanuts = comics.peanuts.date("1900-01-01")
    peanuts.download()
except DateError:
    print("Whoops - an invalid date was queried.")

Contribute

Support

If you are having issues or would like to propose a new feature, please use the issues tracker.

License

The project is licensed under the MIT license.

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

comics-0.1.6.tar.gz (242.9 kB view hashes)

Uploaded Source

Built Distribution

comics-0.1.6-py3-none-any.whl (25.0 kB view hashes)

Uploaded Python 3

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