python-update-checker 0.11.0__tar.gz → 1.0.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.
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/PKG-INFO +15 -11
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/README.md +9 -9
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/pyproject.toml +11 -5
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/pyproject.toml.orig +11 -5
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/src/puc/__init__.py +1 -1
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/src/puc/cli.py +5 -3
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/src/puc/pyprojecttoml.py +1 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/data/uv.lock +0 -1
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/.gitignore +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/.ruff.toml +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/Makefile +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/scripts/install_dev.sh +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/src/puc/dependencies.py +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/src/puc/logging.py +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/src/puc/requirementstxt.py +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/src/puc/uvlock.py +4 -4
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/__init__.py +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/data/other-requirements.txt +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/data/pyproject.toml +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/data/pyproject_compatible.toml +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/data/requirements.txt +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/test_latest.py +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/test_pyproject_toml.py +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/test_requirements_txt.py +0 -0
- {python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/test_uv_lock.py +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-update-checker
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
License-Expression: GPL-3.0-only
|
|
5
|
-
Classifier: Development Status ::
|
|
5
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
6
6
|
Classifier: Environment :: Console
|
|
7
7
|
Classifier: Intended Audience :: Developers
|
|
8
8
|
Classifier: Operating System :: OS Independent
|
|
@@ -14,6 +14,10 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
14
14
|
Classifier: Topic :: Software Development :: Build Tools
|
|
15
15
|
Requires-Dist: packaging>=26.1
|
|
16
16
|
Requires-Python: >=3.11
|
|
17
|
+
Project-URL: Changelog, https://github.com/wummel/python-update-checker/blob/main/CHANGELOG.md
|
|
18
|
+
Project-URL: Homepage, https://github.com/wummel/python-update-checker
|
|
19
|
+
Project-URL: Issues, https://github.com/wummel/python-update-checker/issues
|
|
20
|
+
Project-URL: Repository, https://github.com/wummel/python-update-checker.git
|
|
17
21
|
Description-Content-Type: text/markdown
|
|
18
22
|
|
|
19
23
|
# python-update-checker
|
|
@@ -29,6 +33,15 @@ when developing applications.
|
|
|
29
33
|
See [https://github.com/astral-sh/uv/issues/6794] for a discussion
|
|
30
34
|
about different pinning strategies.
|
|
31
35
|
|
|
36
|
+
## Quickstart
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# update dependencies in pyproject.toml to the latest version
|
|
40
|
+
uvx --from python-update-checker puc --exclude-newer="7 days" update pyproject.toml
|
|
41
|
+
# install updated dependencies in virtual environment
|
|
42
|
+
uv sync
|
|
43
|
+
```
|
|
44
|
+
|
|
32
45
|
## Features
|
|
33
46
|
|
|
34
47
|
* updates pinned dependencies, ignores unpinned dependencies
|
|
@@ -43,15 +56,6 @@ about different pinning strategies.
|
|
|
43
56
|
* (limited) support for environment markers, ie. `"pywin32==311; os_name=='nt'"`
|
|
44
57
|
* runs on Linux, MacOS and Windows platforms
|
|
45
58
|
|
|
46
|
-
## Quickstart
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# update dependencies in pyproject.toml to the latest version
|
|
50
|
-
uvx --from python-update-checker puc --exclude-newer="1 day" update pyproject.toml
|
|
51
|
-
# install updated dependencies in virtual environment
|
|
52
|
-
uv sync
|
|
53
|
-
```
|
|
54
|
-
|
|
55
59
|
## Examples
|
|
56
60
|
|
|
57
61
|
```bash
|
|
@@ -11,6 +11,15 @@ when developing applications.
|
|
|
11
11
|
See [https://github.com/astral-sh/uv/issues/6794] for a discussion
|
|
12
12
|
about different pinning strategies.
|
|
13
13
|
|
|
14
|
+
## Quickstart
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# update dependencies in pyproject.toml to the latest version
|
|
18
|
+
uvx --from python-update-checker puc --exclude-newer="7 days" update pyproject.toml
|
|
19
|
+
# install updated dependencies in virtual environment
|
|
20
|
+
uv sync
|
|
21
|
+
```
|
|
22
|
+
|
|
14
23
|
## Features
|
|
15
24
|
|
|
16
25
|
* updates pinned dependencies, ignores unpinned dependencies
|
|
@@ -25,15 +34,6 @@ about different pinning strategies.
|
|
|
25
34
|
* (limited) support for environment markers, ie. `"pywin32==311; os_name=='nt'"`
|
|
26
35
|
* runs on Linux, MacOS and Windows platforms
|
|
27
36
|
|
|
28
|
-
## Quickstart
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# update dependencies in pyproject.toml to the latest version
|
|
32
|
-
uvx --from python-update-checker puc --exclude-newer="1 day" update pyproject.toml
|
|
33
|
-
# install updated dependencies in virtual environment
|
|
34
|
-
uv sync
|
|
35
|
-
```
|
|
36
|
-
|
|
37
37
|
## Examples
|
|
38
38
|
|
|
39
39
|
```bash
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "python-update-checker"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "1.0.0"
|
|
4
4
|
readme = "README.md"
|
|
5
5
|
requires-python = ">=3.11"
|
|
6
6
|
license = "GPL-3.0-only"
|
|
7
7
|
classifiers = [
|
|
8
|
-
"Development Status ::
|
|
8
|
+
"Development Status :: 5 - Production/Stable",
|
|
9
9
|
"Environment :: Console",
|
|
10
10
|
"Intended Audience :: Developers",
|
|
11
11
|
"Operating System :: OS Independent",
|
|
@@ -19,6 +19,12 @@ classifiers = [
|
|
|
19
19
|
dependencies = ["packaging>=26.1"]
|
|
20
20
|
license_files = ["COPYING"]
|
|
21
21
|
|
|
22
|
+
[project.urls]
|
|
23
|
+
Changelog = "https://github.com/wummel/python-update-checker/blob/main/CHANGELOG.md"
|
|
24
|
+
Homepage = "https://github.com/wummel/python-update-checker"
|
|
25
|
+
Issues = "https://github.com/wummel/python-update-checker/issues"
|
|
26
|
+
Repository = "https://github.com/wummel/python-update-checker.git"
|
|
27
|
+
|
|
22
28
|
[project.scripts]
|
|
23
29
|
puc = "puc:cli.main"
|
|
24
30
|
|
|
@@ -28,9 +34,9 @@ dev = [
|
|
|
28
34
|
"pytest==9.1.1",
|
|
29
35
|
"ruff==0.16.5",
|
|
30
36
|
"rumdl==0.2.62",
|
|
31
|
-
"tombi==1.
|
|
37
|
+
"tombi==1.5.0",
|
|
32
38
|
"ty==0.0.75",
|
|
33
|
-
"zizmor==1.
|
|
39
|
+
"zizmor==1.30.0",
|
|
34
40
|
]
|
|
35
41
|
|
|
36
42
|
[build-system]
|
|
@@ -39,7 +45,7 @@ build-backend = "uv_build"
|
|
|
39
45
|
|
|
40
46
|
[tool.project]
|
|
41
47
|
python_version_dev = "3.14.7"
|
|
42
|
-
uv_version_dev = "0.12.
|
|
48
|
+
uv_version_dev = "0.12.10"
|
|
43
49
|
|
|
44
50
|
[tool.uv.build-backend]
|
|
45
51
|
module-name = "puc"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "python-update-checker"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "1.0.0"
|
|
4
4
|
readme = "README.md"
|
|
5
5
|
requires-python = ">=3.11"
|
|
6
6
|
license = "GPL-3.0-only"
|
|
7
7
|
# https://pypi.org/classifiers/
|
|
8
8
|
classifiers = [
|
|
9
|
-
"Development Status ::
|
|
9
|
+
"Development Status :: 5 - Production/Stable",
|
|
10
10
|
"Environment :: Console",
|
|
11
11
|
"Intended Audience :: Developers",
|
|
12
12
|
"Operating System :: OS Independent",
|
|
@@ -25,6 +25,12 @@ license_files = [
|
|
|
25
25
|
"COPYING",
|
|
26
26
|
]
|
|
27
27
|
|
|
28
|
+
[project.urls]
|
|
29
|
+
Changelog = "https://github.com/wummel/python-update-checker/blob/main/CHANGELOG.md"
|
|
30
|
+
Homepage = "https://github.com/wummel/python-update-checker"
|
|
31
|
+
Issues = "https://github.com/wummel/python-update-checker/issues"
|
|
32
|
+
Repository = "https://github.com/wummel/python-update-checker.git"
|
|
33
|
+
|
|
28
34
|
[project.scripts]
|
|
29
35
|
puc = "puc:cli.main"
|
|
30
36
|
|
|
@@ -40,11 +46,11 @@ dev = [
|
|
|
40
46
|
# Markdown style checking and formatting
|
|
41
47
|
"rumdl==0.2.62",
|
|
42
48
|
# reformat toml files
|
|
43
|
-
"tombi==1.
|
|
49
|
+
"tombi==1.5.0",
|
|
44
50
|
# for python type checking
|
|
45
51
|
"ty==0.0.75",
|
|
46
52
|
# for auditing github actions
|
|
47
|
-
"zizmor==1.
|
|
53
|
+
"zizmor==1.30.0",
|
|
48
54
|
]
|
|
49
55
|
|
|
50
56
|
[build-system]
|
|
@@ -54,7 +60,7 @@ build-backend = "uv_build"
|
|
|
54
60
|
[tool.project]
|
|
55
61
|
# pin versions of Python and uv for development
|
|
56
62
|
python_version_dev = "3.14.7"
|
|
57
|
-
uv_version_dev = "0.12.
|
|
63
|
+
uv_version_dev = "0.12.10"
|
|
58
64
|
|
|
59
65
|
[tool.uv.build-backend]
|
|
60
66
|
module-name = "puc"
|
|
@@ -138,9 +138,11 @@ def handle_dependency_file(dep_file: str, optargs, constraint_file):
|
|
|
138
138
|
"""Check a dependency file for updates."""
|
|
139
139
|
if not os.path.isfile(dep_file):
|
|
140
140
|
usage(f"file {dep_file} not found or not a regular file")
|
|
141
|
-
# limit to
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
# limit to 10 MB as a sanity check
|
|
142
|
+
size_bytes = os.stat(dep_file).st_size
|
|
143
|
+
if size_bytes > 10 * 1024 * 1014:
|
|
144
|
+
size_mb = size_bytes / 1024 / 1024
|
|
145
|
+
usage(f"file {dep_file} is too large ({size_mb:.2f} MB)")
|
|
144
146
|
dep_file_normalized = os.path.basename(dep_file).lower()
|
|
145
147
|
if optargs.packages:
|
|
146
148
|
packages = [canonicalize_name(name) for name in optargs.packages]
|
|
@@ -48,6 +48,7 @@ def handle_pyproject_toml(
|
|
|
48
48
|
logger.warning(f"no project defined in {pyproject_path}")
|
|
49
49
|
return updatable
|
|
50
50
|
projectname = project.get("name", None)
|
|
51
|
+
logger.debug(f"found project name {projectname}")
|
|
51
52
|
# project dependencies
|
|
52
53
|
if "dependencies" in project:
|
|
53
54
|
updatable += update_pyproject_dependencies(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -46,10 +46,6 @@ def handle_uv_lock(
|
|
|
46
46
|
if name is None:
|
|
47
47
|
logger.warning(f"missing name in package {uvpackage}")
|
|
48
48
|
continue
|
|
49
|
-
version = uvpackage.get("version", None)
|
|
50
|
-
if version is None:
|
|
51
|
-
logger.warning(f"missing version in package {uvpackage}")
|
|
52
|
-
continue
|
|
53
49
|
# respect package filter
|
|
54
50
|
if packages and canonicalize_name(name) not in packages:
|
|
55
51
|
logger.info(f"skip filtered package {name!r}")
|
|
@@ -71,6 +67,10 @@ def handle_uv_lock(
|
|
|
71
67
|
# skip local packages provided by file path
|
|
72
68
|
logger.info(f"skip path package {name!r}")
|
|
73
69
|
continue
|
|
70
|
+
version = uvpackage.get("version", None)
|
|
71
|
+
if version is None:
|
|
72
|
+
logger.warning(f"missing version in package {uvpackage}")
|
|
73
|
+
continue
|
|
74
74
|
updatable += update_uvlock_dependency(
|
|
75
75
|
name,
|
|
76
76
|
version,
|
|
File without changes
|
{python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/data/other-requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python_update_checker-0.11.0 → python_update_checker-1.0.0}/tests/data/pyproject_compatible.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|