Skip to main content

No project description provided

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:

    # Insert this code in a Python file: "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.3.tar.gz (5.5 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.3-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ckx_jokes-0.3.tar.gz
  • Upload date:
  • Size: 5.5 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.3.tar.gz
Algorithm Hash digest
SHA256 409d2efb18e3ad4ec402601dc0a4454ace8fccb0666f9d53ee3cc5d502467217
MD5 b9545a8f688cebfa18c1b7ff86ccdc4c
BLAKE2b-256 82f8f064a5b8299d9d83805c98f33af23cdfd85c163eb6bff99f8e77edd5ae66

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ckx_jokes-0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7fe37f2adfc777d99350041671cf88d5e8cab9c4ecb265eef42112f818985a28
MD5 e7724fad6731143dedc937465c95cb85
BLAKE2b-256 f762899944f59cbaaebb92aaa0e40bd935e4ed8ff5aedc2103b3713caf749640

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