diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2025-06-22 21:13:23 +0200 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2025-06-22 21:13:23 +0200 |
commit | ba907ef7b4f5962a11c20adb4036b6ddad26a000 (patch) | |
tree | 25f1aa3d84ef13a69afa9fc1f648822224429de6 /modules/borgcopy | |
parent | 173f53c48c42fbf8efc23b1393a71e9e688bfcec (diff) | |
download | nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.tar nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.tar.gz nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.tar.bz2 nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.tar.xz nixos-ba907ef7b4f5962a11c20adb4036b6ddad26a000.zip |
...
Diffstat (limited to 'modules/borgcopy')
-rw-r--r-- | modules/borgcopy/.envrc | 4 | ||||
-rw-r--r-- | modules/borgcopy/.gitignore | 2 | ||||
-rw-r--r-- | modules/borgcopy/default.nix | 39 | ||||
-rw-r--r-- | modules/borgcopy/poetry.lock | 180 | ||||
-rw-r--r-- | modules/borgcopy/pyproject.toml | 33 | ||||
-rw-r--r-- | modules/borgcopy/uv.lock | 146 |
6 files changed, 193 insertions, 211 deletions
diff --git a/modules/borgcopy/.envrc b/modules/borgcopy/.envrc new file mode 100644 index 00000000..01e755c1 --- /dev/null +++ b/modules/borgcopy/.envrc | |||
@@ -0,0 +1,4 @@ | |||
1 | use flake | ||
2 | |||
3 | uv venv && uv sync | ||
4 | . .venv/bin/activate | ||
diff --git a/modules/borgcopy/.gitignore b/modules/borgcopy/.gitignore new file mode 100644 index 00000000..4ccfae70 --- /dev/null +++ b/modules/borgcopy/.gitignore | |||
@@ -0,0 +1,2 @@ | |||
1 | .venv | ||
2 | **/__pycache__ | ||
diff --git a/modules/borgcopy/default.nix b/modules/borgcopy/default.nix index 8e1afc27..af021777 100644 --- a/modules/borgcopy/default.nix +++ b/modules/borgcopy/default.nix | |||
@@ -1,25 +1,32 @@ | |||
1 | { config, pkgs, lib, utils, flakeInputs, ... }: | 1 | { config, pkgs, lib, utils, flake, flakeInputs, ... }: |
2 | 2 | ||
3 | with lib; | 3 | with lib; |
4 | 4 | ||
5 | let | 5 | let |
6 | copyBorg = | 6 | copyBorg = let |
7 | with pkgs.poetry2nix; | 7 | workspace = flakeInputs.uv2nix.lib.workspace.loadWorkspace { workspaceRoot = ./.; }; |
8 | mkPoetryApplication { | 8 | pythonSet = flake.lib.pythonSet { |
9 | projectDir = cleanPythonSources { src = ./.; }; | 9 | inherit pkgs; |
10 | python = pkgs.python312; | ||
11 | overlay = workspace.mkPyprojectOverlay { | ||
12 | sourcePreference = "wheel"; | ||
13 | }; | ||
14 | }; | ||
15 | virtualEnv = pythonSet.mkVirtualEnv "copy_borg" workspace.deps.default; | ||
16 | in virtualEnv.overrideAttrs (oldAttrs: { | ||
17 | meta = (oldAttrs.meta or {}) // { | ||
18 | mainProgram = "copy_borg"; | ||
19 | }; | ||
10 | 20 | ||
11 | overrides = overrides.withDefaults (self: super: { | 21 | nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ pkgs.makeWrapper ]; |
12 | pyprctl = super.pyprctl.overridePythonAttrs (oldAttrs: { | ||
13 | buildInputs = (oldAttrs.buildInputs or []) ++ [super.setuptools]; | ||
14 | }); | ||
15 | inherit (pkgs.python3Packages) python-unshare; | ||
16 | }); | ||
17 | 22 | ||
18 | postInstall = '' | 23 | postInstall = '' |
19 | wrapProgram $out/bin/copy_borg \ | 24 | ${oldAttrs.postInstall or ""} |
20 | --prefix PATH : ${makeBinPath (with pkgs; [util-linux borgbackup])}:${config.security.wrapperDir} | 25 | |
21 | ''; | 26 | wrapProgram $out/bin/copy_borg \ |
22 | }; | 27 | --prefix PATH : ${makeBinPath (with pkgs; [util-linux borgbackup])}:${config.security.wrapperDir} |
28 | ''; | ||
29 | }); | ||
23 | 30 | ||
24 | copyService = name: opts: nameValuePair "copy-borg@${utils.escapeSystemdPath name}" { | 31 | copyService = name: opts: nameValuePair "copy-borg@${utils.escapeSystemdPath name}" { |
25 | restartIfChanged = false; | 32 | restartIfChanged = false; |
diff --git a/modules/borgcopy/poetry.lock b/modules/borgcopy/poetry.lock deleted file mode 100644 index 759ecfe9..00000000 --- a/modules/borgcopy/poetry.lock +++ /dev/null | |||
@@ -1,180 +0,0 @@ | |||
1 | # This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. | ||
2 | |||
3 | [[package]] | ||
4 | name = "colorama" | ||
5 | version = "0.4.6" | ||
6 | description = "Cross-platform colored terminal text." | ||
7 | category = "main" | ||
8 | optional = false | ||
9 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" | ||
10 | files = [ | ||
11 | {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, | ||
12 | {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, | ||
13 | ] | ||
14 | |||
15 | [[package]] | ||
16 | name = "halo" | ||
17 | version = "0.0.31" | ||
18 | description = "Beautiful terminal spinners in Python" | ||
19 | category = "main" | ||
20 | optional = false | ||
21 | python-versions = ">=3.4" | ||
22 | files = [ | ||
23 | {file = "halo-0.0.31-py2-none-any.whl", hash = "sha256:5350488fb7d2aa7c31a1344120cee67a872901ce8858f60da7946cef96c208ab"}, | ||
24 | {file = "halo-0.0.31.tar.gz", hash = "sha256:7b67a3521ee91d53b7152d4ee3452811e1d2a6321975137762eb3d70063cc9d6"}, | ||
25 | ] | ||
26 | |||
27 | [package.dependencies] | ||
28 | colorama = ">=0.3.9" | ||
29 | log-symbols = ">=0.0.14" | ||
30 | six = ">=1.12.0" | ||
31 | spinners = ">=0.0.24" | ||
32 | termcolor = ">=1.1.0" | ||
33 | |||
34 | [package.extras] | ||
35 | ipython = ["IPython (==5.7.0)", "ipywidgets (==7.1.0)"] | ||
36 | |||
37 | [[package]] | ||
38 | name = "humanize" | ||
39 | version = "4.6.0" | ||
40 | description = "Python humanize utilities" | ||
41 | category = "main" | ||
42 | optional = false | ||
43 | python-versions = ">=3.7" | ||
44 | files = [ | ||
45 | {file = "humanize-4.6.0-py3-none-any.whl", hash = "sha256:401201aca462749773f02920139f302450cb548b70489b9b4b92be39fe3c3c50"}, | ||
46 | {file = "humanize-4.6.0.tar.gz", hash = "sha256:5f1f22bc65911eb1a6ffe7659bd6598e33dcfeeb904eb16ee1e705a09bf75916"}, | ||
47 | ] | ||
48 | |||
49 | [package.extras] | ||
50 | tests = ["freezegun", "pytest", "pytest-cov"] | ||
51 | |||
52 | [[package]] | ||
53 | name = "log-symbols" | ||
54 | version = "0.0.14" | ||
55 | description = "Colored symbols for various log levels for Python" | ||
56 | category = "main" | ||
57 | optional = false | ||
58 | python-versions = "*" | ||
59 | files = [ | ||
60 | {file = "log_symbols-0.0.14-py3-none-any.whl", hash = "sha256:4952106ff8b605ab7d5081dd2c7e6ca7374584eff7086f499c06edd1ce56dcca"}, | ||
61 | {file = "log_symbols-0.0.14.tar.gz", hash = "sha256:cf0bbc6fe1a8e53f0d174a716bc625c4f87043cc21eb55dd8a740cfe22680556"}, | ||
62 | ] | ||
63 | |||
64 | [package.dependencies] | ||
65 | colorama = ">=0.3.9" | ||
66 | |||
67 | [[package]] | ||
68 | name = "pyprctl" | ||
69 | version = "0.1.3" | ||
70 | description = "An interface to Linux's prctl() syscall written in pure Python using ctypes." | ||
71 | category = "main" | ||
72 | optional = false | ||
73 | python-versions = ">=3.6" | ||
74 | files = [ | ||
75 | {file = "pyprctl-0.1.3-py3-none-any.whl", hash = "sha256:6302e5114f078fb33e5799835d0a69e2fc180bb6b28ad073515fa40c5272f1dd"}, | ||
76 | {file = "pyprctl-0.1.3.tar.gz", hash = "sha256:1fb54d3ab030ec02e4afc38fb9662d6634c12834e91ae7959de56a9c09f69c26"}, | ||
77 | ] | ||
78 | |||
79 | [[package]] | ||
80 | name = "python-dateutil" | ||
81 | version = "2.8.2" | ||
82 | description = "Extensions to the standard Python datetime module" | ||
83 | category = "main" | ||
84 | optional = false | ||
85 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" | ||
86 | files = [ | ||
87 | {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, | ||
88 | {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, | ||
89 | ] | ||
90 | |||
91 | [package.dependencies] | ||
92 | six = ">=1.5" | ||
93 | |||
94 | [[package]] | ||
95 | name = "python-unshare" | ||
96 | version = "0.2" | ||
97 | description = "Python bindings for the Linux unshare() syscall" | ||
98 | category = "main" | ||
99 | optional = false | ||
100 | python-versions = "*" | ||
101 | files = [ | ||
102 | {file = "python-unshare-0.2.tar.gz", hash = "sha256:f79b7de441b6c27930b775085a6a4fd2f378b628737aaaebc2a6c519023fd47a"}, | ||
103 | ] | ||
104 | |||
105 | [[package]] | ||
106 | name = "six" | ||
107 | version = "1.16.0" | ||
108 | description = "Python 2 and 3 compatibility utilities" | ||
109 | category = "main" | ||
110 | optional = false | ||
111 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" | ||
112 | files = [ | ||
113 | {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, | ||
114 | {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, | ||
115 | ] | ||
116 | |||
117 | [[package]] | ||
118 | name = "spinners" | ||
119 | version = "0.0.24" | ||
120 | description = "Spinners for terminals" | ||
121 | category = "main" | ||
122 | optional = false | ||
123 | python-versions = "*" | ||
124 | files = [ | ||
125 | {file = "spinners-0.0.24-py3-none-any.whl", hash = "sha256:2fa30d0b72c9650ad12bbe031c9943b8d441e41b4f5602b0ec977a19f3290e98"}, | ||
126 | {file = "spinners-0.0.24.tar.gz", hash = "sha256:1eb6aeb4781d72ab42ed8a01dcf20f3002bf50740d7154d12fb8c9769bf9e27f"}, | ||
127 | ] | ||
128 | |||
129 | [[package]] | ||
130 | name = "termcolor" | ||
131 | version = "2.2.0" | ||
132 | description = "ANSI color formatting for output in terminal" | ||
133 | category = "main" | ||
134 | optional = false | ||
135 | python-versions = ">=3.7" | ||
136 | files = [ | ||
137 | {file = "termcolor-2.2.0-py3-none-any.whl", hash = "sha256:91ddd848e7251200eac969846cbae2dacd7d71c2871e92733289e7e3666f48e7"}, | ||
138 | {file = "termcolor-2.2.0.tar.gz", hash = "sha256:dfc8ac3f350788f23b2947b3e6cfa5a53b630b612e6cd8965a015a776020b99a"}, | ||
139 | ] | ||
140 | |||
141 | [package.extras] | ||
142 | tests = ["pytest", "pytest-cov"] | ||
143 | |||
144 | [[package]] | ||
145 | name = "tqdm" | ||
146 | version = "4.65.0" | ||
147 | description = "Fast, Extensible Progress Meter" | ||
148 | category = "main" | ||
149 | optional = false | ||
150 | python-versions = ">=3.7" | ||
151 | files = [ | ||
152 | {file = "tqdm-4.65.0-py3-none-any.whl", hash = "sha256:c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"}, | ||
153 | {file = "tqdm-4.65.0.tar.gz", hash = "sha256:1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5"}, | ||
154 | ] | ||
155 | |||
156 | [package.dependencies] | ||
157 | colorama = {version = "*", markers = "platform_system == \"Windows\""} | ||
158 | |||
159 | [package.extras] | ||
160 | dev = ["py-make (>=0.1.0)", "twine", "wheel"] | ||
161 | notebook = ["ipywidgets (>=6)"] | ||
162 | slack = ["slack-sdk"] | ||
163 | telegram = ["requests"] | ||
164 | |||
165 | [[package]] | ||
166 | name = "xdg" | ||
167 | version = "6.0.0" | ||
168 | description = "Variables defined by the XDG Base Directory Specification" | ||
169 | category = "main" | ||
170 | optional = false | ||
171 | python-versions = ">=3.7,<4.0" | ||
172 | files = [ | ||
173 | {file = "xdg-6.0.0-py3-none-any.whl", hash = "sha256:df3510755b4395157fc04fc3b02467c777f3b3ca383257397f09ab0d4c16f936"}, | ||
174 | {file = "xdg-6.0.0.tar.gz", hash = "sha256:24278094f2d45e846d1eb28a2ebb92d7b67fc0cab5249ee3ce88c95f649a1c92"}, | ||
175 | ] | ||
176 | |||
177 | [metadata] | ||
178 | lock-version = "2.0" | ||
179 | python-versions = ">=3.10.0,<3.12" | ||
180 | content-hash = "3c6b538852447a8f3ae34e1be122716d47e669a2b44f7c5d3d850e5d877353c7" | ||
diff --git a/modules/borgcopy/pyproject.toml b/modules/borgcopy/pyproject.toml index f3401ed2..d76d73c6 100644 --- a/modules/borgcopy/pyproject.toml +++ b/modules/borgcopy/pyproject.toml | |||
@@ -1,22 +1,25 @@ | |||
1 | [tool.poetry] | 1 | [project] |
2 | name = "copy_borg" | 2 | name = "copy_borg" |
3 | version = "0.0.0" | 3 | version = "0.0.0" |
4 | authors = ["Gregor Kleen <gkleen@yggdrasil.li>"] | ||
5 | description = "" | 4 | description = "" |
5 | authors = [{ name = "Gregor Kleen", email = "gkleen@yggdrasil.li" }] | ||
6 | requires-python = "~=3.12" | ||
7 | dependencies = [ | ||
8 | "humanize>=4.6.0,<5", | ||
9 | "tqdm>=4.65.0,<5", | ||
10 | "python-dateutil>=2.8.2,<3", | ||
11 | "xdg>=6.0.0,<7", | ||
12 | "pyprctl>=0.1.3,<0.2", | ||
13 | "halo>=0.0.31,<0.0.32", | ||
14 | "unshare>=0.22", | ||
15 | ] | ||
6 | 16 | ||
7 | [tool.poetry.scripts] | 17 | [project.scripts] |
8 | copy_borg = "copy_borg.__main__:main" | 18 | copy_borg = "copy_borg.__main__:main" |
9 | 19 | ||
10 | [tool.poetry.dependencies] | ||
11 | python = ">=3.10.0,<3.12" | ||
12 | humanize = "^4.6.0" | ||
13 | tqdm = "^4.65.0" | ||
14 | python-dateutil = "^2.8.2" | ||
15 | xdg = "^6.0.0" | ||
16 | python-unshare = "^0.2" | ||
17 | pyprctl = "^0.1.3" | ||
18 | halo = "^0.0.31" | ||
19 | |||
20 | [build-system] | 20 | [build-system] |
21 | requires = ["poetry-core>=1.0.0"] | 21 | requires = ["hatchling"] |
22 | build-backend = "poetry.core.masonry.api" \ No newline at end of file | 22 | build-backend = "hatchling.build" |
23 | |||
24 | [tool.hatch.build.targets.wheel] | ||
25 | packages = ["copy_borg"] | ||
diff --git a/modules/borgcopy/uv.lock b/modules/borgcopy/uv.lock new file mode 100644 index 00000000..1a282598 --- /dev/null +++ b/modules/borgcopy/uv.lock | |||
@@ -0,0 +1,146 @@ | |||
1 | version = 1 | ||
2 | revision = 2 | ||
3 | requires-python = ">=3.12, <4" | ||
4 | |||
5 | [[package]] | ||
6 | name = "colorama" | ||
7 | version = "0.4.6" | ||
8 | source = { registry = "https://pypi.org/simple" } | ||
9 | sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } | ||
10 | wheels = [ | ||
11 | { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, | ||
12 | ] | ||
13 | |||
14 | [[package]] | ||
15 | name = "copy-borg" | ||
16 | version = "0.0.0" | ||
17 | source = { editable = "." } | ||
18 | dependencies = [ | ||
19 | { name = "halo" }, | ||
20 | { name = "humanize" }, | ||
21 | { name = "pyprctl" }, | ||
22 | { name = "python-dateutil" }, | ||
23 | { name = "tqdm" }, | ||
24 | { name = "unshare" }, | ||
25 | { name = "xdg" }, | ||
26 | ] | ||
27 | |||
28 | [package.metadata] | ||
29 | requires-dist = [ | ||
30 | { name = "halo", specifier = ">=0.0.31,<0.0.32" }, | ||
31 | { name = "humanize", specifier = ">=4.6.0,<5" }, | ||
32 | { name = "pyprctl", specifier = ">=0.1.3,<0.2" }, | ||
33 | { name = "python-dateutil", specifier = ">=2.8.2,<3" }, | ||
34 | { name = "tqdm", specifier = ">=4.65.0,<5" }, | ||
35 | { name = "unshare", specifier = ">=0.22" }, | ||
36 | { name = "xdg", specifier = ">=6.0.0,<7" }, | ||
37 | ] | ||
38 | |||
39 | [[package]] | ||
40 | name = "halo" | ||
41 | version = "0.0.31" | ||
42 | source = { registry = "https://pypi.org/simple" } | ||
43 | dependencies = [ | ||
44 | { name = "colorama" }, | ||
45 | { name = "log-symbols" }, | ||
46 | { name = "six" }, | ||
47 | { name = "spinners" }, | ||
48 | { name = "termcolor" }, | ||
49 | ] | ||
50 | sdist = { url = "https://files.pythonhosted.org/packages/ee/48/d53580d30b1fabf25d0d1fcc3f5b26d08d2ac75a1890ff6d262f9f027436/halo-0.0.31.tar.gz", hash = "sha256:7b67a3521ee91d53b7152d4ee3452811e1d2a6321975137762eb3d70063cc9d6", size = 11666, upload-time = "2020-11-10T02:36:48.335Z" } | ||
51 | |||
52 | [[package]] | ||
53 | name = "humanize" | ||
54 | version = "4.12.3" | ||
55 | source = { registry = "https://pypi.org/simple" } | ||
56 | sdist = { url = "https://files.pythonhosted.org/packages/22/d1/bbc4d251187a43f69844f7fd8941426549bbe4723e8ff0a7441796b0789f/humanize-4.12.3.tar.gz", hash = "sha256:8430be3a615106fdfceb0b2c1b41c4c98c6b0fc5cc59663a5539b111dd325fb0", size = 80514, upload-time = "2025-04-30T11:51:07.98Z" } | ||
57 | wheels = [ | ||
58 | { url = "https://files.pythonhosted.org/packages/a0/1e/62a2ec3104394a2975a2629eec89276ede9dbe717092f6966fcf963e1bf0/humanize-4.12.3-py3-none-any.whl", hash = "sha256:2cbf6370af06568fa6d2da77c86edb7886f3160ecd19ee1ffef07979efc597f6", size = 128487, upload-time = "2025-04-30T11:51:06.468Z" }, | ||
59 | ] | ||
60 | |||
61 | [[package]] | ||
62 | name = "log-symbols" | ||
63 | version = "0.0.14" | ||
64 | source = { registry = "https://pypi.org/simple" } | ||
65 | dependencies = [ | ||
66 | { name = "colorama" }, | ||
67 | ] | ||
68 | sdist = { url = "https://files.pythonhosted.org/packages/45/87/e86645d758a4401c8c81914b6a88470634d1785c9ad09823fa4a1bd89250/log_symbols-0.0.14.tar.gz", hash = "sha256:cf0bbc6fe1a8e53f0d174a716bc625c4f87043cc21eb55dd8a740cfe22680556", size = 3211, upload-time = "2019-08-08T06:32:22.538Z" } | ||
69 | wheels = [ | ||
70 | { url = "https://files.pythonhosted.org/packages/28/5d/d710c38be68b0fb54e645048fe359c3904cc3cb64b2de9d40e1712bf110c/log_symbols-0.0.14-py3-none-any.whl", hash = "sha256:4952106ff8b605ab7d5081dd2c7e6ca7374584eff7086f499c06edd1ce56dcca", size = 3081, upload-time = "2019-08-08T06:32:20.604Z" }, | ||
71 | ] | ||
72 | |||
73 | [[package]] | ||
74 | name = "pyprctl" | ||
75 | version = "0.1.3" | ||
76 | source = { registry = "https://pypi.org/simple" } | ||
77 | sdist = { url = "https://files.pythonhosted.org/packages/c9/16/6ed71ebcad76c1cd5f22185bcc6b31c0ee62fc5e693b626febea8fedeba3/pyprctl-0.1.3.tar.gz", hash = "sha256:1fb54d3ab030ec02e4afc38fb9662d6634c12834e91ae7959de56a9c09f69c26", size = 18739, upload-time = "2021-10-26T23:52:03.87Z" } | ||
78 | wheels = [ | ||
79 | { url = "https://files.pythonhosted.org/packages/bf/5e/62765de39bbce8111fb1f4453a4a804913bf49179fa265fb713ed66c9d15/pyprctl-0.1.3-py3-none-any.whl", hash = "sha256:6302e5114f078fb33e5799835d0a69e2fc180bb6b28ad073515fa40c5272f1dd", size = 20016, upload-time = "2021-10-26T23:52:02.986Z" }, | ||
80 | ] | ||
81 | |||
82 | [[package]] | ||
83 | name = "python-dateutil" | ||
84 | version = "2.9.0.post0" | ||
85 | source = { registry = "https://pypi.org/simple" } | ||
86 | dependencies = [ | ||
87 | { name = "six" }, | ||
88 | ] | ||
89 | sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } | ||
90 | wheels = [ | ||
91 | { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, | ||
92 | ] | ||
93 | |||
94 | [[package]] | ||
95 | name = "six" | ||
96 | version = "1.17.0" | ||
97 | source = { registry = "https://pypi.org/simple" } | ||
98 | sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } | ||
99 | wheels = [ | ||
100 | { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, | ||
101 | ] | ||
102 | |||
103 | [[package]] | ||
104 | name = "spinners" | ||
105 | version = "0.0.24" | ||
106 | source = { registry = "https://pypi.org/simple" } | ||
107 | sdist = { url = "https://files.pythonhosted.org/packages/d3/91/bb331f0a43e04d950a710f402a0986a54147a35818df0e1658551c8d12e1/spinners-0.0.24.tar.gz", hash = "sha256:1eb6aeb4781d72ab42ed8a01dcf20f3002bf50740d7154d12fb8c9769bf9e27f", size = 5308, upload-time = "2020-02-19T21:42:32.326Z" } | ||
108 | wheels = [ | ||
109 | { url = "https://files.pythonhosted.org/packages/9f/8e/3310207a68118000ca27ac878b8386123628b335ecb3d4bec4743357f0d1/spinners-0.0.24-py3-none-any.whl", hash = "sha256:2fa30d0b72c9650ad12bbe031c9943b8d441e41b4f5602b0ec977a19f3290e98", size = 5499, upload-time = "2020-02-19T21:42:30.876Z" }, | ||
110 | ] | ||
111 | |||
112 | [[package]] | ||
113 | name = "termcolor" | ||
114 | version = "3.1.0" | ||
115 | source = { registry = "https://pypi.org/simple" } | ||
116 | sdist = { url = "https://files.pythonhosted.org/packages/ca/6c/3d75c196ac07ac8749600b60b03f4f6094d54e132c4d94ebac6ee0e0add0/termcolor-3.1.0.tar.gz", hash = "sha256:6a6dd7fbee581909eeec6a756cff1d7f7c376063b14e4a298dc4980309e55970", size = 14324, upload-time = "2025-04-30T11:37:53.791Z" } | ||
117 | wheels = [ | ||
118 | { url = "https://files.pythonhosted.org/packages/4f/bd/de8d508070629b6d84a30d01d57e4a65c69aa7f5abe7560b8fad3b50ea59/termcolor-3.1.0-py3-none-any.whl", hash = "sha256:591dd26b5c2ce03b9e43f391264626557873ce1d379019786f99b0c2bee140aa", size = 7684, upload-time = "2025-04-30T11:37:52.382Z" }, | ||
119 | ] | ||
120 | |||
121 | [[package]] | ||
122 | name = "tqdm" | ||
123 | version = "4.67.1" | ||
124 | source = { registry = "https://pypi.org/simple" } | ||
125 | dependencies = [ | ||
126 | { name = "colorama", marker = "sys_platform == 'win32'" }, | ||
127 | ] | ||
128 | sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } | ||
129 | wheels = [ | ||
130 | { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, | ||
131 | ] | ||
132 | |||
133 | [[package]] | ||
134 | name = "unshare" | ||
135 | version = "0.22" | ||
136 | source = { registry = "https://pypi.org/simple" } | ||
137 | sdist = { url = "https://files.pythonhosted.org/packages/15/85/2ba218129c95b894efe87506489b525f859c40f6e21cb0521ff3cec754f4/unshare-0.22.tar.gz", hash = "sha256:d521d72cca6e876f22cbd5ff5eb51f1beef75e8f9c53b599b55fa05fba1dd3a6", size = 2041, upload-time = "2019-10-17T12:58:31.498Z" } | ||
138 | |||
139 | [[package]] | ||
140 | name = "xdg" | ||
141 | version = "6.0.0" | ||
142 | source = { registry = "https://pypi.org/simple" } | ||
143 | sdist = { url = "https://files.pythonhosted.org/packages/2a/b9/0e6e6f19fb75cf5e1758f4f33c1256738f718966700cffc0fde2f966218b/xdg-6.0.0.tar.gz", hash = "sha256:24278094f2d45e846d1eb28a2ebb92d7b67fc0cab5249ee3ce88c95f649a1c92", size = 3453, upload-time = "2023-02-27T19:27:44.309Z" } | ||
144 | wheels = [ | ||
145 | { url = "https://files.pythonhosted.org/packages/dd/54/3516c1cf349060fc3578686d271eba242f10ec00b4530c2985af9faac49b/xdg-6.0.0-py3-none-any.whl", hash = "sha256:df3510755b4395157fc04fc3b02467c777f3b3ca383257397f09ab0d4c16f936", size = 3855, upload-time = "2023-02-27T19:27:42.151Z" }, | ||
146 | ] | ||