Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true

# Python files
[*.py]
indent_style = space
indent_size = 4
max_line_length = 120

# Markdown files
[*.md]
trim_trailing_whitespace = false
max_line_length = off

# YAML files
[*.{yml,yaml}]
indent_style = space
indent_size = 2

# JSON files
[*.json]
indent_style = space
indent_size = 2

# TOML files
[*.toml]
indent_style = space
indent_size = 4

# reStructuredText files
[*.rst]
indent_style = space
indent_size = 3
max_line_length = off

# Makefile
[Makefile]
indent_style = tab

# Shell scripts
[*.sh]
indent_style = space
indent_size = 2

9 changes: 6 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,17 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"
- name: Set up Python 3.10
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e .[test]
uv pip install --system -e .[test,html]
- name: Test with unittest
run: |
coverage run -m unittest discover tests
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,17 @@ celerybeat.pid
# Environments
.env
.venv
.venv/
env/
venv/
ENV/
env.bak/
venv.bak/

# uv
uv.lock
.python-version

# Spyder project settings
.spyderproject
.spyproject
Expand Down
52 changes: 52 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Pre-commit hooks for SAES
# Install with: pre-commit install
# Run manually with: pre-commit run --all-files

repos:
# General file checks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-toml
- id: check-json
- id: check-added-large-files
args: ['--maxkb=1000']
- id: check-merge-conflict
- id: check-case-conflict
- id: mixed-line-ending
args: ['--fix=lf']

# Python code formatting
- repo: https://github.com/psf/black
rev: 24.1.1
hooks:
- id: black
language_version: python3.10
args: ['--line-length=120']

# Import sorting
- repo: https://github.com/PyCQA/isort
rev: 5.13.2
hooks:
- id: isort
args: ['--profile=black', '--line-length=120']

# Linting
- repo: https://github.com/PyCQA/flake8
rev: 7.0.0
hooks:
- id: flake8
args: ['--max-line-length=120', '--extend-ignore=E203,W503']
additional_dependencies: [flake8-docstrings]

# Type checking (optional - may need adjustments)
# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: v1.8.0
# hooks:
# - id: mypy
# additional_dependencies: [types-all]
# args: ['--ignore-missing-imports']

135 changes: 133 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,141 @@

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Fixed
- Corrected 'frtom' typo to 'from' in all plot module docstrings (23 instances across 5 files)

## [Released]

## [RELEASE_VERSION] - Released on RELEASE_DATE by COMMIT_AUTHOR
## [1.3.6] - 2025-03-18

### Added
- HistoPlot visualization for algorithm performance distribution
- Violin plot for enhanced performance distribution visualization

### Fixed
- Various bug fixes and added code comments for better maintainability

## [1.3.5] - 2025-03-13

### Added
- Anova and T-test tables for parametric statistical analysis
- Extra Friedman test variations (aligned-rank, Quade) for non-parametric analysis
- ML notebook example demonstrating library usage with machine learning algorithms
- Comprehensive tests for new features

### Changed
- Mean/median now used as estimators of best and second-best performance in LaTeX tables
- Improved documentation across the entire library
- Updated Bayesian notebook with better examples

### Fixed
- Bug in MeanMedian table show() function

## [1.3.4] - 2025-03-06

### Added
- Frequency graph to the Bayesian posterior plot (Pplot)
- Article references for statistical test implementations

### Fixed
- Fixed dependency issues (v2)
- Fixed tests to accommodate new changes

## [1.3.2] - 2025-03-06

### Changed
- Updated internal dependencies and configurations

## [1.3.1] - 2025-03-05

### Fixed
- Minor bug fixes and improvements

## [1.3.0] - 2025-03-05

### Added
- Bayesian posterior plot (Pplot) for probabilistic algorithm comparison
- HTML module for generating interactive analysis reports

### Changed
- Updated multi-objective fronts notebook
- Updated sphinx documentation

## [1.2.0] - 2025-03-04

### Added
- Reference fronts support in 2D and 3D for multi-objective optimization module
- Parallel coordinates visualization for multi-objective analysis
- Fronts notebook with comprehensive examples

### Changed
- Updated all SAES fstring documentation format

### Fixed
- Bug fixed in pareto_front.py

## [1.1.0] - 2025-02-26

### Changed
- Updated Sphinx documentation to v1.1.0
- Updated README.md with improved examples and instructions

## [1.0.3] - 2025-02-07

### Changed
- Documentation improvements and README updates

## [1.0.2] - 2025-02-06

### Changed
- Minor improvements and documentation updates

## [1.0.1] - 2025-02-06

### Fixed
- Initial post-release bug fixes

## [1.0.0] - 2025-02-05

### Added
- First stable release
- Core statistical analysis features (Friedman test, Wilcoxon signed-rank test)
- LaTeX table generation (Median, Friedman, Wilcoxon tables)
- Visualization tools (Boxplot, Critical Distance plot)
- Multi-objective optimization support (Pareto front visualization)
- Command-line interface
- Comprehensive documentation

## [0.6.0] - 2025-02-03

### Added
- Pre-release version with core features
- Initial multi-objective optimization module

## [0.5.1] - 2025-01-21

### Added
- Initial beta release
- Basic statistical testing framework
- CSV data processing utilities

[Unreleased]: https://github.com/jMetal/SAES/compare/v1.3.6...HEAD
[1.3.6]: https://github.com/jMetal/SAES/compare/v1.3.5...v1.3.6
[1.3.5]: https://github.com/jMetal/SAES/compare/v1.3.4...v1.3.5
[1.3.4]: https://github.com/jMetal/SAES/compare/v1.3.2...v1.3.4
[1.3.2]: https://github.com/jMetal/SAES/compare/v1.3.1...v1.3.2
[1.3.1]: https://github.com/jMetal/SAES/compare/v1.3.0...v1.3.1
[1.3.0]: https://github.com/jMetal/SAES/compare/v1.2.0...v1.3.0
[1.2.0]: https://github.com/jMetal/SAES/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/jMetal/SAES/compare/v1.0.3...v1.1.0
[1.0.3]: https://github.com/jMetal/SAES/compare/v1.0.2...v1.0.3
[1.0.2]: https://github.com/jMetal/SAES/compare/v1.0.1...v1.0.2
[1.0.1]: https://github.com/jMetal/SAES/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/jMetal/SAES/compare/v0.6.0...v1.0.0
[0.6.0]: https://github.com/jMetal/SAES/compare/v0.5.1...v0.6.0
[0.5.1]: https://github.com/jMetal/SAES/releases/tag/v0.5.1
Loading