python-package-folder 4.3.2__tar.gz → 4.3.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 (53) hide show
  1. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/PKG-INFO +1 -1
  2. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/pyproject.toml +1 -1
  3. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/python_package_folder/scripts/get-next-version.cjs +27 -42
  4. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/.copier-answers.yml +0 -0
  5. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/.cursor/plans/optional_version_+_semantic-release_efed88a6.plan.md +0 -0
  6. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/.cursor/rules/general.mdc +0 -0
  7. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/.cursor/rules/python.mdc +0 -0
  8. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/.github/workflows/ci.yml +0 -0
  9. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/.github/workflows/publish.yml +0 -0
  10. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/.gitignore +0 -0
  11. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/.vscode/settings.json +0 -0
  12. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/LICENSE +0 -0
  13. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/MANIFEST.in +0 -0
  14. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/Makefile +0 -0
  15. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/README.md +0 -0
  16. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/coverage.svg +0 -0
  17. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/development.md +0 -0
  18. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/installation.md +0 -0
  19. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/publishing.md +0 -0
  20. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/scripts/get-next-version.cjs +0 -0
  21. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/__init__.py +0 -0
  22. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/__main__.py +0 -0
  23. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/_hatch_build.py +0 -0
  24. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/analyzer.py +0 -0
  25. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/finder.py +0 -0
  26. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/manager.py +0 -0
  27. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/publisher.py +0 -0
  28. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/py.typed +0 -0
  29. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/python_package_folder.py +0 -0
  30. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/subfolder_build.py +0 -0
  31. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/types.py +0 -0
  32. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/utils.py +0 -0
  33. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/src/python_package_folder/version.py +0 -0
  34. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/conftest.py +0 -0
  35. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/folder_structure/some_globals.py +0 -0
  36. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/folder_structure/subfolder_to_build/README.md +0 -0
  37. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/folder_structure/subfolder_to_build/__init__.py +0 -0
  38. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/folder_structure/subfolder_to_build/some_function.py +0 -0
  39. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/folder_structure/subfolder_to_build/some_globals.py +0 -0
  40. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/folder_structure/utility_folder/_SS/some_superseded_file.py +0 -0
  41. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/folder_structure/utility_folder/some_utility.py +0 -0
  42. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_build_with_external_deps.py +0 -0
  43. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_linting.py +0 -0
  44. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_preserve_directory_structure.py +0 -0
  45. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_publisher.py +0 -0
  46. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_shared_subdirectory_imports.py +0 -0
  47. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_spreadsheet_creation_imports.py +0 -0
  48. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_subfolder_build.py +0 -0
  49. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_third_party_dependencies.py +0 -0
  50. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_utils.py +0 -0
  51. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/test_version_manager.py +0 -0
  52. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/tests/tests.py +0 -0
  53. {python_package_folder-4.3.2 → python_package_folder-4.3.4}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-package-folder
3
- Version: 4.3.2
3
+ Version: 4.3.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>
@@ -42,7 +42,7 @@ dependencies = [
42
42
 
43
43
  # ---- Dev dependencies ----
44
44
 
45
- version = "4.3.2"
45
+ version = "4.3.4"
46
46
  [dependency-groups]
47
47
  dev = [
48
48
  "pytest>=8.3.5",
@@ -378,20 +378,32 @@ function getGlobalNpmPaths() {
378
378
  let semanticRelease;
379
379
  try {
380
380
  const semanticReleasePath = require.resolve('semantic-release', { paths: resolvePaths });
381
- semanticRelease = require(semanticReleasePath);
381
+ const semanticReleaseModule = require(semanticReleasePath);
382
+ // Handle both CommonJS and ES module exports
383
+ semanticRelease = typeof semanticReleaseModule === 'function'
384
+ ? semanticReleaseModule
385
+ : semanticReleaseModule.default || semanticReleaseModule;
382
386
  } catch (resolveError) {
383
387
  try {
384
388
  // Try with just global paths
385
389
  if (globalNpmPaths.length > 0) {
386
390
  const semanticReleasePath = require.resolve('semantic-release', { paths: globalNpmPaths });
387
- semanticRelease = require(semanticReleasePath);
391
+ const semanticReleaseModule = require(semanticReleasePath);
392
+ // Handle both CommonJS and ES module exports
393
+ semanticRelease = typeof semanticReleaseModule === 'function'
394
+ ? semanticReleaseModule
395
+ : semanticReleaseModule.default || semanticReleaseModule;
388
396
  } else {
389
397
  throw resolveError;
390
398
  }
391
399
  } catch (globalError) {
392
400
  try {
393
401
  // Final fallback: default require (should work if in NODE_PATH or default locations)
394
- semanticRelease = require('semantic-release');
402
+ const semanticReleaseModule = require('semantic-release');
403
+ // Handle both CommonJS and ES module exports
404
+ semanticRelease = typeof semanticReleaseModule === 'function'
405
+ ? semanticReleaseModule
406
+ : semanticReleaseModule.default || semanticReleaseModule;
395
407
  } catch (e) {
396
408
  console.error('Error: semantic-release is not installed.');
397
409
  console.error('Please install it with: npm install -g semantic-release');
@@ -404,48 +416,21 @@ function getGlobalNpmPaths() {
404
416
  }
405
417
  }
406
418
  }
407
-
408
- // For subfolder builds, require semantic-release-commit-filter
409
- // (required only to verify it's installed; the plugin is used via options.plugins)
410
- if (isSubfolderBuild) {
411
- let commitFilterFound = false;
412
- let lastError = null;
413
-
414
- // Try resolving from all paths
415
- for (const tryPath of resolvePaths) {
416
- try {
417
- const commitFilterPath = require.resolve('semantic-release-commit-filter', { paths: [tryPath] });
418
- require(commitFilterPath);
419
- commitFilterFound = true;
420
- break;
421
- } catch (e) {
422
- lastError = e;
423
- continue;
424
- }
425
- }
426
-
427
- // If not found in any path, try default require
428
- if (!commitFilterFound) {
429
- try {
430
- require('semantic-release-commit-filter');
431
- commitFilterFound = true;
432
- } catch (e) {
433
- lastError = e;
434
- }
435
- }
436
-
437
- if (!commitFilterFound) {
438
- console.error('Error: semantic-release-commit-filter is not installed.');
439
- console.error('Please install it with: npm install -g semantic-release-commit-filter');
440
- console.error('Or install it as a devDependency: npm install --save-dev semantic-release-commit-filter');
441
- console.error(`Debug: Tried resolving from paths: ${resolvePaths.join(', ')}`);
442
- if (lastError) {
443
- console.error(`Debug: Last error: ${lastError.message}`);
444
- }
445
- process.exit(1);
419
+
420
+ // Verify semanticRelease is a function
421
+ if (typeof semanticRelease !== 'function') {
422
+ console.error('Error: semantic-release module is not a function.');
423
+ console.error(`Debug: semanticRelease type: ${typeof semanticRelease}`);
424
+ if (semanticRelease && typeof semanticRelease === 'object') {
425
+ console.error(`Debug: semanticRelease keys: ${Object.keys(semanticRelease).join(', ')}`);
446
426
  }
427
+ process.exit(1);
447
428
  }
448
429
 
430
+ // For subfolder builds, semantic-release-commit-filter will be loaded by semantic-release
431
+ // We don't need to check for it upfront - semantic-release handles plugin resolution
432
+ // and will provide clear error messages if the plugin is missing
433
+
449
434
  // Query registry for latest version if repository info is provided
450
435
  let registryVersion = null;
451
436
  if (repository && packageName) {