A lazy commit message, pull request, excuse and procrastination generator for lazy devs with automated build and test workflows.
Project description
Documentation
The lazydev package provides funny and light-hearted tools for developers, including:
- Randomly generated commit messages.
- Auto-generated pull request titles.
- Creative excuses for not writing tests.
- Handy procrastination tips.
Installation
Running on Any Platform
Windows: Use PowerShell, ensure pip and git are installed.
macOS: Use Terminal, ensure brew or pip is updated.
Linux: Use bash, ensure python3 and pipenv are installed.
Package
To install our package, simply run:
pip install lazydev
Or if you would like to install directly from the source, use:
git clone https://github.com/software-students-spring2025/3-python-package-pyunit.git
cd lazydev
pip install .
Usage Guide
1. Generate a Lazy Commit Message
from lazydev import lazy_commit_message
# generate a random commit message
print(lazy_commit_message())
# generate a commit message with a keyword
print(lazy_commit_message(keyword="HOTFIX"))
Example Output:
A weird piece of code was refactored. Hopefully, it works.
HOTFIX: I patched the function. Maybe this will work?
2. Generate a Lazy Pull Request Title
from lazydev import lazy_pull_request
# generate a random pull request title for github
print(lazy_pull_request())
# generate a pull request title with a custom verb and noun
print(lazy_pull_request(inputVerb="improved", inputNoun="error handling"))
Example Output:
Fixed a bug. Just accept the pull request.
Improved error handling to align with new version.
3. Generate a Lazy Test Excuse
from lazydev import lazy_test_excuse
# Generate a random test excuse
print(lazy_test_excuse())
# Generate a test excuse with a specific reason
print(lazy_test_excuse(reason="ran out of coffee"))
Example Output
I'll add tests later...
I was going to write tests, but ran out of coffee.
4. Get a Procrastination Tip
from lazydev import procrastination_tip
# Generate a random procrastination tip
print(procrastination_tip())
# Generate a procrastination tip with a keyword
print(procrastination_tip(keyword="BREAK TIME"))
Example Output
Go grab some oreos. Snacks help you think... or keep you distracted for 10 minutes.
BREAK TIME: Grab a drink! I recommend a coffee. You can buy some around your neighborhood.
Example Program
For a complete example that uses all the functions, check out this example script: 🔗 lazydev_example.py
from lazydev import lazy_commit_message, lazy_pull_request, lazy_test_excuse, procrastination_tip
print(lazy_commit_message("BUGFIX"))
print(lazy_pull_request("refactored", "database queries"))
print(lazy_test_excuse("the server went down"))
print(procrastination_tip("STUDY BREAK"))
Contributing to and Modifying Lazy Dev Tools
Follow these steps to set up your environment in order to contribute!
1. Clone the Repository
git clone https://github.com/software-students-spring2025/3-python-package-pyunit.git
cd lazydev
2. Set Up a Virtual Environment
pip3 install pipenv # install pipenv
pipenv shell # run the shell
python # enter the shell
3. Install Dependencies
pipenv install --dev
4. Run Tests
Ensure everything works before making changes:
pipenv run pytest tests/
5. Build the Package
pip install build
python -m build
6. Install Locally for Development
pip install -e .
7. Create a Pull Request
- Fork the repository.
- Create a new branch (
git checkout -b feature-name). - Commit your changes (
git commit -m "Description of changes"). - Push to your fork (
git push origin feature-name). - Open a Pull Request on GitHub.
You have successfully contributed your modifications and changes to our package! Thank you for submitting your work!
Team Members
Mahmoud Shehata
Syed Naqvi
Brandon Morales
David Yu
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lazydev_pyunit-2.0.0.tar.gz.
File metadata
- Download URL: lazydev_pyunit-2.0.0.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e46bb350ea70c6603a9695293827d8bf34b123dffbdb07b252fbc424a8f71130
|
|
| MD5 |
351c0b21315a8ac6fceccf5eeee52f9e
|
|
| BLAKE2b-256 |
d564eef55346206dbe8692e377f175d476cfce908ff2ea03dc3886a2543870fa
|
File details
Details for the file lazydev_pyunit-2.0.0-py3-none-any.whl.
File metadata
- Download URL: lazydev_pyunit-2.0.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b32f602f14326296647af55747190b5e646b402128b536f59d8e7cd6ad4900b
|
|
| MD5 |
2ea706d4a15bc2c6290eb8d7f2f117ea
|
|
| BLAKE2b-256 |
6e26744ed793008146563e5f9fd61886e12c81afde6ffaf809c016aee8e5188b
|