An example of a package developed with pipenv, built with build using setuptools, uploaded to PyPI using twine, and distributed via pip.
Project description
MyCodeBuddyProject
A Python package designed to assist you throughout your coding projects. This package allows users to receive debugging tips, fun facts, resources for language help, and has a study timer to help users stay focused.
Teammates
Link to package on PyPI
Developer Instructions
Step 1: Install the Package
To use MyCodeBuddyProject in your project, first install it from PyPI. In your terminal or command prompt, type:
pip install mycodebuddyproject
Step 2: Import Package
After installing the package, import mycodebuddyproject functions so they can be used directly in your code.
A sample program can be found here.
import mycodebuddyproject.get_debug_tips as debug
import mycodebuddyproject.get_help as get_help
import mycodebuddyproject.fun_facts as fun_facts
from mycodebuddyproject.study_timer import StudyTimer
print("Get a debugging tip for runtime errors")
print(debug.debug_tip("runtime"))
print("# Get a documentation link for Python")
print(get_help.language_help("python"))
print("Get a fun fact about Python features")
print(fun_facts.get("features"))
print("Start a study timer for 2 minutes")
timer = StudyTimer() # Create an instance of StudyTimer
timer.start(25) # Start a 25-minute study session
timer.pause() # Pause the session
timer.resume() # Resume the session
timer.cancel() # Cancel the session
Functions
debug_tip(error_type)
Returns a random debugging tip for the specified error type.
- Parameters:
error_type(str): The type of error ("syntax, "runtime", "logic").
- Returns: random debugging tip
Example
debug_tip("runtime")
# Output: "Are you trying to divide by 0? This will cause an error."
language_help(language)
Returns a link to documentation for a specified programming language.
- Parameters:
language(str): The programming language name.
- Returns: a link to documentation.
Example
language_help("python")
# Output: "https://docs.python.org/3/"
get(fact_type)
Returns a random fun fact for the specified fact type.
- Parameters:
fact_type(str): The type of fact ("features", "libraries", "trivia", "performance").
- Returns: random fun fact
Example
get("features")
# Output: "Python uses indentation (whitespace) to define code blocks instead of braces {}."
Study Timer
start(timer_length)
Starts timer with length specified in minutes.
- Parameters:
timer_length(str): The desired length of the timer in minutes.
- Returns:
- No return value
pause()
Pauses current timer.
- Parameters:
- no parameters
- Returns:
- No return value
resume()
Resumes paused timer.
- Parameters:
- no parameters
- Returns:
- No return value
cancel()
Ends current session.
- Parameters:
- no parameters
- Returns:
- No return value
Example
timer = StudyTimer() # Instantiate study timer class
timer.start(25)
# Output:
# Study session started! Good luck, you got it!!
#Enter 'pause' to pause the session at any time.
timer.pause() # Pause the session
# Output:
# Study session paused, please enter 'resume' when you want to resume.
timer.resume() # Resume the session
# Output:
# Resuming now.
timer.cancel() # Cancel the session
#Output:
# Study session canceled.
Developer Contributions
If you’d like to contribute:
-
Clone the repository using:
git clone https://github.com/software-students-spring2025/3-python-package-float.git cd 3-python-package-float
-
Create and run virtual environment
# Install or update pipenv if needed pip install --upgrade pipenv # Create virtual environment and install dependencies pipenv install --dev # Activate virtual environment pipenv shell
-
Create a new branch and make your changes.
git checkout -b branch-name
-
Run all pytests with the following command:
pytest
-
Build the package with the following command:
python -m build
-
Commit and push changes
git add . git commit -m "description of changes" git push origin branch-name
-
Make a pull request on this project's repository on Github.
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
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 mycodebuddyproject-0.1.4.tar.gz.
File metadata
- Download URL: mycodebuddyproject-0.1.4.tar.gz
- Upload date:
- Size: 50.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1bd88c9dae3c5957b71a077602e7bfe1c36f6312e96f2f0edd3a394077ac38b
|
|
| MD5 |
ec066c07af293d566a77f66aa1a4e798
|
|
| BLAKE2b-256 |
d954a36a6163c2cb3f4b6136a7c9eff68be962da202421709a8c6879d41f0577
|
File details
Details for the file mycodebuddyproject-0.1.4-py3-none-any.whl.
File metadata
- Download URL: mycodebuddyproject-0.1.4-py3-none-any.whl
- Upload date:
- Size: 35.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55bd00c1424e7cd1fffdb58b0e3c1afca5757e9e1e61f05634a6dcfc2a93a17c
|
|
| MD5 |
88debab01335183f4554a25c539dca9a
|
|
| BLAKE2b-256 |
0db4282f99d1ed4fe91914f2b2190569b5afbd2ac09cfb9f7f7652f293ea8ecc
|