winipedia-utils 0.6.2__tar.gz → 0.6.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.

Potentially problematic release.


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

Files changed (98) hide show
  1. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/PKG-INFO +1 -8
  2. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/README.md +0 -7
  3. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/pyproject.toml +1 -1
  4. winipedia_utils-0.6.4/winipedia_utils/artifacts/build.py +78 -0
  5. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/workflows/release.py +0 -1
  6. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/pre_commit/hooks.py +0 -59
  7. winipedia_utils-0.6.2/winipedia_utils/artifacts/build.py +0 -19
  8. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/LICENSE +0 -0
  9. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/__init__.py +0 -0
  10. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/artifacts/__init__.py +0 -0
  11. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/concurrent/__init__.py +0 -0
  12. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/concurrent/concurrent.py +0 -0
  13. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/concurrent/multiprocessing.py +0 -0
  14. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/concurrent/multithreading.py +0 -0
  15. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/data/__init__.py +0 -0
  16. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/data/dataframe/__init__.py +0 -0
  17. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/data/dataframe/cleaning.py +0 -0
  18. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/data/structures/__init__.py +0 -0
  19. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/data/structures/dicts.py +0 -0
  20. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/__init__.py +0 -0
  21. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/__init__.py +0 -0
  22. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/github.py +0 -0
  23. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/repo/__init__.py +0 -0
  24. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/repo/protect.py +0 -0
  25. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/repo/repo.py +0 -0
  26. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/workflows/__init__.py +0 -0
  27. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/workflows/base/__init__.py +0 -0
  28. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/workflows/base/base.py +0 -0
  29. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/workflows/health_check.py +0 -0
  30. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/github/workflows/publish.py +0 -0
  31. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/gitignore/__init__.py +0 -0
  32. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/gitignore/config.py +0 -0
  33. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/gitignore/gitignore.py +0 -0
  34. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/pre_commit/__init__.py +0 -0
  35. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/pre_commit/config.py +0 -0
  36. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/git/pre_commit/run_hooks.py +0 -0
  37. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/iterating/__init__.py +0 -0
  38. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/iterating/iterate.py +0 -0
  39. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/logging/__init__.py +0 -0
  40. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/logging/ansi.py +0 -0
  41. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/logging/config.py +0 -0
  42. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/logging/logger.py +0 -0
  43. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/modules/__init__.py +0 -0
  44. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/modules/class_.py +0 -0
  45. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/modules/function.py +0 -0
  46. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/modules/inspection.py +0 -0
  47. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/modules/module.py +0 -0
  48. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/modules/package.py +0 -0
  49. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/oop/__init__.py +0 -0
  50. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/oop/mixins/__init__.py +0 -0
  51. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/oop/mixins/meta.py +0 -0
  52. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/oop/mixins/mixin.py +0 -0
  53. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/os/__init__.py +0 -0
  54. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/os/os.py +0 -0
  55. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/projects/__init__.py +0 -0
  56. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/projects/poetry/__init__.py +0 -0
  57. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/projects/poetry/config.py +0 -0
  58. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/projects/poetry/poetry.py +0 -0
  59. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/projects/project.py +0 -0
  60. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/py.typed +0 -0
  61. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/__init__.py +0 -0
  62. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/__init__.py +0 -0
  63. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/delete_garbage_can.svg +0 -0
  64. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/download_arrow.svg +0 -0
  65. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/exit_fullscreen_icon.svg +0 -0
  66. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/fullscreen_icon.svg +0 -0
  67. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/menu_icon.svg +0 -0
  68. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/pause_icon.svg +0 -0
  69. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/play_icon.svg +0 -0
  70. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/plus_icon.svg +0 -0
  71. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/resources/svgs/svg.py +0 -0
  72. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/security/__init__.py +0 -0
  73. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/security/cryptography.py +0 -0
  74. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/security/keyring.py +0 -0
  75. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/setup.py +0 -0
  76. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/__init__.py +0 -0
  77. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/assertions.py +0 -0
  78. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/config.py +0 -0
  79. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/convention.py +0 -0
  80. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/create_tests.py +0 -0
  81. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/fixtures.py +0 -0
  82. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/skip.py +0 -0
  83. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/__init__.py +0 -0
  84. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/__init__.py +0 -0
  85. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/fixtures/__init__.py +0 -0
  86. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/fixtures/fixture.py +0 -0
  87. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/fixtures/scopes/__init__.py +0 -0
  88. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/fixtures/scopes/class_.py +0 -0
  89. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/fixtures/scopes/function.py +0 -0
  90. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/fixtures/scopes/module.py +0 -0
  91. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/fixtures/scopes/package.py +0 -0
  92. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/fixtures/scopes/session.py +0 -0
  93. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/utils/__init__.py +0 -0
  94. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/base/utils/utils.py +0 -0
  95. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/testing/tests/conftest.py +0 -0
  96. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/text/__init__.py +0 -0
  97. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/text/config.py +0 -0
  98. {winipedia_utils-0.6.2 → winipedia_utils-0.6.4}/winipedia_utils/text/string.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: winipedia-utils
