python-package-folder 5.2.4__tar.gz → 5.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.
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/PKG-INFO +1 -1
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/coverage.svg +2 -2
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/pyproject.toml +1 -1
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/version_calculator.py +24 -1
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.copier-answers.yml +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.cursor/plans/optional_version_+_semantic-release_efed88a6.plan.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.cursor/plans/replace_node.js_semantic-release_with_custom_python_implementation_64e05e1a.plan.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.cursor/rules/general.mdc +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.cursor/rules/python.mdc +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.github/workflows/ci.yml +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.github/workflows/publish.yml +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.gitignore +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/.vscode/settings.json +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/LICENSE +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/MANIFEST.in +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/Makefile +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/README.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/development.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/docs/DEVELOPMENT.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/docs/INSTALLATION.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/docs/PUBLISHING.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/docs/REFERENCE.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/docs/USAGE.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/docs/VERSION_RESOLUTION.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/installation.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/publishing.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/__init__.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/__main__.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/analyzer.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/finder.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/manager.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/publisher.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/py.typed +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/python_package_folder.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/subfolder_build.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/types.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/utils.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/version.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/conftest.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/folder_structure/some_globals.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/folder_structure/subfolder_to_build/README.md +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/folder_structure/subfolder_to_build/__init__.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/folder_structure/subfolder_to_build/some_function.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/folder_structure/subfolder_to_build/some_globals.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/folder_structure/utility_folder/_SS/some_superseded_file.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/folder_structure/utility_folder/some_utility.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_build_with_external_deps.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_exclude_patterns.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_linting.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_preserve_directory_structure.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_publisher.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_shared_subdirectory_imports.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_spreadsheet_creation_imports.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_subfolder_build.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_third_party_dependencies.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_utils.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_version_calculator.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_version_manager.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/tests.py +0 -0
- {python_package_folder-5.2.4 → python_package_folder-5.3.0}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-package-folder
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.3.0
|
|
4
4
|
Summary: Python package to automatically package and build a folder, fetching all relevant dependencies.
|
|
5
5
|
Project-URL: Repository, https://github.com/alelom/python-package-folder
|
|
6
6
|
Author-email: Alessio Lombardi <work@alelom.com>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
|
15
15
|
<text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
|
|
16
16
|
<text x="31.5" y="14">coverage</text>
|
|
17
|
-
<text x="81" y="15" fill="#010101" fill-opacity=".3">
|
|
18
|
-
<text x="81" y="14">
|
|
17
|
+
<text x="81" y="15" fill="#010101" fill-opacity=".3">66%</text>
|
|
18
|
+
<text x="81" y="14">66%</text>
|
|
19
19
|
</g>
|
|
20
20
|
</svg>
|
|
@@ -820,6 +820,7 @@ def parse_commit_for_bump(commit_message: str) -> str | None:
|
|
|
820
820
|
def calculate_next_version(
|
|
821
821
|
baseline_version: str,
|
|
822
822
|
commits: list[str],
|
|
823
|
+
auto_bump_minor: bool = False,
|
|
823
824
|
) -> str | None:
|
|
824
825
|
"""
|
|
825
826
|
Calculate next version from baseline and commits.
|
|
@@ -827,11 +828,21 @@ def calculate_next_version(
|
|
|
827
828
|
Args:
|
|
828
829
|
baseline_version: Current baseline version (e.g., "1.2.3")
|
|
829
830
|
commits: List of commit messages since baseline
|
|
831
|
+
auto_bump_minor: If True and no conventional commits found, bump minor version
|
|
830
832
|
|
|
831
833
|
Returns:
|
|
832
834
|
Next version string or None if no changes require a version bump
|
|
833
835
|
"""
|
|
834
836
|
if not commits:
|
|
837
|
+
# If no commits and auto_bump_minor is enabled, bump minor version
|
|
838
|
+
if auto_bump_minor:
|
|
839
|
+
try:
|
|
840
|
+
parts = baseline_version.split(".")
|
|
841
|
+
major = int(parts[0])
|
|
842
|
+
minor = int(parts[1]) if len(parts) > 1 else 0
|
|
843
|
+
return f"{major}.{minor + 1}.0"
|
|
844
|
+
except (ValueError, IndexError):
|
|
845
|
+
return None
|
|
835
846
|
return None
|
|
836
847
|
|
|
837
848
|
# Parse each commit to determine bump type
|
|
@@ -842,6 +853,16 @@ def calculate_next_version(
|
|
|
842
853
|
bump_types.append(bump)
|
|
843
854
|
|
|
844
855
|
if not bump_types:
|
|
856
|
+
# No conventional commits found
|
|
857
|
+
# If auto_bump_minor is enabled, bump minor version
|
|
858
|
+
if auto_bump_minor:
|
|
859
|
+
try:
|
|
860
|
+
parts = baseline_version.split(".")
|
|
861
|
+
major = int(parts[0])
|
|
862
|
+
minor = int(parts[1]) if len(parts) > 1 else 0
|
|
863
|
+
return f"{major}.{minor + 1}.0"
|
|
864
|
+
except (ValueError, IndexError):
|
|
865
|
+
return None
|
|
845
866
|
return None
|
|
846
867
|
|
|
847
868
|
# Determine highest bump (major > minor > patch)
|
|
@@ -975,7 +996,9 @@ def resolve_version(
|
|
|
975
996
|
|
|
976
997
|
# Step 5: Calculate next version
|
|
977
998
|
logger.info(f"Calculating next version from baseline {baseline_version} and {len(commits)} commits")
|
|
978
|
-
|
|
999
|
+
# Auto-bump minor version if no conventional commits found (but baseline exists)
|
|
1000
|
+
auto_bump_minor = baseline_version is not None and baseline_version != "0.0.0"
|
|
1001
|
+
next_version = calculate_next_version(baseline_version, commits, auto_bump_minor=auto_bump_minor)
|
|
979
1002
|
|
|
980
1003
|
if next_version:
|
|
981
1004
|
logger.info(f"Calculated next version: {next_version}")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/__init__.py
RENAMED
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/__main__.py
RENAMED
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/analyzer.py
RENAMED
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/finder.py
RENAMED
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/manager.py
RENAMED
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/publisher.py
RENAMED
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/types.py
RENAMED
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/utils.py
RENAMED
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/src/python_package_folder/version.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/folder_structure/some_globals.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_build_with_external_deps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_third_party_dependencies.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_package_folder-5.2.4 → python_package_folder-5.3.0}/tests/test_version_calculator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|