Skip to main content

A Flask-based REST API for retrieving jokes with support for multiple categories and languages.

Project description

CKX-Jokes API

A Flask-based REST API for retrieving jokes with support for multiple categories and languages.

Features

  • Multiple Categories: Support for various joke categories
  • Multi-language Support: Retrieve jokes in different languages
  • Configurable Defaults: Set default category and language preferences
  • Single & Multiple Jokes: Get one joke or a collection of jokes
  • Infinite Joke Generator: Stream jokes indefinitely with the "forever" endpoints
  • Flexible Filtering: Combine category and language parameters for targeted results

API Endpoints

Home & Configuration

  • GET / - Homepage with available categories and languages
  • GET /defaults - Get current default category and language
  • GET /categories - List all available categories
  • GET /languages - List all available languages

Default Settings

  • GET /get-default/category - Get default category
  • GET /get-default/language - Get default language
  • GET /set-default/category/<category> - Set default category
  • GET /set-default/language/<language> - Set default language

Single Joke Endpoints

  • GET /joke - Get a random joke using defaults
  • GET /joke/<category> - Get joke by category
  • GET /joke/<language> - Get joke by language
  • GET /joke/<category>/<language> - Get joke by category and language

Multiple Jokes Endpoints

  • GET /jokes - Get all jokes using defaults
  • GET /jokes/<category> - Get jokes by category
  • GET /jokes/<language> - Get jokes by language
  • GET /jokes/<category>/<language> - Get jokes by category and language

Infinite Joke Stream Endpoints

  • GET /jokes/forever - Stream jokes indefinitely
  • GET /jokes/forever/<category> - Stream jokes by category
  • GET /jokes/forever/<language> - Stream jokes by language
  • GET /jokes/forever/<category>/<language> - Stream jokes by category and language

Installation

  1. Install package from pypi.org:

    pip install ckx-jokes
    
  2. Once installed, anyone can interact with the package using:

    # save the file as "main.py"
    from ckx-jokes install jokes_server
    
    # Configure HOST, PORT & DEBUG modes
    HOST, PORT, DEBUG = (
      "127.0.0.1", 8080, True
    )
    
    # Initialize server object
    server = jokes_server()
    
    if __name__ == "__main__":
      server.run(
        host=HOST, port=PORT, debug=DEBUG
      )
    
  3. Start the application service in the terminal:

    python main.py
    

License

See LICENSE for license information.

Useful Links

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

ckx_jokes-0.4.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ckx_jokes-0.4-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file ckx_jokes-0.4.tar.gz.

File metadata

  • Download URL: ckx_jokes-0.4.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ckx_jokes-0.4.tar.gz
Algorithm Hash digest
SHA256 b1a5172d58c63f54bbba5b9a691027b6185a95ddb68db0f5a3859b0682159013
MD5 6738a395139cd89ac7354f6f1255b6dd
BLAKE2b-256 a2b54e09bb04ad5f126af797aafccb73f4857331165002e9257620096299345b

See more details on using hashes here.

File details

Details for the file ckx_jokes-0.4-py3-none-any.whl.

File metadata

  • Download URL: ckx_jokes-0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ckx_jokes-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c50c13b602994f92e2a2367c9d30946df5c1d152f4aa29a3d308df9372512469
MD5 26dd3a71fc7647a39b703a60cfef8d2b
BLAKE2b-256 056614a9ed638f137defe8348c5bf216880f5e75e39a0ecf190e11513f661e3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page