randfacts 0.23.0__py3-none-any.whl → 0.24.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
randfacts/unsafe.txt CHANGED
@@ -51,7 +51,6 @@ The most frequent season for most suicides to occur is in the spring. The winter
51
51
  Teenage suicide is the second cause of death in the state of Wisconsin
52
52
  Singer Billy Joel tried to commit suicide when he was 21 by drinking furniture polish
53
53
  Back in 1919, the Russian transplant pioneer Serge Voronoff made headlines by grafting monkey testicles onto human males.
54
- Nazi leader Adolf Hitler had only one testicle
55
54
  About a third of all Jewish people alive at that time were murdered in the Holocaust.
56
55
  A Muslim family that saved Jews during the Holocaust, was later saved by Israel during the genocide in Bosnia, and converted to Judaism.
57
56
  In 1945, Eisenhower predicted that people would try to deny the holocaust, so he urged the press to come.
@@ -75,7 +74,6 @@ Steely Dan got their name from a sexual device depicted in the book 'The Naked L
75
74
  60% of all people using the Internet, use it for pornography.
76
75
  UK's Internet Porn Filter Architect was Arrested On Child Porn Offenses in 2014
77
76
  A man will ejaculate approximately 18 quarts of semen in his lifetime.
78
- Adolf Hitler was a vegetarian.
79
77
  Hitler and Napoleon both had only one testicle
80
78
  To "testify" was based on men in the Roman court swearing to a statement made by swearing on their testicles.
81
79
  During WW1, a British soldier spared the life of a wounded German: Adolf Hitler
@@ -113,3 +111,6 @@ Dildos have been around for centuries. With the oldest potential dildo being 28,
113
111
  Vibrators were created in the 19th century to reduce "hysteria" in women.
114
112
  Famous gangster, Al Capone, had undiagnosed syphillis until he went to prison.
115
113
  According to a British law passed in 1845, attempting to commit suicide was a capital offense. Offenders could be hanged for trying.
114
+ There is a town named Dildo in the province of Newfoundland, Canada
115
+ The word "testify" is based on the Ancient Roman practice of making men swear on their testicles when making a statement in court.
116
+ Adolf Hitler was a vegetarian, and had only ONE testicle.
@@ -1,17 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: randfacts
3
- Version: 0.23.0
3
+ Version: 0.24.1
4
4
  Summary: Package to generate random facts
5
- License: MIT
6
- License-File: LICENSE
5
+ Keywords: facts,random,generator,trivia,cli,dataset
7
6
  Author: TabulateJarl8
8
- Author-email: tabulatejarl8@gmail.com
9
- Requires-Python: >=3.6,<4.0
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: Intended Audience :: Developers
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Natural Language :: English
14
- Classifier: Operating System :: OS Independent
7
+ Author-email: TabulateJarl8 <tabulatejarl8@gmail.com>
8
+ License-Expression: MIT
9
+ License-File: LICENSE
15
10
  Classifier: Programming Language :: Python :: 3
16
11
  Classifier: Programming Language :: Python :: 3.6
17
12
  Classifier: Programming Language :: Python :: 3.7
@@ -22,10 +17,22 @@ Classifier: Programming Language :: Python :: 3.11
22
17
  Classifier: Programming Language :: Python :: 3.12
23
18
  Classifier: Programming Language :: Python :: 3.13
24
19
  Classifier: Programming Language :: Python :: 3.14
