winipedia-utils 0.4.46__tar.gz → 0.4.48__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.
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/PKG-INFO +3 -2
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/README.md +2 -1
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/pyproject.toml +1 -1
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/modules/package.py +15 -4
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/LICENSE +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/concurrent/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/concurrent/concurrent.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/concurrent/multiprocessing.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/concurrent/multithreading.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/data/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/data/dataframe/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/data/dataframe/cleaning.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/data/structures/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/data/structures/dicts.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/github.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/repo/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/repo/protect.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/repo/repo.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/base/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/base/base.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/health_check.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/publish.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/release.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/gitignore/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/gitignore/config.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/gitignore/gitignore.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/pre_commit/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/pre_commit/config.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/pre_commit/hooks.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/pre_commit/run_hooks.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/iterating/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/iterating/iterate.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/logging/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/logging/ansi.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/logging/config.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/logging/logger.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/modules/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/modules/class_.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/modules/function.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/modules/module.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/oop/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/oop/mixins/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/oop/mixins/meta.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/oop/mixins/mixin.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/os/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/os/os.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/projects/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/projects/poetry/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/projects/poetry/config.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/projects/poetry/poetry.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/projects/project.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/py.typed +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/delete_garbage_can.svg +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/download_arrow.svg +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/exit_fullscreen_icon.svg +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/fullscreen_icon.svg +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/menu_icon.svg +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/pause_icon.svg +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/play_icon.svg +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/plus_icon.svg +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/svg.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/security/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/security/cryptography.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/security/keyring.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/setup.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/assertions.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/config.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/convention.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/create_tests.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/fixtures.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/skip.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/fixtures/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/fixtures/fixture.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/fixtures/scopes/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/fixtures/scopes/class_.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/fixtures/scopes/function.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/fixtures/scopes/module.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/fixtures/scopes/package.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/fixtures/scopes/session.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/utils/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/utils/utils.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/conftest.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/text/__init__.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/text/config.py +0 -0
- {winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/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.4.
|
|
3
|
+
Version: 0.4.48
|
|
4
4
|
Summary: A package with many utility functions
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -79,7 +79,8 @@ git clone https://github.com/owner/repo.git
|
|
|
79
79
|
poetry init # or poetry new
|
|
80
80
|
# 4: Poetry will ask you some stuff when you run poetry init.
|
|
81
81
|
# First author name must be equal to the GitHub repository owner (username).
|
|
82
|
-
# The repository name must be equal to the package/project name.
|
|
82
|
+
# The repository name must be equal to the package/project name.
|
|
83
|
+
# (- instead of _ is fine, but only as the project name in pyproject.toml, folder names should all be _)
|
|
83
84
|
|
|
84
85
|
# 5: Add winipedia-utils to your project
|
|
85
86
|
poetry add winipedia-utils
|
|
@@ -52,7 +52,8 @@ git clone https://github.com/owner/repo.git
|
|
|
52
52
|
poetry init # or poetry new
|
|
53
53
|
# 4: Poetry will ask you some stuff when you run poetry init.
|
|
54
54
|
# First author name must be equal to the GitHub repository owner (username).
|
|
55
|
-
# The repository name must be equal to the package/project name.
|
|
55
|
+
# The repository name must be equal to the package/project name.
|
|
56
|
+
# (- instead of _ is fine, but only as the project name in pyproject.toml, folder names should all be _)
|
|
56
57
|
|
|
57
58
|
# 5: Add winipedia-utils to your project
|
|
58
59
|
poetry add winipedia-utils
|
|
@@ -447,7 +447,7 @@ class DependencyGraph(nx.DiGraph): # type: ignore [type-arg]
|
|
|
447
447
|
def build(self) -> None:
|
|
448
448
|
"""Build the graph from installed Python distributions."""
|
|
449
449
|
for dist in importlib.metadata.distributions():
|
|
450
|
-
name =
|
|
450
|
+
name = self.parse_distname_from_metadata(dist)
|
|
451
451
|
self.add_node(name)
|
|
452
452
|
|
|
453
453
|
requires = dist.requires or []
|
|
@@ -456,14 +456,24 @@ class DependencyGraph(nx.DiGraph): # type: ignore [type-arg]
|
|
|
456
456
|
if dep:
|
|
457
457
|
self.add_edge(name, dep) # package → dependency
|
|
458
458
|
|
|
459
|
+
@staticmethod
|
|
460
|
+
def parse_distname_from_metadata(dist: importlib.metadata.Distribution) -> str:
|
|
461
|
+
"""Extract the distribution name from its metadata."""
|
|
462
|
+
# replace - with _ to handle packages like winipedia-utils
|
|
463
|
+
name: str = dist.metadata["Name"]
|
|
464
|
+
return DependencyGraph.normalize_package_name(name)
|
|
465
|
+
|
|
466
|
+
@staticmethod
|
|
467
|
+
def normalize_package_name(name: str) -> str:
|
|
468
|
+
"""Normalize a package name."""
|
|
469
|
+
return name.lower().replace("-", "_").strip()
|
|
470
|
+
|
|
459
471
|
@staticmethod
|
|
460
472
|
def parse_pkg_name_from_req(req: str) -> str | None:
|
|
461
473
|
"""Extract the bare dependency name from a requirement string."""
|
|
462
|
-
if not req:
|
|
463
|
-
return None
|
|
464
474
|
# split on the first non alphanumeric character like >, <, =, etc.
|
|
465
475
|
dep = re.split(r"[^a-zA-Z0-9]", req.strip())[0].strip()
|
|
466
|
-
return
|
|
476
|
+
return DependencyGraph.normalize_package_name(dep) if dep else None
|
|
467
477
|
|
|
468
478
|
def get_all_depending_on(
|
|
469
479
|
self, package: ModuleType, *, include_self: bool = False
|
|
@@ -477,6 +487,7 @@ class DependencyGraph(nx.DiGraph): # type: ignore [type-arg]
|
|
|
477
487
|
Returns:
|
|
478
488
|
A set of imported module objects representing dependents.
|
|
479
489
|
"""
|
|
490
|
+
# replace - with _ to handle packages like winipedia-utils
|
|
480
491
|
target = package.__name__.lower()
|
|
481
492
|
if target not in self:
|
|
482
493
|
msg = f"Package '{target}' not found in dependency graph"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/concurrent/multiprocessing.py
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/concurrent/multithreading.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/data/dataframe/__init__.py
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/data/dataframe/cleaning.py
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/data/structures/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/repo/__init__.py
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/repo/protect.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/base/base.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/publish.py
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/github/workflows/release.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/gitignore/gitignore.py
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/pre_commit/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/git/pre_commit/run_hooks.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
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/projects/poetry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/download_arrow.svg
RENAMED
|
File without changes
|
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/fullscreen_icon.svg
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/menu_icon.svg
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/pause_icon.svg
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/play_icon.svg
RENAMED
|
File without changes
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/resources/svgs/plus_icon.svg
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
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/__init__.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
|
{winipedia_utils-0.4.46 → winipedia_utils-0.4.48}/winipedia_utils/testing/tests/base/utils/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|