# Automation Professionals' Integration Toolkit Module

**URL:** <https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934>\
**Category:** 3rd Party Modules\
**Tags:** perspective, ignition81, ignition83, vision, scripting\
**Created:** [June 13, 2023, 12:42am UTC](https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934 "2023-06-13T00:42:35Z")\
**Posts on this page:** 1\
**Showing post:** 236

<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:** [March 29, 2025, 6:46pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934/236 "2025-03-29T18:46:15Z")

</div>

New BETA. Alters the `tags()` function to not use the tags' own qualities for its function return quality. This enables other iterators to wrap `tags()` without using `forceQuality()`, which has the side effect of obliterating any nested non-good qualities. Adds the new `qvAt()` function which re-implements the square bracket operator to **not** discard nested qualities.

For Ignition v8.1: ~~v2.1.1.250881822~~

You can now supply prune the list of returned tag path/value pairs to exclude non-good quality with this combination:

```python
where(
	tags({path.to.list.of.paths}),
	isGood(qvAt(it(), 1))
)

```

---

_[View the full topic](https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934)._
