Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: full scikit-learn compatibility + general refactor #241

Merged
merged 11 commits into from
Apr 1, 2024
Merged

Conversation

eonu
Copy link
Owner

@eonu eonu commented Apr 1, 2024

  • Use scikit-learn ≥1.4 metadata routing for full API compatibility
  • Switch from setup.py to pyproject.toml
  • Switch to poetry for dependency management
  • Use tox for documentation building, unit tests and linting
  • Add pre-commit hooks
  • Add coverage checks via coveralls
  • Drop support for Python <3.11
  • Support Python 3.11 and 3.12
  • Add issue and pull request templates
  • Add license information to .py files
  • Update repository documentation
  • Use cliff for CHANGELOG.md generation
  • Update Sphinx documenation
  • Switch to numpy docstring format (via napoleon)
  • Move library code from lib/ to sequentia/
  • Move unit tests from lib/test to tests/
  • Add sequentia.enums module for configuration values.
  • Add sequentia.version sub-package for versioning information.
  • Add sequentia._internal sub-package for internal logic.
  • Remove sequentia.pipeline module.
  • Make topologies internal
  • Remove pydantic validation classes for model inputs
  • Remove pydantic validation for numpy arrays
  • Use key-word only arguments more widely (e.g. for lengths)
  • Use pydantic.validate_call for validating constructors and other functions
  • Use type hinting
  • Use ABCMeta metaclass for base classes (e.g. ClassifierMixin/RegressorMixin and BaseHMM)
  • Use abc decorators for abstract methods
  • Avoid unnecessarily redefining methods on subclasses for only documentation purposes
  • Add predict_log_proba to classifiers
  • Move majority of validation logic to sequentia._internal._validation module
  • Prefix all HMM parameter setter functions with set_state
  • Rename set_transitions to set_state_transition_probs`
  • Rename set_state_emissions to set_state_emission_probs
  • Rename set_state_covariances to set_state_covars
  • Use static methods to define default HMM parameters
  • Handle KNN querying for single training sequences and single query sequences
  • Update IndependentFunctionTransformer to match FunctionTransformer from scikit-learn ≥1.4 API
  • Use Helpers fixture class for accessing helper methods in unit tests

@eonu eonu merged commit 2786899 into dev Apr 1, 2024
8 checks passed
@eonu eonu deleted the refactor branch April 1, 2024 16:53
@github-actions github-actions bot mentioned this pull request Apr 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant