jiggle-version 2.2.0__tar.gz → 2.2.2__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.
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.devcontainer/devcontainer.json +1 -2
- jiggle_version-2.2.2/.gitattributes +27 -0
- jiggle_version-2.2.2/.github/workflows/actions.lock +107 -0
- jiggle_version-2.2.2/.github/workflows/build.yml +37 -0
- jiggle_version-2.2.2/.github/workflows/create_draft_release.yml +32 -0
- jiggle_version-2.2.2/.github/workflows/pages.yml +64 -0
- jiggle_version-2.2.2/.github/workflows/release.yml +129 -0
- jiggle_version-2.2.2/.github/workflows/verify-lockfile.yml +27 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.github/workflows/zizmor.yml +3 -3
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.gitignore +5 -0
- jiggle_version-2.2.2/.jiggle_version.config +2 -0
- jiggle_version-2.2.2/.readthedocs.yaml +13 -0
- jiggle_version-2.2.2/CHANGELOG.md +115 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/Makefile +66 -21
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/PKG-INFO +17 -10
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/README.md +11 -3
- jiggle_version-2.2.2/dead_code/setup.py +13 -0
- jiggle_version-2.2.2/docs/cli.md +46 -0
- jiggle_version-2.2.2/docs/index.md +21 -0
- jiggle_version-2.2.2/docs/requirements.txt +2 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/fetch_raw_data/bump_all.py +2 -2
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/fetch_raw_data/bump_all_directly.py +4 -3
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/fetch_raw_data/pypi_versions.py +6 -5
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/__about__.py +4 -4
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/__main__.py +1 -1
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/central_module_finder.py +5 -6
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/file_inventory.py +6 -7
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/file_opener.py +5 -5
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/find_version_class.py +12 -13
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/jiggle_class.py +4 -7
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/module_finder.py +14 -18
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_package/package_info_finder.py +10 -13
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_version/parse_dunder_version.py +6 -9
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_version/parse_kwarg_version.py +8 -7
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_version/schema_guesser.py +3 -5
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/utils.py +3 -3
- jiggle_version-2.2.2/historical/test/sample_lib/__version__.py +5 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_damanged_versions.py +1 -1
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_find_by_ast.py +0 -1
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_version_schemes.py +1 -2
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_x_package_finder.py +0 -1
- jiggle_version-2.2.2/historical/test/tox_banner.py +3 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/__about__.py +15 -5
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/__main__.py +3 -3
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/auto.py +1 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/bump.py +1 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/config.py +4 -6
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/discover.py +49 -8
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/git.py +1 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/gitignore.py +49 -1
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/parsers/ast_parser.py +1 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/parsers/config_parser.py +4 -6
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/pypi.py +6 -10
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/schemes.py +1 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/update.py +6 -1
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/utils/cli_suggestions.py +14 -1
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/utils/console.py +4 -3
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version_self.py +2 -3
- jiggle_version-2.2.2/landing/assets/css/site.css +2 -0
- jiggle_version-2.2.2/landing/content/_index.md +3 -0
- jiggle_version-2.2.2/landing/hugo.toml +10 -0
- jiggle_version-2.2.2/landing/layouts/_default/baseof.html +11 -0
- jiggle_version-2.2.2/landing/layouts/index.html +20 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/make_prompt.sh +0 -0
- jiggle_version-2.2.2/mkdocs.yml +17 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/pyproject.toml +267 -234
- jiggle_version-2.2.2/sample_projects/dupes_in_dunders/dupes/__version__.py +1 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/sample_src/a.py +0 -1
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/sample_src/setup.py +0 -1
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/ver_in_weird_file/conf.py +6 -8
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/ver_in_weird_file/setup_helpers.py +3 -11
- jiggle_version-2.2.2/sample_projects/ver_in_weird_file/ver_in_weird_file/smtp.py +2 -0
- jiggle_version-2.2.2/scripts/check_local_links.py +70 -0
- jiggle_version-2.2.2/spec/bug-uv-cache-leak.md +120 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/stress_test.py +26 -18
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_discover.py +50 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_main.py +2 -6
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_parsers/test_ast_parser_encoding.py +1 -3
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/tox.ini +1 -2
- jiggle_version-2.2.2/uv.lock +3665 -0
- jiggle_version-2.2.0/.config/.pynt +0 -33
- jiggle_version-2.2.0/.github/workflows/build.yml +0 -46
- jiggle_version-2.2.0/.github/workflows/publish_to_pypi.yml +0 -83
- jiggle_version-2.2.0/.jiggle_version.config +0 -2
- jiggle_version-2.2.0/CHANGELOG.md +0 -71
- jiggle_version-2.2.0/build.py +0 -748
- jiggle_version-2.2.0/codecov +0 -0
- jiggle_version-2.2.0/codecov.SHA256SUM +0 -1
- jiggle_version-2.2.0/codecov.SHA256SUM.sig +0 -16
- jiggle_version-2.2.0/dead_code/Pipfile +0 -39
- jiggle_version-2.2.0/dead_code/Pipfile.lock +0 -1052
- jiggle_version-2.2.0/dead_code/setup.py +0 -11
- jiggle_version-2.2.0/historical/test/sample_lib/__version__.py +0 -5
- jiggle_version-2.2.0/historical/test/tox_banner.py +0 -8
- jiggle_version-2.2.0/sample_projects/dupes_in_dunders/dupes/__version__.py +0 -1
- jiggle_version-2.2.0/sample_projects/ver_in_weird_file/ver_in_weird_file/smtp.py +0 -2
- jiggle_version-2.2.0/uv.lock +0 -4886
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.bandit +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.config/.isort.cfg +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.config/.pylintrc +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.config/.pylintrc_scripts +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.config/.pylintrc_test +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.config/.yamllint +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.devcontainer/Dockerfile +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.env_example +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/.pre-commit-config.yaml +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/LICENSE +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/SECURITY.md +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/dead_code/notes_for_mypyc.md +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/docs/AUTHORS +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/docs/CODE_OF_CONDUCT.md +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/docs/ChangeLog +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/docs/design_philosophy.md +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/docs/prior_art.md +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/docs/todo.md +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/docs/usage_example/single_module_example/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/docs/usage_example/usage.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/fetch_raw_data/.gitignore +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/fetch_raw_data/decomp.sh +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/fetch_raw_data/get_file.sh +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/commands.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/file_makers.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/find_modules_function.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_package/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_package/find_version_by_package.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_python/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_python/is_this_okay.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/parse_version/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/jiggle_version/version_lint.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/go.sh +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/sample_lib/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_command_line.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_jiggle_class.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_main.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_parse_dunder_version.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_parse_kwarg_version.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_pep440.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_strings/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_taggint.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/historical/test/test_zcentral_module_finder.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/parsers/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/py.typed +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/utils/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/utils/files.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/jiggle_version/utils/logging_config.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/double_module/.gitignore +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/double_module/bar/.gitignore +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/double_module/bar/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/double_module/execise_foo.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/double_module/foo/.gitignore +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/double_module/foo/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/double_module/setup.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/dupes_in_dunders/dupes/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/file_module_src/.gitignore +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/file_module_src/exercise_me.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/file_module_src/file_module.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/file_module_src/setup.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/file_module_ver_in_file/.gitignore +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/file_module_ver_in_file/exercise_me.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/file_module_ver_in_file/file_module.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/file_module_ver_in_file/setup.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/init_project/some_thing/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/sample_src/.gitignore +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/sample_src/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/setup_only/.gitignore +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/setup_only/setup.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/ver_in_weird_file/setup.cfg +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/ver_in_weird_file/setup.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/ver_in_weird_file/ver_in_weird_file/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/with_unlikely_modules/setup.cfg +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/with_unlikely_modules/setup.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/with_unlikely_modules/test/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/sample_projects/with_unlikely_modules/thing/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/scripts/basic_checks.sh +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/scripts/integration_test.sh +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/scripts/make_prompt.sh +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/scripts/make_source.sh +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/spec/vnext.md +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_auto.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_config.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_discover_permission.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_git.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_gitignore.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_hypothesis_properties.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_parsers/__init__.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_parsers/test_ast_parser.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_parsers/test_config_parser.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_schemes.py +0 -0
- {jiggle_version-2.2.0 → jiggle_version-2.2.2}/test/test_update.py +0 -0
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
// "forwardPorts": [],
|
|
44
44
|
|
|
45
45
|
// Use 'postCreateCommand' to run commands after the container is created.
|
|
46
|
-
"postCreateCommand": "
|
|
46
|
+
"postCreateCommand": "pip install uv && uv sync --all-extras",
|
|
47
47
|
|
|
48
48
|
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
|
49
49
|
"remoteUser": "vscode",
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
"ghcr.io/devcontainers-contrib/features/black:2": {},
|
|
57
57
|
"ghcr.io/devcontainers-contrib/features/coverage-py:2": {},
|
|
58
58
|
"ghcr.io/devcontainers-contrib/features/isort:2": {},
|
|
59
|
-
"ghcr.io/devcontainers-contrib/features/pipenv:2": {},
|
|
60
59
|
"ghcr.io/devcontainers-contrib/features/pylint:2": {}
|
|
61
60
|
}
|
|
62
61
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Normalize line endings: store as LF in the repo, check out native on each OS.
|
|
2
|
+
* text=auto
|
|
3
|
+
|
|
4
|
+
# Files that break with CRLF must always be LF, even on Windows checkouts.
|
|
5
|
+
*.sh text eol=lf
|
|
6
|
+
*.bash text eol=lf
|
|
7
|
+
Dockerfile* text eol=lf
|
|
8
|
+
*.dockerfile text eol=lf
|
|
9
|
+
|
|
10
|
+
# Windows-only scripts stay CRLF.
|
|
11
|
+
*.bat text eol=crlf
|
|
12
|
+
*.cmd text eol=crlf
|
|
13
|
+
*.ps1 text eol=crlf
|
|
14
|
+
|
|
15
|
+
# Common binaries: never touch.
|
|
16
|
+
*.png binary
|
|
17
|
+
*.jpg binary
|
|
18
|
+
*.jpeg binary
|
|
19
|
+
*.gif binary
|
|
20
|
+
*.ico binary
|
|
21
|
+
*.pdf binary
|
|
22
|
+
*.zip binary
|
|
23
|
+
*.gz binary
|
|
24
|
+
*.woff binary
|
|
25
|
+
*.woff2 binary
|
|
26
|
+
*.ttf binary
|
|
27
|
+
*.eot binary
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# This file is machine-generated by `gh actions-lock`.
|
|
2
|
+
# Do not edit by hand; run `gh actions-lock` to update.
|
|
3
|
+
# Docs: https://gh.io/actions-lockfile
|
|
4
|
+
version: 'v0.0.3'
|
|
5
|
+
workflows:
|
|
6
|
+
'.github/workflows/build.yml':
|
|
7
|
+
- 'actions/checkout@v7.0.1'
|
|
8
|
+
- 'actions/setup-python@v7.0.0'
|
|
9
|
+
'.github/workflows/create_draft_release.yml':
|
|
10
|
+
- 'actions/checkout@v7.0.1'
|
|
11
|
+
- 'actions/setup-python@v7.0.0'
|
|
12
|
+
- 'astral-sh/setup-uv@v10.3.0'
|
|
13
|
+
'.github/workflows/pages.yml':
|
|
14
|
+
- 'actions/checkout@v7.0.1'
|
|
15
|
+
- 'actions/deploy-pages@v5.0.1'
|
|
16
|
+
- 'actions/upload-pages-artifact@v5.0.0'
|
|
17
|
+
'.github/workflows/release.yml':
|
|
18
|
+
- 'actions/checkout@v7.0.1'
|
|
19
|
+
- 'actions/download-artifact@v8.0.2'
|
|
20
|
+
- 'actions/setup-python@v7.0.0'
|
|
21
|
+
- 'actions/upload-artifact@v7.0.2'
|
|
22
|
+
- 'astral-sh/setup-uv@v10.3.0'
|
|
23
|
+
- 'pypa/gh-action-pypi-publish@v1.14.2'
|
|
24
|
+
'.github/workflows/verify-lockfile.yml':
|
|
25
|
+
- 'actions/checkout@v7.0.1'
|
|
26
|
+
'.github/workflows/zizmor.yml':
|
|
27
|
+
- 'actions/checkout@v7.0.1'
|
|
28
|
+
- 'github/codeql-action@v4.38.3'
|
|
29
|
+
- 'hynek/setup-cached-uv@v2.6.0'
|
|
30
|
+
dependencies:
|
|
31
|
+
'actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9':
|
|
32
|
+
ref: 'v6.1.0'
|
|
33
|
+
commit: 'sha1-55cc8345863c7cc4c66a329aec7e433d2d1c52a9'
|
|
34
|
+
owner_id: 44036562
|
|
35
|
+
repo_id: 215566462
|
|
36
|
+
'actions/checkout@v7.0.1':
|
|
37
|
+
ref: 'v7.0.1'
|
|
38
|
+
commit: 'sha1-3d3c42e5aac5ba805825da76410c181273ba90b1'
|
|
39
|
+
owner_id: 44036562
|
|
40
|
+
repo_id: 197814629
|
|
41
|
+
'actions/deploy-pages@v5.0.1':
|
|
42
|
+
ref: 'v5.0.1'
|
|
43
|
+
commit: 'sha1-368f82528645a54fb793d4d04e342629a3f51346'
|
|
44
|
+
owner_id: 44036562
|
|
45
|
+
repo_id: 438112499
|
|
46
|
+
'actions/download-artifact@v8.0.2':
|
|
47
|
+
ref: 'v8.0.2'
|
|
48
|
+
commit: 'sha1-9000827ccba6bdab643e8b6fd33ac0654aef8333'
|
|
49
|
+
owner_id: 44036562
|
|
50
|
+
repo_id: 192626254
|
|
51
|
+
'actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405':
|
|
52
|
+
ref: 'v6.2.0'
|
|
53
|
+
commit: 'sha1-a309ff8b426b58ec0e2a45f0f869d46889d02405'
|
|
54
|
+
owner_id: 44036562
|
|
55
|
+
repo_id: 192625525
|
|
56
|
+
'actions/setup-python@v7.0.0':
|
|
57
|
+
ref: 'v7.0.0'
|
|
58
|
+
commit: 'sha1-5fda3b95a4ea91299a34e894583c3862153e4b97'
|
|
59
|
+
owner_id: 44036562
|
|
60
|
+
repo_id: 192625525
|
|
61
|
+
'actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f':
|
|
62
|
+
ref: 'v7.0.0'
|
|
63
|
+
commit: 'sha1-bbbca2ddaa5d8feaa63e36b76fdaad77386f024f'
|
|
64
|
+
owner_id: 44036562
|
|
65
|
+
repo_id: 192625955
|
|
66
|
+
'actions/upload-artifact@v7.0.2':
|
|
67
|
+
ref: 'v7.0.2'
|
|
68
|
+
commit: 'sha1-cf430e030ddbb5b0abf93d22962f4752f3646cd9'
|
|
69
|
+
owner_id: 44036562
|
|
70
|
+
repo_id: 192625955
|
|
71
|
+
'actions/upload-pages-artifact@v5.0.0':
|
|
72
|
+
ref: 'v5.0.0'
|
|
73
|
+
commit: 'sha1-fc324d3547104276b827a68afc52ff2a11cc49c9'
|
|
74
|
+
owner_id: 44036562
|
|
75
|
+
repo_id: 496012378
|
|
76
|
+
uses:
|
|
77
|
+
- 'actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f'
|
|
78
|
+
'astral-sh/setup-uv@v10.3.0':
|
|
79
|
+
ref: 'v10.3.0'
|
|
80
|
+
commit: 'sha1-1c37ad07a6a961277cf70c0d37d6f313000f5884'
|
|
81
|
+
owner_id: 115962839
|
|
82
|
+
repo_id: 846733598
|
|
83
|
+
'gacts/run-and-post-run@598d7a875d5620e0457490555b5e18e46082aa47':
|
|
84
|
+
ref: 'v1.4.4'
|
|
85
|
+
commit: 'sha1-598d7a875d5620e0457490555b5e18e46082aa47'
|
|
86
|
+
owner_id: 56696274
|
|
87
|
+
repo_id: 617991574
|
|
88
|
+
'github/codeql-action@v4.38.3':
|
|
89
|
+
ref: 'v4.38.3'
|
|
90
|
+
commit: 'sha1-24c54180a607b1449ed407dd24f251e4e9147c8d'
|
|
91
|
+
owner_id: 9919
|
|
92
|
+
repo_id: 259445878
|
|
93
|
+
'hynek/setup-cached-uv@v2.6.0':
|
|
94
|
+
ref: 'v2.6.0'
|
|
95
|
+
commit: 'sha1-34e35d30f1ebc7421a5cc733bca38dcc62603960'
|
|
96
|
+
owner_id: 41240
|
|
97
|
+
repo_id: 779953216
|
|
98
|
+
uses:
|
|
99
|
+
- 'actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9'
|
|
100
|
+
- 'gacts/run-and-post-run@598d7a875d5620e0457490555b5e18e46082aa47'
|
|
101
|
+
'pypa/gh-action-pypi-publish@v1.14.2':
|
|
102
|
+
ref: 'v1.14.2'
|
|
103
|
+
commit: 'sha1-dc37677b2e1c63e2034f94d8a5b11f265b73ba33'
|
|
104
|
+
owner_id: 647025
|
|
105
|
+
repo_id: 178055147
|
|
106
|
+
uses:
|
|
107
|
+
- 'actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405'
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: Build and Test
|
|
2
|
+
|
|
3
|
+
on: [ push ]
|
|
4
|
+
|
|
5
|
+
permissions:
|
|
6
|
+
contents: read
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v7.0.1
|
|
14
|
+
with:
|
|
15
|
+
persist-credentials: false
|
|
16
|
+
|
|
17
|
+
- uses: actions/setup-python@v7.0.0
|
|
18
|
+
with:
|
|
19
|
+
python-version: '3.14'
|
|
20
|
+
|
|
21
|
+
- name: Install uv and pipx
|
|
22
|
+
run: |
|
|
23
|
+
pip install uv && pip install pipx
|
|
24
|
+
|
|
25
|
+
- name: Install global dependencies
|
|
26
|
+
run: |
|
|
27
|
+
pipx install uv && pipx install "coderoller" && \
|
|
28
|
+
pipx install isort && pipx install black && pipx install bandit && \
|
|
29
|
+
pipx install pylint && pipx install poetry && pipx install hatch
|
|
30
|
+
|
|
31
|
+
- name: Install Dependencies
|
|
32
|
+
run: uv sync
|
|
33
|
+
|
|
34
|
+
- name: Run make check
|
|
35
|
+
run: chmod +x *.sh && uv run make check
|
|
36
|
+
|
|
37
|
+
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Create Draft Release
|
|
3
|
+
concurrency: changelog
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
jobs:
|
|
11
|
+
release:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v7.0.1
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
persist-credentials: false
|
|
20
|
+
- name: Setup Python 3.14
|
|
21
|
+
uses: actions/setup-python@v7.0.0
|
|
22
|
+
with: {python-version: '3.14'}
|
|
23
|
+
- name: Set up uv
|
|
24
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
25
|
+
with:
|
|
26
|
+
enable-cache: true
|
|
27
|
+
- name: Sync dependencies
|
|
28
|
+
run: uv sync --frozen --group dev
|
|
29
|
+
- name: Creating Draft release
|
|
30
|
+
env:
|
|
31
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
32
|
+
run: uv run kaclm github-release --repository ${{ github.repository }}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: Landing page to GitHub Pages
|
|
2
|
+
|
|
3
|
+
# Pages source: GitHub Actions. Documentation is built separately on Read the Docs.
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
paths:
|
|
8
|
+
- "landing/**"
|
|
9
|
+
- ".github/workflows/pages.yml"
|
|
10
|
+
pull_request:
|
|
11
|
+
paths:
|
|
12
|
+
- "landing/**"
|
|
13
|
+
- ".github/workflows/pages.yml"
|
|
14
|
+
workflow_dispatch:
|
|
15
|
+
|
|
16
|
+
permissions:
|
|
17
|
+
contents: read
|
|
18
|
+
|
|
19
|
+
concurrency:
|
|
20
|
+
group: jiggle-version-pages
|
|
21
|
+
cancel-in-progress: false
|
|
22
|
+
|
|
23
|
+
env:
|
|
24
|
+
HUGO_VERSION: "0.164.0"
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
build:
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
timeout-minutes: 10
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v7.0.1
|
|
32
|
+
with:
|
|
33
|
+
persist-credentials: false
|
|
34
|
+
|
|
35
|
+
- name: Install Hugo (extended)
|
|
36
|
+
run: |
|
|
37
|
+
curl --fail --silent --show-error --location --output "$RUNNER_TEMP/hugo.deb" \
|
|
38
|
+
"https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb"
|
|
39
|
+
echo "8325f3653032d0fc536503691f4833dc4eb6c6be02ee62466758f3f37a7f2fcd $RUNNER_TEMP/hugo.deb" | sha256sum --check
|
|
40
|
+
sudo dpkg -i "$RUNNER_TEMP/hugo.deb"
|
|
41
|
+
|
|
42
|
+
- name: Build landing page
|
|
43
|
+
run: hugo --source landing --minify --gc
|
|
44
|
+
|
|
45
|
+
- name: Upload Pages artifact
|
|
46
|
+
uses: actions/upload-pages-artifact@v5.0.0
|
|
47
|
+
with:
|
|
48
|
+
path: landing/public
|
|
49
|
+
|
|
50
|
+
deploy:
|
|
51
|
+
if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
|
|
52
|
+
needs: build
|
|
53
|
+
runs-on: ubuntu-latest
|
|
54
|
+
timeout-minutes: 10
|
|
55
|
+
permissions:
|
|
56
|
+
pages: write
|
|
57
|
+
id-token: write
|
|
58
|
+
environment:
|
|
59
|
+
name: github-pages
|
|
60
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
61
|
+
steps:
|
|
62
|
+
- name: Deploy to GitHub Pages
|
|
63
|
+
id: deployment
|
|
64
|
+
uses: actions/deploy-pages@v5.0.1
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Release
|
|
3
|
+
concurrency: changelog
|
|
4
|
+
on:
|
|
5
|
+
release:
|
|
6
|
+
types: [released]
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
jobs:
|
|
10
|
+
bump:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: write
|
|
14
|
+
pull-requests: write
|
|
15
|
+
outputs:
|
|
16
|
+
branch: ${{ steps.release.outputs.branch }}
|
|
17
|
+
version: ${{ steps.release.outputs.version }}
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v7.0.1
|
|
20
|
+
with:
|
|
21
|
+
ref: ${{ github.event.release.target_commitish }}
|
|
22
|
+
fetch-depth: 0
|
|
23
|
+
persist-credentials: false
|
|
24
|
+
- name: Set up Python 3.14
|
|
25
|
+
uses: actions/setup-python@v7.0.0
|
|
26
|
+
with: {python-version: '3.14'}
|
|
27
|
+
- name: Set up uv
|
|
28
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
29
|
+
with:
|
|
30
|
+
enable-cache: false
|
|
31
|
+
- name: Sync dependencies
|
|
32
|
+
run: uv sync --frozen --group dev
|
|
33
|
+
- name: Configure git author
|
|
34
|
+
run: |
|
|
35
|
+
git config user.name "github-actions[bot]"
|
|
36
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
37
|
+
|
|
38
|
+
- name: Bump, commit, push branch and open PR
|
|
39
|
+
id: release
|
|
40
|
+
env:
|
|
41
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
42
|
+
RELEASE_VERSION: ${{ github.event.release.tag_name }}
|
|
43
|
+
RELEASE_ID: ${{ github.event.release.id }}
|
|
44
|
+
BASE_BRANCH: ${{ github.event.release.target_commitish }}
|
|
45
|
+
REPO: ${{ github.repository }}
|
|
46
|
+
run: |
|
|
47
|
+
# One command does everything the bump job used to do in shell:
|
|
48
|
+
# bump changelog + version files, branch, [skip ci] commit,
|
|
49
|
+
# --force-with-lease push, and open the release PR. The [skip ci]
|
|
50
|
+
# decision follows [defaults].skip_ci (default true).
|
|
51
|
+
git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${REPO}.git"
|
|
52
|
+
VERSION="${RELEASE_VERSION#v}"
|
|
53
|
+
# --json is a global flag, so it must precede the `release-bump`
|
|
54
|
+
# subcommand (argparse rejects it if placed after).
|
|
55
|
+
uv run kaclm --json release-bump \
|
|
56
|
+
--version "$VERSION" \
|
|
57
|
+
--base "$BASE_BRANCH" \
|
|
58
|
+
--release-id "$RELEASE_ID" \
|
|
59
|
+
--repository "$REPO" \
|
|
60
|
+
--open-pr \
|
|
61
|
+
--title "chore: release ${VERSION}" \
|
|
62
|
+
--body "Automated release PR for ${VERSION}. Merge once the PyPI publish succeeds." \
|
|
63
|
+
--yes > release-bump.json
|
|
64
|
+
echo "version=$(python -c "import json;print(json.load(open('release-bump.json'))['version'])")" >> "$GITHUB_OUTPUT"
|
|
65
|
+
echo "branch=$(python -c "import json;print(json.load(open('release-bump.json'))['branch'])")" >> "$GITHUB_OUTPUT"
|
|
66
|
+
build:
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
needs: bump
|
|
69
|
+
steps:
|
|
70
|
+
- uses: actions/checkout@v7.0.1
|
|
71
|
+
with:
|
|
72
|
+
ref: ${{ needs.bump.outputs.branch }}
|
|
73
|
+
fetch-depth: 0
|
|
74
|
+
persist-credentials: false
|
|
75
|
+
- name: Set up Python 3.14
|
|
76
|
+
uses: actions/setup-python@v7.0.0
|
|
77
|
+
with: {python-version: '3.14'}
|
|
78
|
+
- name: Set up uv
|
|
79
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
80
|
+
with:
|
|
81
|
+
enable-cache: false
|
|
82
|
+
- name: Sync dependencies
|
|
83
|
+
run: uv sync --frozen
|
|
84
|
+
- name: Build
|
|
85
|
+
run: uv build --no-sources
|
|
86
|
+
# Fail before uploading: the publish action's bundled twine rejects
|
|
87
|
+
# metadata it cannot parse (e.g. Metadata-Version 2.5 from hatchling),
|
|
88
|
+
# which otherwise only surfaces after the release is already tagged.
|
|
89
|
+
- name: Validate distribution metadata
|
|
90
|
+
run: uv run --with 'twine>=7' twine check --strict dist/*
|
|
91
|
+
- name: Verify dist version matches release
|
|
92
|
+
env:
|
|
93
|
+
EXPECTED: ${{ needs.bump.outputs.version }}
|
|
94
|
+
run: |
|
|
95
|
+
WHEEL=$(ls dist/*.whl 2>/dev/null | head -1)
|
|
96
|
+
if [ -z "$WHEEL" ]; then
|
|
97
|
+
echo "::error::No wheel found in dist/"
|
|
98
|
+
exit 1
|
|
99
|
+
fi
|
|
100
|
+
if ! echo "$WHEEL" | grep -q "${EXPECTED}"; then
|
|
101
|
+
echo "::error::Wheel ${WHEEL} does not contain expected version ${EXPECTED}"
|
|
102
|
+
exit 1
|
|
103
|
+
fi
|
|
104
|
+
echo "Verified: ${WHEEL} matches version ${EXPECTED}"
|
|
105
|
+
- name: Upload artifact
|
|
106
|
+
uses: actions/upload-artifact@v7.0.2
|
|
107
|
+
with:
|
|
108
|
+
name: packages
|
|
109
|
+
path: dist/
|
|
110
|
+
if-no-files-found: error
|
|
111
|
+
retention-days: 1
|
|
112
|
+
publish:
|
|
113
|
+
runs-on: ubuntu-latest
|
|
114
|
+
needs: build
|
|
115
|
+
permissions:
|
|
116
|
+
id-token: write
|
|
117
|
+
environment:
|
|
118
|
+
name: pypi
|
|
119
|
+
url: https://pypi.org/p/jiggle-version
|
|
120
|
+
steps:
|
|
121
|
+
- name: Download artifact
|
|
122
|
+
uses: actions/download-artifact@v8.0.2
|
|
123
|
+
with:
|
|
124
|
+
name: packages
|
|
125
|
+
path: dist/
|
|
126
|
+
- name: Publish to PyPI
|
|
127
|
+
uses: pypa/gh-action-pypi-publish@v1.14.2
|
|
128
|
+
with:
|
|
129
|
+
verbose: 'true'
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: Verify Actions lockfile
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
verify:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
timeout-minutes: 10
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v7.0.1
|
|
18
|
+
with:
|
|
19
|
+
persist-credentials: false
|
|
20
|
+
- name: Install Actions lockfile verifier
|
|
21
|
+
run: gh extension install github/gh-actions-lock --pin v0.4.1
|
|
22
|
+
env:
|
|
23
|
+
GH_TOKEN: ${{ github.token }}
|
|
24
|
+
- name: Verify workflow dependency locks
|
|
25
|
+
run: gh actions-lock --verify
|
|
26
|
+
env:
|
|
27
|
+
GH_TOKEN: ${{ github.token }}
|
|
@@ -23,12 +23,12 @@ jobs:
|
|
|
23
23
|
security-events: write
|
|
24
24
|
steps:
|
|
25
25
|
- name: Checkout repository
|
|
26
|
-
uses: actions/checkout@
|
|
26
|
+
uses: actions/checkout@v7.0.1
|
|
27
27
|
with:
|
|
28
28
|
persist-credentials: false
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
- uses: hynek/setup-cached-uv@
|
|
31
|
+
- uses: hynek/setup-cached-uv@v2.6.0
|
|
32
32
|
|
|
33
33
|
- name: Run zizmor 🌈
|
|
34
34
|
run: uvx zizmor --format sarif . > results.sarif
|
|
@@ -36,7 +36,7 @@ jobs:
|
|
|
36
36
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
37
37
|
|
|
38
38
|
- name: Upload SARIF file
|
|
39
|
-
uses: github/codeql-action/upload-sarif@
|
|
39
|
+
uses: github/codeql-action/upload-sarif@v4.38.3
|
|
40
40
|
with:
|
|
41
41
|
# Path to SARIF file relative to the root of the repository
|
|
42
42
|
sarif_file: results.sarif
|
|
@@ -84,11 +84,13 @@ celerybeat-schedule
|
|
|
84
84
|
# Environments
|
|
85
85
|
.env
|
|
86
86
|
.venv
|
|
87
|
+
.venv*/
|
|
87
88
|
env/
|
|
88
89
|
venv/
|
|
89
90
|
ENV/
|
|
90
91
|
env.bak/
|
|
91
92
|
venv.bak/
|
|
93
|
+
.build/
|
|
92
94
|
|
|
93
95
|
# Spyder project settings
|
|
94
96
|
.spyderproject
|
|
@@ -99,6 +101,9 @@ venv.bak/
|
|
|
99
101
|
|
|
100
102
|
# mkdocs documentation
|
|
101
103
|
/site
|
|
104
|
+
/landing/public/
|
|
105
|
+
/landing/resources/
|
|
106
|
+
/landing/.hugo_build.lock
|
|
102
107
|
|
|
103
108
|
# mypy
|
|
104
109
|
.mypy_cache/
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
All notable changes to this project will be documented in this file.
|
|
3
|
+
|
|
4
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
5
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
## [2.2.2] - 2026-11-15
|
|
8
|
+
### Changed
|
|
9
|
+
- Requires Python 3.11 or newer; Python 3.9-3.10 are no longer supported.
|
|
10
|
+
|
|
11
|
+
## [2.2.1] - 2026-07-04
|
|
12
|
+
### Fixed
|
|
13
|
+
- Version discovery now honors nested `.gitignore` files and skips directories tagged with a `CACHEDIR.TAG` marker, so project-local caches (e.g. uv's `./.uv/`) no longer leak installed-package version files and cause false version-conflict errors.
|
|
14
|
+
|
|
15
|
+
## [2.2.0] - 2026-05-24
|
|
16
|
+
### Added
|
|
17
|
+
- Git tag checking via `check --git-tag` command: compares the agreed source version against the most recent git tag reachable from HEAD (`git describe --tags --abbrev=0`). A leading `v`/`V` is stripped before comparison. Exits `102` on mismatch; exits `0` with an informational note when no tags exist. Opt-in flag; existing pipelines are unaffected.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Version discovery no longer walks into virtual-environment roots. Any directory containing a `pyvenv.cfg` file (the standard venv marker written by pip, uv, and virtualenv) is skipped entirely, eliminating false version-conflict errors from installed-package `_version.py` / `__version__.py` files in ad-hoc venvs not covered by `.gitignore`. `site-packages` and `node_modules` are also added to the unconditional prune list.
|
|
21
|
+
|
|
22
|
+
## [2.1.1] - 2026-03-27
|
|
23
|
+
### Added
|
|
24
|
+
- Quiet option
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- UTF-8 error on printing output
|
|
28
|
+
|
|
29
|
+
## [2.1.0] - 2025-10-20
|
|
30
|
+
### Added
|
|
31
|
+
- Python 3.14 support
|
|
32
|
+
- Checks PyPI to see if current version is published. Skips bump if version is unpublished to avoid version number gaps when running on every Makefile or Justfile invocation.
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- Missing packaging library dependency
|
|
36
|
+
|
|
37
|
+
## [2.0.1] - 2025-10-06
|
|
38
|
+
### Fixed
|
|
39
|
+
- Missing dependency in pyproject.toml
|
|
40
|
+
|
|
41
|
+
## [2.0.0] - 2025-10-06
|
|
42
|
+
### Added
|
|
43
|
+
- 100% code rewrite with new commands
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- Command signature changed
|
|
47
|
+
|
|
48
|
+
### Removed
|
|
49
|
+
- Removed current command, replaced with others
|
|
50
|
+
|
|
51
|
+
## [1.2.0] - 2025-10-05
|
|
52
|
+
### Added
|
|
53
|
+
- Python 3.14 compatibility
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
- Replace die() utility with JiggleVersionException for cleaner error propagation
|
|
57
|
+
- Switch version metadata to __about__.py and use Path-based arguments internally
|
|
58
|
+
- Fix keyword typo in package metadata (verision-numbers → version-numbers)
|
|
59
|
+
|
|
60
|
+
## [1.1.0] - 2023-05-28
|
|
61
|
+
### Added
|
|
62
|
+
- Update to Python 3.11 and Actions
|
|
63
|
+
- MyPyC compilation support
|
|
64
|
+
|
|
65
|
+
### Changed
|
|
66
|
+
- Build script improvements
|
|
67
|
+
|
|
68
|
+
## [1.0.77] - 2021-12-11
|
|
69
|
+
### Added
|
|
70
|
+
- Vendor versio library (comparable_mixin, version, version_scheme) to support version comparison logic
|
|
71
|
+
|
|
72
|
+
## [1.0.76] - 2021-12-06
|
|
73
|
+
### Added
|
|
74
|
+
- New build script
|
|
75
|
+
|
|
76
|
+
### Changed
|
|
77
|
+
- Documentation improvements
|
|
78
|
+
|
|
79
|
+
## [1.0.71] - 2020-05-23
|
|
80
|
+
### Fixed
|
|
81
|
+
- Close file handles
|
|
82
|
+
|
|
83
|
+
## [1.0.70] - 2020-02-09
|
|
84
|
+
### Added
|
|
85
|
+
- Python 3 only support
|
|
86
|
+
|
|
87
|
+
### Fixed
|
|
88
|
+
- Fix formatting issues
|
|
89
|
+
|
|
90
|
+
## [1.0.68] - 2019-01-11
|
|
91
|
+
### Added
|
|
92
|
+
- Force choice of module option
|
|
93
|
+
- Init feature for version file initialization
|
|
94
|
+
|
|
95
|
+
### Fixed
|
|
96
|
+
- Fix bug causing incorrect behavior on certain path configurations
|
|
97
|
+
- Remove extraneous PyCharm IDE files accidentally included in the PyPI distribution
|
|
98
|
+
|
|
99
|
+
## [0.1.2] - 2025-10-05
|
|
100
|
+
### Fixed
|
|
101
|
+
- Python 3.13 support
|
|
102
|
+
- Last version before complete rewrite
|
|
103
|
+
|
|
104
|
+
[2.2.0]: https://github.com/matthewdeanmartin/jiggle_version/compare/v2.1.1...v2.2.0
|
|
105
|
+
[2.1.1]: https://github.com/matthewdeanmartin/jiggle_version/compare/v2.1.0...v2.1.1
|
|
106
|
+
[2.1.0]: https://github.com/matthewdeanmartin/jiggle_version/compare/v2.0.1...v2.1.0
|
|
107
|
+
[2.0.1]: https://github.com/matthewdeanmartin/jiggle_version/compare/v2.0.0...v2.0.1
|
|
108
|
+
[2.0.0]: https://github.com/matthewdeanmartin/jiggle_version/compare/v1.2.0...v2.0.0
|
|
109
|
+
[1.2.0]: https://github.com/matthewdeanmartin/jiggle_version/compare/v1.1.0...v1.2.0
|
|
110
|
+
[1.1.0]: https://github.com/matthewdeanmartin/jiggle_version/compare/v1.0.77...v1.1.0
|
|
111
|
+
[1.0.77]: https://github.com/matthewdeanmartin/jiggle_version/compare/v1.0.76...v1.0.77
|
|
112
|
+
[1.0.76]: https://github.com/matthewdeanmartin/jiggle_version/compare/v1.0.71...v1.0.76
|
|
113
|
+
[1.0.71]: https://github.com/matthewdeanmartin/jiggle_version/compare/v1.0.70...v1.0.71
|
|
114
|
+
[1.0.70]: https://github.com/matthewdeanmartin/jiggle_version/compare/v1.0.68...v1.0.70
|
|
115
|
+
[1.0.68]: https://github.com/matthewdeanmartin/jiggle_version/releases/tag/v1.0.68
|