Skip to main content

Boredom kills. Here's a package that gives you a daily dose of fun!

Project description

Python build & test PyPI version

Python dailydose Package

Boredom kills. Here's a package that gives you a daily dose of fun!

Team Members

Installation

Install the dailydose module with pip.

Usage

Once installed, dailydose gives access to the package's 4 special features: today's news in different fields (per Vox Media), random fun facts, and the games of hangman and battleship. The variety of the collection is inspired by the traditional newspaper/magazine experience, in which both information and thought-provoking entertainment is regularly provided. This package is ideal for any program that operates on changing content or stimulating applications.

dailydose supports a command-line interface (CLI). To choose one of the above options, simply call:

$ python3 -m dailydose

Upon running the package, a main menu is displayed in which your options are listed. Access each feature by entering their corresponding menu number.

Fun Stuffs To Do

Fun Facts

  • To see a fun fact, press 1 when the main menu is prompted. A random fun fact from TheFactSite will be printed.

  • After that, you will be redirected to the main menu.

Newsfeed

  • To see today's news, press 2 when the main menu is prompted. Immediately after, you will be given a list of options to read about: Culture, Politics, Science, World, Technology, Environment, and Business. You also have the option to return to the main menu.

  • Select a field by entering the corresponding listed number. Today's top headlines in the chosen field, as published by Vox Media, as well as a link to read more are printed.

  • The content is sourced from their website and therefore changes accordingly.

  • Upon receiving the headlines, you will be redirected to the main menu.

Hangman Game

  • To play the hangman game, press 3 when the main menu is prompted.

  • You will then be asked to enter the length of the word you want to guess.

  • Upon guessing the correct word or losing the game, you will be redirected to the main menu.

Battleship Game

  • To play the battleship game, press 4 when the main menu is prompted.

  • You will then be asked to enter the board dimensions and ship size. You can also choose to use the default settings.

  • The game creates a dimension*dimension size board and keeps track of how many turns it takes for you to win! What do you think is the optimal strategy?

  • Upon winning or exiting the game, you will be redirected to the main menu.

Importing the Package

For example usage of the package, see example.py.

1. fact.get -- generate a list of random fun fact objects

fact.get(count=1, include_details=True)

Parameters

  • count: how many non-duplicate fun fact objects to return

    • default: 1
    • possible values: [1, 100], inclusive
  • include_details: whether to return the detailed contents of the facts or only the headings

    • default: True

2. news.get_headlines -- generate a list of headlines

news.get_headlines(subject, titular)

Parameters

  • subject: category name in url slug format on Vox.com

    • possible values: "culture", "policy-and-politics", "science-and-health", "world", "technology", "energy-and-environment", "business-and-finance"
  • titular: a user-friendly display name for the category name

    • possible values: any str

3. hang.hangman -- start an interactive hangman game

hang.hangman(num_letter=number_of_letters)

Parameters

  • num_letter: the length of word you want to guess
    • possible values: a string make up of numbers, the length of word acceptable is in between ["4", "10"], inclusive

4. battleship.main -- start an interactive battleship game

battleship.main(ship_size="4", dimension="10")

Parameters

  • dimension: the size of the board (dimension * dimension)

    • default: "10"
    • possible values: a string make up of numbers, the board dimension acceptable is in between ["1", "10"], inclusive
  • ship_size: the size of the hidden battleship

    • default: "4"
    • possible values: a string make up of numbers, the ship size acceptable is in between ["1", dimension], inclusive

Contribute

Source Code

Clone the package source code from GitHub repository.

Setup Virtual Environment

  1. Create a pipenv-managed virtual environment and install all required dependencies by running the following command in the main project directory where the Pipfile is:
pipenv install
  1. Activate the virtual environment:
pipenv shell
  1. Then you can test and modify the package!

Test the Package

  1. Run the tests from the main project directory:
python3 -m pytest

Build the Package

  1. Delete the autogenerated dist directory if it exists.

  2. Delete the autogenerated src/*.egg-info directory if it exists.

  3. Build the package by running the following command in the main project directory:

python3 -m build

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

dailydose-0.1.1.tar.gz (43.4 kB view hashes)

Uploaded Source

Built Distribution

dailydose-0.1.1-py3-none-any.whl (42.3 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