python-package-folder 5.1.3__tar.gz → 5.1.4__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.
Files changed (60) hide show
  1. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/PKG-INFO +1 -1
  2. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/pyproject.toml +1 -1
  3. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/subfolder_build.py +7 -7
  4. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_exclude_patterns.py +28 -0
  5. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.copier-answers.yml +0 -0
  6. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.cursor/plans/optional_version_+_semantic-release_efed88a6.plan.md +0 -0
  7. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.cursor/plans/replace_node.js_semantic-release_with_custom_python_implementation_64e05e1a.plan.md +0 -0
  8. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.cursor/rules/general.mdc +0 -0
  9. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.cursor/rules/python.mdc +0 -0
  10. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.github/workflows/ci.yml +0 -0
  11. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.github/workflows/publish.yml +0 -0
  12. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.gitignore +0 -0
  13. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/.vscode/settings.json +0 -0
  14. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/LICENSE +0 -0
  15. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/MANIFEST.in +0 -0
  16. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/Makefile +0 -0
  17. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/README.md +0 -0
  18. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/coverage.svg +0 -0
  19. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/development.md +0 -0
  20. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/docs/DEVELOPMENT.md +0 -0
  21. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/docs/INSTALLATION.md +0 -0
  22. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/docs/PUBLISHING.md +0 -0
  23. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/docs/REFERENCE.md +0 -0
  24. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/docs/USAGE.md +0 -0
  25. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/docs/VERSION_RESOLUTION.md +0 -0
  26. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/installation.md +0 -0
  27. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/publishing.md +0 -0
  28. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/__init__.py +0 -0
  29. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/__main__.py +0 -0
  30. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/analyzer.py +0 -0
  31. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/finder.py +0 -0
  32. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/manager.py +0 -0
  33. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/publisher.py +0 -0
  34. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/py.typed +0 -0
  35. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/python_package_folder.py +0 -0
  36. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/types.py +0 -0
  37. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/utils.py +0 -0
  38. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/version.py +0 -0
  39. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/src/python_package_folder/version_calculator.py +0 -0
  40. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/conftest.py +0 -0
  41. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/folder_structure/some_globals.py +0 -0
  42. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/folder_structure/subfolder_to_build/README.md +0 -0
  43. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/folder_structure/subfolder_to_build/__init__.py +0 -0
  44. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/folder_structure/subfolder_to_build/some_function.py +0 -0
  45. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/folder_structure/subfolder_to_build/some_globals.py +0 -0
  46. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/folder_structure/utility_folder/_SS/some_superseded_file.py +0 -0
  47. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/folder_structure/utility_folder/some_utility.py +0 -0
  48. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_build_with_external_deps.py +0 -0
  49. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_linting.py +0 -0
  50. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_preserve_directory_structure.py +0 -0
  51. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_publisher.py +0 -0
  52. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_shared_subdirectory_imports.py +0 -0
  53. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_spreadsheet_creation_imports.py +0 -0
  54. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_subfolder_build.py +0 -0
  55. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_third_party_dependencies.py +0 -0
  56. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_utils.py +0 -0
  57. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_version_calculator.py +0 -0
  58. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/test_version_manager.py +0 -0
  59. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/tests/tests.py +0 -0
  60. {python_package_folder-5.1.3 → python_package_folder-5.1.4}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-package-folder
3
- Version: 5.1.3
3
+ Version: 5.1.4
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>
@@ -43,7 +43,7 @@ dependencies = [
43
43
 
44
44
  # ---- Dev dependencies ----
45
45
 
46
- version = "5.1.3"
46
+ version = "5.1.4"
47
47
  [dependency-groups]
48
48
  dev = [
49
49
  "pytest>=8.3.5",
@@ -357,6 +357,13 @@ class SubfolderBuildConfig:
357
357
 
358
358
  original_content = original_pyproject.read_text(encoding="utf-8")
359
359
 
360
+ # Read exclude patterns from root pyproject.toml BEFORE moving the file
361
+ exclude_patterns = read_exclude_patterns(original_pyproject)
362
+ print(
363
+ f"INFO: Read exclude patterns from {original_pyproject}: {exclude_patterns}",
364
+ file=sys.stderr,
365
+ )
366
+
360
367
  # Store reference to original
361
368
  self.original_pyproject_path = original_pyproject
362
369
 
@@ -391,13 +398,6 @@ class SubfolderBuildConfig:
391
398
  file=sys.stderr,
392
399
  )
393
400
 
394
- # Read exclude patterns from root pyproject.toml
395
- exclude_patterns = read_exclude_patterns(original_pyproject)
396
- print(
397
- f"INFO: Read exclude patterns from {original_pyproject}: {exclude_patterns}",
398
- file=sys.stderr,
399
- )
400
-
401
401
  if data:
402
402
  # Modify using parsed data
403
403
  if "project" in data:
@@ -184,3 +184,31 @@ class TestExcludePatternsInBuild:
184
184
  assert ".*_test.*" in content
185
185
 
186
186
  config.restore()
187
+
188
+ def test_exclude_patterns_no_subfolder_toml(self, test_project_with_exclude_patterns: Path) -> None:
189
+ """Test that exclude patterns are read correctly when there's no subfolder pyproject.toml."""
190
+ project_root = test_project_with_exclude_patterns
191
+ src_dir = project_root / "src" / "test_package"
192
+
193
+ # This simulates the scenario where there's no subfolder pyproject.toml
194
+ # and we need to read exclude patterns from the root before it's moved
195
+ config = SubfolderBuildConfig(
196
+ project_root=project_root,
197
+ src_dir=src_dir,
198
+ package_name="test-package",
199
+ version="1.0.0",
200
+ )
201
+
202
+ # Create temporary pyproject.toml (this will read exclude patterns before moving root toml)
203
+ temp_pyproject = config.create_temp_pyproject()
204
+ assert temp_pyproject is not None
205
+
206
+ # Check that exclude patterns are in the temporary pyproject.toml
207
+ content = temp_pyproject.read_text()
208
+ assert "[tool.python-package-folder]" in content
209
+ assert "exclude-patterns" in content
210
+ assert "_SS" in content
211
+ assert ".*_test.*" in content
212
+ assert "sandbox" in content
213
+
214
+ config.restore()