# Scripted/cli Python module

**URL:** <https://discourse.slicer.org/t/scripted-cli-python-module/32950>\
**Category:** Development\
**Created:** [November 22, 2023, 11:38am UTC](https://discourse.slicer.org/t/scripted-cli-python-module/32950 "2023-11-22T11:38:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![PaoloZaffino](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/paolozaffino/32/81052_2.png) [@PaoloZaffino](https://discourse.slicer.org/u/PaoloZaffino)\
**Post date:** [November 22, 2023, 11:38am UTC](https://discourse.slicer.org/t/scripted-cli-python-module/32950/1 "2023-11-22T11:38:53Z")

</div>

Hi all,  
I was wondering if it is possible to write a scripted Python module that can be used both via GUI and command line.

Thanks a lot.

Paolo

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [November 22, 2023, 5:31pm UTC](https://discourse.slicer.org/t/scripted-cli-python-module/32950/2 "2023-11-22T17:31:24Z")

</div>

Hi Paolo -

Sure, you should be able to add a cli wrapper that uses the same logic classes as a a module’s GUI uses. If it’s just python code it could use any python or if you have dependencies you could either use PythonSlicer or `Slicer --no-splash --no-main-window` to run it.

---

<div class="post-metadata">

**Author:** ![PaoloZaffino](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/paolozaffino/32/81052_2.png) [@PaoloZaffino](https://discourse.slicer.org/u/PaoloZaffino)\
**Post date:** [November 22, 2023, 8:38pm UTC](https://discourse.slicer.org/t/scripted-cli-python-module/32950/3 "2023-11-22T20:38:55Z")

</div>

Thanks a lot @pieper!  
I got it.

Paolo
