# What external tools do you use for Ignition development, and why?

**URL:** <https://forum.inductiveautomation.com/t/what-external-tools-do-you-use-for-ignition-development-and-why/93759>\
**Category:** Ignition\
**Created:** [July 25, 2024, 5:07pm UTC](https://forum.inductiveautomation.com/t/what-external-tools-do-you-use-for-ignition-development-and-why/93759 "2024-07-25T17:07:22Z")\
**Posts on this page:** 1\
**Showing post:** 71

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 14, 2025, 2:12pm UTC](https://forum.inductiveautomation.com/t/what-external-tools-do-you-use-for-ignition-development-and-why/93759/71 "2025-06-14T14:12:44Z")

</div>

> [@ben.hutche](#):
>
> import system.perspective.print as log

Be aware that `import` always takes the interpreter's modules lock, which can stall your script if something big is importing elsewhere (highly parallel as noted above). All use of `import` should be in project library scripts at the outermost level, never inside function definitions, or performance will suffer.

---

_[View the full topic](https://forum.inductiveautomation.com/t/what-external-tools-do-you-use-for-ignition-development-and-why/93759)._
