nox-uv 0.1.0__tar.gz → 0.2.0__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.
- {nox_uv-0.1.0 → nox_uv-0.2.0}/.github/workflows/ci.yml +2 -2
- {nox_uv-0.1.0 → nox_uv-0.2.0}/PKG-INFO +7 -3
- {nox_uv-0.1.0 → nox_uv-0.2.0}/README.md +1 -1
- {nox_uv-0.1.0 → nox_uv-0.2.0}/noxfile.py +26 -6
- {nox_uv-0.1.0 → nox_uv-0.2.0}/pyproject.toml +22 -27
- {nox_uv-0.1.0 → nox_uv-0.2.0}/src/nox_uv/__init__.py +10 -12
- nox_uv-0.2.0/tests/__init__.py +0 -0
- nox_uv-0.2.0/tests/subnoxfile.py +55 -0
- nox_uv-0.2.0/tests/test_lib.py +13 -0
- {nox_uv-0.1.0 → nox_uv-0.2.0}/uv.lock +49 -426
- nox_uv-0.1.0/.github/workflows/container.yml +0 -13
- nox_uv-0.1.0/Dockerfile +0 -97
- nox_uv-0.1.0/tests/test_lib.py +0 -2
- {nox_uv-0.1.0 → nox_uv-0.2.0}/.editorconfig +0 -0
- {nox_uv-0.1.0 → nox_uv-0.2.0}/.gitignore +0 -0
- {nox_uv-0.1.0 → nox_uv-0.2.0}/.python-version +0 -0
- {nox_uv-0.1.0 → nox_uv-0.2.0}/LICENSE.txt +0 -0
- {nox_uv-0.1.0 → nox_uv-0.2.0}/src/nox_uv/py.typed +0 -0
|
@@ -3,14 +3,14 @@ name: CI
|
|
|
3
3
|
on: [push, pull_request]
|
|
4
4
|
|
|
5
5
|
env:
|
|
6
|
-
UV_VERSION: "0.6.
|
|
6
|
+
UV_VERSION: "0.6.12"
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
9
|
test:
|
|
10
10
|
runs-on: ubuntu-24.04
|
|
11
11
|
strategy:
|
|
12
12
|
matrix:
|
|
13
|
-
python-version: [
|
|
13
|
+
python-version: ["3.10", "3.11", "3.12", "3.13" ]
|
|
14
14
|
steps:
|
|
15
15
|
- uses: actions/checkout@v4
|
|
16
16
|
- name: Install uv
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nox-uv
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Facilitate nox integration with uv for Python projects
|
|
5
5
|
Project-URL: Homepage, https://github.com/dantebben/nox-uv
|
|
6
6
|
Author-email: Dan Tebben <dantebben@gmail.com>
|
|
7
7
|
License-Expression: MIT
|
|
8
8
|
License-File: LICENSE.txt
|
|
9
|
-
Requires-Python:
|
|
9
|
+
Requires-Python: >=3.10
|
|
10
10
|
Requires-Dist: nox>=2025.2.9
|
|
11
|
+
Provides-Extra: doc
|
|
12
|
+
Requires-Dist: mkdocs; extra == 'doc'
|
|
13
|
+
Provides-Extra: plot
|
|
14
|
+
Requires-Dist: plotly; extra == 'plot'
|
|
11
15
|
Description-Content-Type: text/markdown
|
|
12
16
|
|
|
13
17
|
## Intro
|
|
@@ -20,7 +24,7 @@ with the [uv](https://docs.astral.sh/uv/) package manager.
|
|
|
20
24
|
|
|
21
25
|
To use, import `session` from `nox-uv` in your `nox-file`.
|
|
22
26
|
|
|
23
|
-
**NOTE**: All `@session(...)` parameters are
|
|
27
|
+
**NOTE**: All `@session(...)` parameters are keywords only, no positional parameters are allowed.
|
|
24
28
|
|
|
25
29
|
**NOTE**: The `default_groups` defined in `pyproject.toml` are _not_ installed by default. The
|
|
26
30
|
user must explicitly list the desired groups in the `uv_groups` parameter.
|
|
@@ -8,7 +8,7 @@ with the [uv](https://docs.astral.sh/uv/) package manager.
|
|
|
8
8
|
|
|
9
9
|
To use, import `session` from `nox-uv` in your `nox-file`.
|
|
10
10
|
|
|
11
|
-
**NOTE**: All `@session(...)` parameters are
|
|
11
|
+
**NOTE**: All `@session(...)` parameters are keywords only, no positional parameters are allowed.
|
|
12
12
|
|
|
13
13
|
**NOTE**: The `default_groups` defined in `pyproject.toml` are _not_ installed by default. The
|
|
14
14
|
user must explicitly list the desired groups in the `uv_groups` parameter.
|
|
@@ -4,20 +4,29 @@ from nox_uv import session
|
|
|
4
4
|
|
|
5
5
|
options.error_on_external_run = True
|
|
6
6
|
options.reuse_existing_virtualenvs = True
|
|
7
|
-
options.
|
|
7
|
+
options.default_venv_backend = "uv"
|
|
8
|
+
options.sessions = ["uv_lock_check", "lint", "type_check", "test"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@session(venv_backend="none")
|
|
12
|
+
def uv_lock_check(s: Session) -> None:
|
|
13
|
+
s.run("uv", "lock", "--check")
|
|
8
14
|
|
|
9
15
|
|
|
10
|
-
# Including Python 3.9 here just to test when UV_PYTHON_DOWNLOADS=never
|
|
11
16
|
@session(
|
|
12
|
-
venv_backend="uv",
|
|
13
17
|
reuse_venv=True,
|
|
14
|
-
python=["3.
|
|
18
|
+
python=["3.10", "3.11", "3.12", "3.13"],
|
|
15
19
|
uv_groups=["test"],
|
|
16
|
-
uv_all_groups=True,
|
|
17
20
|
)
|
|
18
21
|
def test(s: Session) -> None:
|
|
19
22
|
s.run(
|
|
23
|
+
"python",
|
|
24
|
+
"-m",
|
|
20
25
|
"pytest",
|
|
26
|
+
"--cov=nox_uv",
|
|
27
|
+
"--cov-report=html",
|
|
28
|
+
"--cov-report=term",
|
|
29
|
+
"tests",
|
|
21
30
|
*s.posargs,
|
|
22
31
|
)
|
|
23
32
|
|
|
@@ -48,7 +57,7 @@ def fmt(s: Session, command: list[str]) -> None:
|
|
|
48
57
|
s.run(*command)
|
|
49
58
|
|
|
50
59
|
|
|
51
|
-
@session(
|
|
60
|
+
@session(uv_groups=["lint"])
|
|
52
61
|
@parametrize(
|
|
53
62
|
"command",
|
|
54
63
|
[
|
|
@@ -68,3 +77,14 @@ def lint_fix(s: Session) -> None:
|
|
|
68
77
|
@session(venv_backend="none")
|
|
69
78
|
def type_check(s: Session) -> None:
|
|
70
79
|
s.run("mypy", "src", "tests", "noxfile.py")
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@session(venv_backend="none")
|
|
83
|
+
def simple_test(s: Session) -> None:
|
|
84
|
+
assert 1 == 1
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
@session(venv_backend="none")
|
|
88
|
+
def run_test_as_session(s: Session) -> None:
|
|
89
|
+
"""Test ability to call a nother session."""
|
|
90
|
+
simple_test(s)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "nox-uv"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.2.0"
|
|
4
4
|
description = "Facilitate nox integration with uv for Python projects"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -8,11 +8,17 @@ authors = [
|
|
|
8
8
|
]
|
|
9
9
|
license = "MIT"
|
|
10
10
|
license-files = ["LICENSE.txt"]
|
|
11
|
-
requires-python = ">=3.
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
12
|
dependencies = [
|
|
13
13
|
"nox>=2025.2.9",
|
|
14
14
|
]
|
|
15
15
|
|
|
16
|
+
[project.optional-dependencies]
|
|
17
|
+
plot = ["plotly"]
|
|
18
|
+
doc = ["mkdocs"]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
16
22
|
[project.urls]
|
|
17
23
|
Homepage = "https://github.com/dantebben/nox-uv"
|
|
18
24
|
|
|
@@ -21,25 +27,21 @@ requires = ["hatchling"]
|
|
|
21
27
|
build-backend = "hatchling.build"
|
|
22
28
|
|
|
23
29
|
[dependency-groups]
|
|
24
|
-
docs = [
|
|
25
|
-
"mkdocs>=1.6.1",
|
|
26
|
-
"mkdocs-gen-files>=0.5.0",
|
|
27
|
-
"mkdocs-htmlproofer-plugin>=1.3.0",
|
|
28
|
-
"mkdocs-literate-nav>=0.6.1",
|
|
29
|
-
"mkdocs-material>=9.6.5",
|
|
30
|
-
"mkdocstrings[python]>=0.28.2",
|
|
31
|
-
]
|
|
32
30
|
lint = [
|
|
33
31
|
"ruff>=0.9.7",
|
|
34
32
|
]
|
|
35
33
|
test = [
|
|
36
34
|
"pytest-cov>=6.0.0",
|
|
37
|
-
"pytest-randomly>=3.16.0",
|
|
38
35
|
]
|
|
39
36
|
type-check = [
|
|
40
37
|
"mypy>=1.15.0",
|
|
41
38
|
]
|
|
42
39
|
|
|
40
|
+
never-used = [
|
|
41
|
+
"networkx"
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
|
|
43
45
|
[tool.uv]
|
|
44
46
|
default-groups = [
|
|
45
47
|
"lint",
|
|
@@ -54,15 +56,12 @@ strict = true
|
|
|
54
56
|
# TODO: Remove this when explicit-override is enabled by default in strict mode
|
|
55
57
|
# https://github.com/python/mypy/issues/17511
|
|
56
58
|
enable_error_code = ["explicit-override"]
|
|
57
|
-
|
|
58
|
-
# disable them selectively here by setting to false.
|
|
59
|
+
|
|
59
60
|
|
|
60
61
|
[tool.ruff]
|
|
61
62
|
line-length = 99
|
|
62
63
|
src = ["src"]
|
|
63
|
-
|
|
64
|
-
# tool directories.
|
|
65
|
-
# To exclude additional folders, use extend-exclude.
|
|
64
|
+
|
|
66
65
|
|
|
67
66
|
[tool.ruff.lint]
|
|
68
67
|
select = [
|
|
@@ -94,8 +93,7 @@ unfixable = [
|
|
|
94
93
|
[tool.ruff.lint.isort]
|
|
95
94
|
force-sort-within-sections = true
|
|
96
95
|
split-on-trailing-comma = false
|
|
97
|
-
|
|
98
|
-
# known-first-party = ["my-app"]
|
|
96
|
+
|
|
99
97
|
|
|
100
98
|
[tool.ruff.lint.flake8-tidy-imports]
|
|
101
99
|
ban-relative-imports = "all"
|
|
@@ -109,14 +107,11 @@ addopts = [
|
|
|
109
107
|
"--strict-markers",
|
|
110
108
|
]
|
|
111
109
|
xfail_strict = true
|
|
112
|
-
filterwarnings = [
|
|
113
|
-
# When running tests, treat warnings as errors (e.g. -Werror).
|
|
114
|
-
# See: https://docs.pytest.org/en/latest/reference/reference.html#confval-filterwarnings
|
|
115
|
-
"error",
|
|
116
|
-
# Add additional warning suppressions as needed here. For example, if a third-party library
|
|
117
|
-
# is throwing a deprecation warning that needs to be fixed upstream:
|
|
118
|
-
# "ignore::DeprecationWarning:typer",
|
|
119
|
-
]
|
|
110
|
+
filterwarnings = ["error"]
|
|
120
111
|
|
|
121
112
|
[tool.coverage.run]
|
|
122
|
-
|
|
113
|
+
parallel = true
|
|
114
|
+
# The nox session that calls coverage does not find "src/nox_uv", but it is found in the
|
|
115
|
+
# subprocess. Coverage generates a warning that the module was not found, but coverage is actually
|
|
116
|
+
# run and determined in the "parallel" subprocess.
|
|
117
|
+
disable_warnings = ["module-not-imported", "no-data-collected"]
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from collections.abc import Sequence
|
|
3
|
+
from collections.abc import Callable, Sequence
|
|
4
4
|
import functools
|
|
5
|
-
from typing import Any,
|
|
5
|
+
from typing import Any, TypeVar
|
|
6
6
|
|
|
7
7
|
import nox
|
|
8
8
|
|
|
@@ -25,16 +25,14 @@ def session(
|
|
|
25
25
|
uv_extras: Sequence[str] = (),
|
|
26
26
|
uv_all_extras: bool = False,
|
|
27
27
|
uv_all_groups: bool = False,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Use this decorator instead of ``@nox.session``. Session functions are passed
|
|
32
|
-
:class:`Session` instead of :class:`nox.sessions.Session`; otherwise, the
|
|
33
|
-
decorators work exactly the same.
|
|
28
|
+
**kwargs: dict[str, Any],
|
|
29
|
+
) -> Callable[..., Callable[..., R]]:
|
|
30
|
+
"""Drop-in replacement for the :func:`nox.session` decorator to add support for `uv`.
|
|
34
31
|
|
|
35
32
|
Args:
|
|
36
33
|
args: Positional arguments are forwarded to ``nox.session``.
|
|
37
|
-
kwargs: Keyword arguments are forwarded to ``nox.session``.
|
|
34
|
+
kwargs: Keyword arguments are forwarded to ``nox.session``. Used to catch any future
|
|
35
|
+
arguments of nox.session that aren't explicitely captured in nox_uv.session.
|
|
38
36
|
|
|
39
37
|
Returns:
|
|
40
38
|
The decorated session function.
|
|
@@ -54,12 +52,11 @@ def session(
|
|
|
54
52
|
uv_extras=uv_extras,
|
|
55
53
|
uv_all_extras=uv_all_extras,
|
|
56
54
|
uv_all_groups=uv_all_groups,
|
|
55
|
+
**kwargs,
|
|
57
56
|
) # type: ignore
|
|
58
57
|
|
|
59
58
|
[function] = args
|
|
60
59
|
|
|
61
|
-
is_uv = venv_backend == "uv"
|
|
62
|
-
|
|
63
60
|
# Create the `uv sync` command
|
|
64
61
|
sync_cmd = ["uv", "sync", "--no-default-groups"]
|
|
65
62
|
|
|
@@ -79,7 +76,7 @@ def session(
|
|
|
79
76
|
|
|
80
77
|
@functools.wraps(function)
|
|
81
78
|
def wrapper(s: nox.Session, *_args: Any, **_kwargs: Any) -> None:
|
|
82
|
-
if
|
|
79
|
+
if s.venv_backend == "uv":
|
|
83
80
|
env: dict[str, Any] = {"UV_PROJECT_ENVIRONMENT": s.virtualenv.location}
|
|
84
81
|
|
|
85
82
|
# UV called from Nox does not respect the Python version set in the Nox session.
|
|
@@ -103,4 +100,5 @@ def session(
|
|
|
103
100
|
tags=tags,
|
|
104
101
|
default=default,
|
|
105
102
|
requires=requires,
|
|
103
|
+
**kwargs,
|
|
106
104
|
)
|
|
File without changes
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from nox import Session, options
|
|
2
|
+
|
|
3
|
+
from nox_uv import session
|
|
4
|
+
|
|
5
|
+
options.default_venv_backend = "uv"
|
|
6
|
+
|
|
7
|
+
options.sessions = [
|
|
8
|
+
"nox_test_1",
|
|
9
|
+
"nox_test_2",
|
|
10
|
+
"nox_test_3",
|
|
11
|
+
"nox_test_4",
|
|
12
|
+
"nox_test_5",
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@session(venv_backend="none")
|
|
17
|
+
def nox_test_1(s: Session) -> None:
|
|
18
|
+
s.run("python3", "--version")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@session(uv_groups=["test"])
|
|
22
|
+
def nox_test_2(s: Session) -> None:
|
|
23
|
+
s.install("pip")
|
|
24
|
+
r = s.run("python3", "-m", "pip", "list", silent=True)
|
|
25
|
+
if isinstance(r, str):
|
|
26
|
+
assert "pytest-cov" in r
|
|
27
|
+
assert "networkx" not in r
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@session(uv_all_groups=True)
|
|
31
|
+
def nox_test_3(s: Session) -> None:
|
|
32
|
+
s.install("pip")
|
|
33
|
+
r = s.run("python3", "-m", "pip", "list", silent=True)
|
|
34
|
+
if isinstance(r, str):
|
|
35
|
+
assert "pytest-cov" in r
|
|
36
|
+
assert "networkx" in r
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@session(uv_all_extras=True)
|
|
40
|
+
def nox_test_5(s: Session) -> None:
|
|
41
|
+
s.install("pip")
|
|
42
|
+
r = s.run("python3", "-m", "pip", "list", silent=True)
|
|
43
|
+
if isinstance(r, str):
|
|
44
|
+
assert "networkx" not in r
|
|
45
|
+
assert "plotly" in r
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
@session(python=["3.10"])
|
|
49
|
+
def nox_test_4(s: Session) -> None:
|
|
50
|
+
assert s.python == "3.10"
|
|
51
|
+
v = s.run("python3", "--version", silent=True)
|
|
52
|
+
if isinstance(v, str):
|
|
53
|
+
assert "Python 3.10" in v
|
|
54
|
+
else:
|
|
55
|
+
raise RuntimeError("Python version was not returned.")
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
import subprocess
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def test_1() -> None:
|
|
6
|
+
assert 5 == 5
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def test_run_uv_nox() -> None:
|
|
10
|
+
folder = Path(__file__).parent
|
|
11
|
+
noxfile = folder / "subnoxfile.py"
|
|
12
|
+
a = subprocess.run(["python3", "-m", "nox", "-f", f"{noxfile}"])
|
|
13
|
+
assert a.returncode == 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
version = 1
|
|
2
2
|
revision = 1
|
|
3
|
-
requires-python = ">=3.
|
|
3
|
+
requires-python = ">=3.10"
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "argcomplete"
|
|
@@ -20,124 +20,6 @@ wheels = [
|
|
|
20
20
|
{ url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 },
|
|
21
21
|
]
|
|
22
22
|
|
|
23
|
-
[[package]]
|
|
24
|
-
name = "babel"
|
|
25
|
-
version = "2.17.0"
|
|
26
|
-
source = { registry = "https://pypi.org/simple" }
|
|
27
|
-
sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 }
|
|
28
|
-
wheels = [
|
|
29
|
-
{ url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 },
|
|
30
|
-
]
|
|
31
|
-
|
|
32
|
-
[[package]]
|
|
33
|
-
name = "backrefs"
|
|
34
|
-
version = "5.8"
|
|
35
|
-
source = { registry = "https://pypi.org/simple" }
|
|
36
|
-
sdist = { url = "https://files.pythonhosted.org/packages/6c/46/caba1eb32fa5784428ab401a5487f73db4104590ecd939ed9daaf18b47e0/backrefs-5.8.tar.gz", hash = "sha256:2cab642a205ce966af3dd4b38ee36009b31fa9502a35fd61d59ccc116e40a6bd", size = 6773994 }
|
|
37
|
-
wheels = [
|
|
38
|
-
{ url = "https://files.pythonhosted.org/packages/bf/cb/d019ab87fe70e0fe3946196d50d6a4428623dc0c38a6669c8cae0320fbf3/backrefs-5.8-py310-none-any.whl", hash = "sha256:c67f6638a34a5b8730812f5101376f9d41dc38c43f1fdc35cb54700f6ed4465d", size = 380337 },
|
|
39
|
-
{ url = "https://files.pythonhosted.org/packages/a9/86/abd17f50ee21b2248075cb6924c6e7f9d23b4925ca64ec660e869c2633f1/backrefs-5.8-py311-none-any.whl", hash = "sha256:2e1c15e4af0e12e45c8701bd5da0902d326b2e200cafcd25e49d9f06d44bb61b", size = 392142 },
|
|
40
|
-
{ url = "https://files.pythonhosted.org/packages/b3/04/7b415bd75c8ab3268cc138c76fa648c19495fcc7d155508a0e62f3f82308/backrefs-5.8-py312-none-any.whl", hash = "sha256:bbef7169a33811080d67cdf1538c8289f76f0942ff971222a16034da88a73486", size = 398021 },
|
|
41
|
-
{ url = "https://files.pythonhosted.org/packages/04/b8/60dcfb90eb03a06e883a92abbc2ab95c71f0d8c9dd0af76ab1d5ce0b1402/backrefs-5.8-py313-none-any.whl", hash = "sha256:e3a63b073867dbefd0536425f43db618578528e3896fb77be7141328642a1585", size = 399915 },
|
|
42
|
-
{ url = "https://files.pythonhosted.org/packages/0c/37/fb6973edeb700f6e3d6ff222400602ab1830446c25c7b4676d8de93e65b8/backrefs-5.8-py39-none-any.whl", hash = "sha256:a66851e4533fb5b371aa0628e1fee1af05135616b86140c9d787a2ffdf4b8fdc", size = 380336 },
|
|
43
|
-
]
|
|
44
|
-
|
|
45
|
-
[[package]]
|
|
46
|
-
name = "beautifulsoup4"
|
|
47
|
-
version = "4.13.3"
|
|
48
|
-
source = { registry = "https://pypi.org/simple" }
|
|
49
|
-
dependencies = [
|
|
50
|
-
{ name = "soupsieve" },
|
|
51
|
-
{ name = "typing-extensions" },
|
|
52
|
-
]
|
|
53
|
-
sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 }
|
|
54
|
-
wheels = [
|
|
55
|
-
{ url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 },
|
|
56
|
-
]
|
|
57
|
-
|
|
58
|
-
[[package]]
|
|
59
|
-
name = "certifi"
|
|
60
|
-
version = "2025.1.31"
|
|
61
|
-
source = { registry = "https://pypi.org/simple" }
|
|
62
|
-
sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 }
|
|
63
|
-
wheels = [
|
|
64
|
-
{ url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 },
|
|
65
|
-
]
|
|
66
|
-
|
|
67
|
-
[[package]]
|
|
68
|
-
name = "charset-normalizer"
|
|
69
|
-
version = "3.4.1"
|
|
70
|
-
source = { registry = "https://pypi.org/simple" }
|
|
71
|
-
sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 }
|
|
72
|
-
wheels = [
|
|
73
|
-
{ url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 },
|
|
74
|
-
{ url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 },
|
|
75
|
-
{ url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 },
|
|
76
|
-
{ url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 },
|
|
77
|
-
{ url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 },
|
|
78
|
-
{ url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 },
|
|
79
|
-
{ url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 },
|
|
80
|
-
{ url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 },
|
|
81
|
-
{ url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 },
|
|
82
|
-
{ url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 },
|
|
83
|
-
{ url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 },
|
|
84
|
-
{ url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 },
|
|
85
|
-
{ url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 },
|
|
86
|
-
{ url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 },
|
|
87
|
-
{ url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 },
|
|
88
|
-
{ url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 },
|
|
89
|
-
{ url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 },
|
|
90
|
-
{ url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 },
|
|
91
|
-
{ url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 },
|
|
92
|
-
{ url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 },
|
|
93
|
-
{ url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 },
|
|
94
|
-
{ url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 },
|
|
95
|
-
{ url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 },
|
|
96
|
-
{ url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 },
|
|
97
|
-
{ url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 },
|
|
98
|
-
{ url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 },
|
|
99
|
-
{ url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 },
|
|
100
|
-
{ url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 },
|
|
101
|
-
{ url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 },
|
|
102
|
-
{ url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 },
|
|
103
|
-
{ url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 },
|
|
104
|
-
{ url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 },
|
|
105
|
-
{ url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 },
|
|
106
|
-
{ url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 },
|
|
107
|
-
{ url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 },
|
|
108
|
-
{ url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 },
|
|
109
|
-
{ url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 },
|
|
110
|
-
{ url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 },
|
|
111
|
-
{ url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 },
|
|
112
|
-
{ url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 },
|
|
113
|
-
{ url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 },
|
|
114
|
-
{ url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 },
|
|
115
|
-
{ url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 },
|
|
116
|
-
{ url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 },
|
|
117
|
-
{ url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 },
|
|
118
|
-
{ url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 },
|
|
119
|
-
{ url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 },
|
|
120
|
-
{ url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 },
|
|
121
|
-
{ url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 },
|
|
122
|
-
{ url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 },
|
|
123
|
-
{ url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 },
|
|
124
|
-
{ url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 },
|
|
125
|
-
{ url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867 },
|
|
126
|
-
{ url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385 },
|
|
127
|
-
{ url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367 },
|
|
128
|
-
{ url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928 },
|
|
129
|
-
{ url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203 },
|
|
130
|
-
{ url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082 },
|
|
131
|
-
{ url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053 },
|
|
132
|
-
{ url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625 },
|
|
133
|
-
{ url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549 },
|
|
134
|
-
{ url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945 },
|
|
135
|
-
{ url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595 },
|
|
136
|
-
{ url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453 },
|
|
137
|
-
{ url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811 },
|
|
138
|
-
{ url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 },
|
|
139
|
-
]
|
|
140
|
-
|
|
141
23
|
[[package]]
|
|
142
24
|
name = "click"
|
|
143
25
|
version = "8.1.8"
|
|
@@ -227,16 +109,6 @@ wheels = [
|
|
|
227
109
|
{ url = "https://files.pythonhosted.org/packages/e4/e8/1d6f1a6651672c64f45ffad05306dad9c4c189bec694270822508049b2cb/coverage-7.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:7e688010581dbac9cab72800e9076e16f7cccd0d89af5785b70daa11174e94de", size = 254687 },
|
|
228
110
|
{ url = "https://files.pythonhosted.org/packages/6b/ea/1b9a14cf3e2bc3fd9de23a336a8082091711c5f480b500782d59e84a8fe5/coverage-7.7.1-cp313-cp313t-win32.whl", hash = "sha256:e52eb31ae3afacdacfe50705a15b75ded67935770c460d88c215a9c0c40d0e9c", size = 214486 },
|
|
229
111
|
{ url = "https://files.pythonhosted.org/packages/cc/bb/faa6bcf769cb7b3b660532a30d77c440289b40636c7f80e498b961295d07/coverage-7.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:a6b6b3bd121ee2ec4bd35039319f3423d0be282b9752a5ae9f18724bc93ebe7c", size = 215647 },
|
|
230
|
-
{ url = "https://files.pythonhosted.org/packages/18/8a/c99478521fb4ea0370c72c8ce2c6a90973eeaccdb9e87b61b30ee090ace2/coverage-7.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:34a3bf6b92e6621fc4dcdaab353e173ccb0ca9e4bfbcf7e49a0134c86c9cd303", size = 210947 },
|
|
231
|
-
{ url = "https://files.pythonhosted.org/packages/e0/8c/fefae75825b99ac4b845ec48b7d585269838a10907bbcb1015b086b64b9f/coverage-7.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d6874929d624d3a670f676efafbbc747f519a6121b581dd41d012109e70a5ebd", size = 211369 },
|
|
232
|
-
{ url = "https://files.pythonhosted.org/packages/4f/bf/1a48c4b3cf533910bb52e6bf18666a11ec19dfba01330b89e51df0269259/coverage-7.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ba5ff236c87a7b7aa1441a216caf44baee14cbfbd2256d306f926d16b026578", size = 240136 },
|
|
233
|
-
{ url = "https://files.pythonhosted.org/packages/9d/63/22684c48520501edd4cb62ee27c016ea74935bf6a435d23c9cd75bd51c15/coverage-7.7.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452735fafe8ff5918236d5fe1feac322b359e57692269c75151f9b4ee4b7e1bc", size = 238062 },
|
|
234
|
-
{ url = "https://files.pythonhosted.org/packages/15/2b/a1f704e986671bbeffd1edb1e9ec6a98c4bfe40db3e6789147f008136256/coverage-7.7.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5f99a93cecf799738e211f9746dc83749b5693538fbfac279a61682ba309387", size = 239162 },
|
|
235
|
-
{ url = "https://files.pythonhosted.org/packages/db/5a/5d98375fe1a42a61709c96b51b89959a537099c912d63cfe6b362b415fbe/coverage-7.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:11dd6f52c2a7ce8bf0a5f3b6e4a8eb60e157ffedc3c4b4314a41c1dfbd26ce58", size = 238938 },
|
|
236
|
-
{ url = "https://files.pythonhosted.org/packages/a1/1b/ac5cac616de92c7a8dae17c585e86dcda95f2c39bc438c91ed1c9a5893ba/coverage-7.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:b52edb940d087e2a96e73c1523284a2e94a4e66fa2ea1e2e64dddc67173bad94", size = 237164 },
|
|
237
|
-
{ url = "https://files.pythonhosted.org/packages/4f/19/ce7cb8e9269b74da0b4a337a78b1ff8896d8584b692e6b67c7bf53b15b1c/coverage-7.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d2e73e2ac468536197e6b3ab79bc4a5c9da0f078cd78cfcc7fe27cf5d1195ef0", size = 238144 },
|
|
238
|
-
{ url = "https://files.pythonhosted.org/packages/60/3a/bcd8e5c0bb76e1c9a275e817498e80d1f7cdc7020c941d616d9d22487776/coverage-7.7.1-cp39-cp39-win32.whl", hash = "sha256:18f544356bceef17cc55fcf859e5664f06946c1b68efcea6acdc50f8f6a6e776", size = 213542 },
|
|
239
|
-
{ url = "https://files.pythonhosted.org/packages/78/b4/d9f39df48a336276582890c3833485ba43329d40aa4e269292c52408b1fb/coverage-7.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:d66ff48ab3bb6f762a153e29c0fc1eb5a62a260217bc64470d7ba602f5886d20", size = 214427 },
|
|
240
112
|
{ url = "https://files.pythonhosted.org/packages/f9/4e/a501ec475ed455c1ee1570063527afe2c06ab1039f8ff18eefecfbdac8fd/coverage-7.7.1-pp39.pp310.pp311-none-any.whl", hash = "sha256:5b7b02e50d54be6114cc4f6a3222fec83164f7c42772ba03b520138859b5fde1", size = 203014 },
|
|
241
113
|
{ url = "https://files.pythonhosted.org/packages/52/26/9f53293ff4cc1d47d98367ce045ca2e62746d6be74a5c6851a474eabf59b/coverage-7.7.1-py3-none-any.whl", hash = "sha256:822fa99dd1ac686061e1219b67868e25d9757989cf2259f735a4802497d6da31", size = 203006 },
|
|
242
114
|
]
|
|
@@ -298,39 +170,6 @@ wheels = [
|
|
|
298
170
|
{ url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034 },
|
|
299
171
|
]
|
|
300
172
|
|
|
301
|
-
[[package]]
|
|
302
|
-
name = "griffe"
|
|
303
|
-
version = "1.6.2"
|
|
304
|
-
source = { registry = "https://pypi.org/simple" }
|
|
305
|
-
dependencies = [
|
|
306
|
-
{ name = "colorama" },
|
|
307
|
-
]
|
|
308
|
-
sdist = { url = "https://files.pythonhosted.org/packages/2f/f2/b00eb72b853ecb5bf31dd47857cdf6767e380ca24ec2910d43b3fa7cc500/griffe-1.6.2.tar.gz", hash = "sha256:3a46fa7bd83280909b63c12b9a975732a927dd97809efe5b7972290b606c5d91", size = 392836 }
|
|
309
|
-
wheels = [
|
|
310
|
-
{ url = "https://files.pythonhosted.org/packages/4e/bc/bd8b7de5e748e078b6be648e76b47189a9182b1ac1eb7791ff7969f39f27/griffe-1.6.2-py3-none-any.whl", hash = "sha256:6399f7e663150e4278a312a8e8a14d2f3d7bd86e2ef2f8056a1058e38579c2ee", size = 128638 },
|
|
311
|
-
]
|
|
312
|
-
|
|
313
|
-
[[package]]
|
|
314
|
-
name = "idna"
|
|
315
|
-
version = "3.10"
|
|
316
|
-
source = { registry = "https://pypi.org/simple" }
|
|
317
|
-
sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
|
|
318
|
-
wheels = [
|
|
319
|
-
{ url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
|
|
320
|
-
]
|
|
321
|
-
|
|
322
|
-
[[package]]
|
|
323
|
-
name = "importlib-metadata"
|
|
324
|
-
version = "8.6.1"
|
|
325
|
-
source = { registry = "https://pypi.org/simple" }
|
|
326
|
-
dependencies = [
|
|
327
|
-
{ name = "zipp" },
|
|
328
|
-
]
|
|
329
|
-
sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767 }
|
|
330
|
-
wheels = [
|
|
331
|
-
{ url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971 },
|
|
332
|
-
]
|
|
333
|
-
|
|
334
173
|
[[package]]
|
|
335
174
|
name = "iniconfig"
|
|
336
175
|
version = "2.1.0"
|
|
@@ -356,9 +195,6 @@ wheels = [
|
|
|
356
195
|
name = "markdown"
|
|
357
196
|
version = "3.7"
|
|
358
197
|
source = { registry = "https://pypi.org/simple" }
|
|
359
|
-
dependencies = [
|
|
360
|
-
{ name = "importlib-metadata", marker = "python_full_version < '3.10'" },
|
|
361
|
-
]
|
|
362
198
|
sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086 }
|
|
363
199
|
wheels = [
|
|
364
200
|
{ url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349 },
|
|
@@ -420,16 +256,6 @@ wheels = [
|
|
|
420
256
|
{ url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 },
|
|
421
257
|
{ url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 },
|
|
422
258
|
{ url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
|
|
423
|
-
{ url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 },
|
|
424
|
-
{ url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 },
|
|
425
|
-
{ url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 },
|
|
426
|
-
{ url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 },
|
|
427
|
-
{ url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 },
|
|
428
|
-
{ url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 },
|
|
429
|
-
{ url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 },
|
|
430
|
-
{ url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 },
|
|
431
|
-
{ url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 },
|
|
432
|
-
{ url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 },
|
|
433
259
|
]
|
|
434
260
|
|
|
435
261
|
[[package]]
|
|
@@ -449,7 +275,6 @@ dependencies = [
|
|
|
449
275
|
{ name = "click" },
|
|
450
276
|
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
451
277
|
{ name = "ghp-import" },
|
|
452
|
-
{ name = "importlib-metadata", marker = "python_full_version < '3.10'" },
|
|
453
278
|
{ name = "jinja2" },
|
|
454
279
|
{ name = "markdown" },
|
|
455
280
|
{ name = "markupsafe" },
|
|
@@ -466,38 +291,11 @@ wheels = [
|
|
|
466
291
|
{ url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451 },
|
|
467
292
|
]
|
|
468
293
|
|
|
469
|
-
[[package]]
|
|
470
|
-
name = "mkdocs-autorefs"
|
|
471
|
-
version = "1.4.1"
|
|
472
|
-
source = { registry = "https://pypi.org/simple" }
|
|
473
|
-
dependencies = [
|
|
474
|
-
{ name = "markdown" },
|
|
475
|
-
{ name = "markupsafe" },
|
|
476
|
-
{ name = "mkdocs" },
|
|
477
|
-
]
|
|
478
|
-
sdist = { url = "https://files.pythonhosted.org/packages/c2/44/140469d87379c02f1e1870315f3143718036a983dd0416650827b8883192/mkdocs_autorefs-1.4.1.tar.gz", hash = "sha256:4b5b6235a4becb2b10425c2fa191737e415b37aa3418919db33e5d774c9db079", size = 4131355 }
|
|
479
|
-
wheels = [
|
|
480
|
-
{ url = "https://files.pythonhosted.org/packages/f8/29/1125f7b11db63e8e32bcfa0752a4eea30abff3ebd0796f808e14571ddaa2/mkdocs_autorefs-1.4.1-py3-none-any.whl", hash = "sha256:9793c5ac06a6ebbe52ec0f8439256e66187badf4b5334b5fde0b128ec134df4f", size = 5782047 },
|
|
481
|
-
]
|
|
482
|
-
|
|
483
|
-
[[package]]
|
|
484
|
-
name = "mkdocs-gen-files"
|
|
485
|
-
version = "0.5.0"
|
|
486
|
-
source = { registry = "https://pypi.org/simple" }
|
|
487
|
-
dependencies = [
|
|
488
|
-
{ name = "mkdocs" },
|
|
489
|
-
]
|
|
490
|
-
sdist = { url = "https://files.pythonhosted.org/packages/48/85/2d634462fd59136197d3126ca431ffb666f412e3db38fd5ce3a60566303e/mkdocs_gen_files-0.5.0.tar.gz", hash = "sha256:4c7cf256b5d67062a788f6b1d035e157fc1a9498c2399be9af5257d4ff4d19bc", size = 7539 }
|
|
491
|
-
wheels = [
|
|
492
|
-
{ url = "https://files.pythonhosted.org/packages/e7/0f/1e55b3fd490ad2cecb6e7b31892d27cb9fc4218ec1dab780440ba8579e74/mkdocs_gen_files-0.5.0-py3-none-any.whl", hash = "sha256:7ac060096f3f40bd19039e7277dd3050be9a453c8ac578645844d4d91d7978ea", size = 8380 },
|
|
493
|
-
]
|
|
494
|
-
|
|
495
294
|
[[package]]
|
|
496
295
|
name = "mkdocs-get-deps"
|
|
497
296
|
version = "0.2.0"
|
|
498
297
|
source = { registry = "https://pypi.org/simple" }
|
|
499
298
|
dependencies = [
|
|
500
|
-
{ name = "importlib-metadata", marker = "python_full_version < '3.10'" },
|
|
501
299
|
{ name = "mergedeep" },
|
|
502
300
|
{ name = "platformdirs" },
|
|
503
301
|
{ name = "pyyaml" },
|
|
@@ -507,103 +305,6 @@ wheels = [
|
|
|
507
305
|
{ url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521 },
|
|
508
306
|
]
|
|
509
307
|
|
|
510
|
-
[[package]]
|
|
511
|
-
name = "mkdocs-htmlproofer-plugin"
|
|
512
|
-
version = "1.3.0"
|
|
513
|
-
source = { registry = "https://pypi.org/simple" }
|
|
514
|
-
dependencies = [
|
|
515
|
-
{ name = "beautifulsoup4" },
|
|
516
|
-
{ name = "markdown" },
|
|
517
|
-
{ name = "mkdocs" },
|
|
518
|
-
{ name = "requests" },
|
|
519
|
-
]
|
|
520
|
-
sdist = { url = "https://files.pythonhosted.org/packages/1c/97/ba794c328e6bf13bf8d0293e1b339d94ccaee92b402a2e67c3eb0122bb2e/mkdocs-htmlproofer-plugin-1.3.0.tar.gz", hash = "sha256:9d9c0830305593d5f3993f0355956bee557a7c0924d63c3caacf7924ed4f444f", size = 8804 }
|
|
521
|
-
wheels = [
|
|
522
|
-
{ url = "https://files.pythonhosted.org/packages/7f/b1/04c7cd3c2dfb184e352ee60cfb0212644d55ac3dc82d927950f54017e692/mkdocs_htmlproofer_plugin-1.3.0-py3-none-any.whl", hash = "sha256:715e0648b60a92d2c838ca42deacc67c9c2a855486122cc328f573d27ceebc7c", size = 8920 },
|
|
523
|
-
]
|
|
524
|
-
|
|
525
|
-
[[package]]
|
|
526
|
-
name = "mkdocs-literate-nav"
|
|
527
|
-
version = "0.6.2"
|
|
528
|
-
source = { registry = "https://pypi.org/simple" }
|
|
529
|
-
dependencies = [
|
|
530
|
-
{ name = "mkdocs" },
|
|
531
|
-
]
|
|
532
|
-
sdist = { url = "https://files.pythonhosted.org/packages/f6/5f/99aa379b305cd1c2084d42db3d26f6de0ea9bf2cc1d10ed17f61aff35b9a/mkdocs_literate_nav-0.6.2.tar.gz", hash = "sha256:760e1708aa4be86af81a2b56e82c739d5a8388a0eab1517ecfd8e5aa40810a75", size = 17419 }
|
|
533
|
-
wheels = [
|
|
534
|
-
{ url = "https://files.pythonhosted.org/packages/8a/84/b5b14d2745e4dd1a90115186284e9ee1b4d0863104011ab46abb7355a1c3/mkdocs_literate_nav-0.6.2-py3-none-any.whl", hash = "sha256:0a6489a26ec7598477b56fa112056a5e3a6c15729f0214bea8a4dbc55bd5f630", size = 13261 },
|
|
535
|
-
]
|
|
536
|
-
|
|
537
|
-
[[package]]
|
|
538
|
-
name = "mkdocs-material"
|
|
539
|
-
version = "9.6.9"
|
|
540
|
-
source = { registry = "https://pypi.org/simple" }
|
|
541
|
-
dependencies = [
|
|
542
|
-
{ name = "babel" },
|
|
543
|
-
{ name = "backrefs" },
|
|
544
|
-
{ name = "colorama" },
|
|
545
|
-
{ name = "jinja2" },
|
|
546
|
-
{ name = "markdown" },
|
|
547
|
-
{ name = "mkdocs" },
|
|
548
|
-
{ name = "mkdocs-material-extensions" },
|
|
549
|
-
{ name = "paginate" },
|
|
550
|
-
{ name = "pygments" },
|
|
551
|
-
{ name = "pymdown-extensions" },
|
|
552
|
-
{ name = "requests" },
|
|
553
|
-
]
|
|
554
|
-
sdist = { url = "https://files.pythonhosted.org/packages/11/cb/6dd3b6a7925429c0229738098ee874dbf7fa02db55558adb2c5bf86077b2/mkdocs_material-9.6.9.tar.gz", hash = "sha256:a4872139715a1f27b2aa3f3dc31a9794b7bbf36333c0ba4607cf04786c94f89c", size = 3948083 }
|
|
555
|
-
wheels = [
|
|
556
|
-
{ url = "https://files.pythonhosted.org/packages/db/7c/ea5a671b2ff5d0e3f3108a7f7d75b541d683e4969aaead2a8f3e59e0fc27/mkdocs_material-9.6.9-py3-none-any.whl", hash = "sha256:6e61b7fb623ce2aa4622056592b155a9eea56ff3487d0835075360be45a4c8d1", size = 8697935 },
|
|
557
|
-
]
|
|
558
|
-
|
|
559
|
-
[[package]]
|
|
560
|
-
name = "mkdocs-material-extensions"
|
|
561
|
-
version = "1.3.1"
|
|
562
|
-
source = { registry = "https://pypi.org/simple" }
|
|
563
|
-
sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847 }
|
|
564
|
-
wheels = [
|
|
565
|
-
{ url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728 },
|
|
566
|
-
]
|
|
567
|
-
|
|
568
|
-
[[package]]
|
|
569
|
-
name = "mkdocstrings"
|
|
570
|
-
version = "0.29.0"
|
|
571
|
-
source = { registry = "https://pypi.org/simple" }
|
|
572
|
-
dependencies = [
|
|
573
|
-
{ name = "importlib-metadata", marker = "python_full_version < '3.10'" },
|
|
574
|
-
{ name = "jinja2" },
|
|
575
|
-
{ name = "markdown" },
|
|
576
|
-
{ name = "markupsafe" },
|
|
577
|
-
{ name = "mkdocs" },
|
|
578
|
-
{ name = "mkdocs-autorefs" },
|
|
579
|
-
{ name = "pymdown-extensions" },
|
|
580
|
-
{ name = "typing-extensions", marker = "python_full_version < '3.10'" },
|
|
581
|
-
]
|
|
582
|
-
sdist = { url = "https://files.pythonhosted.org/packages/8e/4d/a9484dc5d926295bdf308f1f6c4f07fcc99735b970591edc414d401fcc91/mkdocstrings-0.29.0.tar.gz", hash = "sha256:3657be1384543ce0ee82112c3e521bbf48e41303aa0c229b9ffcccba057d922e", size = 1212185 }
|
|
583
|
-
wheels = [
|
|
584
|
-
{ url = "https://files.pythonhosted.org/packages/15/47/eb876dfd84e48f31ff60897d161b309cf6a04ca270155b0662aae562b3fb/mkdocstrings-0.29.0-py3-none-any.whl", hash = "sha256:8ea98358d2006f60befa940fdebbbc88a26b37ecbcded10be726ba359284f73d", size = 1630824 },
|
|
585
|
-
]
|
|
586
|
-
|
|
587
|
-
[package.optional-dependencies]
|
|
588
|
-
python = [
|
|
589
|
-
{ name = "mkdocstrings-python" },
|
|
590
|
-
]
|
|
591
|
-
|
|
592
|
-
[[package]]
|
|
593
|
-
name = "mkdocstrings-python"
|
|
594
|
-
version = "1.16.7"
|
|
595
|
-
source = { registry = "https://pypi.org/simple" }
|
|
596
|
-
dependencies = [
|
|
597
|
-
{ name = "griffe" },
|
|
598
|
-
{ name = "mkdocs-autorefs" },
|
|
599
|
-
{ name = "mkdocstrings" },
|
|
600
|
-
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
|
|
601
|
-
]
|
|
602
|
-
sdist = { url = "https://files.pythonhosted.org/packages/52/e0/cc35acb47593c138efbfc9dc296ccc26b7ad4452e868fd309f05f6ba0ded/mkdocstrings_python-1.16.7.tar.gz", hash = "sha256:cdfc1a99fe5f6f0d90446a364ef7cac12014a4ef46114b2677a58cec84007117", size = 1475398 }
|
|
603
|
-
wheels = [
|
|
604
|
-
{ url = "https://files.pythonhosted.org/packages/ab/5e/dc978b9fd6331e2070369579ad8f52145e9ef22a69bfc2811110be95e6d4/mkdocstrings_python-1.16.7-py3-none-any.whl", hash = "sha256:a5589a5be247a28ba651287f83630c69524042f8055d93b5c203d804a3409333", size = 1998312 },
|
|
605
|
-
]
|
|
606
|
-
|
|
607
308
|
[[package]]
|
|
608
309
|
name = "mypy"
|
|
609
310
|
version = "1.15.0"
|
|
@@ -639,12 +340,6 @@ wheels = [
|
|
|
639
340
|
{ url = "https://files.pythonhosted.org/packages/d2/8b/801aa06445d2de3895f59e476f38f3f8d610ef5d6908245f07d002676cbf/mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036", size = 12402541 },
|
|
640
341
|
{ url = "https://files.pythonhosted.org/packages/c7/67/5a4268782eb77344cc613a4cf23540928e41f018a9a1ec4c6882baf20ab8/mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357", size = 12494348 },
|
|
641
342
|
{ url = "https://files.pythonhosted.org/packages/83/3e/57bb447f7bbbfaabf1712d96f9df142624a386d98fb026a761532526057e/mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf", size = 9373648 },
|
|
642
|
-
{ url = "https://files.pythonhosted.org/packages/5a/fa/79cf41a55b682794abe71372151dbbf856e3008f6767057229e6649d294a/mypy-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e601a7fa172c2131bff456bb3ee08a88360760d0d2f8cbd7a75a65497e2df078", size = 10737129 },
|
|
643
|
-
{ url = "https://files.pythonhosted.org/packages/d3/33/dd8feb2597d648de29e3da0a8bf4e1afbda472964d2a4a0052203a6f3594/mypy-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:712e962a6357634fef20412699a3655c610110e01cdaa6180acec7fc9f8513ba", size = 9856335 },
|
|
644
|
-
{ url = "https://files.pythonhosted.org/packages/e4/b5/74508959c1b06b96674b364ffeb7ae5802646b32929b7701fc6b18447592/mypy-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95579473af29ab73a10bada2f9722856792a36ec5af5399b653aa28360290a5", size = 11611935 },
|
|
645
|
-
{ url = "https://files.pythonhosted.org/packages/6c/53/da61b9d9973efcd6507183fdad96606996191657fe79701b2c818714d573/mypy-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f8722560a14cde92fdb1e31597760dc35f9f5524cce17836c0d22841830fd5b", size = 12365827 },
|
|
646
|
-
{ url = "https://files.pythonhosted.org/packages/c1/72/965bd9ee89540c79a25778cc080c7e6ef40aa1eeac4d52cec7eae6eb5228/mypy-1.15.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fbb8da62dc352133d7d7ca90ed2fb0e9d42bb1a32724c287d3c76c58cbaa9c2", size = 12541924 },
|
|
647
|
-
{ url = "https://files.pythonhosted.org/packages/46/d0/f41645c2eb263e6c77ada7d76f894c580c9ddb20d77f0c24d34273a4dab2/mypy-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:d10d994b41fb3497719bbf866f227b3489048ea4bbbb5015357db306249f7980", size = 9271176 },
|
|
648
343
|
{ url = "https://files.pythonhosted.org/packages/09/4e/a7d65c7322c510de2c409ff3828b03354a7c43f5a8ed458a7a131b41c7b9/mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e", size = 2221777 },
|
|
649
344
|
]
|
|
650
345
|
|
|
@@ -657,6 +352,24 @@ wheels = [
|
|
|
657
352
|
{ url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695 },
|
|
658
353
|
]
|
|
659
354
|
|
|
355
|
+
[[package]]
|
|
356
|
+
name = "narwhals"
|
|
357
|
+
version = "1.34.0"
|
|
358
|
+
source = { registry = "https://pypi.org/simple" }
|
|
359
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ec/1d/a21496389436e96394a6e3fb1a644d5bc382250baff76e867f0368a94068/narwhals-1.34.0.tar.gz", hash = "sha256:bdd3fa60bea1f1e8b698e483be18dd43af13290da12dba69ea16dc1f3edbb8f7", size = 265432 }
|
|
360
|
+
wheels = [
|
|
361
|
+
{ url = "https://files.pythonhosted.org/packages/1e/6d/875d5a7f8e14fc044ede74b94e739d7312c3c8d1a3878f649601b15fdd68/narwhals-1.34.0-py3-none-any.whl", hash = "sha256:9502b9aa5dfe125c090a3a0bbca95becfa1fac2cd67f8b80d12b1dc2ed751865", size = 325346 },
|
|
362
|
+
]
|
|
363
|
+
|
|
364
|
+
[[package]]
|
|
365
|
+
name = "networkx"
|
|
366
|
+
version = "3.4.2"
|
|
367
|
+
source = { registry = "https://pypi.org/simple" }
|
|
368
|
+
sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368 }
|
|
369
|
+
wheels = [
|
|
370
|
+
{ url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263 },
|
|
371
|
+
]
|
|
372
|
+
|
|
660
373
|
[[package]]
|
|
661
374
|
name = "nox"
|
|
662
375
|
version = "2025.2.9"
|
|
@@ -677,49 +390,46 @@ wheels = [
|
|
|
677
390
|
|
|
678
391
|
[[package]]
|
|
679
392
|
name = "nox-uv"
|
|
680
|
-
version = "0.
|
|
393
|
+
version = "0.2.0"
|
|
681
394
|
source = { editable = "." }
|
|
682
395
|
dependencies = [
|
|
683
396
|
{ name = "nox" },
|
|
684
397
|
]
|
|
685
398
|
|
|
686
|
-
[package.
|
|
687
|
-
|
|
399
|
+
[package.optional-dependencies]
|
|
400
|
+
doc = [
|
|
688
401
|
{ name = "mkdocs" },
|
|
689
|
-
{ name = "mkdocs-gen-files" },
|
|
690
|
-
{ name = "mkdocs-htmlproofer-plugin" },
|
|
691
|
-
{ name = "mkdocs-literate-nav" },
|
|
692
|
-
{ name = "mkdocs-material" },
|
|
693
|
-
{ name = "mkdocstrings", extra = ["python"] },
|
|
694
402
|
]
|
|
403
|
+
plot = [
|
|
404
|
+
{ name = "plotly" },
|
|
405
|
+
]
|
|
406
|
+
|
|
407
|
+
[package.dev-dependencies]
|
|
695
408
|
lint = [
|
|
696
409
|
{ name = "ruff" },
|
|
697
410
|
]
|
|
411
|
+
never-used = [
|
|
412
|
+
{ name = "networkx" },
|
|
413
|
+
]
|
|
698
414
|
test = [
|
|
699
415
|
{ name = "pytest-cov" },
|
|
700
|
-
{ name = "pytest-randomly" },
|
|
701
416
|
]
|
|
702
417
|
type-check = [
|
|
703
418
|
{ name = "mypy" },
|
|
704
419
|
]
|
|
705
420
|
|
|
706
421
|
[package.metadata]
|
|
707
|
-
requires-dist = [
|
|
422
|
+
requires-dist = [
|
|
423
|
+
{ name = "mkdocs", marker = "extra == 'doc'" },
|
|
424
|
+
{ name = "nox", specifier = ">=2025.2.9" },
|
|
425
|
+
{ name = "plotly", marker = "extra == 'plot'" },
|
|
426
|
+
]
|
|
427
|
+
provides-extras = ["plot", "doc"]
|
|
708
428
|
|
|
709
429
|
[package.metadata.requires-dev]
|
|
710
|
-
docs = [
|
|
711
|
-
{ name = "mkdocs", specifier = ">=1.6.1" },
|
|
712
|
-
{ name = "mkdocs-gen-files", specifier = ">=0.5.0" },
|
|
713
|
-
{ name = "mkdocs-htmlproofer-plugin", specifier = ">=1.3.0" },
|
|
714
|
-
{ name = "mkdocs-literate-nav", specifier = ">=0.6.1" },
|
|
715
|
-
{ name = "mkdocs-material", specifier = ">=9.6.5" },
|
|
716
|
-
{ name = "mkdocstrings", extras = ["python"], specifier = ">=0.28.2" },
|
|
717
|
-
]
|
|
718
430
|
lint = [{ name = "ruff", specifier = ">=0.9.7" }]
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
{ name = "pytest-randomly", specifier = ">=3.16.0" },
|
|
722
|
-
]
|
|
431
|
+
never-used = [{ name = "networkx" }]
|
|
432
|
+
test = [{ name = "pytest-cov", specifier = ">=6.0.0" }]
|
|
723
433
|
type-check = [{ name = "mypy", specifier = ">=1.15.0" }]
|
|
724
434
|
|
|
725
435
|
[[package]]
|
|
@@ -731,15 +441,6 @@ wheels = [
|
|
|
731
441
|
{ url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
|
|
732
442
|
]
|
|
733
443
|
|
|
734
|
-
[[package]]
|
|
735
|
-
name = "paginate"
|
|
736
|
-
version = "0.5.7"
|
|
737
|
-
source = { registry = "https://pypi.org/simple" }
|
|
738
|
-
sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252 }
|
|
739
|
-
wheels = [
|
|
740
|
-
{ url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746 },
|
|
741
|
-
]
|
|
742
|
-
|
|
743
444
|
[[package]]
|
|
744
445
|
name = "pathspec"
|
|
745
446
|
version = "0.12.1"
|
|
@@ -759,34 +460,25 @@ wheels = [
|
|
|
759
460
|
]
|
|
760
461
|
|
|
761
462
|
[[package]]
|
|
762
|
-
name = "
|
|
763
|
-
version = "
|
|
463
|
+
name = "plotly"
|
|
464
|
+
version = "6.0.1"
|
|
764
465
|
source = { registry = "https://pypi.org/simple" }
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
{
|
|
466
|
+
dependencies = [
|
|
467
|
+
{ name = "narwhals" },
|
|
468
|
+
{ name = "packaging" },
|
|
768
469
|
]
|
|
769
|
-
|
|
770
|
-
[[package]]
|
|
771
|
-
name = "pygments"
|
|
772
|
-
version = "2.19.1"
|
|
773
|
-
source = { registry = "https://pypi.org/simple" }
|
|
774
|
-
sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 }
|
|
470
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c7/cc/e41b5f697ae403f0b50e47b7af2e36642a193085f553bf7cc1169362873a/plotly-6.0.1.tar.gz", hash = "sha256:dd8400229872b6e3c964b099be699f8d00c489a974f2cfccfad5e8240873366b", size = 8094643 }
|
|
775
471
|
wheels = [
|
|
776
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
472
|
+
{ url = "https://files.pythonhosted.org/packages/02/65/ad2bc85f7377f5cfba5d4466d5474423a3fb7f6a97fd807c06f92dd3e721/plotly-6.0.1-py3-none-any.whl", hash = "sha256:4714db20fea57a435692c548a4eb4fae454f7daddf15f8d8ba7e1045681d7768", size = 14805757 },
|
|
777
473
|
]
|
|
778
474
|
|
|
779
475
|
[[package]]
|
|
780
|
-
name = "
|
|
781
|
-
version = "
|
|
476
|
+
name = "pluggy"
|
|
477
|
+
version = "1.5.0"
|
|
782
478
|
source = { registry = "https://pypi.org/simple" }
|
|
783
|
-
|
|
784
|
-
{ name = "markdown" },
|
|
785
|
-
{ name = "pyyaml" },
|
|
786
|
-
]
|
|
787
|
-
sdist = { url = "https://files.pythonhosted.org/packages/7c/44/e6de2fdc880ad0ec7547ca2e087212be815efbc9a425a8d5ba9ede602cbb/pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b", size = 846846 }
|
|
479
|
+
sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 }
|
|
788
480
|
wheels = [
|
|
789
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
481
|
+
{ url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 },
|
|
790
482
|
]
|
|
791
483
|
|
|
792
484
|
[[package]]
|
|
@@ -819,19 +511,6 @@ wheels = [
|
|
|
819
511
|
{ url = "https://files.pythonhosted.org/packages/36/3b/48e79f2cd6a61dbbd4807b4ed46cb564b4fd50a76166b1c4ea5c1d9e2371/pytest_cov-6.0.0-py3-none-any.whl", hash = "sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35", size = 22949 },
|
|
820
512
|
]
|
|
821
513
|
|
|
822
|
-
[[package]]
|
|
823
|
-
name = "pytest-randomly"
|
|
824
|
-
version = "3.16.0"
|
|
825
|
-
source = { registry = "https://pypi.org/simple" }
|
|
826
|
-
dependencies = [
|
|
827
|
-
{ name = "importlib-metadata", marker = "python_full_version < '3.10'" },
|
|
828
|
-
{ name = "pytest" },
|
|
829
|
-
]
|
|
830
|
-
sdist = { url = "https://files.pythonhosted.org/packages/c0/68/d221ed7f4a2a49a664da721b8e87b52af6dd317af2a6cb51549cf17ac4b8/pytest_randomly-3.16.0.tar.gz", hash = "sha256:11bf4d23a26484de7860d82f726c0629837cf4064b79157bd18ec9d41d7feb26", size = 13367 }
|
|
831
|
-
wheels = [
|
|
832
|
-
{ url = "https://files.pythonhosted.org/packages/22/70/b31577d7c46d8e2f9baccfed5067dd8475262a2331ffb0bfdf19361c9bde/pytest_randomly-3.16.0-py3-none-any.whl", hash = "sha256:8633d332635a1a0983d3bba19342196807f6afb17c3eef78e02c2f85dade45d6", size = 8396 },
|
|
833
|
-
]
|
|
834
|
-
|
|
835
514
|
[[package]]
|
|
836
515
|
name = "python-dateutil"
|
|
837
516
|
version = "2.9.0.post0"
|
|
@@ -886,15 +565,6 @@ wheels = [
|
|
|
886
565
|
{ url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
|
|
887
566
|
{ url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
|
|
888
567
|
{ url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
|
|
889
|
-
{ url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 },
|
|
890
|
-
{ url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 },
|
|
891
|
-
{ url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 },
|
|
892
|
-
{ url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 },
|
|
893
|
-
{ url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 },
|
|
894
|
-
{ url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 },
|
|
895
|
-
{ url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 },
|
|
896
|
-
{ url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 },
|
|
897
|
-
{ url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 },
|
|
898
568
|
]
|
|
899
569
|
|
|
900
570
|
[[package]]
|
|
@@ -909,21 +579,6 @@ wheels = [
|
|
|
909
579
|
{ url = "https://files.pythonhosted.org/packages/5a/66/bbb1dd374f5c870f59c5bb1db0e18cbe7fa739415a24cbd95b2d1f5ae0c4/pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069", size = 3911 },
|
|
910
580
|
]
|
|
911
581
|
|
|
912
|
-
[[package]]
|
|
913
|
-
name = "requests"
|
|
914
|
-
version = "2.32.3"
|
|
915
|
-
source = { registry = "https://pypi.org/simple" }
|
|
916
|
-
dependencies = [
|
|
917
|
-
{ name = "certifi" },
|
|
918
|
-
{ name = "charset-normalizer" },
|
|
919
|
-
{ name = "idna" },
|
|
920
|
-
{ name = "urllib3" },
|
|
921
|
-
]
|
|
922
|
-
sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 }
|
|
923
|
-
wheels = [
|
|
924
|
-
{ url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
|
|
925
|
-
]
|
|
926
|
-
|
|
927
582
|
[[package]]
|
|
928
583
|
name = "ruff"
|
|
929
584
|
version = "0.11.2"
|
|
@@ -958,15 +613,6 @@ wheels = [
|
|
|
958
613
|
{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
|
|
959
614
|
]
|
|
960
615
|
|
|
961
|
-
[[package]]
|
|
962
|
-
name = "soupsieve"
|
|
963
|
-
version = "2.6"
|
|
964
|
-
source = { registry = "https://pypi.org/simple" }
|
|
965
|
-
sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 }
|
|
966
|
-
wheels = [
|
|
967
|
-
{ url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 },
|
|
968
|
-
]
|
|
969
|
-
|
|
970
616
|
[[package]]
|
|
971
617
|
name = "tomli"
|
|
972
618
|
version = "2.2.1"
|
|
@@ -1015,15 +661,6 @@ wheels = [
|
|
|
1015
661
|
{ url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
|
|
1016
662
|
]
|
|
1017
663
|
|
|
1018
|
-
[[package]]
|
|
1019
|
-
name = "urllib3"
|
|
1020
|
-
version = "2.3.0"
|
|
1021
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1022
|
-
sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 }
|
|
1023
|
-
wheels = [
|
|
1024
|
-
{ url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 },
|
|
1025
|
-
]
|
|
1026
|
-
|
|
1027
664
|
[[package]]
|
|
1028
665
|
name = "virtualenv"
|
|
1029
666
|
version = "20.29.3"
|
|
@@ -1056,13 +693,8 @@ wheels = [
|
|
|
1056
693
|
{ url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480 },
|
|
1057
694
|
{ url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451 },
|
|
1058
695
|
{ url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057 },
|
|
1059
|
-
{ url = "https://files.pythonhosted.org/packages/05/52/7223011bb760fce8ddc53416beb65b83a3ea6d7d13738dde75eeb2c89679/watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8", size = 96390 },
|
|
1060
|
-
{ url = "https://files.pythonhosted.org/packages/9c/62/d2b21bc4e706d3a9d467561f487c2938cbd881c69f3808c43ac1ec242391/watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a", size = 88386 },
|
|
1061
|
-
{ url = "https://files.pythonhosted.org/packages/ea/22/1c90b20eda9f4132e4603a26296108728a8bfe9584b006bd05dd94548853/watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c", size = 89017 },
|
|
1062
696
|
{ url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902 },
|
|
1063
697
|
{ url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380 },
|
|
1064
|
-
{ url = "https://files.pythonhosted.org/packages/5b/79/69f2b0e8d3f2afd462029031baafb1b75d11bb62703f0e1022b2e54d49ee/watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa", size = 87903 },
|
|
1065
|
-
{ url = "https://files.pythonhosted.org/packages/e2/2b/dc048dd71c2e5f0f7ebc04dd7912981ec45793a03c0dc462438e0591ba5d/watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e", size = 88381 },
|
|
1066
698
|
{ url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079 },
|
|
1067
699
|
{ url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078 },
|
|
1068
700
|
{ url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076 },
|
|
@@ -1074,12 +706,3 @@ wheels = [
|
|
|
1074
706
|
{ url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070 },
|
|
1075
707
|
{ url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067 },
|
|
1076
708
|
]
|
|
1077
|
-
|
|
1078
|
-
[[package]]
|
|
1079
|
-
name = "zipp"
|
|
1080
|
-
version = "3.21.0"
|
|
1081
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1082
|
-
sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 }
|
|
1083
|
-
wheels = [
|
|
1084
|
-
{ url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 },
|
|
1085
|
-
]
|
nox_uv-0.1.0/Dockerfile
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# Use a multi-stage build to reduce the size of the final image.
|
|
2
|
-
# This example is optimized to reduce final image size rather than for simplicity.
|
|
3
|
-
# Using a -slim image also greatly reduces image size.
|
|
4
|
-
# It is possible to use -alpine images instead to further reduce image size, but this comes
|
|
5
|
-
# with several important caveats.
|
|
6
|
-
# - Alpine images use MUSL rather than GLIBC (as used in the default Debian-based images).
|
|
7
|
-
# - Most Python packages that require C code are tested against GLIBC, so there could be
|
|
8
|
-
# subtle errors when using MUSL.
|
|
9
|
-
# - These Python packages usually only provide binary wheels for GLIBC, so the packages
|
|
10
|
-
# will need to be recompiled fully within the container images, increasing build times.
|
|
11
|
-
FROM python:3.11-slim-bookworm AS python_builder
|
|
12
|
-
|
|
13
|
-
# Pin uv to a specific version to make container builds reproducible.
|
|
14
|
-
ENV UV_VERSION=0.6.9
|
|
15
|
-
|
|
16
|
-
# Set ENV variables that make Python more friendly to running inside a container.
|
|
17
|
-
ENV PYTHONDONTWRITEBYTECODE=1
|
|
18
|
-
ENV PYTHONBUFFERED=1
|
|
19
|
-
|
|
20
|
-
# By default, pip caches copies of downloaded packages from PyPI. These are not useful within
|
|
21
|
-
# a contain image, so disable this to reduce the size of images.
|
|
22
|
-
ENV PIP_NO_CACHE_DIR=1
|
|
23
|
-
ENV WORKDIR=/src
|
|
24
|
-
|
|
25
|
-
WORKDIR ${WORKDIR}
|
|
26
|
-
|
|
27
|
-
# Install any system dependencies required to build wheels, such as C compilers or system packages
|
|
28
|
-
# For example:
|
|
29
|
-
#RUN apt-get update && apt-get install -y \
|
|
30
|
-
# gcc \
|
|
31
|
-
# && rm -rf /var/lib/apt/lists/*
|
|
32
|
-
|
|
33
|
-
# Install uv into the global environment to isolate it from the venv it creates.
|
|
34
|
-
RUN pip install "uv==${UV_VERSION}"
|
|
35
|
-
|
|
36
|
-
# Pre-download/compile wheel dependencies into a virtual environment.
|
|
37
|
-
# Doing this in a multi-stage build allows omitting compile dependencies from the final image.
|
|
38
|
-
# This must be the same path that is used in the final image as the virtual environment has
|
|
39
|
-
# absolute symlinks in it.
|
|
40
|
-
ENV VIRTUAL_ENV=/opt/venv
|
|
41
|
-
RUN python -m venv ${VIRTUAL_ENV}
|
|
42
|
-
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
|
|
43
|
-
|
|
44
|
-
# Copy in project dependency specification.
|
|
45
|
-
COPY pyproject.toml uv.lock ./
|
|
46
|
-
|
|
47
|
-
# Don't install the package itself with uv because it will install it as an editable install.
|
|
48
|
-
RUN uv sync --locked --no-default-groups --no-install-project
|
|
49
|
-
|
|
50
|
-
# Copy in source files.
|
|
51
|
-
COPY README.md ./
|
|
52
|
-
COPY src src
|
|
53
|
-
|
|
54
|
-
# Manually build/install the package.
|
|
55
|
-
RUN uv build && \
|
|
56
|
-
pip install dist/*.whl
|
|
57
|
-
|
|
58
|
-
## Final Image
|
|
59
|
-
# The image used in the final image MUST match exactly to the python_builder image.
|
|
60
|
-
FROM python:3.11-slim-bookworm
|
|
61
|
-
|
|
62
|
-
ENV PYTHONDONTWRITEBYTECODE=1
|
|
63
|
-
ENV PYTHONBUFFERED=1
|
|
64
|
-
ENV PIP_NO_CACHE_DIR=1
|
|
65
|
-
ENV VIRTUAL_ENV=/opt/venv
|
|
66
|
-
|
|
67
|
-
ENV HOME=/home/user
|
|
68
|
-
ENV APP_HOME=${HOME}/app
|
|
69
|
-
|
|
70
|
-
# Create the home directory for the new user.
|
|
71
|
-
RUN mkdir -p ${HOME}
|
|
72
|
-
|
|
73
|
-
# Create the user so the program doesn't run as root. This increases security of the container.
|
|
74
|
-
RUN groupadd -r user && \
|
|
75
|
-
useradd -r -g user -d ${HOME} -s /sbin/nologin -c "Container image user" user
|
|
76
|
-
|
|
77
|
-
# Setup application install directory.
|
|
78
|
-
RUN mkdir ${APP_HOME}
|
|
79
|
-
|
|
80
|
-
# If you use Docker Compose volumes, you might need to create the directories in the image,
|
|
81
|
-
# otherwise when Docker Compose creates them they are owned by the root user and are inaccessible
|
|
82
|
-
# by the non-root user. See https://github.com/docker/compose/issues/3270
|
|
83
|
-
|
|
84
|
-
WORKDIR ${APP_HOME}
|
|
85
|
-
|
|
86
|
-
# Copy and activate pre-built virtual environment.
|
|
87
|
-
COPY --from=python_builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
|
|
88
|
-
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
|
|
89
|
-
|
|
90
|
-
# For Python applications that are not installable libraries, you may need to copy in source
|
|
91
|
-
# files here in the final image rather than in the python_builder image.
|
|
92
|
-
|
|
93
|
-
# Give access to the entire home folder to the new user so that files and folders can be written
|
|
94
|
-
# there. Some packages such as matplotlib, want to write to the home folder.
|
|
95
|
-
RUN chown -R user:user ${HOME}
|
|
96
|
-
|
|
97
|
-
ENTRYPOINT ["fact"]
|
nox_uv-0.1.0/tests/test_lib.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|