winipedia-utils 0.4.43__py3-none-any.whl → 0.7.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.

Potentially problematic release.


This version of winipedia-utils might be problematic. Click here for more details.

Files changed (120) hide show
  1. winipedia_utils/artifacts/build.py +27 -0
  2. winipedia_utils/dev/artifacts/build.py +62 -0
  3. winipedia_utils/{text → dev/configs/base}/config.py +16 -11
  4. winipedia_utils/{git/gitignore/config.py → dev/configs/gitignore.py} +2 -2
  5. winipedia_utils/{git/pre_commit/config.py → dev/configs/pre_commit.py} +6 -6
  6. winipedia_utils/{projects/poetry/config.py → dev/configs/pyproject.py} +120 -32
  7. winipedia_utils/{testing/config.py → dev/configs/testing.py} +7 -4
  8. winipedia_utils/dev/configs/workflows/base/base.py +907 -0
  9. winipedia_utils/dev/configs/workflows/health_check.py +69 -0
  10. winipedia_utils/dev/configs/workflows/publish.py +51 -0
  11. winipedia_utils/dev/configs/workflows/release.py +91 -0
  12. winipedia_utils/dev/git/github/repo/__init__.py +1 -0
  13. winipedia_utils/{git → dev/git}/github/repo/protect.py +5 -5
  14. winipedia_utils/dev/git/pre_commit/hooks.py +85 -0
  15. winipedia_utils/{git → dev/git}/pre_commit/run_hooks.py +23 -13
  16. winipedia_utils/dev/projects/poetry/dev_deps.py +21 -0
  17. winipedia_utils/dev/projects/poetry/poetry.py +248 -0
  18. winipedia_utils/{projects → dev/projects}/project.py +6 -7
  19. winipedia_utils/dev/testing/__init__.py +1 -0
  20. winipedia_utils/{testing → dev/testing}/convention.py +1 -1
  21. winipedia_utils/{testing → dev/testing}/create_tests.py +14 -14
  22. winipedia_utils/dev/testing/tests/__init__.py +1 -0
  23. winipedia_utils/dev/testing/tests/base/__init__.py +1 -0
  24. winipedia_utils/dev/testing/tests/base/fixtures/__init__.py +1 -0
  25. winipedia_utils/{testing → dev/testing}/tests/base/fixtures/fixture.py +1 -1
  26. winipedia_utils/dev/testing/tests/base/fixtures/scopes/__init__.py +1 -0
  27. winipedia_utils/{testing → dev/testing}/tests/base/fixtures/scopes/class_.py +2 -2
  28. winipedia_utils/{testing → dev/testing}/tests/base/fixtures/scopes/module.py +2 -2
  29. winipedia_utils/{testing → dev/testing}/tests/base/fixtures/scopes/session.py +10 -10
  30. winipedia_utils/dev/testing/tests/base/utils/__init__.py +1 -0
  31. winipedia_utils/dev/testing/tests/base/utils/utils.py +1 -0
  32. winipedia_utils/{testing → dev/testing}/tests/conftest.py +2 -2
  33. winipedia_utils/{testing/tests/base/utils → dev/testing}/utils.py +7 -24
  34. winipedia_utils/setup.py +9 -5
  35. winipedia_utils/utils/__init__.py +1 -0
  36. winipedia_utils/utils/data/dataframe/__init__.py +1 -0
  37. winipedia_utils/{data → utils/data}/dataframe/cleaning.py +1 -1
  38. winipedia_utils/utils/data/structures/__init__.py +1 -0
  39. winipedia_utils/{text → utils/data/structures/text}/string.py +36 -3
  40. winipedia_utils/utils/git/__init__.py +1 -0
  41. winipedia_utils/utils/git/github/__init__.py +1 -0
  42. winipedia_utils/{git → utils/git}/github/github.py +1 -1
  43. winipedia_utils/utils/git/github/repo/__init__.py +1 -0
  44. winipedia_utils/{git → utils/git}/github/repo/repo.py +1 -1
  45. winipedia_utils/{git → utils/git}/gitignore/gitignore.py +2 -2
  46. winipedia_utils/{concurrent → utils/iterating/concurrent}/concurrent.py +4 -4
  47. winipedia_utils/{concurrent → utils/iterating/concurrent}/multiprocessing.py +2 -2
  48. winipedia_utils/{concurrent → utils/iterating/concurrent}/multithreading.py +1 -1
  49. winipedia_utils/{logging → utils/logging}/logger.py +1 -1
  50. winipedia_utils/{modules → utils/modules}/class_.py +15 -8
  51. winipedia_utils/{modules → utils/modules}/function.py +10 -4
  52. winipedia_utils/utils/modules/inspection.py +56 -0
  53. winipedia_utils/{modules → utils/modules}/module.py +27 -32
  54. winipedia_utils/{modules → utils/modules}/package.py +100 -34
  55. winipedia_utils/{oop → utils/oop}/mixins/meta.py +4 -4
  56. winipedia_utils/{oop → utils/oop}/mixins/mixin.py +2 -2
  57. winipedia_utils/{os → utils/os}/os.py +2 -2
  58. winipedia_utils/utils/resources/__init__.py +1 -0
  59. winipedia_utils/utils/resources/svgs/__init__.py +1 -0
  60. winipedia_utils/{resources → utils/resources}/svgs/svg.py +1 -1
  61. winipedia_utils/utils/testing/__init__.py +1 -0
  62. winipedia_utils/{testing → utils/testing}/assertions.py +18 -0
  63. winipedia_utils/{testing → utils/testing}/skip.py +1 -1
  64. {winipedia_utils-0.4.43.dist-info → winipedia_utils-0.7.1.dist-info}/METADATA +71 -36
  65. winipedia_utils-0.7.1.dist-info/RECORD +109 -0
  66. winipedia_utils/git/github/workflows/base/base.py +0 -294
  67. winipedia_utils/git/github/workflows/health_check.py +0 -57
  68. winipedia_utils/git/github/workflows/publish.py +0 -49
  69. winipedia_utils/git/github/workflows/release.py +0 -45
  70. winipedia_utils/git/pre_commit/hooks.py +0 -147
  71. winipedia_utils/projects/poetry/poetry.py +0 -129
  72. winipedia_utils/testing/__init__.py +0 -1
  73. winipedia_utils/testing/tests/__init__.py +0 -1
  74. winipedia_utils/testing/tests/base/__init__.py +0 -1
  75. winipedia_utils/testing/tests/base/fixtures/__init__.py +0 -1
  76. winipedia_utils/testing/tests/base/fixtures/scopes/__init__.py +0 -1
  77. winipedia_utils/testing/tests/base/utils/__init__.py +0 -1
  78. winipedia_utils-0.4.43.dist-info/RECORD +0 -94
  79. /winipedia_utils/{data/dataframe → artifacts}/__init__.py +0 -0
  80. /winipedia_utils/{data/structures → dev}/__init__.py +0 -0
  81. /winipedia_utils/{git/github → dev/artifacts}/__init__.py +0 -0
  82. /winipedia_utils/{git/github/repo → dev/configs}/__init__.py +0 -0
  83. /winipedia_utils/{git/github/workflows → dev/configs}/base/__init__.py +0 -0
  84. /winipedia_utils/{git/github → dev/configs}/workflows/__init__.py +0 -0
  85. /winipedia_utils/{resources → dev/configs/workflows/base}/__init__.py +0 -0
  86. /winipedia_utils/{git → dev/git}/__init__.py +0 -0
  87. /winipedia_utils/{resources/svgs → dev/git/github}/__init__.py +0 -0
  88. /winipedia_utils/{git → dev/git}/pre_commit/__init__.py +0 -0
  89. /winipedia_utils/{projects → dev/projects}/__init__.py +0 -0
  90. /winipedia_utils/{projects → dev/projects}/poetry/__init__.py +0 -0
  91. /winipedia_utils/{testing → dev/testing}/tests/base/fixtures/scopes/function.py +0 -0
  92. /winipedia_utils/{testing → dev/testing}/tests/base/fixtures/scopes/package.py +0 -0
  93. /winipedia_utils/{data → utils/data}/__init__.py +0 -0
  94. /winipedia_utils/{data → utils/data}/structures/dicts.py +0 -0
  95. /winipedia_utils/{text → utils/data/structures/text}/__init__.py +0 -0
  96. /winipedia_utils/{git → utils/git}/gitignore/__init__.py +0 -0
  97. /winipedia_utils/{iterating → utils/iterating}/__init__.py +0 -0
  98. /winipedia_utils/{concurrent → utils/iterating/concurrent}/__init__.py +0 -0
  99. /winipedia_utils/{iterating → utils/iterating}/iterate.py +0 -0
  100. /winipedia_utils/{logging → utils/logging}/__init__.py +0 -0
  101. /winipedia_utils/{logging → utils/logging}/ansi.py +0 -0
  102. /winipedia_utils/{logging → utils/logging}/config.py +0 -0
  103. /winipedia_utils/{modules → utils/modules}/__init__.py +0 -0
  104. /winipedia_utils/{oop → utils/oop}/__init__.py +0 -0
  105. /winipedia_utils/{oop → utils/oop}/mixins/__init__.py +0 -0
  106. /winipedia_utils/{os → utils/os}/__init__.py +0 -0
  107. /winipedia_utils/{resources → utils/resources}/svgs/delete_garbage_can.svg +0 -0
  108. /winipedia_utils/{resources → utils/resources}/svgs/download_arrow.svg +0 -0
  109. /winipedia_utils/{resources → utils/resources}/svgs/exit_fullscreen_icon.svg +0 -0
  110. /winipedia_utils/{resources → utils/resources}/svgs/fullscreen_icon.svg +0 -0
  111. /winipedia_utils/{resources → utils/resources}/svgs/menu_icon.svg +0 -0
  112. /winipedia_utils/{resources → utils/resources}/svgs/pause_icon.svg +0 -0
  113. /winipedia_utils/{resources → utils/resources}/svgs/play_icon.svg +0 -0
  114. /winipedia_utils/{resources → utils/resources}/svgs/plus_icon.svg +0 -0
  115. /winipedia_utils/{security → utils/security}/__init__.py +0 -0
  116. /winipedia_utils/{security → utils/security}/cryptography.py +0 -0
  117. /winipedia_utils/{security → utils/security}/keyring.py +0 -0
  118. /winipedia_utils/{testing → utils/testing}/fixtures.py +0 -0
  119. {winipedia_utils-0.4.43.dist-info → winipedia_utils-0.7.1.dist-info}/WHEEL +0 -0
  120. {winipedia_utils-0.4.43.dist-info → winipedia_utils-0.7.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,147 +0,0 @@
1
- """module contains functions that return the input for subprocess.run().
2
-
3
- Each function is named after the hook it represents. The docstring of each function
4
- describes the hook it represents. The function returns a list of strings that
5
- represent the command to run. The first string is the command, and the following
6
- strings are the arguments to the command. These funcs will be called by
7
- run_hooks.py, which will pass the returned list to subprocess.run().
8
- """
9
-
10
- from pathlib import Path
11
-
12
- from winipedia_utils.projects.poetry.poetry import (
13
- POETRY_ARG,
14
- get_run_python_module_args,
15
- )
16
-
17
-
18
- def patch_version() -> list[str | Path]:
19
- """Patch the version in pyproject.toml.
20
-
21
- This function returns the input for subprocess.run() to patch the version
22
- in pyproject.toml.
23
- """
24
- return [POETRY_ARG, "version", "patch"]
25
-
26
-
27
- def add_version_patch_to_git() -> list[str | Path]:
28
- """Add the version patch to git.
29
-
30
- This function returns the input for subprocess.run() to add the version
31
- patch to git, so that the hook does not fail bc the file was changed.
32
- """
33
- return ["git", "add", "pyproject.toml"]
34
-
35
-
36
- def update_package_manager() -> list[str | Path]:
37
- """Update the package manager.
38
-
39
- This function returns the input for subprocess.run() to update the package
40
- manager.
41
- """
42
- return [POETRY_ARG, "self", "update"]
43
-
44
-
45
- def install_dependencies_with_dev() -> list[str | Path]:
46
- """Install all dependencies.
47
-
48
- This function returns the input for subprocess.run() to install all dependencies.
49
- """
50
- return [POETRY_ARG, "install", "--with", "dev"]
51
-
52
-
53
- def update_dependencies_with_dev() -> list[str | Path]:
54
- """Update all dependencies.
55
-
56
- This function returns the input for subprocess.run() to update all dependencies.
57
- """
58
- return [POETRY_ARG, "update", "--with", "dev"]
59
-
60
-
61
- def add_updates_to_git() -> list[str | Path]:
62
- """Add the updated dependencies to git.
63
-
64
- This function returns the input for subprocess.run() to add the updated
65
- dependencies to git, so that the hook does not fail bc the file was changed.
66
- """
67
- return ["git", "add", "pyproject.toml"]
68
-
69
-
70
- def lock_dependencies() -> list[str | Path]:
71
- """Lock the dependencies.
72
-
73
- This function returns the input for subprocess.run() to lock the dependencies.
74
- """
75
- return [POETRY_ARG, "lock"]
76
-
77
-
78
- def add_lock_file_to_git() -> list[str | Path]:
79
- """Add the lock file to git.
80
-
81
- This function returns the input for subprocess.run() to add the lock file
82
- to git, so that the hook does not fail bc the file was changed.
83
- """
84
- return ["git", "add", "poetry.lock"]
85
-
86
-
87
- def check_package_manager_configs() -> list[str | Path]:
88
- """Check that poetry.lock and pyproject.toml is up to date.
89
-
90
- This function returns the input for subprocess.run() to check that poetry.lock
91
- is up to date.
92
- """
93
- return [POETRY_ARG, "check", "--strict"]
94
-
95
-
96
- def create_missing_tests() -> list[str | Path]:
97
- """Create all tests for the project.
98
-
99
- This function returns the input for subprocess.run() to create all tests.
100
- """
101
- from winipedia_utils.testing import ( # noqa: PLC0415 # avoid circular import
102
- create_tests,
103
- )
104
-
105
- return [*get_run_python_module_args(create_tests)]
106
-
107
-
108
- def lint_code() -> list[str | Path]:
109
- """Check the code.
110
-
111
- This function returns the input for subprocess.run() to lint the code.
112
- It autofixes all errors that can be autofixed with --fix.
113
- """
114
- return ["ruff", "check", "--fix"]
115
-
116
-
117
- def format_code() -> list[str | Path]:
118
- """Format the code.
119
-
120
- This function calls ruff format to format the code.
121
- """
122
- return ["ruff", "format"]
123
-
124
-
125
- def check_static_types() -> list[str | Path]:
126
- """Check the types.
127
-
128
- This function returns the input for subprocess.run() to check the static types.
129
- """
130
- return ["mypy"]
131
-
132
-
133
- def check_security() -> list[str | Path]:
134
- """Check the security of the code.
135
-
136
- This function returns the input for subprocess.run() to check the security of
137
- the code.
138
- """
139
- return ["bandit", "-c", "pyproject.toml", "-r", "."]
140
-
141
-
142
- def run_tests() -> list[str | Path]:
143
- """Run the tests.
144
-
145
- This function returns the input for subprocess.run() to run all tests.
146
- """
147
- return ["pytest"]
@@ -1,129 +0,0 @@
1
- """Project utilities for introspection and manipulation.
2
-
3
- This module provides utility functions for working with Python projects
4
- """
5
-
6
- from collections.abc import Iterable
7
- from types import ModuleType
8
-
9
- from packaging.specifiers import SpecifierSet
10
- from packaging.version import Version
11
-
12
- from winipedia_utils.logging.logger import get_logger
13
-
14
- logger = get_logger(__name__)
15
-
16
-
17
- POETRY_ARG = "poetry"
18
-
19
- POETRY_RUN_ARGS = [POETRY_ARG, "run"]
20
-
21
- RUN_PYTHON_MODULE_ARGS = ["python", "-m"]
22
-
23
-
24
- def get_script_from_args(args: Iterable[str]) -> str:
25
- """Get the script from args."""
26
- return " ".join(args)
27
-
28
-
29
- def get_run_python_module_args(module: ModuleType) -> list[str]:
30
- """Get the args to run a module."""
31
- from winipedia_utils.modules.module import ( # noqa: PLC0415 # avoid circular import
32
- make_obj_importpath,
33
- )
34
-
35
- return [*RUN_PYTHON_MODULE_ARGS, make_obj_importpath(module)]
36
-
37
-
38
- def get_python_module_script(module: ModuleType) -> str:
39
- """Get the script to run a module."""
40
- return get_script_from_args(get_run_python_module_args(module))
41
-
42
-
43
- def get_poetry_run_module_script(module: ModuleType) -> str:
44
- """Get the script to run a module."""
45
- return get_script_from_args([*POETRY_RUN_ARGS, *get_run_python_module_args(module)])
46
-
47
-
48
- class VersionConstraint:
49
- """Version class."""
50
-
51
- def __init__(self, constraint: str) -> None:
52
- """Initialize the version."""
53
- self.constraint = constraint
54
- self.spec = self.constraint.strip().strip('"').strip("'")
55
- self.sset = SpecifierSet(self.spec)
56
-
57
- self.lowers_inclusive = [
58
- Version(s.version) for s in self.sset if s.operator == ">="
59
- ]
60
- self.lowers_exclusive = [
61
- Version(s.version) for s in self.sset if s.operator == ">"
62
- ]
63
- # increment the last number of exclusive, so
64
- # >3.4.1 to >=3.4.2; <3.4.0 to <=3.4.1; 3.0.0 to <=3.0.1
65
- self.lowers_exclusive_to_inclusive = [
66
- Version(f"{v.major}.{v.minor}.{v.micro + 1}") for v in self.lowers_exclusive
67
- ]
68
- self.lowers_inclusive = (
69
- self.lowers_inclusive + self.lowers_exclusive_to_inclusive
70
- )
71
-
72
- self.uppers_inclusive = [
73
- Version(s.version) for s in self.sset if s.operator == "<="
74
- ]
75
- self.uppers_exclusive = [
76
- Version(s.version) for s in self.sset if s.operator == "<"
77
- ]
78
-
79
- # increment the last number of inclusive, so
80
- # <=3.4.1 to <3.4.2; >=3.4.0 to >3.4.1; 3.0.0 to >3.0.1
81
- self.uppers_inclusive_to_exclusive = [
82
- Version(f"{v.major}.{v.minor}.{v.micro + 1}") for v in self.uppers_inclusive
83
- ]
84
- self.uppers_exclusive = (
85
- self.uppers_inclusive_to_exclusive + self.uppers_exclusive
86
- )
87
-
88
- self.upper_exclusive = (
89
- min(self.uppers_exclusive) if self.uppers_exclusive else None
90
- )
91
- self.lower_inclusive = (
92
- max(self.lowers_inclusive) if self.lowers_inclusive else None
93
- )
94
-
95
- def get_lower_inclusive(self, default: str | None = None) -> Version | None:
96
- """Get the minimum version.
97
-
98
- Is given inclusive. E.g. >=3.8, <3.12 -> 3.8
99
- if >3.7, <3.12 -> 3.7.1
100
-
101
- E.g. >=3.8, <3.12 -> 3.8
102
-
103
- Args:
104
- default: The default value to return if there is no minimum version
105
-
106
- Returns:
107
- The minimum version
108
- """
109
- if self.lower_inclusive is None:
110
- return Version(default) if default else None
111
-
112
- return self.lower_inclusive
113
-
114
- def get_upper_exclusive(self, default: str | None = None) -> Version | None:
115
- """Get the maximum version.
116
-
117
- Is given exclusive. E.g. >=3.8, <3.12 -> 3.12
118
- if >=3.8, <=3.12 -> 3.12.1
119
-
120
- Args:
121
- default: The default value to return if there is no maximum version
122
-
123
- Returns:
124
- The maximum version
125
- """
126
- if self.upper_exclusive is None:
127
- return Version(default) if default else None
128
-
129
- return self.upper_exclusive
@@ -1 +0,0 @@
1
- """__init__ module for winipedia_utils.testing."""
@@ -1 +0,0 @@
1
- """__init__ module for winipedia_utils.testing.tests."""
@@ -1 +0,0 @@
1
- """__init__ module for winipedia_utils.testing.tests.base."""
@@ -1 +0,0 @@
1
- """__init__ module for winipedia_utils.testing.tests.base.fixtures."""
@@ -1 +0,0 @@
1
- """__init__ module for winipedia_utils.testing.tests.base.fixtures.scopes."""
@@ -1 +0,0 @@
1
- """__init__ module for winipedia_utils.testing.tests.base.utils."""
@@ -1,94 +0,0 @@
1
- winipedia_utils/__init__.py,sha256=vOWZ8n-YemVIzDLd8eWw1HVPGH3jxuT6VtDKHbmxk_A,43
2
- winipedia_utils/concurrent/__init__.py,sha256=Tu0ig4gVCk_f1n74G35hDwH-WS3P3STVQGWjxTIbbo8,54
3
- winipedia_utils/concurrent/concurrent.py,sha256=h2vgxeDFsagZ10LnHKkswwF2bjY_L1hXKutejeJo48U,8648
4
- winipedia_utils/concurrent/multiprocessing.py,sha256=1pnAU-CS3crNOKlp68gCCvNbTvNJs0in_VASMpZ7M1c,4721
5
- winipedia_utils/concurrent/multithreading.py,sha256=L33gLy1PR51mOsQY6TuXbbahbU8eDPAQijzbmn_pSRc,3080
6
- winipedia_utils/data/__init__.py,sha256=o6SXX1gBCwhb9abo8xTfZtqUNuLqXmdo2VervnJxRzc,48
7
- winipedia_utils/data/dataframe/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
8
- winipedia_utils/data/dataframe/cleaning.py,sha256=HMsr5cpPRGXGvd8d6CVzdEDhcSy-9mH36eVArzYd-2g,23432
9
- winipedia_utils/data/structures/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
10
- winipedia_utils/data/structures/dicts.py,sha256=jsFzQ96cvyHsvPSnsEUhksuWvLSGq6-Rryfw6gEXq-c,274
11
- winipedia_utils/git/__init__.py,sha256=IRmEVz0sUEw47Eli--57YaypWitxlcYThT_ulwkhNTE,47
12
- winipedia_utils/git/github/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
13
- winipedia_utils/git/github/github.py,sha256=vBvdeVVcXRjD7KeZXsEwRBh6eEzdmcxL-qJQYusKsmM,814
14
- winipedia_utils/git/github/repo/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
15
- winipedia_utils/git/github/repo/protect.py,sha256=nOVjb5GVinGIClp7k9_qqgKnAl_gk1XwkViAQ5TaLTo,3151
16
- winipedia_utils/git/github/repo/repo.py,sha256=OqoOfqDhe_Iik71dNqi4h3fGrMno33hSjk0bpNg3eZk,7865
17
- winipedia_utils/git/github/workflows/__init__.py,sha256=BPdntTwFEyBMJ6MyT7gddPHswvRdH9tsRtfK72VSV7Y,57
18
- winipedia_utils/git/github/workflows/base/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
19
- winipedia_utils/git/github/workflows/base/base.py,sha256=t2jYHVpvhCaKpaZI9Yhr8YJEp-2D_G4VUJKVVYIUolc,9749
20
- winipedia_utils/git/github/workflows/health_check.py,sha256=cPjSJxNy9h0bKNK69crmcERACx4VGR2XytyZ1JM_wMQ,1567
21
- winipedia_utils/git/github/workflows/publish.py,sha256=TPbSp5QH2vVl55UdqE_kjf1HIkdubcgqWlkLjWFX5EA,1378
22
- winipedia_utils/git/github/workflows/release.py,sha256=hnMT12J17LmFpPCTzva-lW95MOFDQ-1bAOrTVCxeaR8,1301
23
- winipedia_utils/git/gitignore/__init__.py,sha256=k-2E26JaZPkF69UUOJkpQl8T_PudrC7EYCIOxwgIQVU,57
24
- winipedia_utils/git/gitignore/config.py,sha256=Oi1gAf2mbR7vxMi0zsAFpCGzDaLNDd5S2vXEmA3eKg4,2595
25
- winipedia_utils/git/gitignore/gitignore.py,sha256=uE2MdynWgQuTG-y2YLR0FU5_giSE7s_TqSVQ6vnNOf8,2419
26
- winipedia_utils/git/pre_commit/__init__.py,sha256=gFLVGQRmS6abgy5MfPQy_GZiF1_hGxuXtcOHX95WL-A,58
27
- winipedia_utils/git/pre_commit/config.py,sha256=UagrtEp_TSb0THjmXZpvtl7agekEVOWnMmRPdWJ4kf4,1830
28
- winipedia_utils/git/pre_commit/hooks.py,sha256=jMGSRtesVBB6pCQNSQ-FubCoUql7gXn0xZeKn7x6Wbs,4241
29
- winipedia_utils/git/pre_commit/run_hooks.py,sha256=UIz1k3Hx5sB6LcdIJaPNWL-YDZzbkWd7NHCsC41nczQ,1495
30
- winipedia_utils/iterating/__init__.py,sha256=rlF9hzxbowq5yOfcXvOKOQdB-EQmfrislQpf659Zeu4,53
31
- winipedia_utils/iterating/iterate.py,sha256=k4U6qrnE4zij-GJhI5X0wM3pveSi8wtEsA1i8xQrfG0,3522
32
- winipedia_utils/logging/__init__.py,sha256=AMt1LwA_E7hexYjMpGzUempoyDdAF-dowWvq59wC5aM,51
33
- winipedia_utils/logging/ansi.py,sha256=7Z-FITaUn5B1ZE0OUVARjNzuMui1V36iu4YTjlD6QfI,101
34
- winipedia_utils/logging/config.py,sha256=sdC3GHMkJqlY-WwIsOMeTcy1bihthWV2LbvxLt9dhc4,2895
35
- winipedia_utils/logging/logger.py,sha256=NluvfRpY4SfJi6URjfV52l3cxeUYFMeCAJULK_PQXpQ,701
36
- winipedia_utils/modules/__init__.py,sha256=e3CFaC3FhK4ibknFOv1bqOZxA7XeVwmLqWX7oajUm78,51
37
- winipedia_utils/modules/class_.py,sha256=908MgZZzcJBPmlVmMPZCFssHnRzbQYOQlrF3GQhpWm4,5411
38
- winipedia_utils/modules/function.py,sha256=cjD6dXkZzhtCClUs4uiOLaDOURVASp64iwTwXmI3ICo,3217
39
- winipedia_utils/modules/module.py,sha256=K4t3AHBySAsHt9CCYlO7NlKtJq8rD5dikNN0mTPa8IQ,13093
40
- winipedia_utils/modules/package.py,sha256=wytjRvzGj81FvHDK0qKJdIfmf90ivF0MX2nF8xI8eyU,14440
41
- winipedia_utils/oop/__init__.py,sha256=wGjsVwLbTVEQWOfDJvN9nlvC-3NmAi8Doc2xIrm6e78,47
42
- winipedia_utils/oop/mixins/__init__.py,sha256=PDK-cJcdRUfDUCz36qQ5pmMW07G133WtN49OpmILGNI,54
43
- winipedia_utils/oop/mixins/meta.py,sha256=0G4CzzzCoeP1Eas3vWe-uxvB5n5ncyw7Wc-sI9zmEBc,11150
44
- winipedia_utils/oop/mixins/mixin.py,sha256=S5y1IVRtkghxV7y0ttdmSYO439NHChRIFTOwlK7kmTo,1401
45
- winipedia_utils/os/__init__.py,sha256=cBRq8hWhaWvYeC3cSBYL6Y70kM9COQWHj8vVxxSadIg,46
46
- winipedia_utils/os/os.py,sha256=K_5FD1sC1h5aSdtqXAG0uq90sSweLYLkgkRPQS0Jfxg,1768
47
- winipedia_utils/projects/__init__.py,sha256=_iYHzUcTPmutpsExPDcMF9OQDgnz-kTSuWens9iP9bI,52
48
- winipedia_utils/projects/poetry/__init__.py,sha256=tbvV3wYd3H39hjjlKbF84Irj4hYgv1A7KWyXdCQzFro,59
49
- winipedia_utils/projects/poetry/config.py,sha256=aqMBG36hWB5XK9Z1484JEFRUsM5HkPgMdJ8EoKtZ3p8,7762
50
- winipedia_utils/projects/poetry/poetry.py,sha256=CM-MKuYSITRIS95qngtCpDpjQS6tCe6joZOM03yEFdU,4033
51
- winipedia_utils/projects/project.py,sha256=rirg4xCIOTI6w7cLWufAVHAix7FGicvaCd9OnZQP8dA,521
52
- winipedia_utils/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
53
- winipedia_utils/resources/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
54
- winipedia_utils/resources/svgs/__init__.py,sha256=XHsbmjiaGom-KX-S3leCY9cJD3aP9p_0X6xYMcdkHBU,23
55
- winipedia_utils/resources/svgs/delete_garbage_can.svg,sha256=UxEEh46w1JD4VViUBx-Ahaq5_ZR4zOjfeJn5_aM8114,318
56
- winipedia_utils/resources/svgs/download_arrow.svg,sha256=8g_cBwKFHyoeSmaLMXcGwIHT4_rZDDtDGm35E0PkniE,242
57
- winipedia_utils/resources/svgs/exit_fullscreen_icon.svg,sha256=sZSexEjab82zhAK3JRtOWH19aAFa1GhuGLChDz9wFFc,523
58
- winipedia_utils/resources/svgs/fullscreen_icon.svg,sha256=mm2n6WvaSu0OqiQSAw0QPNwzXpPLaF53_XAklUfQQPo,406
59
- winipedia_utils/resources/svgs/menu_icon.svg,sha256=pA1Z_x5gDkhYLQA0dL0l_8uBP-e6mKLcEOYwlhURUv4,344
60
- winipedia_utils/resources/svgs/pause_icon.svg,sha256=z-Cj3DOI0rwRbWCOhaiHtDQYM4s6OgkCBVcdip77rQE,179
61
- winipedia_utils/resources/svgs/play_icon.svg,sha256=7gx1EWZnyu1pA6WboAfVH3OGcp_uYPpT1syqHe-jaGE,953
62
- winipedia_utils/resources/svgs/plus_icon.svg,sha256=1ucedu8ucLI7LMNsfNN2GYiwNUe8-ViNBcanDwzTqHc,552
63
- winipedia_utils/resources/svgs/svg.py,sha256=uzlp4Rhnenvkq_YI409ZvR7JMTZmB5JpKsDBOvPNr0I,415
64
- winipedia_utils/security/__init__.py,sha256=HmGXOCROqIGHlBs2bEWRMkEX3rlXNsnA9Tef58AlCo4,52
65
- winipedia_utils/security/cryptography.py,sha256=5LMat3-9nDW2cQBr_dU7MFRdgbiK53zQqHyacs-Jq-s,793
66
- winipedia_utils/security/keyring.py,sha256=6kKgSTz1G80F6XeZ3Lskxdl2N6JgUH8gJdFYcGJuysU,2273
67
- winipedia_utils/setup.py,sha256=J80JAi2rYhf0N24DTO61AfUC6i9wPgYFakBFcTcaqdQ,1161
68
- winipedia_utils/testing/__init__.py,sha256=kXhB5xw02ec5xpcW_KV--9CBKdyCjnuR-NZzAJ5tq0g,51
69
- winipedia_utils/testing/assertions.py,sha256=VoksKQKEXppY9e8Bk8d_WMAjRX5mDE8c5blBwzK6nWo,1494
70
- winipedia_utils/testing/config.py,sha256=Xtgu7Nsll6pIzHLUDsalzt-nPBNSNOs0JKCXWi5v36M,3508
71
- winipedia_utils/testing/convention.py,sha256=7vurpqS--awhN_FLSOviSKENGuFyY9Ejr1NKRm0MPsg,4833
72
- winipedia_utils/testing/create_tests.py,sha256=KJL23BtsnDsujUa9fwBA5AHo85vy61oxgRPSTztJT7k,9347
73
- winipedia_utils/testing/fixtures.py,sha256=G8QIrZXndtud0uOk6PY3f8IIDoyX_ronogjeLAYGjrM,1033
74
- winipedia_utils/testing/skip.py,sha256=WpVk1J4DBISDfR6CXOKCEjP4MHy52DaGwPkmdDuM6Y0,486
75
- winipedia_utils/testing/tests/__init__.py,sha256=kL-1O6lAO5j4JPOqPdi3dHdbOQ_UXcgPFppj82HhrRU,57
76
- winipedia_utils/testing/tests/base/__init__.py,sha256=dBH1yfONmqUC49zshS6BJ4ZgEcw7iFGoFCqRmU7Vhrw,62
77
- winipedia_utils/testing/tests/base/fixtures/__init__.py,sha256=Bs_HSqx8DcMb8yU1vNbgIEszOMNVnIW02C4tmDdHB8E,71
78
- winipedia_utils/testing/tests/base/fixtures/fixture.py,sha256=Svu43zXcFOSFyrUA4SKfgr6jM54ww_5_uXVMZ7DPMXI,1208
79
- winipedia_utils/testing/tests/base/fixtures/scopes/__init__.py,sha256=-n_BLhTVC1oH7qVL0JYXm82zqFPgobQCojO-PirrKo0,78
80
- winipedia_utils/testing/tests/base/fixtures/scopes/class_.py,sha256=LqOp441yP4N4C-TLTP__QR1El5rp3lzgQMJLXF_HKYc,1099
81
- winipedia_utils/testing/tests/base/fixtures/scopes/function.py,sha256=l1zCCiTkXUSZp0n9QOyejhfszFJiMH88bhGMwNY5r8A,302
82
- winipedia_utils/testing/tests/base/fixtures/scopes/module.py,sha256=eWxUP9cFJ0kHhdeHi8Z6fKDo_lj1K4buLIG7mR56UiY,1235
83
- winipedia_utils/testing/tests/base/fixtures/scopes/package.py,sha256=pR3so6QPymIRM4PJTODrlBKI-yQnZ2P78BsiyTPaF8o,302
84
- winipedia_utils/testing/tests/base/fixtures/scopes/session.py,sha256=EcBqu3iwT7397wDxFCY-NkiaH7JPVJDdXVUTGXClWJc,6108
85
- winipedia_utils/testing/tests/base/utils/__init__.py,sha256=mC-8dCkp8xarqkQu2QQLrPjHi6Ww9hcixWdHeQHWeRs,68
86
- winipedia_utils/testing/tests/base/utils/utils.py,sha256=D7N-PW4N8853nJ2m4eYjO3jBMByYB9oh1GK4Hl5Tbwg,2598
87
- winipedia_utils/testing/tests/conftest.py,sha256=BLgUJtLecOwuEsIyJ__0buqovd5AhiGvbMNk8CHgSQs,888
88
- winipedia_utils/text/__init__.py,sha256=j2bwtK6kyeHI6SnoBjpRju0C1W2n2paXBDlNjNtaUxA,48
89
- winipedia_utils/text/config.py,sha256=63AyQUNgjYZb5hlBIsmbAsFk38BYeaIo6XuVredkfkk,7578
90
- winipedia_utils/text/string.py,sha256=yXmwOab5hXyVQG1NwlWDpy2prj0U7Vb2F5HKLT2Y77Q,3382
91
- winipedia_utils-0.4.43.dist-info/METADATA,sha256=dsxBGDal_FJpJmnAbQXKhs8t4ijlbiupOuEujUKE9T4,14564
92
- winipedia_utils-0.4.43.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
93
- winipedia_utils-0.4.43.dist-info/licenses/LICENSE,sha256=o316mE2gGzd__JT69p7S_zlOmKiHh8YjpImCCcWyTvM,1066
94
- winipedia_utils-0.4.43.dist-info/RECORD,,
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