Change Log
v1.6.0
v1.6.0 - Standardise Type Safety, Simplify Overloads, and Enhance Documentation๐
v1.6.0
2026-01-02
data-science-extensions/toolbox-python/releases/v1.6.0
Release Notes
๐ Summary๐
Standardise the type hinting system across the entire library, transitioning from custom type aliases to native Python typing constructs. Simplify complex function overloads in the checkers.py and output.py modules, improve the robustness of type checking logic, and expand the documentation for core utility classes.
๐ก๏ธ Type Safety & Standardisation๐
- Native Typing: Replace custom type aliases like
any_collection,str_collection, andscalarwith standard library types such asCollection[Any],Collection[str], andAny. - Explicit Callables: Add explicit
Callable[..., bool]andCallable[..., None]type annotations to function aliases in thecheckers.pymodule for improved static analysis. - Generic Collections: Refactor internal logic to use
Collection[type]instead of specificlistortupletypes, allowing for more flexible input handling. - List Standardisation: Update all
__all__export lists and internal string lists to use the nativelist[str]type.
โ๏ธ Logic & Overload Simplification๐
- Overload Consolidation: Reduce the number of
@overloaddefinitions foris_all_values_of_type(),assert_value_of_type(), andlist_columns()by using more general collection types. - Robust Type Checking: Improve the
is_value_of_type()function to correctly handle non-type iterables by using a more directnot isinstance(check_type, type)check. - Constant Relocation: Move the
log_levelsLiteralfromcollection_types.pytooutput.pyto better align with its primary usage in logging utilities. - Flattening Logic: Refine the
flatten()function to useCollection[Collection[Any]]for input parameters, removing the need for internal type ignores.
๐ Documentation & DX๐
- Class Methods Documentation: Update the
Defaults()class docstring to include a dedicated "Methods" section, documenting the.get(),._validate_value_and_default(), and._validate_type()methods. - Docstring Accuracy: Refactor parameter descriptions across multiple modules to reflect the shift from "tuple of types" to "Sequence of types" or "Collection of types".
- Retry Metadata: Add descriptive docstrings for internal type aliases and generic type variables in the
retry.pymodule.
๐ ๏ธ Bug Fixes & Refinements๐
- Attribute Errors: Fix a missing
.__name__attribute access in error message generation for type assertions. - Typo Remediation: Correct several typos in docstrings and internal variable names across the
checkers.pyandbools.pymodules. - Dictionary Reversal: Update
dict_reverse_keys_and_values()to return explicitdict[str, Any]types, ensuring better compatibility with downstream consumers.
๐ช What's Changed๐
- Standardise Type Hints, Simplify Overloads, and Refactor Core Utilities by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/39
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.5.0...v1.6.0
Updates
d7d73f1: Fix typo (by chrimaho)512d560: Fix missing.__name__attribute
When accessing and formatting the type in the error message. This line should bemsg += f"Must be '{check_type.__name__}'"to be consistent with line 647 inassert_value_of_type()and to produce cleaner error messages that show just the type name (e.g.,'int') rather than the full type object representation (e.g.,<class 'int'>). (by chrimaho)81b4053: Fix typo (by chrimaho)469fc66: Fix typo (by chrimaho)d487a03: Fix typo (by chrimaho)7eb6a37: Fix typo (by chrimaho)0d523a9: Standardise type hints and simplify overloads- Replace custom type aliases from the
toolbox_python.collection_typesmodule with standard library types likelist[str],Collection[Any], andDict[Any, Any]. - Simplify
is_value_of_type()andassert_value_of_type()function overloads by usingCollection[type]to handle multiple input sequences. - Relocate the
log_levelstype literal tooutput.pymodule to better align with its usage in output formatting. - Add explicit
Callabletype hints to function aliases within thecheckers.pymodule for improved type clarity. - Update the
Defaults()class docstring to include a dedicated methods section documenting the.get()method. - Refactor the
flatten()function and thelist_columns()function to use standard collection types and remove redundant@overloaddefinitions. - Improve type checking logic in the
checkers.pymodule to handle generic collections of types more robustly. (by chrimaho)
- Replace custom type aliases from the
v1.5.0
v1.5.0 - Modernise Infrastructure, Refactor Core Logic, and Introduce Numeric Validation๐
v1.5.0
2025-12-28
data-science-extensions/toolbox-python/releases/v1.5.0
Release Notes
๐ Summary๐
Modernise the development infrastructure, refactor core logic for better maintainability, and expand the utility suite with new validation capabilities. Transition the project to uv for package management, introduce code complexity analysis, and refactor the retry() decorator into a robust class-based implementation.
๐ Infrastructure Modernisation๐
- Package Management: Standardise on
uvfor all package management, environment synchronisation, and script execution tasks. - Dependency Consolidation: Remove the
requirements/directory andMakefilein preference for a unifiedpyproject.tomlconfiguration. - Python 3.14 Support: Update CI/CD workflows to include Python 3.14 in the test matrix, ensuring forward compatibility.
- Windows Compatibility: Fix
UnicodeEncodeErrorin CI by forcingUTF-8encoding for log output on Windows runners.
๐ ๏ธ Core Refactoring & Quality๐
- Retry Logic: Refactor the
retry()decorator into a helper_Retry()class, reducing cyclomatic complexity from 17 to 4 and improving modularity. - Metadata Management: Replace hardcoded version strings with dynamic retrieval via the
metadata()function, simplifying the release process. - Type Checking: Replace
mypywithtyfor faster and more consistent type checking across the codebase. - Complexity Analysis: Integrate
complexipyto automate code complexity monitoring and enforce maintainability standards.
๐งช New Validation Utilities๐
- Validators() Class: Introduce the
Validators()class to centralise logic for numeric range validation. - Range Checks: Implement
.value_is_between()and.all_values_are_between()methods for flexible boundary checking. - Assertion Support: Provide
.assert_value_is_between()and.assert_all_values_are_between()methods to raise descriptiveAssertionError()class exceptions.
๐ Documentation & DX๐
- README Overhaul: Update
README.mdwith modernised setup guides,uvworkflows, and expanded quality assurance documentation. - Docstring Standardisation: Migrate docstring formatting checks to a pre-commit hook using
docstring-format-checker. - Utility Scripts: Refactor
src/utils/scripts.pyto use dynamic package constants and improve subprocess handling.
๐ Technical Improvements๐
- Type Hint Enhancements: Standardise type annotations using
Optional,Union, andLiteralfor better compatibility and clarity. - Pylint Remediation: Resolve numerous Pylint warnings and suppress specific flags where appropriate to maintain a 10/10 quality score.
- Exception Handling: Standardise exception storage and update return type hints (e.g.,
NoReturn) for better static analysis.
๐ช What's Changed๐
- Modernise Infrastructure, Refactor Core Logic, and Introduce Numeric Validation by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/38
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.4.1...v1.5.0
Updates
4b24e77: Add explicit return toprint_or_log_output()- Optimise function readability and ensure explicit return behaviour for the
print_or_log_output()function. (by chrimaho)
- Optimise function readability and ensure explicit return behaviour for the
57c8f79: Expose methods in theValidators()class- Expose the
.value_is_between()method,.assert_value_is_between()method,.all_values_are_between()method, and.assert_all_values_are_between()method to make them public. - Add a class-level docstring to the
Validators()class to summarise its purpose and available methods. - Update unit tests and internal method calls to reference the renamed public methods. (by chrimaho)
- Expose the
4b98b35: Fix typo in environment variable name (by chrimaho)aad6e43: Simplify directory removal flags- Use
-rinstead of--recursiveincheck_build()andcheck_mkdocs()functions - Standardise directory removal commands for consistency
- Ensure commands can be run on all OS's consistently (by chrimaho)
- Use
0511c0e: Update CI workflow to run checks with specific script (by chrimaho)9a8bc46: Deleterequirements/directory in preference forpyproject.tomlconfig (by chrimaho)152e120: Update README to include package changes- Add
uvas a supported installation method to improve package management efficiency - Replace legacy
pipenvandpoetrysetup guides withuv syncworkflows to simplify environment builds - Standardise development scripts using the
uv run src/utils/scripts.pyscript for unified task execution - Expand quality assurance requirements to include complexity and docstring checks for better code maintainability
- Update reference links to include
uv,ty,complexipy, anddfcand fix the documentation URL (by chrimaho)
- Add
3718726: Refactor CI workflow with updated actions and env var
Updated CI workflow to use newer action versions and added PACKAGE_NAME environment variable. (by chrimaho)d7ef4f6: Refactor CI/CD and add support Python for 3.14- Include Python
3.14in test matrices to ensure forward compatibility. - Remove redundant
debugjobs to reduce workflow clutter and execution time. - Standardise script execution by invoking utility scripts directly via
uv run. - Force package reinstallation and upgrades using the
--reinstall-packageand--upgradeflags in theuv synccommand. - Set
PYTHONIOENCODINGtoutf-8to ensure consistent log output. - Increase
max-parallelto 30 to speed up multi-platform installation checks. - Extend artifact retention to 5 days for better post-build access.
- Refine the
uv publishcommand to use explicit token flags and disable caching. (by chrimaho)
- Include Python
50efdd9: Refactor git utilities and subprocess handling- Add
encoding="utf-8"to therun()function call within therun_command()function to standardise text handling - Extract branch checkout logic into a new
git_checkout_branch()function to deduplicategit_switch_to_main_branch()andgit_switch_to_docs_branch()functions - Introduce
git_switch_to_branch()function to support branch switching via command-line arguments - Optimise
git_add_coverage_report()function by ensuring the destination directory exists before copying files - Simplify
add_git_credentials()andgit_fix_tag_reference()functions by removing redundant comments and streamlining command execution (by chrimaho)
- Add
5999a79: Remove redundant metadata attributes- Remove
__license__,__url__, and__description__variables - Organise the package root by removing secondary metadata attributes (by chrimaho)
- Remove
bb46a37: Standardise exception storage and update type hints- Standardise the
exceptionsattribute in the_Retry()class by ensuring it always stores a tuple of exception types. - Update the
._handle_final_failure()method to use theNoReturntype hint as it consistently raises aRuntimeError()class. (by chrimaho)
- Standardise the
2abcd3b: Refactor retry logic into a helper class- Extract the core logic from the
retry()decorator into a new internal_Retry()class to improve maintainability. - Modularise error handling by introducing specific methods like
._handle_expected_error()and._handle_unexpected_error()within the_Retry()class. - Update the
retry()decorator to instantiate the_Retry()class and invoke its.run()method. - Strengthen type hinting by incorporating
Anyand defining explicit return types for the internal wrapper. - Reduce module complexity from >17 to ~4 (by chrimaho)
- Extract the core logic from the
857900f: Fix misaligned parameter docs and function signatures (by chrimaho)14781b7: Updateprint_or_log_output()function typing- Add a new
@overloadfor theprint_or_log_output()function to supportOptionalparameters. - Update the
print_or_log_output()function signature to accept anOptionalvalue for theprint_or_logargument. - Standardise the
log_leveltype hint within the docstring of theprint_or_log_output()function. - Reformat existing
@overloaddeclarations for theprint_or_log_output()function to improve readability. - Add an
assertto ensure that theprint_or_logparameter is neverNone(by chrimaho)
- Add a new
2e057dd: Remove redundantMakefile(by chrimaho)e1d1240: Standardise package metadata and versioning- Replace hardcoded version strings with dynamic retrieval via the
metadata()function - Remove the custom
bump_version.pyutility and its configuration in thepyproject.tomlfile - Update the
CDworkflow to use the nativeuv versioncommand - Delete the
test_version.pyfile as hardcoded version checks are no longer necessary - Expand the
__init__.pyfile to dynamically expose package metadata such as version and author (by chrimaho)
- Replace hardcoded version strings with dynamic retrieval via the
9ececa7: Remove Python version upper bound- Update
requires-pythonto remove the<4.0restriction - Standardise the configuration to improve forward compatibility (by chrimaho)
- Update
48da0dd: Fix formatting (by chrimaho)3ea392b: Fix tuple type hint for nested parameters- Update the
tuple()class type hint within thename_func_nested_list()function to include an ellipsis for variable-length support. (by chrimaho)
- Update the
1eeacc8: In thelistsmodule, fix types in docstrings to match the function signatures (by chrimaho)02acdeb: Fix docsting error in thedictionariesmodule- Related to the use of
*in the Params section (by chrimaho)
- Related to the use of
9bb4c8b: Add missing typehints to the functions and methods in thedictionariesmodule (by chrimaho)f2d9152: Add newvalidatorsutility- Introduce
Validators()class to centralise logic for checking if numeric values fall within specified bounds - Implement
._value_is_between()method to perform individual range checks and validate that boundary arguments are logical - Provide
._assert_value_is_between()method to raise anAssertionErrorwhen a value violates the defined range - Include
._all_values_are_between()method and._assert_all_values_are_between()method to facilitate bulk validation of sequences - Add unit tests to verify correct behaviour and error handling for the new
Validators()class (by chrimaho)
- Introduce
4415ef4: Standardise type hints and improve type checks- Update type annotations to use the
Optional()andUnion()classes for better compatibility within theDefaults()class. - Replace the
is_type()function call with the standardisinstance()function within the.get()method to verify string values. - Standardise method signatures for the
._validate_value_and_default()and._validate_type()methods to use explicit typing constructs. (by chrimaho)
- Update type annotations to use the
43c039d: Updatecheck_typevariadictuplehints- Correct the
tupletype hint to include the ellipsis...to properly represent variadic tuples in the docstrings. - Ensure the
check_typeparameter documentation accurately reflects that multiple types can be provided. - Standardise the docstrings for the
is_value_of_type(),is_all_values_of_type(),is_any_values_of_type(),assert_value_of_type(),assert_all_values_of_type(), andassert_any_values_of_type()functions. (by chrimaho)
- Correct the
b51e693: Fix missingcomplexipydependency (by chrimaho)af5d00c: Reorder checks and add complexity validation- Move
check_pylint()function aftercheck_pycln()function to improve linting workflow - Add
check_complexity()function to thecheck()function sequence to monitor code quality - Prioritise
check_pytest()function execution by moving it before documentation and build checks (by chrimaho)
- Move
1781bf0: Refactor and generalisecheck_docstrings()- Relocate the
check_docstrings()function to improve logical file structure - Update the
check_docstrings()function to reference theDIRECTORY_NAMEconstant - Standardise the source path within the
check_docstrings()function to support dynamic directory names (by chrimaho)
- Relocate the
6dcf1cd: Update utility scripts to use dynamic package name constants.- Define
PACKAGE_NAMEandDIRECTORY_NAMEconstants to centralise configuration - Update
check_pylint()function to use the dynamicDIRECTORY_NAMEconstant - Refine
check_pycln()function to target the specific package directory (by chrimaho)
- Define
008cdf5: Update pre-commit hook exclusions- Expand the exclusion pattern in
.pre-commit-config.yamlto include thesrc/utils/andsrc/testsdirectories. - Utilise a multi-line regex format to manage multiple excluded paths more effectively. (by chrimaho)
- Expand the exclusion pattern in
b0da3dd: Addcomplexipyfor code complexity analysis- Define the
check_complexity()function to automate quality checks and analyse code complexity levels to guide developers - Configure the
[tool.complexipy]section to establish analysis parameters that enforce coding standards - Set the
max-complexity-allowedparameter to 15 to ensure code remains maintainable (by chrimaho)
- Define the
167398f: Eliminate redundant scripts from thepyproject.tomlfile, prefer thesrc/utils/scripts.pymodule (by chrimaho)0609a01: Clean up outdated checks in thepre-commitconfig file (by chrimaho)baf5032: Replacemypywithtyfor type checking- Replace
mypywithtyin thetestdependency group to standardise type checking - Remove the
[tool.mypy]configuration block - Rename the
check_mypy()function to thecheck_ty()function - Update the
check_ty()function to execute thety checkcommand using a dynamic directory path - Update the
check()function to call thecheck_ty()function (by chrimaho)
- Replace
1fb978e: Refactor type annotations and improve commit formatting- Replace union type syntax with
OptionalandLiteralimports for better compatibility - Enhance commit message processing to filter out co-authored-by lines and empty lines
- Update commit output format to include short SHA with link and improved author attribution
- Fix release title reference to use
nameproperty instead of deprecatedtitle - Add type ignore comment for repository retrieval to suppress type checker warnings
- Include main execution guard for proper script entry point handling (by chrimaho)
- Replace union type syntax with
b408c39: Migrate docstring format checker to pre-commit hook- Replace local docstring checking implementation with external pre-commit repository
- Use
docstring-format-checkerfromdata-science-extensionsorganisation at version 1.3.0 - Maintain same configuration and output format whilst leveraging standardised tooling
- Comment out previous local implementation to preserve configuration for reference (by chrimaho)
- Replace local docstring checking implementation with external pre-commit repository
ff3dba7: Standardise GitHub Actions workflow configuration- Consolidate permissions at workflow level instead of per-job for better maintainability
- Update all action versions to latest stable releases for improved security and features
- Replace hardcoded values with environment variables for better configurability
- Enable PyPI package publishing by uncommenting the publish step
- Improve package installation verification with explicit version constraints
- Reorganise job execution order by moving tag reference fix after package upload
- Add python-version-file configuration for consistent Python version management
- Correct CI job matrix to run on specified operating systems instead of ubuntu-latest only
- Enhance environment variable coverage for tokens, repository details, and build settings (by chrimaho)
- Consolidate permissions at workflow level instead of per-job for better maintainability
e4e7676: Comment out project scripts inpyproject.toml- Temporarily disable all console script entry points to prevent command-line tool conflicts
- Preserve script definitions for future re-enablement by commenting rather than removing
- Affects syncing, linting, checking, git operations, and documentation scripts
- Maintains project configuration structure whilst removing executable commands (by chrimaho)
- Temporarily disable all console script entry points to prevent command-line tool conflicts
5107d2d: Refactor docstring validation and fix CLI argument handling- Replace custom docstring validation logic with external
dfctool for improved consistency and maintainability - Remove unused imports including
ast,re,math.e, and various typing components - Fix CLI argument indexing from
sys.argv[1]tosys.argv[2]across multiple functions to account for function name parameter - Remove complex
FunctionAndClassDetailsclass and associated validation methods - Simplify
check_docstrings()function to use singledfc --output=table ./src/toolbox_pythoncommand - Add centralised CLI execution logic with function name resolution and error handling
- Eliminate over 290 lines of custom docstring parsing and validation code (by chrimaho)
- Replace custom docstring validation logic with external
fa4ec29: Adddocstring-format-checkertodocsdependencies and tidy up all docstrings- Details admonition:
???+ info "Details"-->???+ abstract "Details" - Notes admonition:
???+ info "Notes"-->???+ abstract "Notes" - Generic type list:
Type-->(Type) - Typos:
Parameters-->Params - Missing docstrings (by chrimaho)
- Details admonition:
713ae0e: Run linting for better formatting (by chrimaho)5f32f50: Enhance type checking incheckers.pyandoutput.pyby adding more comprehensive@overloadconditions for better clarity and functionality. (by chrimaho)2de8701: Remove redundant lines (by chrimaho)1d9acdd: Fix missing type hints (by chrimaho)
v1.4.1
v1.4.1 - Documentation Infrastructure Enhancement and Automated Changelog Generation๐
v1.4.1
2025-08-03
data-science-extensions/toolbox-python/releases/v1.4.1
Release Notes
๐ Summary๐
Version 1.4.1 focuses on enhancing the project's documentation infrastructure and establishing automated changelog generation capabilities. This release introduces comprehensive contribution guidelines, automated changelog workflows, and improved documentation styling to streamline the development process and enhance the contributor experience.
๐ Automated Changelog System๐
- CI/CD Integration: Automated changelog generation integrated into the continuous deployment pipeline using GitHub Actions
- Environment Variables: Added support for
GITHUB_TOKENandREPOSITORY_NAMEenvironment variables for secure API access - CLI Command: Introduced
generate-changelogcommand for manual changelog creation and debugging purposes - Version Control: Automatic commit of changelog updates with version-specific commit messages and skip CI flags
๐ Contribution Framework๐
- Guidelines Documentation: Created comprehensive
CONTRIBUTING.mdwith detailed procedures for issue reporting, branch management, coding standards, and review processes - Documentation Integration: Added contribution guidelines to the documentation site at
docs/usage/contributing.mdfor improved discoverability - Developer Onboarding: Established clear expectations and workflows to reduce contributor onboarding time
๐ Documentation Site Enhancements๐
๐จ Visual Improvements๐
- Custom Styling: Implemented shortcode CSS system with badge support for enhanced visual consistency across documentation
- Navigation Structure: Improved site navigation with better organisation and user experience
- MkDocs Configuration: Enhanced site configuration with updated plugin management and table of contents depth limiting
๐ Content Organisation๐
- Changelog Integration: Added dedicated changelog page (
docs/usage/changelog.md) within the documentation site - Reference Architecture: Established standardised documentation structure for consistency across all pages
๐ง Technical Implementation๐
๐ง Workflow Automation๐
- Release Process: Enhanced
cd.ymlworkflow with automated changelog generation steps - Error Handling: Improved workflow reliability with proper dependency management and error handling
- Version Management: Automated tracking and updating of version information throughout the release process
๐ฆ Package Configuration๐
- CLI Scripts: Updated
pyproject.tomlwith new CLI commands for changelog generation - Build System: Maintained compatibility with existing build processes whilst adding new automation capabilities
๐ Code Quality & Infrastructure๐
๐งช Maintenance Scripts๐
- Changelog Utilities: Enhanced
src/utils/changelog.pywith improved formatting, error handling, and environment variable support - Release Automation: Streamlined release note generation with better readability and maintainability
- Git Integration: Improved git history processing for structured changelog creation
๐ Documentation Standards๐
- Formatting Consistency: Standardised formatting across all documentation files for improved readability
- Content Structure: Established clear patterns for documentation organisation and presentation
๐ Developer Experience Improvements๐
๐ค Contributor Benefits๐
- Clear Guidelines: Comprehensive contribution documentation reduces confusion and speeds up onboarding
- Automated Workflows: Changelog generation eliminates manual documentation overhead for maintainers
- Consistent Standards: Established coding and documentation standards improve code quality and review efficiency
๐ง Maintainer Benefits๐
- Reduced Manual Work: Automated changelog generation significantly reduces maintenance overhead
- Quality Assurance: Clear contribution guidelines ensure consistent quality across contributions
- Streamlined Processes: Automated workflows improve release reliability and reduce human error
๐๏ธ Infrastructure Foundation๐
This release establishes a robust foundation for project documentation and automation. The automated changelog system ensures accurate version history tracking, whilst the comprehensive contribution guidelines provide clear expectations for all project participants.
The enhanced documentation infrastructure supports better collaboration and reduces the barrier to entry for new contributors, fostering a more inclusive and efficient development environment.
๐ช What's Changed๐
- Documentation Infrastructure Enhancement and Automated Changelog Generation by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/37
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.4.0...v1.4.1
Updates
4bdc113: Refactor release notes and commit message formatting for improved readability and maintainability (by chrimaho)d03763e: Add environment variable checks forGITHUB_TOKENandREPOSITORY_NAME(by chrimaho)e0dde1a: Fix typo (by chrimaho)2b6eced: Fix formatting in theshortcodesmodule (by chrimaho)ae4493b: Add first draft ofCHANGELOG.md(by chrimaho)761ad62: AddContribution Guidelinespage (by chrimaho)503a5c8: Add process for generating changelog during CD pipeline (by chrimaho)9365042: Add process for generating shortcodes in docs (by chrimaho)16707a8: Initial commit of theCONTRIBUTINGdocs (by chrimaho)41d3978: Hide the lines in the CD workflow which are causing issues (by chrimaho)
v1.4.0
v1.4.0 - Comprehensive Package Enhancement and Tooling Migration๐
v1.4.0
2025-07-13
data-science-extensions/toolbox-python/releases/v1.4.0
Release Notes
๐ Overview๐
This release introduces significant enhancements to the toolbox-python package, including a new generators module, expanded validation capabilities, comprehensive docstring standards, and modernized CI/CD workflows. The changes span 30 commits across multiple areas of the codebase to improve functionality, maintainability, and developer experience while maintaining full backward compatibility.
๐ New Modules and Core Functionality๐
Generators Module๐
- New module:
toolbox_python.generators- Provides functions for computing data on-the-fly based on input parameters rather than storing it in databases or files - New function:
generate_group_cutoffs()- Divides a total number of items into specified groups, returning start and end indices for each group with proper validation and error handling - Documentation: Added comprehensive documentation with examples and complete test coverage
Enhanced Checkers Module๐
- New constant:
OPERATORSdictionary - Defines comparison operations for value validation including<,<=,>,>=,==,!=,in, andnot in - New function:
is_valid_value()- Checks if a value is valid based on a specified operator and target value - New function:
assert_is_valid_value()- Assert version of the validation function with proper error handling - Enhanced aliases: Added
is_validandassert_is_validfunction aliases for consistency and convenience
Enhanced Strings Module๐
- New function:
str_to_list()- Converts strings to single-element lists while preserving other data types unchanged - Type safety: Includes comprehensive overloads and type hints for better development experience
- Input flexibility: Provides a convenient way to normalize string inputs for functions that expect list-like objects
๐ง Function Enhancements and Type Safety๐
Improved Type Hints and Overloads๐
- Enhanced overloads: Added
@overloaddecorators for better type hints in: toolbox_python.checkers.is_value_of_type()- Now properly handles both single types and tuple of typestoolbox_python.output.list_columns()- Distinguishes between print and return modestoolbox_python.retry.retry()- Better handling of different parameter combinations- Type validation: Enhanced parameter validation across multiple functions using new assertion functions
Function Robustness Improvements๐
- Parameter validation: Added comprehensive input validation using
assert_is_validfunctions to ensure type safety and value constraints - Error handling: Improved exception handling for the
retry()function with better logging initialization and normalized exception parameter handling - Code structure: Better organization with descriptive comments separating validation, preparation, processing, and output phases
- Column width logic: Simplified logic in
list_columns()by replacing conditional assignment withmin()function for cleaner code
๐ Package Scripts and Automation๐
Comprehensive Utility Scripts๐
- Script module:
src/utils/scripts.py- Extensive collection of utility functions organized into categories: - Syncing:
uv_sync()for dependency management - Linting:
run_black(),run_isort(),run_pycln(),run_pyupgrade(),run_blacken_docs(), and combinedlint() - Checking:
check_black(),check_mypy(),check_pytest(),check_codespell(),check_pylint(), and comprehensivecheck() - Git operations:
add_git_credentials(),git_refresh_current_branch(),git_switch_to_main_branch(),git_add_coverage_report() - Documentation:
docs_build_static(),docs_serve_versioned(),build_versioned_docs(), and version management
Project Scripts Configuration๐
- Package scripts: Added extensive
[project.scripts]table inpyproject.tomlwith organized sections: - Syncing:
sync - Linting:
run-black,run-isort,lint,lint-check - Checking:
check-black,check-mypy,check-pytest,check-docstrings,check - Git:
add-git-credentials,git-switch-to-main-branch,bump-version,git-update-version - Docs:
docs-serve-static,build-versioned-docs,docs-check-versions - Enhanced version management: Updated
src/utils/bump_version.pyfor better CLI compatibility and version tracking
๐ Docstring Standards and Validation๐
Automated Docstring Validation System๐
- Validation infrastructure: Implemented comprehensive docstring checking with strict formatting requirements:
FunctionAndClassDetails()- Named tuple for tracking function and class detailscheck_docstrings_file()- Validates docstrings in individual files with detailed error reporting_check_single_docstring()- Validates individual function/class docstrings against standards_check_section_order()- Ensures proper section ordering (Summary โ Params โ Returns/Yields โ Examples)_validate_section_formats()- Validates specific section formats and content structurecheck_docstrings_cli(),check_docstrings_all(),check_docstrings_dir()- Various checking interfaces
Enhanced Docstring Standards๐
- Mandatory sections: Summary, Params, Returns/Yields, and Examples sections now required for all functions and classes
- Format consistency: Fixed typos across all docstrings from
!!! summary "Summary"to!!! note "Summary" - Examples improvements: Updated all code examples to use
pyconsyntax for better clarity and consistency - Type information: Enhanced
Raisesstatements with proper exception types (e.g.,TypeError,ValueError,LookupError) and detailed descriptions - Documentation quality: Improved parameter descriptions, return value specifications, and comprehensive usage examples
๐ CI/CD Workflow Modernization๐
Migration to UV-Based Tooling๐
- CI workflow: Complete refactoring of
.github/workflows/ci.yml: - Replaced all
makecommands withuv runcommands for improved consistency and performance - Added UV environment variables for optimal configuration
- Streamlined dependency installation and checking processes
- CD workflow: Comprehensive modernization of
.github/workflows/cd.yml: - Replaced
makecommands withuv runcommands throughout all jobs - Added environment variables for UV configuration (
UV_LINK_MODE,UV_NATIVE_TLS,UV_NO_SYNC) - Improved git operations with new utility functions
- Enhanced version management and tag handling
- Fixed tag reference issues to ensure correct version numbers in releases
- Streamlined package building and publishing processes
Enhanced Pre-commit Integration๐
- Hook updates: Updated pre-commit hook versions for better compatibility:
- Updated
mypyfrom v1.15.0 to v1.16.1 with additional--allow-redefinitionflag - Updated
pyupgradefrom v3.19.1 to v3.20.0 - Updated
uv-pre-commitfrom 0.6.12 to 0.7.20 - Removed outdated poetry check hooks
- New validation: Added
check-docstringshook for continuous validation during development workflow
โ๏ธ Configuration and Build System Updates๐
Project Configuration Enhancements๐
- Build system: Migrated from
hatchlingtouv_buildfor better integration with UV toolchain and improved build reliability - MyPy configuration: Updated to include
no-redefindisable_error_codelist for better type checking compatibility - Dependencies: Added
uvto the development dependency group for comprehensive toolchain integration - Python requirements: Updated syntax from
">3.9,<4.0"to">=3.9,<4.0"for standard compliance
Documentation Configuration๐
- MkDocs updates:
- Added new
generatorsmodule to navigation structure for complete module coverage - Fixed repository icon from
material/gitlabtomaterial/githubfor accurate branding - Enhanced navigation structure to reflect all available modules
- Improved organization: Better categorization and presentation of module documentation
Enhanced Type System๐
- Collection types: Expanded
collection_types.pywith new type aliases: - Added
datetimecollections:datetime_list,datetime_tuple,datetime_set,datetime_list_tuple - Added
intcollections:int_set,int_list_tuple - Enhanced
dictcollections: reorganized and added better documentation - Improved organization with clear section comments for better maintainability
๐งช Testing and Quality Assurance๐
Comprehensive Test Coverage๐
- New test modules: Added extensive test coverage for new functionality:
src/tests/test_generators.py- Complete test suite for the generators module with edge cases- Enhanced
src/tests/test_strings.py- Tests for newstr_to_list()function with various input types - Expanded
src/tests/test_checkers.py- Comprehensive tests for new validation functions includingOPERATORStesting - Test improvements: Updated existing tests to use
pytest.raisesinstead ofpytestimports for better compatibility - Coverage maintenance: Maintained 100% test coverage across all modules while adding new functionality
Quality Improvements๐
- Validation robustness: Enhanced function robustness through comprehensive parameter validation using new assertion functions
- Error handling: Improved error capture and reporting in docstring checking with detailed feedback
- Type safety: Better type hints and validation across the codebase with overloads and proper type checking
- Code organization: Improved code structure with better separation of concerns and descriptive comments
๐ฏ Impact and Benefits๐
This release significantly enhances the toolbox-python package by:
- Expanding core functionality with new modules and utilities that provide valuable data processing capabilities for on-demand computation
- Improving developer experience through better type hints, comprehensive validation, standardized tooling, and automated quality checks
- Enhancing code quality with comprehensive validation systems, consistent documentation standards, and robust error handling
- Modernizing CI/CD with migration to UV-based tooling for better reliability, performance, and maintainability
- Strengthening maintainability through comprehensive testing, automated docstring validation, and organized project scripts
- Improving type safety with enhanced type hints, validation functions, and comprehensive overloads for better IDE support
๐ช Pull Requests๐
- Reorder classifiers and update Python requirement syntax in
pyproject.tomlby @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/35 - Comprehensive Package Enhancement and Tooling Migration with new modules, improved validation, and modernized CI/CD workflows by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/36
The changes maintain full backward compatibility while providing substantial improvements to functionality, developer experience, and project maintenance workflows. All existing APIs remain unchanged, ensuring seamless upgrades for existing users.
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.3.1...v1.4.0
Updates
d333489: Fix echo command to use -E flag for proper interpretation of escape sequences (by chrimaho)f110624: Temporarily turn off pypi deployment step (by chrimaho)0ea16ed: Refactor versioning commands to accept version as an argument and update related CLI functions (by chrimaho)5dd4c2f: Fix bug in the CD debugging job
In the CD workflow, when it will throw an error for thegithub.event.release.nameandgithub.event.release.bodywhen they contain code which is surrounded by the back-tick:<br> This is because theecho` will escape the back-tick and try to execute the inner text as a command.
This is undesirable behaviour. (by chrimaho)9520086: Fix version bump command and improve regex pattern matching to ensure correct and accurate execution (by chrimaho)8a4ffb7: Refactorgitcommand executions to improve reliability, expandability and readability (by chrimaho)e4de102: Fix bug in thescripts.git_add_coverage_report()function (by chrimaho)fa1f050: Fix typo ingeneratorsmodule (by chrimaho)d4f4e06: Fix typo inretrymodule (by chrimaho)d4ae239: Refactor test files to replace anyimport pytestwithfrom pytest import ...for improved consistency (by chrimaho)4987831: Add input validation for retry parameters usingassert_is_valid(by chrimaho)22b3942: Refactor CD workflow to replace all 'make' commands with 'uv run' commands for improved consistency and performance (by chrimaho)48c7d1e: Reorganise the[project.scripts]table- Change from
cli.scripts:...toutils:scripts:... - Reorder in to sections:
Syncing,Linting,Checking - Add new sections:
Git,Docs(by chrimaho)
- Change from
8d55c79: Movescripts.pyfromsrc/clitosrc/utilsand add functions to handlegitanddocsprocesses (by chrimaho)f6ad6de: Updatebump_versionutil to be better compatable with CLI execution (by chrimaho)6ec8292: Addgit_checks.shscript to capture git logs and diffs (by chrimaho)7673113: Refactor CI and CD workflows to replace 'make' commands with 'uv' commands for installations and checks (by chrimaho)251e4d0: Add a more robust way of capturing errors when checking docstrings (by chrimaho)de2729a: Fix typos in all docstrings
-> From!!! summary "Summary"
-> To!!! note "Summary"(by chrimaho)44c6b07: Add functions to check docstrings in all Python files and in a specific directory (by chrimaho)b60a092: Refactor command execution to support space expansion and simplify command syntax (by chrimaho)2fb403d: Fix typo (by chrimaho)86d0332: Add project scripts and update build system dependencies (by chrimaho)6c6c265: Add comprehensive docstring validation system- Implements automated docstring checking with strict formatting requirements including mandatory Summary, Params, Returns/Yields, and Examples sections.
- Add custom
pre-commithook integration for continuous validation during development workflow. - Update existing docstrings to comply with new validation standards and fixes inconsistent section formatting across multiple modules. (by chrimaho)
- Implements automated docstring checking with strict formatting requirements including mandatory Summary, Params, Returns/Yields, and Examples sections.
e8a9e6f: Fix error with repo icon in docs page (by chrimaho)8c35b50: Fix typo (by chrimaho)f789f2f: Improvecheckersmodule documentation and formatting (by chrimaho)3bee8e3: Add newgeneratorsmodule for on-demand data generation- Introduces a new generators module that provides functions for computing data on-the-fly based on input parameters rather than storing it in databases or files.
- Includes new
generate_group_cutoffs()function that divides a total number of items into specified groups, returning start and end indices for each group with proper validation and error handling. - Updates documentation to include the new module in the main index with comprehensive description and examples. (by chrimaho)
- Introduces a new generators module that provides functions for computing data on-the-fly based on input parameters rather than storing it in databases or files.
a8e99cb: Refactors exception handling for theretry()function and add logging initialization- Normalizes exceptions parameter to always be a tuple for consistent handling regardless of input type.
- Moves log variable initialization outside conditional block to improve code clarity and ensure proper variable scope. (by chrimaho)
- Normalizes exceptions parameter to always be a tuple for consistent handling regardless of input type.
1169733: Add validation to thelist_columns()function and improve code structure with better comments- Enhances function robustness by adding comprehensive parameter validation using assertion functions to ensure type safety and value constraints.
- Improves code readability through better organization with descriptive comments that clearly separate validation, preparation, processing, and output phases.
- Simplifies column width logic by replacing conditional assignment with
min()function for cleaner code. (by chrimaho)
- Enhances function robustness by adding comprehensive parameter validation using assertion functions to ensure type safety and value constraints.
b730c3b: Add newstr_to_list()function with overloads and corresponding tests- Introduces a new utility function that converts strings to single-element lists while preserving other data types unchanged.
- This enhancement provides a convenient way to normalize string inputs for functions that expect list-like objects, improving code flexibility when handling mixed input types.
- Includes comprehensive test coverage with parameterized tests for various input scenarios including strings, lists, tuples, sets, dictionaries, and numeric types. (by chrimaho)
- Introduces a new utility function that converts strings to single-element lists while preserving other data types unchanged.
58653a3: Add additional@overload's forlist_columnsandretryfunctions to better enhance type hints in theoutputandretrymodules (by chrimaho)d4d0b98: Updatepre-commithooks versions and remove outdated poetry check (by chrimaho)a4b4a15: Update all code docstrings examples to usepyconsyntax for better clarity, and refine theRaisesstatements (by chrimaho)9eef933: Significant improvements to thecheckersmodule- Added
OPERATORSconstant dictionary to define comparison operations. - Introduced
is_valid_valueandassert_is_valid_valuefunctions for value validation based on operators. - Updated documentation in
checkers.mdto include new functions and constants. - Enhanced test coverage in
test_checkers.pyfor the new validation functions. - Improved docstrings across all functions (by chrimaho)
- Added
v1.3.2
v1.3.2 - Update package config๐
v1.3.2
2025-05-25
data-science-extensions/toolbox-python/releases/v1.3.2
Release Notes
This release updates the pyproject.toml file to enhance metadata clarity and correct the Python version requirement syntax. The most important changes include reorganizing and expanding the classifiers section and adjusting the requires-python field.
What's Changed๐
- Reorder classifiers and update Python requirement syntax in
pyproject.tomlby @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/35
Metadata improvements:๐
- Reorganized and expanded the
classifierssection to include additional topics such asTesting :: UnitandUtilities, improving the discoverability and categorization of the project.
Syntax correction:๐
- Updated the
requires-pythonfield from">3.9,<4.0"to">=3.9,<4.0"to align with standard version specification syntax.
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.3.1...v1.3.2
v1.3.1
v1.3.1 - Add more collection types๐
v1.3.1
2025-04-26
data-science-extensions/toolbox-python/releases/v1.3.1
Release Notes
What's Changed๐
- Add more Collection types by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/34
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.2.1...v1.3.1
v1.2.1
v1.2.1 - Add new @class_property decorator๐
v1.2.1
2025-04-25
data-science-extensions/toolbox-python/releases/v1.2.1
Release Notes
What's Changed๐
- Add new
@class_propertydecorator by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/33
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.2.0...v1.2.1
Updates
95b0500: FixMakefilefor when usinguvcommands to make it more robust- Add
uv-shellcommand - Update all commands to use
--link-mode=copy(by chrimaho)
- Add
8375044: Fix ignorances (by chrimaho)37d40aa: Enhanceclass_propertydecorator with additional class-level properties, and add unit tests with 100% coverage (by chrimaho)7878ad2: Add@class_propertydecorator and corresponding tests (by chrimaho)
v1.2.0
v1.2.0 - Migrate from Poetry to UV and add new DotDict class๐
v1.2.0
2025-04-06
data-science-extensions/toolbox-python/releases/v1.2.0
Release Notes
Primary Changes๐
- Migrate build engine from Poetry to UV
- Add new
DotDictclass to handle accessing dictionary keys using.attributesyntax - Add utility module
bump_versionfor checkingpyproject.tomland updating the version values across the respective files
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.1.0...v1.2.0
Updates
b1c5ea0: Fix bug (by chrimaho)6e4909e: Fix bug insrc/toolbox_python/dictionaries.py::DotDict.to_dict()(by chrimaho)6449194: Remove redundant comments (by chrimaho)991bc5a: Extend UnitTests for thedictionariesmodule (by chrimaho)019116f: Fix bug. (by chrimaho)aca4d22: Refactorcdworkflow to useuvfor building and publishing packages (by chrimaho)6160bf9: Add thebump_versionmodule to configs (by chrimaho)6a7bf6f: Add new utility forbump_version(by chrimaho)2477de8: Add newDotDictclass to thedictionariesmodule (by chrimaho)7d3e7a6: Update CI/CD workflows to useuvprocesses (by chrimaho)ca76c45: Update package config to useuvinstead ofpoetry(by chrimaho)
v1.1.0
v1.1.0 - Enhance the output module๐
v1.1.0
2025-02-24
data-science-extensions/toolbox-python/releases/v1.1.0
Release Notes
What's Changed๐
- Update
list_columns()function:- Allow the
objinput to accept different input types - Extend the Unit Tests
- Allow the
- Update
pyproject.tomlfile:- To match the structure of the latest
poetryversion - To fix the location of where the
__version__attribute is stored
- To match the structure of the latest
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.0.4...v1.1.0
Updates
2ced1ff: bump optional package dependencies (by chrimaho)6170b1d: Make Unit Tests a little more efficient (by chrimaho)3bd4012: Fix linting (by chrimaho)bfd473e: Restructure thepyproject.tomlfile to be compatible with the latest version ofpoetry(by chrimaho)f4c68c7: Change where the__version__property is stored (by chrimaho)a3981f5: Enhancelist_columns()function to accept different input types (by chrimaho)d2bad60: Fix type definitions across all modules (by chrimaho)
v1.0.4
v1.0.4๐
v1.0.4
2024-12-13
data-science-extensions/toolbox-python/releases/v1.0.4
Release Notes
What's Changed๐
- Fix type definitions across all modules.
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.0.3...v1.0.4
v1.0.3
v1.0.3๐
v1.0.3
2024-12-13
data-science-extensions/toolbox-python/releases/v1.0.3
Release Notes
What's Changed๐
- Streamline a few functions in the Unit Tests module
- Add
dict_str_anyobject to thecollection_typesmodule
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.0.2...v1.0.3
Updates
3ee76af: Fix another typo (by chrimaho)6000aaa: Add images to docs (by chrimaho)a7e8111: Streamlinedeploymentsteps in theMakefile(by chrimaho)6a1382e: Adddict_str_anytocollection_typesmodule (by chrimaho)e67d0fd: Fix typo (by chrimaho)e2b9471: Fix Unit Test structure (by chrimaho)c540884: Adddocstring-inheritancetodocsdependencies (by chrimaho)7e78864: Fix missing Python version check duringCIworkflow (by chrimaho)127c9f0: Hide.jsand.cssfrom GitHub language stats (by chrimaho)bc1355f: Hidehtmlfrom GitHub language stats (by chrimaho)cacd235: Update package dependencies to make them more flexible (by chrimaho)4cacac8: Fix bug (by chrimaho)bed5bf9: Fix permission issue (by chrimaho)
v1.0.2
v1.0.2๐
v1.0.2
2024-11-10
data-science-extensions/toolbox-python/releases/v1.0.2
Release Notes
What's Changed๐
- Refactor how the coverage reports are handled in the docs.
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.0.1...v1.0.2
Updates
bed5bf9: Fix permission issue (by chrimaho)345de51: Fix failingCDworkflow (by chrimaho)25bb14b: Fix failingCIworkflow (by chrimaho)cc6b03d: Addgitcredentials duringCDworkflow (by chrimaho)ae36c98: Re-enablePyPIdeployment duringCDworkflow (by chrimaho)97eab31: EnhanceCDworkflow to better handle Code Cov reports (by chrimaho)b613674: Fix structure ofcodedocs page (by chrimaho)65d6660: Fixmikeconfig to removedeploy-prefixsetting (by chrimaho)c2a7604: Remove unnecessarycode-covflags in thepytestconfig (by chrimaho)b5870e2: StreamlineMakefileto remove unnecessary recipes, and add one to copy code-cov reports (by chrimaho)b3b56b1: Update CodeCov reports (by chrimaho)082cbc3: Remove unnecessary variables in theCDworkflow (by chrimaho)316aade: Remove unnecessarydeploy-docsjob fromCDworkflow (by chrimaho)8b204f2: Addgit configusing both--globaland--localflags (by chrimaho)
v1.0.1
v1.0.1๐
v1.0.1
2024-11-10
data-science-extensions/toolbox-python/releases/v1.0.1
Release Notes
What's Changed๐
- Fix some minor typos on the docs.
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v1.0.0...v1.0.1
Updates
8b204f2: Addgit configusing both--globaland--localflags (by chrimaho)0c594d2: Fix typos (by chrimaho)f361c54: Fix typos (by chrimaho)82e753e: Try new authentication username (by chrimaho)abec43b: Updateremoteurl (by chrimaho)07e2a9b: Checkgit configfrom mid-workflow (by chrimaho)9f72935: Add checks (by chrimaho)466e436: Do testing on env variables parsed tomakecommands (by chrimaho)97cf863: Add permissions again toCDworkflow file (by chrimaho)639f7cd: Fix authentication issue between repos (by chrimaho)ddc5ca3: Fix package URLs (by chrimaho)9eaca6b: Removedeploy-docsfrom theCDworkflow (by chrimaho)fe2a9e9: EnhanceMakefileto make recipes more robust and also add--remote=docsflag to allmikecommands (by chrimaho)5b10cf2: Fix spacing on README shields (by chrimaho)
v1.0.0
v1.0.0๐
v1.0.0
2024-11-05
data-science-extensions/toolbox-python/releases/v1.0.0
Release Notes
What's Changed๐
- First major release.
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.1.1...v1.0.0
v0.10.3
v0.10.3๐
v0.10.3
2024-11-05
data-science-extensions/toolbox-python/releases/v0.10.3
Release Notes
What's Changed๐
- Fix bugs in docs, and correct directory structure
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.10.2...v0.10.3
Updates
1d70e4d: Re-enable PyPI deployment step (by chrimaho)603863e: Update development Status (by chrimaho)b8a6e1a: Fix typo (by chrimaho)4b63792: Fix up badges on README file (by chrimaho)ac63eb0: Fix links for logos on home page (by chrimaho)b37b3bb: Adddeploy_prefixto themike deployprocess (by chrimaho)48ac825: Add step tocdworkflow to properly handleCNAMEfile (by chrimaho)8cede30: Fix alignment in README (by chrimaho)8c62f24: Fix another typo (by chrimaho)
v0.10.2
v0.10.2๐
v0.10.2
2024-11-03
data-science-extensions/toolbox-python/releases/v0.10.2
Release Notes
What's Changed๐
- Fix directory structure for docs
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.10.1...v0.10.2
Updates
8c62f24: Fix another typo (by chrimaho)ea5432c: Centre-align header in README (by chrimaho)273a4e4: Fix another typo (by chrimaho)119e573: Fix missing permissions (by chrimaho)58e82f2: Fix typos (by chrimaho)0aa8f31: Fix missingpypitoken from thedeploy-packagejob in thecdworkflow (by chrimaho)4cd12db: Fix artifacts used between jobs in thecdworkflow (by chrimaho)016565f: Fix triggers forcdworkflow (by chrimaho)56e97b4: Restructure how thecdworkflow works, splitting out thebuildanddeploysteps for both thepypianddocsjobs (by chrimaho)4b4148b: Removedeploy_prefixfrommikebuilds (by chrimaho)4e509d0: Rearrange the directory structure for the docs (by chrimaho)30a6678: Fixdocscommands forbuild/serveprocesses (by chrimaho)08a037a: Addblacktodocsdependencies (by chrimaho)c6a3ae0: Fixdeploy_prefixformikedocs deployments (by chrimaho)9488421: addmake serve-docs-mikecommand (by chrimaho)
v0.10.1
v0.10.1๐
v0.10.1
2024-11-03
data-science-extensions/toolbox-python/releases/v0.10.1
Release Notes
What's Changed๐
- Add Documentation by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/28
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.9.1...v0.10.1
Updates
7403678: Fix another typo (by chrimaho)ba6f0ae: Fix typo (by chrimaho)7909975: Adddocsdeployment script to GH Actions (by chrimaho)b7bf401: Fixactions/setup-pythonversion in GitHub Actions (by chrimaho)8d53acd: Updatemikedocs deployment scripts (by chrimaho)02ac906: Update versions inpre-commitconfig file (by chrimaho)1c79b19: Fix typos (by chrimaho)793c208: Addipykernelto list ofdevdependencies (by chrimaho)13ab8e5: Fix install scripts (by chrimaho)7ee1698: Enhance the customcssfor bothadmonitionsandcode-chunks(by chrimaho)78ca2b4: Fix examples for the docstrings in all functions in all modules. (by chrimaho)ae99983: Update ci.yml (by chrimaho)97e9571: Update Makefile (by chrimaho)693d049: Addcodecovstep toCDpipeline (by chrimaho)bcb56e7: AddREADMEtooverviewdocs page (by chrimaho)679024c: Add new check formkdocsbuild (by chrimaho)dba2697: Update theREADME(by chrimaho)684ce77: Fix typos (by chrimaho)1b022b1: Add docs for thedefaultsmodule (by chrimaho)444b16b: Add docs for theretrymodule (by chrimaho)e4f7722: Fix typos in theExamplessections for each of the docstrings (by chrimaho)8912e86: Add docs for theoutputmodule (by chrimaho)d901e39: Fix typos (by chrimaho)b225582: Updatecode-covreport (by chrimaho)519d8a5: Fix typo (by chrimaho)d43504d: Fix missing exports from thecheckersmodule (by chrimaho)60968c6: Update unit tests for thecheckersmodule (by chrimaho)bd5d339: Fix failing unit tests from thelistsmodule (by chrimaho)732821c: Expand predefined types from thecollection_typesmodule (by chrimaho)81f4fb4: Finish adding docs to thecheckersmodule (by chrimaho)724b1e0: Add docs for thedictionariesmodule (by chrimaho)bf19917: Fix typos (by chrimaho)d368386: Add docs for thestringsmodule (by chrimaho)8ce8a7a: Add the docs for thelistsmodule (by chrimaho)a7910c3: Add the docs for theclassesmodule (by chrimaho)19afc26: Fix version values in all dependencies (by chrimaho)e787288: Updatecode-covreport (by chrimaho)c1cfc94: Fix typos (by chrimaho)840c31e: Add docs forboolsmodule (by chrimaho)ae4f4b1: Set up configuration for themkdocsdocumentation (by chrimaho)
v0.9.1
v0.9.1๐
v0.9.1
2024-10-13
data-science-extensions/toolbox-python/releases/v0.9.1
Release Notes
What's Changed๐
- Add
retrymodule and all unit tests by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/26
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.8.1...v0.9.1
v0.8.1
v0.8.1๐
v0.8.1
2024-10-13
data-science-extensions/toolbox-python/releases/v0.8.1
Release Notes
What's Changed๐
- Add
outputmodule and all unit tests by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/25
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.7.1...v0.8.1
v0.7.1
v0.7.1๐
v0.7.1
2024-10-13
data-science-extensions/toolbox-python/releases/v0.7.1
Release Notes
What's Changed๐
- Add
*_contains()functions tocheckersmodule by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/23
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.6.1...v0.7.1
Updates
10e27e6: Add*_contains()functions tocheckersmodule (by )
v0.6.1
v0.6.1๐
v0.6.1
2024-10-12
data-science-extensions/toolbox-python/releases/v0.6.1
Release Notes
What's Changed๐
- Add
listsmodule by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/22
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.5.1...v0.6.1
v0.5.1
v0.5.1๐
v0.5.1
2024-10-12
data-science-extensions/toolbox-python/releases/v0.5.1
Release Notes
What's Changed๐
- Add
stringsmodule and all unit tests by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/21
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.4.1...v0.5.1
v0.4.1
v0.4.1๐
v0.4.1
2024-10-12
data-science-extensions/toolbox-python/releases/v0.4.1
Release Notes
What's Changed๐
- Add
classesmodule by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/16
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.3.1...v0.4.1
Updates
cca2643: Addclassesmodule and all unit tests (by )
v0.3.1
v0.3.1๐
v0.3.1
2024-10-12
data-science-extensions/toolbox-python/releases/v0.3.1
Release Notes
What's Changed๐
- Add
defaultsmodule by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/15
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.2.1...v0.3.1
v0.2.1
v0.2.1๐
v0.2.1
2024-10-12
data-science-extensions/toolbox-python/releases/v0.2.1
Release Notes
What's Changed๐
- Add URLs back in to config by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/9
- Fix Merge config by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/10
- Add
dictionariesmodule and all Unit Tests by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/11
Full Changelog: https://github.com/data-science-extensions/toolbox-python/compare/v0.1.1...v0.2.1
Updates
553aaa1: Fix type bugs for Python 3.9 (by )dc9c2b4: Complete unit tests for thecheckersmodule (by )1a2c124: Fixmypyerrors (by )3febc7d: Add thedictionariesmodule and unit tests (by )ecd27bd: Streamline the unit tests for theboolsmodule (by )44369f0: Expandcollection_typesmodule (by )60646e5: Add generic functions for unit tests (by )763ff0e: Fix install commands (by )a1e4c59: Addparameterizedto thetestdependencies (by )fb12849: Reformat the descriptions in theboolsmodule (by )fdeb865: Add thecollection_typesandcheckersmodules (by )dbb9364: Fix version (by )92fc124: Add URLs back in to config (by )8f201c6: Fix version (by )00b3a7d: Add URLs back in to config (by )
v0.1.1
v0.1.1๐
v0.1.1
2024-10-12
data-science-extensions/toolbox-python/releases/v0.1.1
Release Notes
What's Changed๐
- Updates by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/1
- Dev by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/2
- Dev by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/3
- Dev by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/4
- Dev by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/5
- Dev by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/6
- Dev by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/7
- Dev by @chrimaho in https://github.com/data-science-extensions/toolbox-python/pull/8
New Contributors๐
- @chrimaho made their first contribution in https://github.com/data-science-extensions/toolbox-python/pull/1
Full Changelog: https://github.com/data-science-extensions/toolbox-python/commits/v0.1.1
Updates
f11e91d: Fix (by )4bbecc1: Clean up workflows (by )7efceca: Check whethergitcan checkout themainbranch during workflow (by )c1fd9d3: Checkgitswitch to new branch (by )90fea6c: Fix missinggitrepo (by )f0a1c86: Check Git details (by )3e09f81: Add process to push updated version back to Gitmainbranch (by )993eafd: Hide URLs frompypoetryconfig file (by )1a022a4: Fix permissions incdworkflow (by )b55ab3e: Add step to upload assets to the release, and also turn off--dry-runfor pypi upload (by )cf7b836: Addcdworkflow (by )92dc8f9: Add more debugging scripts (by )05399bd: Fix typos (by )bc96ae8: Enhance theciworkflow to do some debugging (by )5c84ff9: Extendciworkflow to include extensive checking when merge tomain(by )46a91bf: Enhance poetry install commands (by )535084c: Addcifile to run checks when push to any branch exceptmain(by )66e19af: AddMakefilecommands (by )8243d1f: Hidepipenvconfig files (by )0c3f473: Clean comments (by )4be7347: Fixpre-commitconfig (by )04a237d: Enhance install scripts (by )a95dd2a: Add all relevant modules (by )3dabcb5: Update main config file (by )c767da2: Addpyupgradetopre-commitconfig (by )f6e4aea: Add.pre-commitconfig (by )c7c257e: Add installation config and scripts (by )47795a7: Add info toboolsmodule (by chrimaho)7a6a871: Addboolsmodule (by chrimaho)94bad5d: Initial commit (by chrimaho)