Skip to content

Releases: alelom/python-package-folder

Fixed wrong package directory

04 Mar 09:46

Choose a tag to compare

This commit introduces functionality for creating a temporary package directory in the SubfolderBuildConfig class. The directory is named based on the package name, converting hyphens to underscores for import compatibility. It ensures that the source directory contents are preserved and correctly structured. Additionally, the BuildManager class is updated to utilize this temporary directory for dependency management during builds. Cleanup logic is also added to remove the temporary directory after use, enhancing the overall build process.

Refactor package name derivation logic in main function

03 Mar 16:55

Choose a tag to compare

This commit enhances the package name derivation process by introducing a new variable, derived_package_name, which is used to construct the package name for subfolder builds. The logic now checks for an existing package name argument and derives the name from the root project name and subfolder name if not provided. This change improves clarity and consistency in how package names are handled during version resolution and publishing.

Add auto-bump minor version feature in version calculation

03 Mar 16:45

Choose a tag to compare

This commit introduces an optional parameter, auto_bump_minor, to the calculate_next_version function. If enabled and no conventional commits are found, the function will automatically bump the minor version of the baseline version. This enhancement improves version management by allowing for automatic increments in scenarios where no commits are present, streamlining the versioning process.

Add HTML parsing for Azure Artifacts version retrieval / Add support for non-interactive environments in Publisher class

03 Mar 15:55

Choose a tag to compare

IMPORTANT This commit introduces a new function to check for non-interactive environments (CI/CD) and modifies the credential retrieval process in the Publisher class. In non-interactive scenarios, it retrieves the username and password/token from environment variables instead of prompting the user, ensuring smoother automation for publishing packages. Error handling is also improved to provide clear messages when credentials are missing.

This commit introduces a new SimpleIndexParser class to parse the PEP 503 simple index HTML format from Azure Artifacts, allowing the extraction of package versions from the HTML response. The query_azure_artifacts_version function is updated to utilize this parser, improving the handling of version retrieval. Additionally, tests are added to verify the parsing functionality, including scenarios for successful version extraction, handling 404 responses, and cases with empty HTML responses.

Add exclude patterns functionality to package builds

03 Mar 14:24

Choose a tag to compare

This commit introduces the ability to configure exclude patterns in the pyproject.toml file, allowing users to specify regex patterns that prevent certain files and directories from being included in published packages. The implementation includes updates to the build process to read these patterns and filter out matching paths during both main and subfolder builds. Additionally, tests have been added to ensure the correct application of exclude patterns in various scenarios.

Replace Node.js semantic-release with custom Python implementation

03 Mar 13:07

Choose a tag to compare

Replace the Node.js semantic-release dependency with a pure Python implementation that calculates versions from conventional commits, queries registries for baseline versions, and filters commits by subfolder path. This eliminates the push permission requirement and Node.js dependency.

Added getGlobalNpmPrefix() function to detect the global npm installation path

03 Mar 11:38

Choose a tag to compare

v4.3.1

Added getGlobalNpmPrefix() function to detect the global npm installa…

Fix missing script in wheel

03 Mar 11:29

Choose a tag to compare

Add MANIFEST.in and enhance build hook for script inclusion

This commit introduces a new MANIFEST.in file to include the get-next-version.cjs script and all files in the scripts directory during package builds. The CustomBuildHook is updated to dynamically locate the scripts directory, improving flexibility for different project layouts and ensuring all relevant scripts are included in the wheel package.

Update pyproject.toml to include scripts directory in wheel build

03 Mar 11:18

Choose a tag to compare

This change adds a force-include directive for the get-next-version.cjs script in the wheel build configuration, ensuring it is included in the package. The existing build hook is retained as a fallback for future file additions.

Better error handling

03 Mar 10:55

Choose a tag to compare

v4.1.1

Merge branch 'main' of https://github.com/alelom/python-package-folder