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.
This commit is contained in:
ThotDjehuty
2026-02-17 09:43:04 +01:00
parent 2fa97c2eaa
commit 4714ce03e9
7 changed files with 34 additions and 34 deletions
+9 -9
View File
@@ -33,15 +33,15 @@
## ⏳ PENDING - PyPI Publication
### Package Details
- **Name:** `optimizr-rs` (chosen to avoid conflict with existing "optimizr")
- **Wheel:** Built and ready at `target/wheels/optimizr_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl`
- **Name:** `optimiz-rs` (chosen to avoid conflict with existing "optimizr")
- **Wheel:** Built and ready at `target/wheels/optimiz_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl`
- **Size:** 615.3 KB
### Why "optimizr-rs"?
### Why "optimiz-rs"?
PyPI package names are case-insensitive and normalize punctuation:
-`optimizR` → normalizes to `optimizr` (conflicts with v1.4.7)
-`optimiz-r` → normalizes to `optimizr` (conflicts)
-`optimizr-rs` → unique, professional, clear Rust variant
-`optimiz-rs` → unique, professional, clear Rust variant
### Blocker: API Token Required
@@ -62,7 +62,7 @@ Visit: https://pypi.org/account/login/
Visit: https://pypi.org/manage/account/token/
Click **"Add API token"**:
- **Token name:** `optimizr-rs-publishing`
- **Token name:** `optimiz-rs-publishing`
- **Scope:** "Entire account"
- Click **"Add token"**
@@ -74,7 +74,7 @@ It will look like: `pypi-AgEIcHlwaS5vcmc...` (very long)
```bash
cd /Users/melvinalvarez/Documents/Workspace/optimiz-r
twine upload target/wheels/optimizr_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl \
twine upload target/wheels/optimiz_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl \
-u __token__ \
-p pypi-YOUR_COPIED_TOKEN_HERE
```
@@ -84,8 +84,8 @@ twine upload target/wheels/optimizr_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl \
### Step 4: Verify
After successful upload:
- Package URL: https://pypi.org/project/optimizr-rs/
- Test install: `pip install optimizr-rs`
- Package URL: https://pypi.org/project/optimiz-rs/
- Test install: `pip install optimiz-rs`
---
@@ -160,7 +160,7 @@ After getting your PyPI API token, just run:
```bash
cd /Users/melvinalvarez/Documents/Workspace/optimiz-r && \
twine upload target/wheels/optimizr_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl \
twine upload target/wheels/optimiz_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl \
-u __token__ -p YOUR_TOKEN_HERE
```
+2 -2
View File
@@ -31,7 +31,7 @@ OptimizR brings blazing-fast implementations of advanced algorithms to data scie
Python:
```bash
pip install optimizr-rs
pip install optimiz-rs
```
Rust:
@@ -64,5 +64,5 @@ I'd love your feedback, contributions, and star on GitHub! ⭐
🔗 GitHub: https://github.com/ThotDjehuty/optimiz-r
📚 Docs: https://optimiz-r.readthedocs.io
📦 PyPI: https://pypi.org/project/optimizr-rs/ (publishing soon)
📦 PyPI: https://pypi.org/project/optimiz-rs/
📦 crates.io: https://crates.io/crates/optimizr
+6 -6
View File
@@ -85,7 +85,7 @@ ERROR HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
**Solutions:**
1. **Option A: Use Different Package Name** (Recommended)
- `optimizr-rs` - Rust variant naming
- `optimiz-rs` - Rust variant naming
- `optimizr-hft` - HFT-focused variant
- `hfthot-optimizr` - Branded name
- `rustimizr` - Play on "Rust optimization"
@@ -94,13 +94,13 @@ ERROR HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
```bash
# 1. Update pyproject.toml
[project]
name = "optimizr-rs" # New name
name = "optimiz-rs" # New name
# 2. Rebuild wheel
maturin build --release
# 3. Upload to PyPI
twine upload target/wheels/optimizr_rs-1.0.0-*.whl -u ThotDjehuty -p "..."
twine upload target/wheels/optimiz_rs-1.0.0-*.whl -u ThotDjehuty -p "..."
```
2. **Option B: Contact Current Owner**
@@ -157,7 +157,7 @@ ERROR HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
## 🎯 Recommended Package Name
**Suggested:** `optimizr-rs`
**Suggested:** `optimiz-rs`
**Rationale:**
- Clear that it's the Rust implementation
@@ -167,8 +167,8 @@ ERROR HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
- Available on PyPI (checked)
**Update locations:**
1. `pyproject.toml` → `name = "optimizr-rs"`
2. `README.md` → `pip install optimizr-rs`
1. `pyproject.toml` → `name = "optimiz-rs"`
2. `README.md` → `pip install optimiz-rs`
3. `docs/source/installation.rst` → Update pip command
4. `LINKEDIN_POST.md` → Update installation instructions
5. `RELEASE_NOTES_v1.0.0.md` → Update PyPI references
+8 -8
View File
@@ -1,8 +1,8 @@
# PyPI Publishing Instructions
## Current Status
- ✅ Package built: `optimizr_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl`
- ✅ Package name: `optimizr-rs` (to avoid conflict with existing "optimizr")
- ✅ Package built: `optimiz_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl`
- ✅ Package name: `optimiz-rs` (to avoid conflict with existing "optimizr")
- ❌ Need PyPI API token (username/password auth deprecated)
## Steps to Publish
@@ -15,7 +15,7 @@
2. Create API token: https://pypi.org/manage/account/token/
- Click "Add API token"
- Token name: `optimizr-rs-publishing`
- Token name: `optimiz-rs-publishing`
- Scope: "Entire account" (can limit to project later)
- **IMPORTANT:** Copy the token immediately (starts with `pypi-`)
- Store securely (won't be shown again)
@@ -26,7 +26,7 @@
cd /Users/melvinalvarez/Documents/Workspace/optimiz-r
# Upload with API token
twine upload target/wheels/optimizr_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl \
twine upload target/wheels/optimiz_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl \
-u __token__ \
-p pypi-YOUR_TOKEN_HERE
```
@@ -36,8 +36,8 @@ twine upload target/wheels/optimizr_rs-1.0.0-cp38-abi3-macosx_10_12_x86_64.whl \
### 3. Verify Publication
After successful upload, verify at:
- Package page: https://pypi.org/project/optimizr-rs/
- Test install: `pip install optimizr-rs`
- Package page: https://pypi.org/project/optimiz-rs/
- Test install: `pip install optimiz-rs`
### 4. Update Documentation
@@ -62,7 +62,7 @@ EOF
chmod 600 ~/.pypirc
# Then upload without credentials in command
twine upload target/wheels/optimizr_rs-1.0.0-*.whl
twine upload target/wheels/optimiz_rs-1.0.0-*.whl
```
## Troubleshooting
@@ -73,7 +73,7 @@ twine upload target/wheels/optimizr_rs-1.0.0-*.whl
- Ensure username is `__token__` (not your actual username)
**Package name conflict:**
- Already handled - using `optimizr-rs`
- Already handled - using `optimiz-rs`
- Cannot use `optimizr`, `optimiz-r`, or `optimizR` (all normalize to "optimizr")
**Token not working:**
+1 -1
View File
@@ -52,7 +52,7 @@ OptimizR provides blazingly fast, production-ready implementations of advanced o
### From PyPI (Python)
```bash
pip install optimizr-rs
pip install optimiz-rs
```
### From crates.io (Rust)
+7 -7
View File
@@ -19,19 +19,19 @@ cargo add optimizr
### PyPI (Python)
```bash
pip install optimizr-rs
pip install optimiz-rs
```
🔗 https://pypi.org/project/optimizr-rs/ (publishing in progress)
🔗 https://pypi.org/project/optimiz-rs/ (publishing in progress)
## 🆕 What's New in v1.0.0
### Publication & Distribution
-**Published to crates.io** - Available in Rust package registry (Feb 17, 2026)
-**Published to PyPI** - Available as `optimizr-rs` via pip install (Feb 17, 2026)
-**Published to PyPI** - Available as `optimiz-rs` via pip install (Feb 17, 2026)
-**Stable API** - Semantic versioning from v1.0.0 forward
-**Production Ready** - Comprehensive testing and validation
**Note:** PyPI package is named `optimizr-rs` (not `optimizr`) to distinguish the Rust implementation.
**Note:** PyPI package is named `optimiz-rs` (not `optimizr`) to distinguish the Rust implementation.
### Documentation
- 📚 **ReadTheDocs** - Full documentation at https://optimiz-r.readthedocs.io
@@ -140,13 +140,13 @@ No code changes required. If you were using python-bindings explicitly, add it t
**For Python Users:**
```bash
# Install via pip
pip install optimizr-rs
pip install optimiz-rs
# Or specify version
pip install optimizr-rs==1.0.0
pip install optimiz-rs==1.0.0
```
**Note:** Package name changed from `optimizr` to `optimizr-rs` to avoid PyPI naming conflict.
**Note:** Package name changed from `optimizr` to `optimiz-rs` to avoid PyPI naming conflict.
**API Compatibility:**
✅ All Python APIs remain unchanged
+1 -1
View File
@@ -3,7 +3,7 @@ requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"
[project]
name = "optimizr-rs"
name = "optimiz-rs"
version = "1.0.0"
description = "High-performance optimization algorithms in Rust with Python bindings"
authors = [