# Ignition-api-stubs and the path forward

**URL:** <https://forum.inductiveautomation.com/t/ignition-api-stubs-and-the-path-forward/69452>\
**Category:** Ignition\
**Tags:** ignition81, scripting\
**Created:** [February 4, 2023, 8:30pm UTC](https://forum.inductiveautomation.com/t/ignition-api-stubs-and-the-path-forward/69452 "2023-02-04T20:30:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![thecesrom.git](https://avatars.discourse-cdn.com/v4/letter/t/dfb087/32.png) [@thecesrom.git](https://forum.inductiveautomation.com/u/thecesrom.git)\
**Post date:** [February 4, 2023, 8:30pm UTC](https://forum.inductiveautomation.com/t/ignition-api-stubs-and-the-path-forward/69452/1 "2023-02-04T20:30:48Z")

</div>

We are announcing that [`ignition-api-stubs`](https://pypi.org/project/ignition-api-stubs) 8.1.24 will be the last release officially supporting Python 3.6. Starting with version 8.1.25 our stubs package can be installed using Python 3.7 through 3.10.

## Why drop Python 3.6 while we still support Python 2.7?

We understand this may sound odd considering we are actively supporting Python 2.7, but we are planning on reducing technical debt on the tools we rely for running our tests; specifically `tox`.

## Why not Python 3.11?

Since we run `mypy` against Python 2 codebase we must depend on `mypy[python2]==0.971`. This particular version (the last to support Python 2) depends on `typed_ast`, which fails to install on Python 3.11. For more details, please read [`typed_ast#179`](https://github.com/python/typed_ast/issues/179).

## The path forward

We strongly suggest our users to switch to Python 3.10 at their convenience, but rest assured we will continue supporting Python 3.7 until further notice.

Thanks for reading.

_The post [ignition-api-stubs and the path forward](https://ignition-api.github.io/blog/2023/02/04/ignition-api-stubs-and-the-path-forward/) appeared first on [ignition-api](https://ignition-api.github.io/blog/)._

* * *

Related post:

> [@Running mypy or other static type-checking on Ignition Jython scripts](https://forum.inductiveautomation.com/t/running-mypy-or-other-static-type-checking-on-ignition-jython-scripts/60799):
>
> On Python projects unrelated to Ignition, I’ve been starting to use type annotations and static type checking tools like [mypy](http://mypy-lang.org/). I find the type annotations very helpful as reminders of what function parameters are supposed to be, and mypy helps find corner cases that would’ve lead to exceptions. If you’ve never seen type annotations in Python, the mypy cheat sheets are the simplest demonstration and practical explanation I’ve found. Annotations used to be stored as comments in [Python2](https://mypy.readthedocs.io/en/stable/cheat_sheet.html), but Pytho…

---

<div class="post-metadata">

**Author:** ![thecesrom.git](https://avatars.discourse-cdn.com/v4/letter/t/dfb087/32.png) [@thecesrom.git](https://forum.inductiveautomation.com/u/thecesrom.git)\
**Post date:** [February 4, 2023, 8:46pm UTC](https://forum.inductiveautomation.com/t/ignition-api-stubs-and-the-path-forward/69452/2 "2023-02-04T20:46:16Z")

</div>

You may find more information about `mypy` and using type hints in Python 2 here:

[https://coatl-mypy.readthedocs.io/en/v0.971/cheat\_sheet.html](https://coatl-mypy.readthedocs.io/en/v0.971/cheat_sheet.html)
