Skip to main content

A dog-themed Python package

Project description

Python Package Exercise

CI

A Python package exercise pyfundog lets you generate ASCII dogs that can speak, bark, wag, and pose.

See instructions for details.


Team members:

Tsengelmurun Enkh-Onon Milan Engineer Sara Dou Jack Escowitz

Features

speak(message, mood)

Returns a dog ASCII with a message and mood (happy, sleepy, angry)

Example:

from pyfundog import speak

print(speak("hello!", "happy"))

bark(num_barks)

Returns a dog ASCII with a speech bubble containing "bark" repeated num_barks times

Example:

from pyfundog import bark

print(bark(3))

wag(message)

Returns a wagging dog ASCII that echoes the message

Example:

from pyfundog import wag

print(wag("Good dog!"))

pose(trick, mood)

Returns a dog ASCII performing a specific trick with a given mood.

Valid tricks: sit, stand, stare

Valid moods: happy, sleepy, angry

Raises:

  • ValueError if trick or mood is invalid

Example:

from pyfundog import pose

print(pose("sit", "happy"))
print(pose("stand", "sleepy"))
print(pose("stare", "angry"))

install from PyPI:

https://pypi.org/project/pyfundog/

pip install pyfundog

Usage (CLI)

python -m pyfundog --bark 3
python -m pyfundog --wag "hello"
python -m pyfundog --speak-message "hi" --speak-mood happy

Example Program

Run the demo:

pipenv run python examples/demo.py

Developer Setup:

#Python 3.9, 3.10, 3.11

# Clone repo:
git clone https://github.com/swe-students-spring2026/3-package-river_dolphin.git
cd 3-package-river_dolphin

# Install pipenv: 
pip install pipenv

# Install dependencies:
pipenv install --dev
pipenv install -e .

# Run tests:
pipenv run pytest

# Build package:
pipenv run python -m build

Contributing:

# Python 3.9, 3.10, 3.11

# Create a feature branch:
git checkout -b feature/your-feature

# Make changes and test: 
pipenv run pytest

# Commit and push:
git add .
git commit -m "Add feature"
git push origin feature/your-feature

# Open a PR on GitHub

License:

Licensed under the MIT License. See License.

Course Exercise:

This repository is part of the package engineering exercise documented in instructions.

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

pyfundog-0.1.0.tar.gz (44.8 kB view details)

Uploaded Source

Built Distribution

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

pyfundog-0.1.0-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file pyfundog-0.1.0.tar.gz.

File metadata

  • Download URL: pyfundog-0.1.0.tar.gz
  • Upload date:
  • Size: 44.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for pyfundog-0.1.0.tar.gz
Algorithm Hash digest
SHA256 869058e7c24184f1b3df023c117e51293d5e6959a74807e115c52d5fe9f4ec7f
MD5 aba6c9e8ae052083b274065039894a99
BLAKE2b-256 66d2622435d90e7b6e93adf4bcc07d1efb4961c31e3bb11239b85fb658c9b2c8

See more details on using hashes here.

File details

Details for the file pyfundog-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyfundog-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for pyfundog-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6a3d9c73ab3d9e62eec3ac7f0278bfd69bffe85a42d98a26489898ef8601bc1
MD5 f583b0d52fe3812b75b3c31cd36fabe3
BLAKE2b-256 c9d1ddece659f362ff7220326d6211fa3924aabb3537c53e727ed3258f9f842e

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