Skip to content

2.0.0

Compare
Choose a tag to compare
@jacksonpradolima jacksonpradolima released this 26 Dec 01:58
· 41 commits to master since this release
0fd16de

Important

This release marks a major upgrade for the GSP (Generalized Sequential Pattern) library, focusing on performance optimization, codebase refinement, and enhanced usability. The new version is up to 80x faster, significantly cleaner, and includes improved documentation and testing.
This overhaul sets the foundation for future features and scalability.

What's New in v2.0

Performance Improvements

  • Execution time reduced by up to 80x in benchmark tests compared to the previous implementation.
  • Optimized candidate generation:
    • Leveraged itertools for efficiency.
    • Streamlined logic for constructing k-sequences.
  • Benchmarked across various datasets to ensure scalability and efficiency.

Codebase Enhancements

  • Refactored Code:
    • Simplified generate_candidates_from_previous logic for better readability and maintainability.
    • Consolidated repetitive patterns and adopted modular functions.
    • Used modern Python features such as compress-for and optimized loops.
  • Testing Suite:
    • Expanded test cases to cover edge cases in candidate generation and GSP workflow.
    • Improved resilience and accuracy for rare and complex patterns.
  • Documentation Overhaul:
    • Updated README.md:
      • Clearer installation instructions and examples.
      • Added a quick start guide for ease of use.
    • Docstrings enhanced across the codebase to improve developer experience.

Dependency & Tooling Updates

  • Static Analysis:
    • Integrated SonarCloud to enforce code quality standards with detailed insights.
    • Added pylint to detect code issues and ensure compliance with Python best practices.
  • Code Coverage:
    • Integrated Codecov to measure test coverage and highlight untested areas, achieving high coverage with minimal gaps.
  • Code Formatting:
    • Enforced consistent style using black and isort.
    • Ensured quality checks with flake8.

How Has This Been Tested?

  • Unit Testing:
    • Comprehensive tests for candidate generation, sequence validation, and edge cases.
    • Validated using diverse transaction datasets to ensure robustness.
  • Performance Benchmarks:
    • Compared new and old implementations across various scenarios, demonstrating significant efficiency gains.
  • Static Analysis:
    • Automated quality checks using SonarCloud, pylint, and flake8.
  • Test Configuration:
    • Python Version: 3.11.4

We’re excited for you to explore the revamped GSP library. Please provide your feedback and suggestions for future improvements!

New Contributors

Full Changelog: 1.1...v2.0.0