# Guidance on Creating a Simplified Python-Based Version of 3D Slicer with Custom Modules

**URL:** <https://discourse.slicer.org/t/guidance-on-creating-a-simplified-python-based-version-of-3d-slicer-with-custom-modules/39853>\
**Category:** Development\
**Created:** [October 25, 2024, 3:28am UTC](https://discourse.slicer.org/t/guidance-on-creating-a-simplified-python-based-version-of-3d-slicer-with-custom-modules/39853 "2024-10-25T03:28:11Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![nih4t](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/nih4t/32/78310_2.png) [@nih4t](https://discourse.slicer.org/u/nih4t)\
**Post date:** [October 25, 2024, 3:28am UTC](https://discourse.slicer.org/t/guidance-on-creating-a-simplified-python-based-version-of-3d-slicer-with-custom-modules/39853/1 "2024-10-25T03:28:11Z")

</div>

Hello everyone,

I’ve successfully built 3D Slicer on my computer, and now I am looking to create a highly simplified version of the application. My goal is to remove about 90% of the existing functionality and focus on using Python for the remaining components. I would like to keep just the core parts of the application and add my own custom Python-based modules.

Any guidance or tips on how to get started would be greatly appreciated!

Thank you!

Nihat

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [October 25, 2024, 3:45am UTC](https://discourse.slicer.org/t/guidance-on-creating-a-simplified-python-based-version-of-3d-slicer-with-custom-modules/39853/2 "2024-10-25T03:45:14Z")

</div>

You should probably start from this thread and checkout the links provided:

> [@Is there a more detailed tutorial on creating custom slicer application?](https://discourse.slicer.org/t/is-there-a-more-detailed-tutorial-on-creating-custom-slicer-application/31578):
>
> The examples provided on the official website are not detailed enough and hard to learn for me, so Is there a more detailed tutorial on creating custom slicer application? step by step tutorial and examples, video tutorial will be more better!

---

<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:** [October 25, 2024, 12:41pm UTC](https://discourse.slicer.org/t/guidance-on-creating-a-simplified-python-based-version-of-3d-slicer-with-custom-modules/39853/3 "2024-10-25T12:41:41Z")

</div>

> [@nih4t](#):
>
> I would like to keep just the core parts of the application and add my own custom Python-based modules.

There’s work underway to make core libraries independent of the rest of the application. It would be great if you could join forces with that effort e.g. by testing.

> <https://github.com/Slicer/Slicer/pull/8004>
>
> This is the first PR for the future SlicerLibrary support. This PR contains smal…l changes that doesn't break anything in slicer and should be mergeable at any time.
> 
> This basically remove all hardcoded paths that only make sense for the Slicer application from the Base/, Libs /and Modules/Loadable/\[Logic|MRML|MRMLDM|vtkWidgets\] modules so they can used as libraries and still have the right behavior as long as the caller gives them the right informations. To do this, I removed all inclusions of \`vtkSlicerConfiguration.h\` from these modules!
> 
> This enables all these modules to be built the same way outside and inside the Slicer application, which will be important for SlicerLibrary! 
> 
> I want to integrate the changes one at a time to limit the size and complexity of the future SlicerLibrary Pull Request :) Next on the list is VTK 9.4 support.
> 
> Please review @jcfr @lassoan 
> FYI: @Thibault-Pelletier @finetjul
