Releases: mikewolfd/soap-calc
Releases · mikewolfd/soap-calc
v0.2.3
Changes
- Plugin Update: Bumped
.claude-plugin/plugin.jsonversion to support new capabilities. - Documentation Overhaul: Complete rewrite with Tutorials, Guides, and API Reference.
- CI/CD Fixes: Resolved build issues in documentation workflow.
- Link Updates: Pointed project URLs to the new documentation site.
v0.2.2
v0.2.0
Full Changelog: v0.1.1...v0.2.0
v0.1.1 — PyPI Polish
📦 v0.1.1 — PyPI Polish
Metadata and documentation improvements for the public PyPI listing.
Changes
- PyPI metadata — Added classifiers (Beta, Chemistry, Python 3.9/3.11/3.13), keywords (soap, saponification, lye-calculator, etc.), license (MIT), and sidebar links (Homepage, Repo, Issues, Changelog)
- README rendered on PyPI —
readme = "README.md"now set so the full README appears as the PyPI long description - README rewrite — New intro, PyPI badge,
pip install soap-calcinstructions, and a section documenting the built-in Claude Code formulation skill - Project URLs — PyPI sidebar now links to GitHub repo, issues, releases, and the PyPI page itself
Install
pip install soap-calc==0.1.1Full changelog: v0.1.0...v0.1.1
v0.1.0 — Initial Release
🧼 Soap Calc v0.1.0 — Initial Release
The first Python-based soap formulation library. Professional saponification calculations, recipe management, and property analysis — built for developers and AI-assisted soap makers.
✨ Highlights
- Multi-lye support — NaOH (bar soap), KOH (liquid soap), and dual-lye hybrids (shaving/cream soap) with configurable ratios and purity adjustments
- Flexible water calculation — Water:Lye ratio, lye concentration %, or water as % of oils
- Superfatting — Standard lye discount and dedicated superfat oils for hot process recipes
- Mold-based batch sizing — Calculate oil weight from mold dimensions (L×W×H) with fill factor and 0.692 g/cm³ oil density
- Recipe scaling — Resize any recipe to a target oil weight while preserving all ratios
📊 Analysis & Validation
- Property estimation from fatty acid profiles: Hardness, Cleansing, Conditioning, Bubbly Lather, Creamy Lather, Longevity, Iodine, INS
- Built-in validation checks for missing definitions, out-of-range properties, and fragrance safety limits
📦 Recipe Management
- JSON & YAML recipe input formats
- Phased ingredient tracking — Lye Liquid, Oil Phase, Light/Medium/Heavy Trace, Post Cook, In Mold
- Additives & fragrances with usage rates, percent bases (oil/liquid/batch weight), and safety limits
- Markdown export — printable recipe sheets with measurements, checklists, property bars, and fatty acid profiles
🗃️ Database
- 50+ built-in oils with SAP values and fatty acid profiles
- User-extensible via
~/.soap_calc/oils.json - CLI search —
soap-calc list-oils "coconut"
🤖 AI-Friendly
Designed for collaboration with Claude Code, GitHub Copilot, and other AI agents. Structured recipe files + CLI + transparent calculations = seamless AI-assisted formulation.
📋 CLI Commands
soap-calc calculate recipe.yaml # Calculate & display
soap-calc validate recipe.yaml # Check for issues
soap-calc export recipe.yaml -o out.md # Markdown report
soap-calc scale recipe.yaml 1000 # Resize to 1000g oils
soap-calc list-oils "olive" # Search oil database
Requirements
- Python ≥ 3.9
- PyYAML ≥ 6.0