Skip to content

Commit 1536f49

Browse files
committed
Release v0.3.0
1 parent 6100783 commit 1536f49

8 files changed

Lines changed: 27248 additions & 14 deletions

File tree

‎README.md‎

Lines changed: 82 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# FunKitPy
22

3-
> A lightweight Python library and CLI for jokes, dad jokes, and roasts.
3+
> A lightweight Python library and CLI for jokes, dad jokes, roasts, and inspirational quotes.
44
55
[![PyPI version](https://img.shields.io/pypi/v/funkitpy.svg)](https://pypi.org/project/funkitpy/)
66
[![Python versions](https://img.shields.io/pypi/pyversions/funkitpy.svg)](https://pypi.org/project/funkitpy/)
@@ -13,6 +13,8 @@
1313
- 🎭 Random jokes
1414
- 👨 Dad jokes
1515
- 🔥 Roasts
16+
- 💬 Inspirational quotes
17+
- 📚 Includes **5,421+ quotes**
1618
- 💻 Command Line Interface (CLI)
1719
- 📦 Zero dependencies
1820
- ⚡ Fast & lightweight
@@ -31,11 +33,12 @@ pip install FunKitPy
3133
## Quick Start
3234

3335
```python
34-
from funkitpy import joke, dad_joke, roast
36+
from funkitpy import joke, dad_joke, roast, quote
3537

3638
print(joke())
3739
print(dad_joke())
3840
print(roast())
41+
print(quote())
3942
```
4043

4144
---
@@ -66,16 +69,46 @@ from funkitpy import roast
6669
print(roast())
6770
```
6871

72+
### Quote
73+
74+
```python
75+
from funkitpy import quote
76+
77+
print(quote())
78+
```
79+
80+
### Quote Data
81+
82+
Returns the raw quote dictionary.
83+
84+
```python
85+
from funkitpy import quote_data
86+
87+
print(quote_data())
88+
```
89+
90+
Example:
91+
92+
```python
93+
{
94+
"quote": "The best way to get started is to quit talking and begin doing.",
95+
"author": "Walt Disney"
96+
}
97+
```
98+
6999
---
70100

71101
## Compatibility Aliases
72102

73103
The following aliases are also available:
74104

75105
```python
76-
from funkitpy import get_joke
77-
from funkitpy import get_dad_joke
78-
from funkitpy import get_roast
106+
from funkitpy import (
107+
get_joke,
108+
get_dad_joke,
109+
get_roast,
110+
get_quote
111+
)
79112
```
80113

81114
These functions behave exactly the same as:
@@ -84,6 +117,7 @@ These functions behave exactly the same as:
84117
joke()
85118
dad_joke()
86119
roast()
120+
quote()
87121
```
88122

89123
---
@@ -110,6 +144,12 @@ funkit dad-joke
110144
funkit roast
111145
```
112146

147+
### Quote
148+
149+
```bash
150+
funkit quote
151+
```
152+
113153
### Show Version
114154

115155
```bash
@@ -124,15 +164,34 @@ funkit --version
124164
funkit commands
125165
```
126166

167+
Output:
168+
169+
```text
170+
joke
171+
dad-joke
172+
roast
173+
quote
174+
```
175+
127176
---
128177

129178
## Example Output
130179

180+
### Joke
181+
131182
```text
132183
Why don't scientists trust atoms?
133184
Because they make up everything.
134185
```
135186

187+
### Quote
188+
189+
```text
190+
"The best way to get started is to quit talking and begin doing."
191+
192+
— Walt Disney
193+
```
194+
136195
---
137196

138197
## Project Structure
@@ -143,12 +202,14 @@ funkitpy/
143202
│ ├── __init__.py
144203
│ ├── jokes.py
145204
│ ├── roasts.py
205+
│ ├── quotes.py
146206
│ ├── cli.py
147207
│ ├── version.py
148208
│ └── data/
149209
│ ├── jokes.json
150210
│ ├── dad_jokes.json
151-
│ └── roasts.json
211+
│ ├── roasts.json
212+
│ └── quotes.json
152213
├── tests/
153214
├── pyproject.toml
154215
├── LICENSE
@@ -157,6 +218,18 @@ funkitpy/
157218

158219
---
159220

221+
## Why FunKitPy?
222+
223+
- No API keys required
224+
- No internet connection required
225+
- Lightweight and fast
226+
- Easy Python API
227+
- Simple CLI
228+
- Great for bots, scripts, terminals, and fun projects
229+
- Includes a collection of **5,421+ inspirational quotes**
230+
231+
---
232+
160233
## Contributing
161234

162235
Contributions, bug reports, and feature requests are welcome.
@@ -171,12 +244,15 @@ Contributions, bug reports, and feature requests are welcome.
171244
## Links
172245

173246
Homepage:
247+
174248
https://github.com/fmasterpro27/FunKitPy
175249

176250
Issues:
251+
177252
https://github.com/fmasterpro27/FunKitPy/issues
178253

179254
PyPI:
255+
180256
https://pypi.org/project/funkitpy/
181257

182258
---

‎funkitpy/__init__.py‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
from .jokes import joke, dad_joke
1+
from .jokes import joke, dad_joke, get_joke, get_dad_joke
22
from .roasts import roast
3+
from .quotes import quote, quote_data
34
from .version import __version__
45

56
__all__ = [
67
"joke",
78
"dad_joke",
8-
"roast",
9+
"roast",
10+
"quote",
11+
"quote_data",
12+
"get_joke",
13+
"get_dad_joke",
914
"__version__"
1015
]

‎funkitpy/cli.py‎

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22

33
from .jokes import joke, dad_joke
44
from .roasts import roast
5-
from .version import __version__
5+
from .quotes import quote
6+
from importlib.metadata import version
7+
8+
9+
__version__ = version("FunKitPy")
610

711

812
def main():
913
parser = argparse.ArgumentParser(
1014
prog="funkit",
11-
description="FunKitPy - Random jokes, dad jokes and roasts",
15+
description="FunKitPy - Random jokes, dad jokes, quotes and roasts",
1216
)
1317

1418
parser.add_argument(
@@ -39,6 +43,11 @@ def main():
3943
help="Get a random roast",
4044
)
4145

46+
subparsers.add_parser(
47+
"quote",
48+
help="Get a random quote",
49+
)
50+
4251
subparsers.add_parser(
4352
"commands",
4453
help="List all available commands",
@@ -59,13 +68,17 @@ def main():
5968
elif args.command == "roast":
6069
print(roast())
6170

71+
elif args.command == "quote":
72+
print(quote())
73+
6274
elif args.command == "commands":
6375
print("""
6476
Available Commands:
6577
6678
joke Get a random joke
6779
dad-joke Get a random dad joke
6880
roast Get a random roast
81+
quote Get a random quote
6982
commands Show all commands
7083
7184
Flags:
@@ -78,6 +91,7 @@ def main():
7891
funkit joke
7992
funkit dad-joke
8093
funkit roast
94+
funkit quote
8195
funkit -v
8296
""")
8397

@@ -86,4 +100,4 @@ def main():
86100

87101

88102
if __name__ == "__main__":
89-
main()
103+
main()

0 commit comments

Comments
 (0)