Skip to content

Releases: mikewolfd/soap-calc

v0.2.3

16 Feb 04:46

Choose a tag to compare

Changes

  • Plugin Update: Bumped .claude-plugin/plugin.json version 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

16 Feb 04:45

Choose a tag to compare

Changes

  • Documentation Overhaul: Added Tutorials, How-to Guides, Explanations, and valid API Reference.
  • CI/CD Fixes: Resolved build issues in documentation workflow.
  • Link Updates: Pointed project URLs to the new documentation site.

v0.2.0

15 Feb 16:50

Choose a tag to compare

Full Changelog: v0.1.1...v0.2.0

v0.1.1 — PyPI Polish

15 Feb 04:38

Choose a tag to compare

📦 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 PyPIreadme = "README.md" now set so the full README appears as the PyPI long description
  • README rewrite — New intro, PyPI badge, pip install soap-calc instructions, 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.1

Full changelog: v0.1.0...v0.1.1

v0.1.0 — Initial Release

15 Feb 04:31

Choose a tag to compare

🧼 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 searchsoap-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