Skip to main content

Balance chemical equations and generate printable forms

Project description

English | 中文文档

reaction-balancer

A precise chemical-equation balancer that uses exact rational arithmetic and CIAAW atomic weights to generate printable recipe sheets (Excel format) from Markdown input.

Features

1. Exact scientific computation

  • Uses CIAAW (2024) standard atomic weights.
  • All internal math uses sympy.Rational (exact fractions), eliminating round-off errors.
  • Linear algebra–based solver ensures correct balancing or gives an informative error if impossible.

2. Flexible input syntax

  • Supports parentheses and fractional subscripts:
    • Ni(NO3)2(H2O)6
    • Fe7/8Se
    • La1.8Sr0.2CuO4.12
  • Optional basis specification (e.g., ) allows partial balancing, which is useful for sol–gel and oxide-precursor routes.

3. Automatic Excel output

  • Produces a ready-to-print xlsx recipe sheet with formatted layout.
  • Column widths, styles, and alignment handled automatically—no manual editing required.

4. Reproducible and traceable

  • Input is a Markdown document, allowing you to record:
    • sample IDs
    • furnace schedule
    • experimental notes
  • Perfect for lab notebooks and long-term traceability.

5. Designed for materials synthesis

Suitable for:

  • solid-state reactions
  • flux growth
  • hydrothermal / sol-gel precursor balancing
  • cuprates, pnictides, nickelates, chalcogenides, and general inorganic synthesis

Installation

pip install balancer

or if using uv:

uv tool install balancer

Usage

Run the following command in any directory:

python -m balancer
# or use uv:
# uv run balancer

This program needs an input file (default: ./input.md).

If input.md is not found, a template will be automatically created in the current working directory.

Example input: INPUT_EXAMPLE

Corresponding output: OUTPUT_EXAMPLE

You may also specify an explicit filepath:

balancer <filepath>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reaction_balancer-2.0.6.tar.gz (274.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reaction_balancer-2.0.6-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file reaction_balancer-2.0.6.tar.gz.

File metadata

  • Download URL: reaction_balancer-2.0.6.tar.gz
  • Upload date:
  • Size: 274.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for reaction_balancer-2.0.6.tar.gz
Algorithm Hash digest
SHA256 19c66a22d7b899fa4320811ae442506516119b7e25e4d04b1f4bf1cb09cd3695
MD5 f591cfd6588572c99ecbb4f2ff17912c
BLAKE2b-256 1887f615e73af8ccd3670b1fd89c688da04c1ce1a7ffe70cbc95302b6ded9244

See more details on using hashes here.

File details

Details for the file reaction_balancer-2.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for reaction_balancer-2.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bde2bb1e53d5137f5ea5f03b81a025bcdd519ff2d8ad6bc48e9ec6e24e68fc5e
MD5 d1c91e2e2711435753990db56fd33545
BLAKE2b-256 2cb5400562d17ffb1a3f9964d2ffccf334814edffd9198d8faec5c13753a0635

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page