20
+ Classifier: Natural Language :: English
21
+ Classifier: License :: OSI Approved :: MIT License
22
+ Classifier: Operating System :: OS Independent
23
+ Classifier: Development Status :: 5 - Production/Stable
24
+ Classifier: Environment :: Console
25
+ Classifier: Intended Audience :: Developers
26
+ Classifier: Intended Audience :: End Users/Desktop
27
+ Classifier: Topic :: Games/Entertainment
28
+ Classifier: Topic :: Education
25
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
- Requires-Dist: importlib-metadata (>=1.4,<2.0) ; python_version < "3.8"
27
- Project-URL: Homepage, https://tabulate.tech/software/randfacts/
28
- Project-URL: Repository, https://github.com/TabulateJarl8/randfacts
30
+ Requires-Dist: dataclasses>=0.8 ; python_full_version == '3.6.*'
31
+ Requires-Dist: importlib-metadata>=4.8.3 ; python_full_version < '3.8'
32
+ Requires-Python: >=3.6
33
+ Project-URL: homepage, https://tabulate.tech/software/randfacts/
34
+ Project-URL: repository, https://github.com/TabulateJarl8/randfacts
35
+ Project-URL: issues, https://github.com/TabulateJarl8/randfacts/issues
29
36
  Description-Content-Type: text/markdown
30
37
 
31
38
  <p align="center">
@@ -52,20 +59,32 @@ Randfacts is a Python module that generates random facts. You can use `randfacts
52
59
 
53
60
  randfacts can either be installed via pip or via the AUR, whichever way you prefer.
54
61
 
55
- ### Installation via pip:
62
+ ### Installation via uv/pipx/pip:
56
63
 
57
64
  ```sh
65
+ # Install with UV:
66
+ $ uv tool install randfacts
67
+
68
+ # Or just try it out:
69
+ $ uvx randfacts
70
+
71
+ # Install with pipx:
72
+ $ pipx install randfacts
73
+
74
+ # Install with bare pip:
58
75
  $ pip3 install randfacts
59
76
  ```
60
77
 
61
78
  ### Installation via AUR:
62
79
 
63
80
  Via your AUR helper, like paru:
81
+
64
82
  ```sh
65
83
  $ paru -S python-randfacts
66
84
  ```
67
85
 
68
86
  Or manually
87
+
69
88
  ```sh
70
89
  $ git clone https://aur.archlinux.org/python-randfacts.git && cd python-randfacts
71
90
  $ makepkg -si
@@ -78,10 +97,12 @@ import randfacts
78
97
  x = randfacts.get_fact()
79
98
  print(x)
80
99
  ```
100
+
81
101
  The above example will print a random fact like:
82
102
  `Penguins can't taste sweet or savory flavors, only sour and salty ones`
83
103
 
84
104
  This package has a filter option to filter out potentially inappropriate facts. The filter is on by default. To disable the filter, you can just set the `filter_enabled` parameter to `False`.
105
+
85
106
  ```python
86
107
  from randfacts import get_fact
87
108
  print(get_fact(False))
@@ -97,7 +118,6 @@ print(get_fact(only_unsafe=True))
97
118
 
98
119
  If you want to access the list of facts directly, you can just import the `safe_facts`, `unsafe_facts`, or `all_facts` lists from the randfacts module.
99
120
 
100
-
101
121
  ## Command line usage
102
122
 
103
123
  randfacts can be executed via the command line with the following commands:
@@ -126,3 +146,28 @@ More help.
126
146
  $ python3 -m randfacts --help
127
147
  ```
128
148
 
