Skip to content

Commit e310871

Browse files
authored
Merge pull request #7 from jMetal/feature/refresh-saes
Feature/refresh saes
2 parents 6c22a5a + 53c7d20 commit e310871

39 files changed

+2694
-123
lines changed

.editorconfig

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# Unix-style newlines with a newline ending every file
7+
[*]
8+
end_of_line = lf
9+
insert_final_newline = true
10+
charset = utf-8
11+
trim_trailing_whitespace = true
12+
13+
# Python files
14+
[*.py]
15+
indent_style = space
16+
indent_size = 4
17+
max_line_length = 120
18+
19+
# Markdown files
20+
[*.md]
21+
trim_trailing_whitespace = false
22+
max_line_length = off
23+
24+
# YAML files
25+
[*.{yml,yaml}]
26+
indent_style = space
27+
indent_size = 2
28+
29+
# JSON files
30+
[*.json]
31+
indent_style = space
32+
indent_size = 2
33+
34+
# TOML files
35+
[*.toml]
36+
indent_style = space
37+
indent_size = 4
38+
39+
# reStructuredText files
40+
[*.rst]
41+
indent_style = space
42+
indent_size = 3
43+
max_line_length = off
44+
45+
# Makefile
46+
[Makefile]
47+
indent_style = tab
48+
49+
# Shell scripts
50+
[*.sh]
51+
indent_style = space
52+
indent_size = 2
53+

.github/workflows/test.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,17 @@ jobs:
2121

2222
steps:
2323
- uses: actions/checkout@v4
24+
- name: Install uv
25+
uses: astral-sh/setup-uv@v4
26+
with:
27+
version: "latest"
2428
- name: Set up Python 3.10
25-
uses: actions/setup-python@v3
29+
uses: actions/setup-python@v5
2630
with:
2731
python-version: "3.10"
2832
- name: Install dependencies
2933
run: |
30-
python -m pip install --upgrade pip
31-
python -m pip install -e .[test]
34+
uv pip install --system -e .[test,html]
3235
- name: Test with unittest
3336
run: |
3437
coverage run -m unittest discover tests

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,17 @@ celerybeat.pid
134134
# Environments
135135
.env
136136
.venv
137+
.venv/
137138
env/
138139
venv/
139140
ENV/
140141
env.bak/
141142
venv.bak/
142143

144+
# uv
145+
uv.lock
146+
.python-version
147+
143148
# Spyder project settings
144149
.spyderproject
145150
.spyproject

.pre-commit-config.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Pre-commit hooks for SAES
2+
# Install with: pre-commit install
3+
# Run manually with: pre-commit run --all-files
4+
5+
repos:
6+
# General file checks
7+
- repo: https://github.com/pre-commit/pre-commit-hooks
8+
rev: v4.5.0
9+
hooks:
10+
- id: trailing-whitespace
11+
- id: end-of-file-fixer
12+
- id: check-yaml
13+
- id: check-toml
14+
- id: check-json
15+
- id: check-added-large-files
16+
args: ['--maxkb=1000']
17+
- id: check-merge-conflict
18+
- id: check-case-conflict
19+
- id: mixed-line-ending
20+
args: ['--fix=lf']
21+
22+
# Python code formatting
23+
- repo: https://github.com/psf/black
24+
rev: 24.1.1
25+
hooks:
26+
- id: black
27+
language_version: python3.10
28+
args: ['--line-length=120']
29+
30+
# Import sorting
31+
- repo: https://github.com/PyCQA/isort
32+
rev: 5.13.2
33+
hooks:
34+
- id: isort
35+
args: ['--profile=black', '--line-length=120']
36+
37+
# Linting
38+
- repo: https://github.com/PyCQA/flake8
39+
rev: 7.0.0
40+
hooks:
41+
- id: flake8
42+
args: ['--max-line-length=120', '--extend-ignore=E203,W503']
43+
additional_dependencies: [flake8-docstrings]
44+
45+
# Type checking (optional - may need adjustments)
46+
# - repo: https://github.com/pre-commit/mirrors-mypy
47+
# rev: v1.8.0
48+
# hooks:
49+
# - id: mypy
50+
# additional_dependencies: [types-all]
51+
# args: ['--ignore-missing-imports']
52+

CHANGELOG.md

Lines changed: 133 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,141 @@
22

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

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

78
## [Unreleased]
89

10+
### Fixed
11+
- Corrected 'frtom' typo to 'from' in all plot module docstrings (23 instances across 5 files)
12+
913
## [Released]
1014

