vocker 0.1.0__tar.gz → 0.3.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.
- vocker-0.3.0/CHANGELOG.md +25 -0
- vocker-0.3.0/MANIFEST.in +2 -0
- {vocker-0.1.0/src/vocker.egg-info → vocker-0.3.0}/PKG-INFO +5 -6
- {vocker-0.1.0 → vocker-0.3.0}/pyproject.toml +5 -6
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/cli.py +1 -2
- vocker-0.3.0/src/vocker/dedup.py +1913 -0
- vocker-0.3.0/src/vocker/dedup_models.py +329 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/repo/io.py +7 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/system.py +64 -34
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/util.py +6 -4
- {vocker-0.1.0 → vocker-0.3.0/src/vocker.egg-info}/PKG-INFO +5 -6
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker.egg-info/requires.txt +2 -3
- {vocker-0.1.0 → vocker-0.3.0}/tests/test_dedup.py +43 -17
- vocker-0.1.0/CHANGELOG.md +0 -11
- vocker-0.1.0/MANIFEST.in +0 -3
- vocker-0.1.0/src/vocker/dedup.py +0 -1676
- vocker-0.1.0/src/vocker/dedup_models.py +0 -174
- {vocker-0.1.0 → vocker-0.3.0}/DESIGN.md +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/README.md +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/setup.cfg +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/setup.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/__init__.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/__main__.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/image.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/integer_to_path.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/multihash.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/py.typed +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/repo/__init__.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/repo/compression.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker/util_models.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker.egg-info/SOURCES.txt +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker.egg-info/dependency_links.txt +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/src/vocker.egg-info/top_level.txt +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/tests/__init__.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/tests/conftest.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/tests/test_image_venv.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/tests/test_integer_to_path.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/tests/test_manifest.py +0 -0
- {vocker-0.1.0 → vocker-0.3.0}/tests/test_repo.py +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.3.0] - 2026-01-27
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Reimplement file deduplication bookkeeping to improve performance by moving most of the
|
|
12
|
+
SQLAlchemy ORM-based logic to SQLAlchemy Core SQL statements. The performance increased by
|
|
13
|
+
a factor of 3.
|
|
14
|
+
|
|
15
|
+
## [0.2.0] - 2025-12-18
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Remove strictyaml dependency and replace with JSON.
|
|
20
|
+
|
|
21
|
+
## [0.1.0] - 2025-12-17
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- Initial version.
|
vocker-0.3.0/MANIFEST.in
ADDED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vocker
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Docker-like manager for virtualenvs
|
|
5
5
|
Author-email: Eduard Christian Dumitrescu <eduard.c.dumitrescu@gmail.com>
|
|
6
6
|
License: General Public License v3
|
|
7
|
-
Project-URL: Homepage, https://hydra.ecd.space/
|
|
8
|
-
Project-URL: Changelog, https://hydra.ecd.space/
|
|
7
|
+
Project-URL: Homepage, https://hydra.ecd.space/ecd/vocker/
|
|
8
|
+
Project-URL: Changelog, https://hydra.ecd.space/ecd/vocker/file?name=CHANGELOG.md&ci=trunk
|
|
9
9
|
Description-Content-Type: text/markdown
|
|
10
10
|
Requires-Dist: atomicwrites
|
|
11
11
|
Requires-Dist: attrs
|
|
@@ -15,10 +15,9 @@ Requires-Dist: filelock
|
|
|
15
15
|
Requires-Dist: immutabledict
|
|
16
16
|
Requires-Dist: marshmallow
|
|
17
17
|
Requires-Dist: platformdirs
|
|
18
|
-
Requires-Dist: sansio_tools>=1
|
|
19
|
-
Requires-Dist: sqlalchemy_boltons>=
|
|
18
|
+
Requires-Dist: sansio_tools>=1
|
|
19
|
+
Requires-Dist: sqlalchemy_boltons>=5
|
|
20
20
|
Requires-Dist: SQLAlchemy
|
|
21
|
-
Requires-Dist: strictyaml
|
|
22
21
|
Requires-Dist: structlog
|
|
23
22
|
Requires-Dist: cbor2
|
|
24
23
|
Provides-Extra: zstandard
|
|
@@ -3,7 +3,7 @@ line-length = 100
|
|
|
3
3
|
|
|
4
4
|
[project]
|
|
5
5
|
name = "vocker"
|
|
6
|
-
version = "0.
|
|
6
|
+
version = "0.3.0"
|
|
7
7
|
description = "Docker-like manager for virtualenvs"
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
license = { text = "General Public License v3" }
|
|
@@ -19,10 +19,9 @@ dependencies = [
|
|
|
19
19
|
"immutabledict",
|
|
20
20
|
"marshmallow",
|
|
21
21
|
"platformdirs",
|
|
22
|
-
"sansio_tools>=1
|
|
23
|
-
"sqlalchemy_boltons>=
|
|
22
|
+
"sansio_tools>=1",
|
|
23
|
+
"sqlalchemy_boltons>=5",
|
|
24
24
|
"SQLAlchemy",
|
|
25
|
-
"strictyaml",
|
|
26
25
|
"structlog",
|
|
27
26
|
"cbor2",
|
|
28
27
|
]
|
|
@@ -36,8 +35,8 @@ tests = [
|
|
|
36
35
|
]
|
|
37
36
|
|
|
38
37
|
[project.urls]
|
|
39
|
-
Homepage = "https://hydra.ecd.space/
|
|
40
|
-
Changelog = "https://hydra.ecd.space/
|
|
38
|
+
Homepage = "https://hydra.ecd.space/ecd/vocker/"
|
|
39
|
+
Changelog = "https://hydra.ecd.space/ecd/vocker/file?name=CHANGELOG.md&ci=trunk"
|
|
41
40
|
|
|
42
41
|
[tool.setuptools.package-data]
|
|
43
42
|
"vocker" = ["py.typed"]
|
|
@@ -170,13 +170,12 @@ repository operation was interrupted (via a crash, an unexpected power loss, or
|
|
|
170
170
|
|
|
171
171
|
if max_age is not None:
|
|
172
172
|
logger.info("Deleting unused files.", data_max_age_seconds=max_age)
|
|
173
|
-
dedup.update_all_orphaned()
|
|
174
173
|
dedup.garbage_collect_dedup_files(max_age)
|
|
175
174
|
|
|
176
175
|
def _info(dedup):
|
|
177
176
|
return {
|
|
178
177
|
"corrupted": [c.to_json() for c in dedup.corrupted_list()],
|
|
179
|
-
"#comments": [
|
|
178
|
+
"#comments": [],
|
|
180
179
|
}
|
|
181
180
|
|
|
182
181
|
result = {"dedup": {k: _info(v) for k, v in d.items()}, "comments": []}
|