149
+ # Contributing
150
+
151
+ Contributions are welcome, this project uses [uv](https://github.com/astral-sh/uv) to manage it's dependencies, so setup is very simple.
152
+
153
+ ## Development Setup
154
+
155
+ 1. Make sure uv is properly installed
156
+ 2. Fork and clone the repository with `git clone git@github.com:your-username/randfacts.git`
157
+ 3. Install dependencies with `uv sync --dev`
158
+ 4. After making changes, ensure the tests pass, and add any unit tests needed to bring code coverage to 100% with the following command:
159
+
160
+ ```sh
161
+ # check everything, if you're just working on one particular issue,
162
+ # see the Makefile for more granular tasks
163
+ make check-all
164
+ ```
165
+
166
+ ## Duplicate facts test
167
+
168
+ I've created a fairly complex duplicate fact detection test in Rust. It will be easier to run on your machine to check/fix any issues, but it also runs in CI if you don't want to set up Rust. It can be run with the following:
169
+
170
+ ```sh
171
+ cd tests/checkduplicates
172
+ cargo run --release
173
+ ```
@@ -0,0 +1,10 @@
1
+ randfacts/__init__.py,sha256=njWNkZJZjgGDDUAxvARaBdpG9Ev7UP_m9o1Bhmjd0ec,1210
2
+ randfacts/__main__.py,sha256=9_2xK8cMQNhjhqifDerkF-1TWJKCyAuy4nrg5NlPIsw,1546
3
+ randfacts/randfacts.py,sha256=Bhqvaa14VE5BDImubvrvzhC87uRazyVVIrO4PTdOI64,1393
4
+ randfacts/safe.txt,sha256=0w2jJemwHsishGY0VelKLaUgxIh5IMyEJxbIXJ79feM,622877
5
+ randfacts/unsafe.txt,sha256=NvrrEBroIGHlXTOK1cIUCqqfjX1gFxtjDsfuRl4vaf0,10594
6
+ randfacts-0.24.1.dist-info/licenses/LICENSE,sha256=jjeRXh9TXJsz3sInGyxSrmmGr8EFGmiO_nwoyA1ADOU,1088
7
+ randfacts-0.24.1.dist-info/WHEEL,sha256=XV0cjMrO7zXhVAIyyc8aFf1VjZ33Fen4IiJk5zFlC3g,80
8
+ randfacts-0.24.1.dist-info/entry_points.txt,sha256=DTFTayZZUdAqMhujblUe0dTWtBi4oQLbpOjmJP4tgwQ,65
9
+ randfacts-0.24.1.dist-info/METADATA,sha256=1nIMkuqjxWozMq5_aFVi4EcbOIMu5KfOVWvVoPD6Qsg,6519
10
+ randfacts-0.24.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.2.1
2
+ Generator: uv 0.9.26
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ randfacts = randfacts.__main__:cli_entrypoint
3
+
@@ -1,5 +1,5 @@
1
1
  MIT License
2
- Copyright (c) 2020-2024 Connor Sample
2
+ Copyright (c) 2020-2026 Connor Sample
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
5
5
  in the Software without restriction, including without limitation the rights
@@ -1,10 +0,0 @@
1
- randfacts/__init__.py,sha256=Kpg3P_cgJcyYAMQhYBdOd5AUEoEm-piAGlx8IQjnt-0,1249
2
- randfacts/__main__.py,sha256=sH6dc3zI2TSF12PVQTp_mlCPgKrF-7lJd_8kQ8hZ2S0,97
3
- randfacts/randfacts.py,sha256=63Tx4AiB-ZVihw5DQe5T80DgYKvwOTUP6XebPriQ7e0,2218
4
- randfacts/safe.txt,sha256=8t2fLQayINFQLnEqIrGoJ57YCJeqL4WQpM2kMWR34eg,634078
5
- randfacts/unsafe.txt,sha256=6CO4QTQ7YIqkDyyS9cbV1-eqs8B0TYxzDyab4lUGGHQ,10415
6
- randfacts-0.23.0.dist-info/METADATA,sha256=2vO_gQ6egWrXvPDxvz00pqxaXfkKfFO2bWN-Mj0p5x4,5048
7
- randfacts-0.23.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
8
- randfacts-0.23.0.dist-info/entry_points.txt,sha256=YPadKZhBZjJaNq_Mfkaj7HJgs63rf3rl_7pj5Tf8WY8,65
9
- randfacts-0.23.0.dist-info/licenses/LICENSE,sha256=Pw9YWaR5pSAfnfuabUSytyJGj2Wy4G7Zw1EdldX9KGU,1088
10
- randfacts-0.23.0.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- [console_scripts]
2
- randfacts=randfacts.randfacts:_cli_entrypoint
3
-