knakamura13 / mlrose-ky

A highly optimized fork of the popular mlrose-hiive package. For Machine Learning, Randomized Optimization and SEarch algorithms.
https://nkapila6.github.io/mlrose-ky/
BSD 3-Clause "New" or "Revised" License
20 stars 8 forks source link

Add exhaustive input validation for all callables #23

Open knakamura13 opened 2 weeks ago

knakamura13 commented 2 weeks ago

Issue Summary
Implement automatic type-related input validation for all functions, methods, and classes with defined type hints across the project. This will ensure that every callable enforces type constraints at runtime, raising TypeError for incorrect parameter types or return types.

Describe the Request

Desired Outcome

Current State

Proposed Solution


Future Work

knakamura13 commented 2 weeks ago

This issue depends on #24.

knakamura13 commented 1 week ago

Going to try out typeguard first.

knakamura13 commented 1 week ago

Used typeguard (i.e., install_import_hook('mlrose-ky') and found no issues with types.