# Python based plugins building and packaging / TUI

**URL:** <https://forum.opentap.io/t/python-based-plugins-building-and-packaging-tui/360>\
**Category:** Technical\
**Tags:** python, plugin\
**Created:** [June 24, 2021, 4:03pm UTC](https://forum.opentap.io/t/python-based-plugins-building-and-packaging-tui/360 "2021-06-24T16:03:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pythonized](https://avatars.discourse-cdn.com/v4/letter/p/85f322/32.png) [@pythonized](https://forum.opentap.io/u/pythonized)\
**Post date:** [June 24, 2021, 4:03pm UTC](https://forum.opentap.io/t/python-based-plugins-building-and-packaging-tui/360/1 "2021-06-24T16:03:46Z")

</div>

I have a few questions about building and packaging concepts for Python based plugins.

1. I cannot make TUI see my plugins by simply dropping the DLL to `OpenTAP\Packages\PluginName` folder (at the moment I’m using Windows). Python Example plugin works fine. I tried to build a package and install it, tried adding a similar set of files manually to my plugin folder but it didn’t seem to help. What are the required files/location to make a plugin visible to TUI?
2. Does the output DLL contain all necessary dependencies or it’s still required to have Python source code next to it? Asking because while trying to find differences between the example and my plugin, I noticed that deleting `.py` files from the Python plugin example breaks it.

I hope my questions make sense and I’m happy to explain in more details if needed.

---

<div class="post-metadata">

**Author:** ![brennen\_direnzo](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.opentap.io/brennen_direnzo/32/6_2.png) [@brennen\_direnzo](https://forum.opentap.io/u/brennen_direnzo)\
**Post date:** [June 24, 2021, 4:15pm UTC](https://forum.opentap.io/t/python-based-plugins-building-and-packaging-tui/360/2 "2021-06-24T16:15:58Z")

</div>

1. @stefan.holst may have to help with the TUI questions. It is possible you need to use `tap tui-pm` to install the package. I also believe it needs to be in `OpenTAP\Packages\Python\PluginName` meaning you also will need the Python Plugin installed as a prereq.

2. You will still need the `.py` or `.pyc` files. This is because the DLL generated is just a wrapper allowing for interfacing to OpenTAP, it is not converting the python files to C#.

Do you see any errors in your SessionLog file, or does it seem to be skipping the files entirely?

---

<div class="post-metadata">

**Author:** ![stefan.holst](https://avatars.discourse-cdn.com/v4/letter/s/e99b99/32.png) [@stefan.holst](https://forum.opentap.io/u/stefan.holst)\
**Post date:** [June 25, 2021, 1:41pm UTC](https://forum.opentap.io/t/python-based-plugins-building-and-packaging-tui/360/3 "2021-06-25T13:41:46Z")

</div>

The way the TUI (tui-pm) and OpenTAP package managers finds installed packages is using the `package.xml` files inside the `Packages` folder.

If you are having issues with your plugins (like TestSteps) not being available, you might be missing some `DLL`s or `.py` in your installation.
