py-simple-wrap 0.3.2__tar.gz → 0.3.4__tar.gz
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.
- {py_simple_wrap-0.3.2/py_simple_package/src/py_simple_wrap.egg-info → py_simple_wrap-0.3.4}/PKG-INFO +42 -5
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/README.md +41 -4
- py_simple_wrap-0.3.4/docs/contributor-hub/error_template.md +95 -0
- py_simple_wrap-0.3.4/docs/contributor-hub/index.md +20 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4/py_simple_package/src/py_simple_wrap.egg-info}/PKG-INFO +42 -5
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple_wrap.egg-info/SOURCES.txt +2 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/pyproject.toml +1 -1
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/LICENSE.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/MANIFEST.in +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/about/contributors.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/about/license.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/contributor-hub/docstring_template.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/contributor-hub/tutorial_template.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/how-to/contributing.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/index.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/readme.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_async.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_colors.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_converter.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_csv.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_data_visualization.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_date_formatter.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_dict.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_file_manager.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_flow.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_game.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_generator.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_images.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_json.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_lists.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_math.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_numbers.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_regex.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_stats.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_strings.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_text.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_validator.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/reference/easy_web.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_async.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_colors.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_converter.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_csv.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_data_visualization.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_date_formatter.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_dict.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_file_manager.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_flow.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_game.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_generator.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_images.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_json.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_json2.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_lists.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_math.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_math2.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_numbers.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_numbers2.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_regex.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_stats.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_strings.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_validator.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/easy_web.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/docs/tutorial/quickstart.md +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/__init__.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_async.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_colors.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_converter.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_csv.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_data_visualization.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_date_formatter.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_dict.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_file_manager.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_flow.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_game.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_generator.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_images.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_json.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_lists.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_math.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_numbers.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_regex.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_stats.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_strings.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_text.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_validator.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_web.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple_wrap.egg-info/dependency_links.txt +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple_wrap.egg-info/requires.txt +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple_wrap.egg-info/top_level.txt +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/setup.cfg +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_async.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_colors.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_converter.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_csv.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_date_formatter.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_dicts.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_easy_game.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_file_manager.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_flow.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_generator.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_images.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_json.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_lists.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_math.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_numbers.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_regex.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_stats.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_strings.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_text.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_validator.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_visualization.py +0 -0
- {py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/tests/test_web.py +0 -0
{py_simple_wrap-0.3.2/py_simple_package/src/py_simple_wrap.egg-info → py_simple_wrap-0.3.4}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: py_simple_wrap
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: A package to make complex python functionality simple
|
|
5
5
|
Author-email: Sara Czasak <sara.p.czasak.m@gmail.com>
|
|
6
6
|
Maintainer: jagjitkaur0000, atiqur-rahman-pro, Gaohar Imran, Yassin Azzouzi
|
|
@@ -74,14 +74,18 @@ Dynamic: license-file
|
|
|
74
74
|
|
|
75
75
|
[](https://sara-czasak.github.io/py-simple-wrap/)
|
|
76
76
|
[](https://sara-czasak.github.io/py-simple-wrap/docs/)
|
|
77
|
-
[](https://sara-czasak.github.io/py-simple-wrap/docs/contributor-hub/
|
|
77
|
+
[](https://sara-czasak.github.io/py-simple-wrap/docs/contributor-hub/)
|
|
78
78
|
[](https://sara-czasak.github.io/py-simple-wrap/quest/)
|
|
79
79
|
|
|
80
|
-
[](https://pypi.org/project/py-simple-wrap/)
|
|
81
80
|
[](#contributors-)
|
|
82
81
|
[](https://github.com/sara-czasak/py-simple-wrap/blob/main/LICENSE.md)
|
|
83
82
|
[](https://github.com/sara-czasak/py-simple-wrap)
|
|
84
83
|
|
|
84
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
85
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
86
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
87
|
+
[](https://pypi.org/project/py-simple-wrap/)
|
|
88
|
+
|
|
85
89
|
|
|
86
90
|
py-simple-wrap is a beginner-friendly Python wrapper package designed to help beginners and developers perform common tasks using simple, intuitive functions.
|
|
87
91
|
|
|
@@ -265,8 +269,8 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
265
269
|
|
|
266
270
|
<br>
|
|
267
271
|
|
|
268
|
-
|------------------------------|---------------------------------------------|---------------------------------------------------------------|
|
|
269
272
|
| Function | What it does | Example |
|
|
273
|
+
|------------------------------|---------------------------------------------|---------------------------------------------------------------|
|
|
270
274
|
| `truncate(text, length)` | Shorten text and add an ellipsis | `truncate("Hello world!", 5)` → `"Hello…"` |
|
|
271
275
|
| `remove_punctuation(text)` | Strip punctuation, keep letters and numbers | `remove_punctuation("Hello, world!")` → `"Hello world"` |
|
|
272
276
|
| `reverse_words(text)` | Reverse the order of words | `reverse_words("Hello world")` → `"world Hello"` |
|
|
@@ -562,6 +566,21 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
562
566
|
|
|
563
567
|
</details>
|
|
564
568
|
|
|
569
|
+
### 📈 Easy Data Visualization
|
|
570
|
+
|
|
571
|
+
<details>
|
|
572
|
+
<summary>Click to expand — auto-picks the right chart type for your data, no matplotlib boilerplate</summary>
|
|
573
|
+
|
|
574
|
+
<br>
|
|
575
|
+
|
|
576
|
+
| Function | What it does | Example |
|
|
577
|
+
|-------------------|----------------------------------------------------------------------------------------------|----------------------------------------------------------------|
|
|
578
|
+
| `plot_data(X)` | Infers whether `X` is quantitative or categorical and plots the right chart(s) automatically | `plot_data([1, 2, 2, 3, 5, 5, 5, 8])` → histogram + line chart |
|
|
579
|
+
| `plot_data(X, Y)` | Same, but plots `X` against a second series `Y` | `plot_data(["A", "B", "C"], [10, 20, 30])` → bar chart |
|
|
580
|
+
|
|
581
|
+
</details>
|
|
582
|
+
|
|
583
|
+
|
|
565
584
|
### 🎮 Easy Game
|
|
566
585
|
|
|
567
586
|
<details>
|
|
@@ -580,6 +599,24 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
580
599
|
|
|
581
600
|
</details>
|
|
582
601
|
|
|
602
|
+
### 🎲 Easy Generator
|
|
603
|
+
|
|
604
|
+
<details>
|
|
605
|
+
<summary>Click to expand — passwords, QR codes, UUIDs, and API keys without the boilerplate</summary>
|
|
606
|
+
|
|
607
|
+
<br>
|
|
608
|
+
|
|
609
|
+
| Function | What it does | Example |
|
|
610
|
+
|----------------------------------------------------------------------------|------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
|
|
611
|
+
| `generate_password(16, uppercase_chars=3, digit_chars=3, special_chars=3)` | Generates a random password with no repeated adjacent characters | `generate_password(16, uppercase_chars=3, digit_chars=3, special_chars=3)` → `"Kx9!mQ2z..."` |
|
|
612
|
+
| `generate_otp(6, with_letters=True)` | Generates a random one-time password code | `generate_otp(6, with_letters=True)` → `"a1B9x3"` |
|
|
613
|
+
| `generate_api_key()` | Generates a secure, URL-safe API key | `generate_api_key()` → `"kZ8x...Q1w"` |
|
|
614
|
+
| `generate_uuid()` | Generates a random UUID (version 4) | `generate_uuid()` → `"3f2504e0-4f89-11d3-9a0c-0305e82c3301"` |
|
|
615
|
+
| `generate_qr_code("https://example.com")` | Generates a QR code image and saves it to disk | Saves `qrcode0.png` (or the next free filename) |
|
|
616
|
+
|
|
617
|
+
</details>
|
|
618
|
+
|
|
619
|
+
|
|
583
620
|
## 🤝 Contributing
|
|
584
621
|
|
|
585
622
|
I would love to have your help in making Python simpler for everyone!
|
|
@@ -665,7 +702,7 @@ A huge thank you to these wonderful people for helping make Python simpler for e
|
|
|
665
702
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/smirnov-danil"><img src="https://github.com/smirnov-danil.png?s=80" width="80px;" alt="d.smirnov"/><br /><sub><b>d.smirnov</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=smirnov-danil" title="Code">💻</a></td>
|
|
666
703
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Venkat4real"><img src="https://github.com/Venkat4real.png?s=80" width="80px;" alt="Venkat"/><br /><sub><b>Venkat</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=Venkat4real" title="Docs">📖</a></td>
|
|
667
704
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/E4x7k"><img src="https://github.com/E4x7k.png?s=80" width="80px;" alt="E4x7k"/><br /><sub><b>E4x7k</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=E4x7k" title="Docs">📖</a></td>
|
|
668
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jbsilva"><img src="https://github.com/jbsilva.png?s=80" width="80px;" alt="Julio Batista Silva"/><br /><sub><b>Julio Batista Silva</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=jbsilva
|
|
705
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jbsilva"><img src="https://github.com/jbsilva.png?s=80" width="80px;" alt="Julio Batista Silva"/><br /><sub><b>Julio Batista Silva</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=jbsilva" title="Infrastructure">🚇</a></td>
|
|
669
706
|
</tr>
|
|
670
707
|
</tbody>
|
|
671
708
|
</table>
|
|
@@ -7,14 +7,18 @@
|
|
|
7
7
|
|
|
8
8
|
[](https://sara-czasak.github.io/py-simple-wrap/)
|
|
9
9
|
[](https://sara-czasak.github.io/py-simple-wrap/docs/)
|
|
10
|
-
[](https://sara-czasak.github.io/py-simple-wrap/docs/contributor-hub/
|
|
10
|
+
[](https://sara-czasak.github.io/py-simple-wrap/docs/contributor-hub/)
|
|
11
11
|
[](https://sara-czasak.github.io/py-simple-wrap/quest/)
|
|
12
12
|
|
|
13
|
-
[](https://pypi.org/project/py-simple-wrap/)
|
|
14
13
|
[](#contributors-)
|
|
15
14
|
[](https://github.com/sara-czasak/py-simple-wrap/blob/main/LICENSE.md)
|
|
16
15
|
[](https://github.com/sara-czasak/py-simple-wrap)
|
|
17
16
|
|
|
17
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
18
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
19
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
20
|
+
[](https://pypi.org/project/py-simple-wrap/)
|
|
21
|
+
|
|
18
22
|
|
|
19
23
|
py-simple-wrap is a beginner-friendly Python wrapper package designed to help beginners and developers perform common tasks using simple, intuitive functions.
|
|
20
24
|
|
|
@@ -198,8 +202,8 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
198
202
|
|
|
199
203
|
<br>
|
|
200
204
|
|
|
201
|
-
|------------------------------|---------------------------------------------|---------------------------------------------------------------|
|
|
202
205
|
| Function | What it does | Example |
|
|
206
|
+
|------------------------------|---------------------------------------------|---------------------------------------------------------------|
|
|
203
207
|
| `truncate(text, length)` | Shorten text and add an ellipsis | `truncate("Hello world!", 5)` → `"Hello…"` |
|
|
204
208
|
| `remove_punctuation(text)` | Strip punctuation, keep letters and numbers | `remove_punctuation("Hello, world!")` → `"Hello world"` |
|
|
205
209
|
| `reverse_words(text)` | Reverse the order of words | `reverse_words("Hello world")` → `"world Hello"` |
|
|
@@ -495,6 +499,21 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
495
499
|
|
|
496
500
|
</details>
|
|
497
501
|
|
|
502
|
+
### 📈 Easy Data Visualization
|
|
503
|
+
|
|
504
|
+
<details>
|
|
505
|
+
<summary>Click to expand — auto-picks the right chart type for your data, no matplotlib boilerplate</summary>
|
|
506
|
+
|
|
507
|
+
<br>
|
|
508
|
+
|
|
509
|
+
| Function | What it does | Example |
|
|
510
|
+
|-------------------|----------------------------------------------------------------------------------------------|----------------------------------------------------------------|
|
|
511
|
+
| `plot_data(X)` | Infers whether `X` is quantitative or categorical and plots the right chart(s) automatically | `plot_data([1, 2, 2, 3, 5, 5, 5, 8])` → histogram + line chart |
|
|
512
|
+
| `plot_data(X, Y)` | Same, but plots `X` against a second series `Y` | `plot_data(["A", "B", "C"], [10, 20, 30])` → bar chart |
|
|
513
|
+
|
|
514
|
+
</details>
|
|
515
|
+
|
|
516
|
+
|
|
498
517
|
### 🎮 Easy Game
|
|
499
518
|
|
|
500
519
|
<details>
|
|
@@ -513,6 +532,24 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
513
532
|
|
|
514
533
|
</details>
|
|
515
534
|
|
|
535
|
+
### 🎲 Easy Generator
|
|
536
|
+
|
|
537
|
+
<details>
|
|
538
|
+
<summary>Click to expand — passwords, QR codes, UUIDs, and API keys without the boilerplate</summary>
|
|
539
|
+
|
|
540
|
+
<br>
|
|
541
|
+
|
|
542
|
+
| Function | What it does | Example |
|
|
543
|
+
|----------------------------------------------------------------------------|------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
|
|
544
|
+
| `generate_password(16, uppercase_chars=3, digit_chars=3, special_chars=3)` | Generates a random password with no repeated adjacent characters | `generate_password(16, uppercase_chars=3, digit_chars=3, special_chars=3)` → `"Kx9!mQ2z..."` |
|
|
545
|
+
| `generate_otp(6, with_letters=True)` | Generates a random one-time password code | `generate_otp(6, with_letters=True)` → `"a1B9x3"` |
|
|
546
|
+
| `generate_api_key()` | Generates a secure, URL-safe API key | `generate_api_key()` → `"kZ8x...Q1w"` |
|
|
547
|
+
| `generate_uuid()` | Generates a random UUID (version 4) | `generate_uuid()` → `"3f2504e0-4f89-11d3-9a0c-0305e82c3301"` |
|
|
548
|
+
| `generate_qr_code("https://example.com")` | Generates a QR code image and saves it to disk | Saves `qrcode0.png` (or the next free filename) |
|
|
549
|
+
|
|
550
|
+
</details>
|
|
551
|
+
|
|
552
|
+
|
|
516
553
|
## 🤝 Contributing
|
|
517
554
|
|
|
518
555
|
I would love to have your help in making Python simpler for everyone!
|
|
@@ -598,7 +635,7 @@ A huge thank you to these wonderful people for helping make Python simpler for e
|
|
|
598
635
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/smirnov-danil"><img src="https://github.com/smirnov-danil.png?s=80" width="80px;" alt="d.smirnov"/><br /><sub><b>d.smirnov</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=smirnov-danil" title="Code">💻</a></td>
|
|
599
636
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Venkat4real"><img src="https://github.com/Venkat4real.png?s=80" width="80px;" alt="Venkat"/><br /><sub><b>Venkat</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=Venkat4real" title="Docs">📖</a></td>
|
|
600
637
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/E4x7k"><img src="https://github.com/E4x7k.png?s=80" width="80px;" alt="E4x7k"/><br /><sub><b>E4x7k</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=E4x7k" title="Docs">📖</a></td>
|
|
601
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jbsilva"><img src="https://github.com/jbsilva.png?s=80" width="80px;" alt="Julio Batista Silva"/><br /><sub><b>Julio Batista Silva</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=jbsilva
|
|
638
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jbsilva"><img src="https://github.com/jbsilva.png?s=80" width="80px;" alt="Julio Batista Silva"/><br /><sub><b>Julio Batista Silva</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=jbsilva" title="Infrastructure">🚇</a></td>
|
|
602
639
|
</tr>
|
|
603
640
|
</tbody>
|
|
604
641
|
</table>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Custom Exception Template
|
|
2
|
+
|
|
3
|
+
`py-simple-wrap` wraps risky operations (network calls, file I/O, JSON parsing, external libraries) so beginners get one clear, readable error instead of a random builtin traceback. This page is the template for adding a new custom exception when a module needs one.
|
|
4
|
+
|
|
5
|
+
Modeled on the real exceptions already in the codebase — `SomethingWentWrongError` in `easy_web.py`, `EasyJsonError` in `easy_json.py`, `EasyFlowError`, `EasyAsyncError`, `EasyGameError`, `EasyGeneratorError`, `ImageProcessingError`, and `InvalidExtension` in `easy_file_manager.py` — all follow the same shape.
|
|
6
|
+
|
|
7
|
+
## Why bother with a custom exception at all?
|
|
8
|
+
|
|
9
|
+
If `easy_web.get_page_content()` just let `requests`' own exceptions bubble up, a beginner would see something like `requests.exceptions.ConnectionError` or `requests.exceptions.Timeout` — different exception types depending on *how* the network failed, none of which say anything about *py-simple-wrap*. A custom exception gives one predictable name per module (`SomethingWentWrongError`) that always means "this py_simple function couldn't do its job," with a plain-English message explaining why. Beginners can write one `except` clause instead of memorizing every exception type a third-party library might throw.
|
|
10
|
+
|
|
11
|
+
## The template
|
|
12
|
+
|
|
13
|
+
Copy this whole block and fill in the placeholders:
|
|
14
|
+
|
|
15
|
+
````python
|
|
16
|
+
class ModuleNameError(Exception):
|
|
17
|
+
"""
|
|
18
|
+
Raised when <the specific situation this covers>.
|
|
19
|
+
|
|
20
|
+
<A sentence or two on what this covers and, importantly, what it
|
|
21
|
+
does NOT cover — e.g. "this is only for real failures; a function
|
|
22
|
+
that can succeed with an empty result returns None/[] instead of
|
|
23
|
+
raising.">
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
message (str): Description of what went wrong, usually
|
|
27
|
+
including the original error message.
|
|
28
|
+
"""
|
|
29
|
+
def __init__(self, message):
|
|
30
|
+
self.message = message
|
|
31
|
+
super().__init__(self.message)
|
|
32
|
+
````
|
|
33
|
+
|
|
34
|
+
And where you raise it, wrap the risky call:
|
|
35
|
+
|
|
36
|
+
````python
|
|
37
|
+
def do_the_risky_thing(...):
|
|
38
|
+
"""... normal docstring ..."""
|
|
39
|
+
try:
|
|
40
|
+
return _actually_risky_stdlib_or_third_party_call(...)
|
|
41
|
+
except Exception as e:
|
|
42
|
+
raise ModuleNameError(f"Couldn't do the thing: {e}") from None
|
|
43
|
+
````
|
|
44
|
+
|
|
45
|
+
## Rules of thumb
|
|
46
|
+
|
|
47
|
+
- **Name it `<Module>Error`.** `SomethingWentWrongError`, `EasyJsonError`, `EasyFlowError` all follow this. (`InvalidExtension` in `easy_file_manager.py` is the one exception to the pattern in this codebase — new exceptions should still follow `<Module>Error` rather than add another one-off name.)
|
|
48
|
+
- **Always subclass `Exception` directly**, not a more specific builtin like `ValueError` or `IOError`. Every custom exception in this codebase does this — it keeps the public API surface to one predictable exception type per module, rather than making users guess which builtin subclass a given failure maps to.
|
|
49
|
+
- **Store the message and call `super().__init__()`** exactly like the template — this is what makes `str(the_exception)` and `print(the_exception)` show the readable message, and keeps the exception compatible with normal Python exception handling.
|
|
50
|
+
- **Use `raise ModuleError(...) from None`** when wrapping another exception. The `from None` suppresses Python's "During handling of the above exception, another exception occurred" chained traceback — a beginner doesn't need to see `requests`' internal stack trace, they need to see *your* message. Compare `easy_web.py`'s `get_page_content` for a real example.
|
|
51
|
+
- **Only raise for real failures.** If a function can reasonably return "nothing found" (an empty list, `None`), do that instead of raising — this is called out explicitly in `SomethingWentWrongError`'s own docstring. Custom exceptions are for "the operation could not complete," not "the operation completed and found nothing."
|
|
52
|
+
- **Document what it does and doesn't cover** in the exception's own docstring, not just in the function that raises it — someone catching `EasyJsonError` should be able to read its docstring alone and know what triggers it.
|
|
53
|
+
|
|
54
|
+
## A minimal worked example
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
class EasyColorsError(Exception):
|
|
58
|
+
"""
|
|
59
|
+
Raised when a color value can't be parsed or converted.
|
|
60
|
+
|
|
61
|
+
Covers malformed hex codes, out-of-range RGB values, and any other
|
|
62
|
+
input that isn't a valid color py_simple can work with.
|
|
63
|
+
|
|
64
|
+
Args:
|
|
65
|
+
message (str): Description of what went wrong.
|
|
66
|
+
"""
|
|
67
|
+
def __init__(self, message):
|
|
68
|
+
self.message = message
|
|
69
|
+
super().__init__(self.message)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def hex_to_rgb(hex_code: str) -> tuple:
|
|
73
|
+
"""... docstring ..."""
|
|
74
|
+
try:
|
|
75
|
+
hex_code = hex_code.lstrip("#")
|
|
76
|
+
return tuple(int(hex_code[i:i+2], 16) for i in (0, 2, 4))
|
|
77
|
+
except (ValueError, IndexError) as e:
|
|
78
|
+
raise EasyColorsError(f"'{hex_code}' isn't a valid hex color: {e}") from None
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
And how a user of the package would catch it today:
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
from py_simple import hex_to_rgb
|
|
85
|
+
from py_simple.easy_colors import EasyColorsError
|
|
86
|
+
|
|
87
|
+
try:
|
|
88
|
+
rgb = hex_to_rgb("not-a-color")
|
|
89
|
+
except EasyColorsError as e:
|
|
90
|
+
print(f"Oops: {e}")
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## A known gap worth knowing about
|
|
94
|
+
|
|
95
|
+
None of the eight existing custom exceptions (`SomethingWentWrongError`, `EasyJsonError`, `EasyFlowError`, `EasyAsyncError`, `EasyGameError`, `EasyGeneratorError`, `ImageProcessingError`, `InvalidExtension`) are currently exported from `py_simple/__init__.py` — only functions are. That means today, catching any of them requires importing from the submodule directly (`from py_simple.easy_web import SomethingWentWrongError`), not the flatter `from py_simple import ...` style every function in this package uses. This is inconsistent with the project's whole "simple, flat imports" philosophy, but it's the current reality, not a documentation error — worth raising with the maintainer as its own fix rather than quietly working around it here.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Contributor Hub
|
|
2
|
+
|
|
3
|
+
New here, or making your first contribution to an open-source project ever? You're in the right place. Nobody expects you to already know how this project formats things — that's what this page is for.
|
|
4
|
+
|
|
5
|
+
Pick whatever's stressing you out below, and go straight to it. You don't need to read all of it, and you don't need to read it in order.
|
|
6
|
+
|
|
7
|
+
## What do you need help with?
|
|
8
|
+
|
|
9
|
+
**📝 "I need to write a docstring and I don't know what that even means."**
|
|
10
|
+
Totally normal. The [Docstring Template](docstring_template.md) has a copy-paste block — just fill in the blanks. It also explains *why* the format looks the way it does, in case you're curious, but you don't have to read that part to use it.
|
|
11
|
+
|
|
12
|
+
**📖 "I added a new module and need to write a tutorial page, but I've never written docs before."**
|
|
13
|
+
The [Tutorial Template](tutorial_template.md) walks through the exact structure every tutorial page in this project uses, with a real example to copy from. You're not writing from a blank page.
|
|
14
|
+
|
|
15
|
+
**🚨 "My function needs to raise an error, and I don't know how this project wants errors to look."**
|
|
16
|
+
The [Custom Exception Template](error_template.md) has a fill-in-the-blanks class definition, plus a worked example showing both raising and catching it. Errors sound intimidating, but the pattern here is always the same one — once you've seen it once, you'll recognize it everywhere in this codebase.
|
|
17
|
+
|
|
18
|
+
## Still stuck, or something's not covered here?
|
|
19
|
+
|
|
20
|
+
That's okay too. Open an issue, or mention it in your pull request, and it'll get sorted out together — see [CONTRIBUTING.md](https://github.com/sara-czasak/py-simple-wrap/blob/main/CONTRIBUTING.md) for how to reach out. Nobody's expected to figure this out alone.
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4/py_simple_package/src/py_simple_wrap.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: py_simple_wrap
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: A package to make complex python functionality simple
|
|
5
5
|
Author-email: Sara Czasak <sara.p.czasak.m@gmail.com>
|
|
6
6
|
Maintainer: jagjitkaur0000, atiqur-rahman-pro, Gaohar Imran, Yassin Azzouzi
|
|
@@ -74,14 +74,18 @@ Dynamic: license-file
|
|
|
74
74
|
|
|
75
75
|
[](https://sara-czasak.github.io/py-simple-wrap/)
|
|
76
76
|
[](https://sara-czasak.github.io/py-simple-wrap/docs/)
|
|
77
|
-
[](https://sara-czasak.github.io/py-simple-wrap/docs/contributor-hub/
|
|
77
|
+
[](https://sara-czasak.github.io/py-simple-wrap/docs/contributor-hub/)
|
|
78
78
|
[](https://sara-czasak.github.io/py-simple-wrap/quest/)
|
|
79
79
|
|
|
80
|
-
[](https://pypi.org/project/py-simple-wrap/)
|
|
81
80
|
[](#contributors-)
|
|
82
81
|
[](https://github.com/sara-czasak/py-simple-wrap/blob/main/LICENSE.md)
|
|
83
82
|
[](https://github.com/sara-czasak/py-simple-wrap)
|
|
84
83
|
|
|
84
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
85
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
86
|
+
[](https://pypistats.org/packages/py-simple-wrap)
|
|
87
|
+
[](https://pypi.org/project/py-simple-wrap/)
|
|
88
|
+
|
|
85
89
|
|
|
86
90
|
py-simple-wrap is a beginner-friendly Python wrapper package designed to help beginners and developers perform common tasks using simple, intuitive functions.
|
|
87
91
|
|
|
@@ -265,8 +269,8 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
265
269
|
|
|
266
270
|
<br>
|
|
267
271
|
|
|
268
|
-
|------------------------------|---------------------------------------------|---------------------------------------------------------------|
|
|
269
272
|
| Function | What it does | Example |
|
|
273
|
+
|------------------------------|---------------------------------------------|---------------------------------------------------------------|
|
|
270
274
|
| `truncate(text, length)` | Shorten text and add an ellipsis | `truncate("Hello world!", 5)` → `"Hello…"` |
|
|
271
275
|
| `remove_punctuation(text)` | Strip punctuation, keep letters and numbers | `remove_punctuation("Hello, world!")` → `"Hello world"` |
|
|
272
276
|
| `reverse_words(text)` | Reverse the order of words | `reverse_words("Hello world")` → `"world Hello"` |
|
|
@@ -562,6 +566,21 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
562
566
|
|
|
563
567
|
</details>
|
|
564
568
|
|
|
569
|
+
### 📈 Easy Data Visualization
|
|
570
|
+
|
|
571
|
+
<details>
|
|
572
|
+
<summary>Click to expand — auto-picks the right chart type for your data, no matplotlib boilerplate</summary>
|
|
573
|
+
|
|
574
|
+
<br>
|
|
575
|
+
|
|
576
|
+
| Function | What it does | Example |
|
|
577
|
+
|-------------------|----------------------------------------------------------------------------------------------|----------------------------------------------------------------|
|
|
578
|
+
| `plot_data(X)` | Infers whether `X` is quantitative or categorical and plots the right chart(s) automatically | `plot_data([1, 2, 2, 3, 5, 5, 5, 8])` → histogram + line chart |
|
|
579
|
+
| `plot_data(X, Y)` | Same, but plots `X` against a second series `Y` | `plot_data(["A", "B", "C"], [10, 20, 30])` → bar chart |
|
|
580
|
+
|
|
581
|
+
</details>
|
|
582
|
+
|
|
583
|
+
|
|
565
584
|
### 🎮 Easy Game
|
|
566
585
|
|
|
567
586
|
<details>
|
|
@@ -580,6 +599,24 @@ py-simple-wrap provides simple modules designed to make common Python tasks easi
|
|
|
580
599
|
|
|
581
600
|
</details>
|
|
582
601
|
|
|
602
|
+
### 🎲 Easy Generator
|
|
603
|
+
|
|
604
|
+
<details>
|
|
605
|
+
<summary>Click to expand — passwords, QR codes, UUIDs, and API keys without the boilerplate</summary>
|
|
606
|
+
|
|
607
|
+
<br>
|
|
608
|
+
|
|
609
|
+
| Function | What it does | Example |
|
|
610
|
+
|----------------------------------------------------------------------------|------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
|
|
611
|
+
| `generate_password(16, uppercase_chars=3, digit_chars=3, special_chars=3)` | Generates a random password with no repeated adjacent characters | `generate_password(16, uppercase_chars=3, digit_chars=3, special_chars=3)` → `"Kx9!mQ2z..."` |
|
|
612
|
+
| `generate_otp(6, with_letters=True)` | Generates a random one-time password code | `generate_otp(6, with_letters=True)` → `"a1B9x3"` |
|
|
613
|
+
| `generate_api_key()` | Generates a secure, URL-safe API key | `generate_api_key()` → `"kZ8x...Q1w"` |
|
|
614
|
+
| `generate_uuid()` | Generates a random UUID (version 4) | `generate_uuid()` → `"3f2504e0-4f89-11d3-9a0c-0305e82c3301"` |
|
|
615
|
+
| `generate_qr_code("https://example.com")` | Generates a QR code image and saves it to disk | Saves `qrcode0.png` (or the next free filename) |
|
|
616
|
+
|
|
617
|
+
</details>
|
|
618
|
+
|
|
619
|
+
|
|
583
620
|
## 🤝 Contributing
|
|
584
621
|
|
|
585
622
|
I would love to have your help in making Python simpler for everyone!
|
|
@@ -665,7 +702,7 @@ A huge thank you to these wonderful people for helping make Python simpler for e
|
|
|
665
702
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/smirnov-danil"><img src="https://github.com/smirnov-danil.png?s=80" width="80px;" alt="d.smirnov"/><br /><sub><b>d.smirnov</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=smirnov-danil" title="Code">💻</a></td>
|
|
666
703
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Venkat4real"><img src="https://github.com/Venkat4real.png?s=80" width="80px;" alt="Venkat"/><br /><sub><b>Venkat</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=Venkat4real" title="Docs">📖</a></td>
|
|
667
704
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/E4x7k"><img src="https://github.com/E4x7k.png?s=80" width="80px;" alt="E4x7k"/><br /><sub><b>E4x7k</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=E4x7k" title="Docs">📖</a></td>
|
|
668
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jbsilva"><img src="https://github.com/jbsilva.png?s=80" width="80px;" alt="Julio Batista Silva"/><br /><sub><b>Julio Batista Silva</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=jbsilva
|
|
705
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jbsilva"><img src="https://github.com/jbsilva.png?s=80" width="80px;" alt="Julio Batista Silva"/><br /><sub><b>Julio Batista Silva</b></sub></a><br /><a href="https://github.com/sara-czasak/py_simple/commits?author=jbsilva" title="Infrastructure">🚇</a></td>
|
|
669
706
|
</tr>
|
|
670
707
|
</tbody>
|
|
671
708
|
</table>
|
|
@@ -7,6 +7,8 @@ docs/readme.md
|
|
|
7
7
|
docs/about/contributors.md
|
|
8
8
|
docs/about/license.md
|
|
9
9
|
docs/contributor-hub/docstring_template.md
|
|
10
|
+
docs/contributor-hub/error_template.md
|
|
11
|
+
docs/contributor-hub/index.md
|
|
10
12
|
docs/contributor-hub/tutorial_template.md
|
|
11
13
|
docs/how-to/contributing.md
|
|
12
14
|
docs/reference/easy_async.md
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_colors.py
RENAMED
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_converter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_date_formatter.py
RENAMED
|
File without changes
|
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_file_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_generator.py
RENAMED
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_images.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_numbers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_strings.py
RENAMED
|
File without changes
|
|
File without changes
|
{py_simple_wrap-0.3.2 → py_simple_wrap-0.3.4}/py_simple_package/src/py_simple/easy_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|