Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| indigo_2025.1_documentation:python_packages [2025/09/22 19:58] – created - external edit 127.0.0.1 | indigo_2025.1_documentation:python_packages [2026/02/11 22:53] (current) – [Python 3.11.6 Packages Installed by Indigo] davel17 | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| This page describes how **Indigo 2025.1.0** works with Python, specifically with respect to packages/ | This page describes how **Indigo 2025.1.0** works with Python, specifically with respect to packages/ | ||
| - | Indigo 2025.1 shipped with [[api_release_notes: | + | Indigo 2025.1 shipped with [[api_release_notes: |
| **All embedded and external Python scripts are run in Python 3** - so you will need to update your scripts if they aren't working (we can't automatically tell if they will work or not unfortunately). We believe that simple scripts will most likely work without change, but if not, you can walk through [[https:// | **All embedded and external Python scripts are run in Python 3** - so you will need to update your scripts if they aren't working (we can't automatically tell if they will work or not unfortunately). We believe that simple scripts will most likely work without change, but if not, you can walk through [[https:// | ||
| Line 180: | Line 180: | ||
| === Python 3.11.6 Packages Installed by Indigo === | === Python 3.11.6 Packages Installed by Indigo === | ||
| - | Indigo 2025.1 ships with support for the following Python 3 packages in addition to the packages installed with the standard Python framework. Generally, if earlier versions of the listed packages are installed at the location Indigo uses, they will be upgraded to the version numbers below. The //''> | + | Indigo 2025.1 ships with support for the following Python 3 packages in addition to the packages installed with the standard Python framework. Generally, if earlier versions of the listed packages are installed at the location Indigo uses, they will be upgraded to the version numbers below. The //''> |
| ^ PIP installed by Indigo\\ PIP Modifiable (but not recommended) | ^ PIP installed by Indigo\\ PIP Modifiable (but not recommended) | ||
| ^ Package | ^ Package | ||
| - | | certifi | + | | * aiofiles |
| - | | charset_normalizer | + | | * anyio | >=4.8.0 | |
| - | | cryptography | + | | certifi |
| - | | - cffi | >= 1.16.0 | | + | | * cffi | >=1.17.1 | |
| - | | - pycparser | + | | charset_normalizer |
| - | | cycler | + | | * contourpy |
| - | | dictdiffer | + | | cryptography |
| - | | future | + | | * cycler |
| - | | httpx | >= 0.25.2 | | + | | dictdiffer |
| - | | - anyio | | + | | * fonttools |
| - | | - certifi | + | | future |
| - | | - h11 | + | | * h11 |
| - | | - httpcore | + | | * html5tagger |
| - | | - idna | >= 3.6 | | + | | * httpcore |
| - | | - sniffio | + | | * httptools |
| - | | idna | >= 3.6 | | + | | httpx | ==0.25.2 | |
| - | | janus | + | | idna | ==3.6 | |
| - | | - typing_extensions | + | | janus |
| - | | Jinja2 | + | | * jedi |
| - | | kiwisolver | + | | Jinja2 |
| - | | MarkupSafe | + | | * kiwisolver |
| - | | matplotlib | + | | MarkupSafe |
| - | | - fonttools | + | | matplotlib |
| - | | - contourpy | + | | * multidict |
| - | | numpy | + | | * numpy |
| - | | oauthlib | + | | oauthlib |
| - | | Pillow | + | | * packaging |
| - | | pudb | + | | * parso | |
| - | | - jedi | + | | Pillow |
| - | | - packaging | + | | pudb |
| - | | - parso | >= 0.8.3 | | + | | py-applescript |
| - | | - pygments | + | | pyaes | ==1.6.1 | |
| - | | - urwid | >= 2.3.4 | | + | | * pycparser |
| - | | - urwid-readline | + | | * Pygments |
| - | | py-applescript | + | | pyobjc |
| - | | pyaes | + | | pyparsing |
| - | | pyobjc | + | | python-box |
| - | | pyparsing | + | | python-dateutil |
| - | | python-box | + | | requests |
| - | | python-dateutil | + | | requests-oauthlib |
| - | | requests | + | | sanic |
| - | | requests-oauthlib | + | | * sanic-routing |
| - | | sanic | + | | sanic-session |
| - | | - aiofiles | + | | scipy | ==1.11.4 | |
| - | | - httptools | + | | six | ==1.16.0 | |
| - | | - html5tagger | + | | * sniffio |
| - | | - multidict | + | | * tracerite |
| - | | - sanic-routing | + | | * typing_extensions | >=4.12.2 | |
| - | | - sanic-session | + | | * ujson |
| - | | - tracerite | + | | urllib3 |
| - | | - ujson | + | | * urwid | >=2.6.16 | |
| - | | - uvloop | + | | * urwid-readline |
| - | | - websockets | + | | * uvloop |
| - | | scipy | >= 1.11.4 | | + | | * wcwidth |
| - | | six | >= 1.16.0 | | + | | websockets |
| - | | urllib3 | + | | xmljson |
| - | | xmljson | + | ^ |
| - | ^ | + | | pyserial |
| - | | pyserial | + | ===== Special Packages ===== |
| + | This section contains notes and examples about some library features that may be of particular help to developers. | ||
| + | ==== Python Box ==== | ||
| + | Depending on your Indigo version, we may have installed the [[https:// | ||
| + | |||
| + | < | ||
| + | my_box = box.Box(some_dict, | ||
| + | </ | ||
| + | |||
| + | This allows developers to specify a string using JavaScript style dot notation to get to parts of the `box` object: | ||
| + | |||
| + | < | ||
| + | some_element = my_box[" | ||
| + | </ | ||
| + | |||
| + | Here are some concrete examples: | ||
| + | |||
| + | < | ||
| + | import box | ||
| + | |||
| + | # Given this dictionary | ||
| + | my_dict = { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | |||
| + | my_box = box.Box(my_dict, | ||
| + | |||
| + | dict_in_list = my_box[" | ||
| + | |||
| + | int_from_list = my_box[" | ||
| + | |||
| + | a_dict = my_box[" | ||
| + | </ | ||
| + | |||
| + | This is useful in a variety of ways, but we use it extensively in the [[indigo_2025.1_documentation: | ||