ipycalc


Nameipycalc JSON
Version 0.0.71 PyPI version JSON
download
home_pagehttps://github.com/JWock82/ipycalc.git
SummaryClean looking engineering calculations for IPython
upload_time2025-08-19 03:32:12
maintainerNone
docs_urlNone
authorD. Craig Brinck, PE, SE
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements IPython pint jupyterlab-mathjax3
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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:

![Example](/Example.png)

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/2e/7d/fcfe88cd67676a114c5b0f9e3f63ee229a8b0bf6a39dd2407b306726cf70/ipycalc-0.0.71.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![Example](/Example.png)\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.71",
    "project_urls": {
        "Homepage": "https://github.com/JWock82/ipycalc.git"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "190e8078bd65192efd3d63ca3dc878adc301f2d16712a38fadd9fdf894293696",
                "md5": "b0681d3ddbbb6bc93164a162bb10f574",
                "sha256": "890247daa262ac7a343dd91d96f842f69bc9e4f0fce882ecdd3ceef0c1ec229c"
            },
            "downloads": -1,
            "filename": "ipycalc-0.0.71-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b0681d3ddbbb6bc93164a162bb10f574",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 132985,
            "upload_time": "2025-08-19T03:32:11",
            "upload_time_iso_8601": "2025-08-19T03:32:11.589494Z",
            "url": "https://files.pythonhosted.org/packages/19/0e/8078bd65192efd3d63ca3dc878adc301f2d16712a38fadd9fdf894293696/ipycalc-0.0.71-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2e7dfcfe88cd67676a114c5b0f9e3f63ee229a8b0bf6a39dd2407b306726cf70",
                "md5": "76d0d761f9b05e7a4176262c38804ed7",
                "sha256": "41adf29eea845dd7f74af4a6d93454cce3b45303d910ef76adb41a3fc6bf76e5"
            },
            "downloads": -1,
            "filename": "ipycalc-0.0.71.tar.gz",
            "has_sig": false,
            "md5_digest": "76d0d761f9b05e7a4176262c38804ed7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 125123,
            "upload_time": "2025-08-19T03:32:12",
            "upload_time_iso_8601": "2025-08-19T03:32:12.719518Z",
            "url": "https://files.pythonhosted.org/packages/2e/7d/fcfe88cd67676a114c5b0f9e3f63ee229a8b0bf6a39dd2407b306726cf70/ipycalc-0.0.71.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-19 03:32:12",
    "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"
}
        
Elapsed time: 1.60780s