🚀 Project Improvements - Version Bump to 2.2.0#181
Open
rafaelpadilla wants to merge 56 commits intopetrobras:mainfrom
Open
🚀 Project Improvements - Version Bump to 2.2.0#181rafaelpadilla wants to merge 56 commits intopetrobras:mainfrom
rafaelpadilla wants to merge 56 commits intopetrobras:mainfrom
Conversation
Co-authored-by: Rafael Padilla <31217453+rafaelpadilla@users.noreply.github.com>
Adapt Enum types properly.
…) typings. Also made the test check if model typing class has "predict" method.
…ables_with_meaningful_names
…_types Closes #1 - Replacing `Any` types by specific and correct typings
…ecorator to some functions in base_preprocessing.py.
Notebook fixes
Adding missing docstrings in validate_ functions
Add exceptions for HTML report files in .gitignore
…instead of SimpleTorchModel
fix: - Removed typing IO[bytes] from models save/load - Explicit types for models - Changed SimpleTorchModel to MLP in save/load tests
…dowed refactor: remove unnecessary getattr for is_windowed in feature extra…
…iles for 3W dataset resources
Add workshop presentation details and YouTube links to README files
* logging config and trainer logging * logging mlp
Collaborator
|
Hi, @rafaelpadilla. I hope this PR will result in another significant contribution from the Federal University of Rio de Janeiro to the 3W Project. We will evaluate it ASAP and will let you know here if we have any questions and/or requests for adjustments. On behalf of the 3W Community, I thank you for this PR. PS: the evaluation of PR #180 is still ongoing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This pull request delivers a set of refactors and improvements aimed at modernizing path handling, clarifying feature-extractor behavior, and introducing structured logging for better observability and experiment traceability. The scope of this delivery focuses on consistency, maintainability, and operational visibility.
Given the scope and impact of these improvements, this pull request suggests a bump to v2.2.0.
Summary of Changes
1. Use pathlib.Path in place of os.path for modern path management
All occurrences of
os.pathwere replaced withpathlib.Pathacross the codebase to provide a modern, object-oriented interface for path handling. This improves consistency, readability, and alignment with current Python best practices.2. Feature extractors: is_windowed as instance attribute
The unnecessary use of
getattr(config, "is_windowed", False)was removed from the feature extraction classes (ExtractStatisticalFeatures,ExtractEWStatisticalFeatures,ExtractWaveletFeatures). The default is nowself.is_windowed = Falseon the instance, and error messages were updated to direct users to setextractor.is_windowed = Trueon the instance when needed. Tests were adjusted to setis_windowedon extractor instances rather than via config, making it explicit thatis_windowedis an instance attribute, not a config parameter.3. Structured logging system
A structured logging system was introduced across the framework to improve observability, debugging, and experiment traceability. A logging directory was defined in
constants.py, alogging_config.pysetup file was added to configure format, handlers, and automatic log file creation, and the logger setup runs when the toolkit is imported. Loggers were added totrainer/trainer.pyandmodels/mlp.py. Each run creates a log file under the configured directory following the patternrun_<timestamp>.log, with entries in the format<timestamp> | <level> | <module> | <message>.4. Include youtube video links to README.md files
YouTube links were added to README.md files for 3W dataset resources used during workshop presentation.
Final Notes
These changes focus on modern path handling, clearer contracts for feature extractors, and better visibility into toolkit execution through logging, strengthening both code consistency and the ability to debug and trace experiments.
Thank you for reviewing this delivery.
🎉🥳🎊🚀✨
By creating this pull request, I confirm that I have read and fully accept and agree with one of the Petrobras' Contributor License Agreements (CLAs):
Our CLAs are based on the Apache Software Foundation's CLAs: