# ipycalc
Simple Engineering Calculations in Python
Turn the contents of a Jupyter cell into a formatted calculation by following the steps below:
1. Install `ipycalc` using `pip install ipycalc`
2. Use `from ipycalc import calc` to bring `ipycalc` into your notebook's namespace.
3. Use `%%calc` as the first line of a cell to indicate that you want to run `ipycalc` on the contents of a cell.
The basic calculation syntax is:
Variable Description: `variable_name` = `python_expression` -> `result_decimal_places`*`result_unit` # Reference Text
Here's a simple example that calculates the flexural strength of a concrete beam:

Key components of the `ipycalc` syntax are:
* `:` (required) The description must come before this character.
* `=` (optional) Used to assign a python expression to a variable name. Omit this if you simply want to reprint a previously defined variable.
* `->` (optional) Separates the python expression from the results formatting rules.
* `*` (optional) Indicate the number of decimals you want to see in the result to the left of the `*`, and the units you want to see in the result to the right.
* `#` (optional) Indicates reference text to the side of the calculation - handy for equation references or code references.
Here are a few useful things to keep in mind when using `ipycalc`:
* Subscripts can be added by using the `_` character to indicate the start of a subscript.
* Greek characters included in the `python_expression` can just be written out (e.g. `epsilon`). To include greek characters in the Variable Description or the Reference Text, you can use Jupyter's Markdown Latex tags (e.g. `$\epsilon$`).
* To stack fractions place the numerator and denominater in parentheses: (num)/(denom) yields $\dfrac{num}{denom}$.
* `if` statements and `else` statements are available using python's inline `if` statement (terniary) notation.
* Square roots can be displayed using `sqrt`.
* Prime characters can be displayed using `^prime`.
* If text gets to lengthy to fit on one line, you can add `\\` to force a line break anywhere in a line. This can help your calculations fit within the page's print margins.
* `ipycalc` assists you with printing your notebooks. It has a built in `nbconvert` template called `ipycalc` that works just like the `webpdf` template, except it fixes the the bad margins in the `webpdf` template, and avoids page breaks right after headers. Any cells tagged with `hide_cell` will not be rendered. Any cells tagged with `hide_input` will only show the output upon printing. You can select it from the file menu via "File -> Save and Export Notebook As... -> Ipycalc"
IPycalc is still in development. There could be bugs, so be cautious and validate the answers it gives you. A special thanks to @connorferster for his project `handcalcs` which inspired this project. A link to `handcalcs` is here: https://github.com/connorferster/handcalcs.
Raw data
{
"_id": null,
"home_page": "https://github.com/JWock82/ipycalc.git",
"name": "ipycalc",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "D. Craig Brinck, PE, SE",
"author_email": "Building.Code@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/d8/00/6a1926812db6f5c75c8bf353620453c4649c1b9c3f0213c2709e68259309/ipycalc-0.0.68.tar.gz",
"platform": null,
"description": "# ipycalc\nSimple Engineering Calculations in Python\n\nTurn the contents of a Jupyter cell into a formatted calculation by following the steps below:\n\n1. Install `ipycalc` using `pip install ipycalc`\n2. Use `from ipycalc import calc` to bring `ipycalc` into your notebook's namespace.\n3. Use `%%calc` as the first line of a cell to indicate that you want to run `ipycalc` on the contents of a cell.\n\nThe basic calculation syntax is:\n\nVariable Description: `variable_name` = `python_expression` -> `result_decimal_places`*`result_unit` # Reference Text\n\nHere's a simple example that calculates the flexural strength of a concrete beam:\n\n\n\nKey components of the `ipycalc` syntax are:\n\n* `:` (required) The description must come before this character.\n* `=` (optional) Used to assign a python expression to a variable name. Omit this if you simply want to reprint a previously defined variable.\n* `->` (optional) Separates the python expression from the results formatting rules.\n* `*` (optional) Indicate the number of decimals you want to see in the result to the left of the `*`, and the units you want to see in the result to the right.\n* `#` (optional) Indicates reference text to the side of the calculation - handy for equation references or code references.\n\nHere are a few useful things to keep in mind when using `ipycalc`:\n\n* Subscripts can be added by using the `_` character to indicate the start of a subscript.\n* Greek characters included in the `python_expression` can just be written out (e.g. `epsilon`). To include greek characters in the Variable Description or the Reference Text, you can use Jupyter's Markdown Latex tags (e.g. `$\\epsilon$`).\n* To stack fractions place the numerator and denominater in parentheses: (num)/(denom) yields $\\dfrac{num}{denom}$.\n* `if` statements and `else` statements are available using python's inline `if` statement (terniary) notation.\n* Square roots can be displayed using `sqrt`.\n* Prime characters can be displayed using `^prime`.\n* If text gets to lengthy to fit on one line, you can add `\\\\` to force a line break anywhere in a line. This can help your calculations fit within the page's print margins.\n* `ipycalc` assists you with printing your notebooks. It has a built in `nbconvert` template called `ipycalc` that works just like the `webpdf` template, except it fixes the the bad margins in the `webpdf` template, and avoids page breaks right after headers. Any cells tagged with `hide_cell` will not be rendered. Any cells tagged with `hide_input` will only show the output upon printing. You can select it from the file menu via \"File -> Save and Export Notebook As... -> Ipycalc\"\n\nIPycalc is still in development. There could be bugs, so be cautious and validate the answers it gives you. A special thanks to @connorferster for his project `handcalcs` which inspired this project. A link to `handcalcs` is here: https://github.com/connorferster/handcalcs.\n",
"bugtrack_url": null,
"license": null,
"summary": "Clean looking engineering calculations for IPython",
"version": "0.0.68",
"project_urls": {
"Homepage": "https://github.com/JWock82/ipycalc.git"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a025e8e656a6bf5284d31eaedcb6258e29611182655892458bc66812c5d39723",
"md5": "3edacdb7ca25a9f19eef7495440dff37",
"sha256": "8abb18a4ef347a1d98ccb6b245a0433c850fd0cff4efc1ccb9fffa006a06deb0"
},
"downloads": -1,
"filename": "ipycalc-0.0.68-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3edacdb7ca25a9f19eef7495440dff37",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 132882,
"upload_time": "2025-02-05T01:13:14",
"upload_time_iso_8601": "2025-02-05T01:13:14.162764Z",
"url": "https://files.pythonhosted.org/packages/a0/25/e8e656a6bf5284d31eaedcb6258e29611182655892458bc66812c5d39723/ipycalc-0.0.68-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d8006a1926812db6f5c75c8bf353620453c4649c1b9c3f0213c2709e68259309",
"md5": "04f763d180c3ee222635878e33df66f0",
"sha256": "620e07fcb2ab8fbc98b2ae01af6fca31138f9784db278ec9b319ee0765989997"
},
"downloads": -1,
"filename": "ipycalc-0.0.68.tar.gz",
"has_sig": false,
"md5_digest": "04f763d180c3ee222635878e33df66f0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 125027,
"upload_time": "2025-02-05T01:13:16",
"upload_time_iso_8601": "2025-02-05T01:13:16.162813Z",
"url": "https://files.pythonhosted.org/packages/d8/00/6a1926812db6f5c75c8bf353620453c4649c1b9c3f0213c2709e68259309/ipycalc-0.0.68.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-05 01:13:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JWock82",
"github_project": "ipycalc",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "IPython",
"specs": []
},
{
"name": "pint",
"specs": []
},
{
"name": "jupyterlab-mathjax3",
"specs": []
}
],
"lcname": "ipycalc"
}