3
- Version: 0.6.2
3
+ Version: 0.6.4
4
4
  Summary: A package with many utility functions
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -157,13 +157,6 @@ Usually VSCode or other IDEs activates the venv automatically when opening the t
157
157
 
158
158
  Hooks run in the following order:
159
159
 
160
- - Fetch latest changes (git fetch origin)
161
- - Stash changes (git stash push -m "WIP: Stashed changes before rebasing")
162
- - Rebase on main (git rebase origin/main)
163
- - Pop stashed changes (git stash pop)
164
- - Add popped stash to git (git add ., bc unstashing unadds the changes and pre-commit fails, be aware that this might add changes you didn't want to commit, so inspect the changes before committing)
165
- - Patch version (poetry version patch)
166
- - Add version patch to git (git add pyproject.toml)
167
160
  - Update package manager (poetry self update)
168
161
  - Install packages (poetry install --with dev)
169
162
  - Update packages (poetry update --with dev (winipedia_utils forces all dependencies with * to be updated to latest compatible version))
@@ -130,13 +130,6 @@ Usually VSCode or other IDEs activates the venv automatically when opening the t
130
130
 
131
131
  Hooks run in the following order:
132
132
 
133
- - Fetch latest changes (git fetch origin)
134
- - Stash changes (git stash push -m "WIP: Stashed changes before rebasing")
135
- - Rebase on main (git rebase origin/main)
136
- - Pop stashed changes (git stash pop)
137
- - Add popped stash to git (git add ., bc unstashing unadds the changes and pre-commit fails, be aware that this might add changes you didn't want to commit, so inspect the changes before committing)
138
- - Patch version (poetry version patch)
139
- - Add version patch to git (git add pyproject.toml)
140
133
  - Update package manager (poetry self update)
141
134
  - Install packages (poetry install --with dev)
142
135
  - Update packages (poetry update --with dev (winipedia_utils forces all dependencies with * to be updated to latest compatible version))
@@ -1,7 +1,7 @@
1
1
  # Project section
2
2
  [project]
3
3
  name = "winipedia-utils"
4
- version = "0.6.2"
4
+ version = "0.6.4"
5
5
  description = "A package with many utility functions"
6
6
  readme = "README.md"
7
7
  requires-python = ">=3.12"
@@ -0,0 +1,78 @@
1
+ """Build utilities for creating and managing project builds.
2
+
3
+ This module provides functions for building and managing project artifacts,
4
+ including creating build scripts, configuring build environments, and
5
+ handling build dependencies. These utilities help with the packaging and
6
+ distribution of project code.
7
+ """
8
+
9
+ import platform
10
+ from abc import abstractmethod
11
+ from pathlib import Path
12
+
13
+ from winipedia_utils.git.github.workflows.base.base import Workflow
14
+ from winipedia_utils.oop.mixins.mixin import ABCLoggingMixin
15
+
16
+
17
+ class Build(ABCLoggingMixin):
18
+ """Base class for build scripts.
19
+
20
+ Subclass this class and implement the get_artifacts method to create
21
+ a build script for your project. The build method will be called
22
+ automatically when the class is initialized. At the end of the file add
23
+ if __name__ == "__main__":
24
+ YourBuildClass()
25
+ """
26
+
27
+ ARTIFACTS_PATH = Workflow.ARTIFACTS_PATH
28
+
29
+ @classmethod
30
+ @abstractmethod
31
+ def get_artifacts(cls) -> list[Path]:
32
+ """Build the project.
33
+
34
+ Returns:
35
+ list[Path]: List of paths to the built artifacts
36
+ """
37
+
38
+ @classmethod
39
+ def __init__(cls) -> None:
40
+ """Initialize the build script."""
41
+ cls.build()
42
+
43
+ @classmethod
44
+ def build(cls) -> None:
45
+ """Build the project.
46
+
47
+ This method is called by the __init__ method.
48
+ It takes all the files and renames them with -platform.system()
49
+ and puts them in the artifacts folder.
50
+ """
51
+ cls.ARTIFACTS_PATH.mkdir(parents=True, exist_ok=True)
52
+ artifacts = cls.get_artifacts()
53
+ for artifact in artifacts:
54
+ parent = artifact.parent
55
+ if parent != cls.ARTIFACTS_PATH:
56
+ msg = f"You must create {artifact} in {cls.ARTIFACTS_PATH}"
57
+ raise FileNotFoundError(msg)
58
+
59
+ # rename the files with -platform.system()
60
+ new_name = f"{artifact.stem}-{platform.system()}{artifact.suffix}"
61
+ new_path = cls.ARTIFACTS_PATH / new_name
62
+ artifact.rename(new_path)
63
+
64
+
65
+ class WinipediaUtilsBuild(Build):
66
+ """Build script for winipedia_utils."""
67
+
68
+ @classmethod
69
+ def get_artifacts(cls) -> list[Path]:
70
+ """Build the project."""
71
+ paths = [cls.ARTIFACTS_PATH / "build.txt"]
72
+ for path in paths:
73
+ path.write_text("Hello World!")
74
+ return paths
75
+
76
+
77
+ if __name__ == "__main__":
78
+ WinipediaUtilsBuild()
@@ -67,7 +67,6 @@ class ReleaseWorkflow(HealthCheckWorkflow):
67
67
  return [cls.step_no_build_script()]
68
68
  return [
69
69
  *cls.steps_core_matrix_setup(),
70
- cls.step_create_artifacts_folder(),
71
70
  cls.step_build_artifacts(),
72
71
  cls.step_upload_artifacts(),
73
72
  ]
@@ -13,65 +13,6 @@ from winipedia_utils.projects.poetry.poetry import (
13
13
  )
14
14
 
15
15
 
16
- def fetch_latest_changes() -> list[str]:
17
- """Fetch the latest changes from origin.
18
-
19
- This function returns the input for subprocess.run() to fetch the latest
20
- changes from origin.
21
- """
22
- return ["git", "fetch", "origin"]
23
-
24
-
25
- def stash_changes() -> list[str]:
26
- """Stash the changes.
27
-
28
- This function returns the input for subprocess.run() to stash the changes.
29
- """
30
- return [
31
- "git",
32
- "stash",
33
- "push",
34
- "-m",
35
- "WIP: Temporarily stashed changes before rebasing",
36
- ]
37
-
38
-
39
- def rebase_on_main() -> list[str]:
40
- """Rebase the current branch on origin/main.
41
-
42
- This function returns the input for subprocess.run() to rebase the current
43
- branch on origin/main.
44
- """
45
- return ["git", "rebase", "origin/main"]
46
-
47
-
48
- def pop_stashed_changes() -> list[str]:
49
- """Pop the stashed changes.
50
-
51
- This function returns the input for subprocess.run() to pop the stashed changes.
52
- """
53
- return ["git", "stash", "pop"]
54
-
55
-
56
- def add_popped_stash_to_git() -> list[str]:
57
- """Add the unstashed changes to git.
58
-
59
- This function returns the input for subprocess.run() to add the unstashed
60
- changes to git.
61
- We must do git add . because unstashing unadds the changes and pre-commit fails
62
- """
63
- return ["git", "add", "."]
64
-
65
-
66
- def add_version_patch_to_git() -> list[str]:
67
- """Add the version patch to git.
68
-
69
- This function returns the input for subprocess.run() to add the version
70
- patch to git, so that the hook does not fail bc the file was changed.
71
- """
72
- return ["git", "add", "pyproject.toml"]
73
-
74
-
75
16
  def update_package_manager() -> list[str]:
76
17
  """Update the package manager.
77
18
 
@@ -1,19 +0,0 @@
1
- """Build utilities for creating and managing project builds.
2
-
3
- This module provides functions for building and managing project artifacts,
4
- including creating build scripts, configuring build environments, and
5
- handling build dependencies. These utilities help with the packaging and
6
- distribution of project code.
7
- """
8
-
9
- from winipedia_utils.git.github.workflows.base.base import Workflow
10
-
11
-
12
- def build_project() -> None:
13
- """Build the project."""
14
- # create a file with random content in BUILD_DIR
15
- (Workflow.ARTIFACTS_PATH / "build.txt").write_text("Hello World!")
16
-
17
-
18
- if __name__ == "__main__":
19
- build_project()
File without changes