11-
## [RELEASE_VERSION] - Released on RELEASE_DATE by COMMIT_AUTHOR
15+
## [1.3.6] - 2025-03-18
16+
17+
### Added
18+
- HistoPlot visualization for algorithm performance distribution
19+
- Violin plot for enhanced performance distribution visualization
20+
21+
### Fixed
22+
- Various bug fixes and added code comments for better maintainability
23+
24+
## [1.3.5] - 2025-03-13
25+
26+
### Added
27+
- Anova and T-test tables for parametric statistical analysis
28+
- Extra Friedman test variations (aligned-rank, Quade) for non-parametric analysis
29+
- ML notebook example demonstrating library usage with machine learning algorithms
30+
- Comprehensive tests for new features
31+
32+
### Changed
33+
- Mean/median now used as estimators of best and second-best performance in LaTeX tables
34+
- Improved documentation across the entire library
35+
- Updated Bayesian notebook with better examples
36+
37+
### Fixed
38+
- Bug in MeanMedian table show() function
39+
40+
## [1.3.4] - 2025-03-06
41+
42+
### Added
43+
- Frequency graph to the Bayesian posterior plot (Pplot)
44+
- Article references for statistical test implementations
45+
46+
### Fixed
47+
- Fixed dependency issues (v2)
48+
- Fixed tests to accommodate new changes
49+
50+
## [1.3.2] - 2025-03-06
51+
52+
### Changed
53+
- Updated internal dependencies and configurations
54+
55+
## [1.3.1] - 2025-03-05
56+
57+
### Fixed
58+
- Minor bug fixes and improvements
59+
60+
## [1.3.0] - 2025-03-05
61+
62+
### Added
63+
- Bayesian posterior plot (Pplot) for probabilistic algorithm comparison
64+
- HTML module for generating interactive analysis reports
65+
66+
### Changed
67+
- Updated multi-objective fronts notebook
68+
- Updated sphinx documentation
69+
70+
## [1.2.0] - 2025-03-04
71+
72+
### Added
73+
- Reference fronts support in 2D and 3D for multi-objective optimization module
74+
- Parallel coordinates visualization for multi-objective analysis
75+
- Fronts notebook with comprehensive examples
76+
77+
### Changed
78+
- Updated all SAES fstring documentation format
79+
80+
### Fixed
81+
- Bug fixed in pareto_front.py
82+
83+
## [1.1.0] - 2025-02-26
84+
85+
### Changed
86+
- Updated Sphinx documentation to v1.1.0
87+
- Updated README.md with improved examples and instructions
88+
89+
## [1.0.3] - 2025-02-07
90+
91+
### Changed
92+
- Documentation improvements and README updates
93+
94+
## [1.0.2] - 2025-02-06
95+
96+
### Changed
97+
- Minor improvements and documentation updates
98+
99+
## [1.0.1] - 2025-02-06
100+
101+
### Fixed
102+
- Initial post-release bug fixes
103+
104+
## [1.0.0] - 2025-02-05
105+
106+
### Added
107+
- First stable release
108+
- Core statistical analysis features (Friedman test, Wilcoxon signed-rank test)
109+
- LaTeX table generation (Median, Friedman, Wilcoxon tables)
110+
- Visualization tools (Boxplot, Critical Distance plot)
111+
- Multi-objective optimization support (Pareto front visualization)
112+
- Command-line interface
113+
- Comprehensive documentation
114+
115+
## [0.6.0] - 2025-02-03
116+
117+
### Added
118+
- Pre-release version with core features
119+
- Initial multi-objective optimization module
120+
121+
## [0.5.1] - 2025-01-21
122+
123+
### Added
124+
- Initial beta release
125+
- Basic statistical testing framework
126+
- CSV data processing utilities
127+
128+
[Unreleased]: https://github.com/jMetal/SAES/compare/v1.3.6...HEAD
129+
[1.3.6]: https://github.com/jMetal/SAES/compare/v1.3.5...v1.3.6
130+
[1.3.5]: https://github.com/jMetal/SAES/compare/v1.3.4...v1.3.5
131+
[1.3.4]: https://github.com/jMetal/SAES/compare/v1.3.2...v1.3.4
132+
[1.3.2]: https://github.com/jMetal/SAES/compare/v1.3.1...v1.3.2
133+
[1.3.1]: https://github.com/jMetal/SAES/compare/v1.3.0...v1.3.1
134+
[1.3.0]: https://github.com/jMetal/SAES/compare/v1.2.0...v1.3.0
135+
[1.2.0]: https://github.com/jMetal/SAES/compare/v1.1.0...v1.2.0
136+
[1.1.0]: https://github.com/jMetal/SAES/compare/v1.0.3...v1.1.0
137+
[1.0.3]: https://github.com/jMetal/SAES/compare/v1.0.2...v1.0.3
138+
[1.0.2]: https://github.com/jMetal/SAES/compare/v1.0.1...v1.0.2
139+
[1.0.1]: https://github.com/jMetal/SAES/compare/v1.0.0...v1.0.1
140+
[1.0.0]: https://github.com/jMetal/SAES/compare/v0.6.0...v1.0.0
141+
[0.6.0]: https://github.com/jMetal/SAES/compare/v0.5.1...v0.6.0
142+
[0.5.1]: https://github.com/jMetal/SAES/releases/tag/v0.5.1

0 commit comments

Comments
 (0)