Commit Graph

8 Commits

Author SHA1 Message Date
ThotDjehuty efde8d19a5 fix: Update PyPI metadata with Optimiz-rs branding and logo (v1.0.1)
- Replace all OptimizR references with Optimiz-rs in README
- Fix logo URL to use GitHub raw link (displays on PyPI)
- Bump version to 1.0.1 for metadata update
- Published to PyPI: https://pypi.org/project/optimiz-rs/1.0.1/

Changes:
- README.md: 7 instances of OptimizR → Optimiz-rs
- README.md: Logo URL now uses raw.githubusercontent.com
- pyproject.toml: version 1.0.0 → 1.0.1
- Cargo.toml: version 1.0.0 → 1.0.1
2026-02-17 10:22:42 +01:00
ThotDjehuty 4714ce03e9 refactor: Rename PyPI package from optimizr-rs to optimiz-rs
- Shorter, cleaner package name
- Updated pyproject.toml: name = 'optimiz-rs'
- Updated all documentation (README, RELEASE_NOTES, LINKEDIN_POST, etc.)
- Rebuilt wheel: optimiz_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl
- Tested: Python import and DE algorithm working correctly

Package verified and ready for PyPI publication.
2026-02-17 09:43:04 +01:00
ThotDjehuty e93d43f290 feat: Publish to crates.io and prepare PyPI publication
crates.io:

- Successfully published optimizr v1.0.0

- Available at: https://crates.io/crates/optimizr

PyPI Preparation:

- Renamed package to optimizr-rs (avoid name conflict)

- Updated pyproject.toml with new name

- Built wheel: optimizr_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl

- Ready for upload (need API token)

Documentation Updates:

- Updated RELEASE_NOTES with crates.io link

- Updated README.md installation instructions

- Updated LINKEDIN_POST.md with correct package names

- Created PYPI_PUBLISHING.md with token instructions

Next: Get PyPI API token and run twine upload
2026-02-17 09:30:20 +01:00
Melvin Alvarez a3117fe4a2 fix(build): enable python-bindings feature in maturin config
- Add python-bindings feature to maturin build configuration
- Ensures PyO3 extension module is built correctly for PyPI
- Fixes PyInit__core symbol warning during wheel build

This is required because we removed python-bindings from default features
to fix cargo publish linking issues. Maturin now explicitly enables it.
2026-02-16 16:26:49 +01:00
Melvin Alvarez f44280edd7 chore: prepare v1.0.0 release for crates.io and PyPI
BREAKING CHANGES:
- Version bumped to 1.0.0 (stable release)
- Default features: Removed python-bindings from default (fixes linking issues)
- python-bindings now opt-in feature for PyO3 builds

Metadata Updates:
- Authors: HFThot Research Lab <contact@hfthot-lab.eu>
- Repository: https://github.com/ThotDjehuty/optimiz-r
- Homepage: https://hfthot-lab.eu
- Documentation: https://optimiz-r.readthedocs.io

README Updates:
- Version badge: 0.3.0 → 1.0.0
- What's New section updated for v1.0.0 stable release
- Citation author updated
- Contact information updated

This prepares OptimizR for publication to:
- crates.io (Rust package registry)
- PyPI (Python package index)

API is now stable and follows semantic versioning from v1.0.0 forward.
2026-02-16 16:24:25 +01:00
Melvin Alvarez 5f6bf5798c fix: Clean up unused imports and variables in mean_field modules
- Remove unused OptimizrError imports in pde_solvers and mod.rs
- Remove unused Array2 import in optimal_transport.rs
- Remove unused Grid and pde_solvers imports in nash_equilibrium.rs
- Fix m_new variable declaration in forward_backward.rs
- Add #[allow(non_snake_case)] for T field/parameter in python_bindings.rs
- Prefix unused hist_cr variable in shade.rs

All changes fix compilation warnings while preserving functionality.
2026-01-08 23:11:01 +01:00
Melvin Avarez 79f51e4775 Release v0.2.0: Comprehensive DE, Mathematical Toolkit, Optimal Control
Major Features:
• Comprehensive Differential Evolution with 5 strategies (rand1, best1, currenttobest1, rand2, best2)
• Adaptive jDE algorithm for self-tuning F and CR parameters
• Convergence tracking with history records and early stopping
• Mathematical toolkit module (780 lines): gradient, hessian, jacobian, statistics, linear algebra
• Optimal control framework: HJB solvers, regime switching, jump diffusion, MRSJD
• Sparse optimization: Sparse PCA, Box-Tao decomposition, ADMM, Elastic Net
• Rayon parallelization infrastructure (ready for pure Rust objectives)

Performance:
• 74-88× speedup for DE vs SciPy
• 50-100× speedup overall vs pure Python

Refactoring & Cleanup:
• Removed 5 legacy files (de_refactored.rs, hmm_legacy.rs, hmm_refactored.rs, mcmc_legacy.rs, mcmc_refactored.rs)
• Modular architecture with trait-based design
• Generic implementations (no domain-specific code)
• Updated Python bindings for new DE API
• Fixed ALL compilation warnings (0 errors, 0 warnings)

Documentation:
• Updated README with v0.2.0 features and benchmarks
• Created RELEASE_NOTES_v0.2.0.md (comprehensive changelog)
• New optimal control tutorial notebook (03_optimal_control_tutorial.ipynb)
• Updated API examples in README
• Created test_release.py for release validation

Version Bumps:
• Cargo.toml: 0.1.0 → 0.2.0
• pyproject.toml: 0.1.0 → 0.2.0
• python/__init__.py: 0.1.0 → 0.2.0

Breaking Changes:
• DE API: mutation_factor/crossover_rate → f/cr
• DE API: use_adaptive_jde → adaptive
• DE API: strategy names simplified (e.g., 'rand/1/bin' → 'rand1')
• DE returns: (x, fun) tuple instead of dict-like object

Known Items (Post-Release):
• Mathematical toolkit functions available in Rust but not yet exposed to Python
• MCMC Python wrapper needs API update to match new Rust implementation
• Tutorial notebooks need DE API updates

Tests: 34 Rust tests passing, core Python functionality validated with test_release.py
2025-12-10 18:54:32 +01:00
Melvin Avarez 923d27e87b Initial commit: OptimizR - High-performance optimization algorithms in Rust with Python bindings 2025-12-03 18:16:48 +01:00