Skip to main content

Turn Python calculations into well-formatted, math-rich documents.

Project description

Rubberize Banner

Rubberize

Rubberize converts raw Python code into readable mathematical notation so calculations can be clearly presented, reviewed, and documented.

Who is Rubberize For?

Rubberize is designed for:

  • Scientists and Engineers: Simplify the presentation of complex calculations in Jupyter notebooks by rendering them as clear, typeset math.
  • Educators and Students: Create visually appealing and easy-to-understand mathematical explanations directly from Python code.
  • Technical Writers: Generate LaTeX representations of Python calculations for seamless integration into professional-grade documents.

If you work with Python code that involves mathematical computations and want to bridge the gap between raw code and polished documentation, Rubberize is for you!

Installation

Install Rubberize with pip:

pip install rubberize

To include dependencies that allow Rubberize to be used with Jupyter Notebooks:

pip install "rubberize[jupyter]"

Quick Start

[!WARNING] Use of eval(): This project uses Python's built-in eval() to evaluate some expressions. Since it executes code already present in the input source (e.g., a Jupyter cell or script), it poses no additional risk in such environments. However, be cautious when handling untrusted inputs outside controlled settings.

In a Jupyter notebook, load the extension:

%load_ext rubberize

Use the %%tap magic:

%%tap
import math
a = 3
b = 4
c = math.sqrt(a**2 + b**2)

  $\displaystyle a = 3$

  $\displaystyle b = 4$

  $\displaystyle c = \sqrt{a^{2} + b^{2}} = \sqrt{3^{2} + 4^{2}} = 5.00$

Documentation

Full tutorials, configuration options, and examples are found in Rubberize Documentation.

Why The Names?

Rubberize is inspired by tapping rubber trees for latex.

The %%tap command taps a code cell and extracts LaTeX, turning ordinary Python calculations into structured mathematical output.

Contributing

If you’re interested in contributing or mentoring, please feel free to contact me. I’m eager to collaborate to make Rubberize even better.

Setting Up for Development

Clone the repository:

git clone https://github.com/chitoperalta/rubberize.git
cd rubberize

Set up a virtual environment (recommended):

python -m venv .venv
source .venv/bin/activate
# Windows: .venv\Scripts\activate

Install Rubberize in editable mode with development dependencies:

pip install -e ".[dev]"

License

MIT License © 2025-2026 Chito Peralta and contributors.

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

rubberize-0.4.3.tar.gz (62.6 kB view details)

Uploaded Source

Built Distribution

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

rubberize-0.4.3-py3-none-any.whl (76.9 kB view details)

Uploaded Python 3

File details

Details for the file rubberize-0.4.3.tar.gz.

File metadata

  • Download URL: rubberize-0.4.3.tar.gz
  • Upload date:
  • Size: 62.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rubberize-0.4.3.tar.gz
Algorithm Hash digest
SHA256 af3921e7dad43c0e855142cf599f671cb982ce16b81dd9635fd6ed3112753a15
MD5 c1e1ea75591089e034c9a1d5e6a7ac5f
BLAKE2b-256 5a2ac8ecb6966ad441279e0eba9397f92a7f56819d51700f4349aa09007111c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rubberize-0.4.3.tar.gz:

Publisher: publish.yml on chitoperalta/rubberize

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rubberize-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: rubberize-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 76.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rubberize-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c97ebf8d4a6c35886110d319fb3f97ee13ac6db69daf1c01a1d4244f8f856791
MD5 8d62e7a5dcee2005a5e33ebe6897cff0
BLAKE2b-256 614cc24b15dd31da092792fe581ac26c39008e9aa64378a04c367899806a36b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rubberize-0.4.3-py3-none-any.whl:

Publisher: publish.yml on chitoperalta/rubberize

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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