# Objects in-memory exchange between modules

**URL:** <https://discourse.slicer.org/t/objects-in-memory-exchange-between-modules/45770>\
**Category:** Development\
**Created:** [January 13, 2026, 4:02pm UTC](https://discourse.slicer.org/t/objects-in-memory-exchange-between-modules/45770 "2026-01-13T16:02:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yaroslav\_Plutenko](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/yaroslav_plutenko/32/81770_2.png) [@Yaroslav\_Plutenko](https://discourse.slicer.org/u/Yaroslav_Plutenko)\
**Post date:** [January 13, 2026, 4:02pm UTC](https://discourse.slicer.org/t/objects-in-memory-exchange-between-modules/45770/1 "2026-01-13T16:02:12Z")

</div>

Greeting!

I’m developing a few scripted modules for plant MRI data processing and lifecycle management, two of which act as clients for a remote FastAPI server. The modules have different purposes; therefore, they are kept separate, but the authorization is the same in each module, and I have to authorize twice every time when a user opens two modules.  
My question is: how to pass information in-memory between modules - is there some Slicer object/singleton with global accessibility? I guess the scope of view of the parameter node is within the module only; I need a “global parameter node”.  
I also want to avoid exchanging information in temporary files and look for an in-memory object. At first, I’d like to store authorization tokens there, but not limited to, in the future. Can you suggest if there is such a place in Slicer?

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [January 13, 2026, 4:10pm UTC](https://discourse.slicer.org/t/objects-in-memory-exchange-between-modules/45770/2 "2026-01-13T16:10:34Z")

</div>

I don’t quite understand. Are you using more Slicer instances? If not, then the “global parameter node” is the MRML scene, where you can keep anything, like a text node or a scripted module node for storing scene-wide information.

---

<div class="post-metadata">

**Author:** ![Yaroslav\_Plutenko](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/yaroslav_plutenko/32/81770_2.png) [@Yaroslav\_Plutenko](https://discourse.slicer.org/u/Yaroslav_Plutenko)\
**Post date:** [January 13, 2026, 6:59pm UTC](https://discourse.slicer.org/t/objects-in-memory-exchange-between-modules/45770/3 "2026-01-13T18:59:08Z")

</div>

I was blind, indeed. I focused on a parameter node and its limitations. Yes, I mean modules within a single Slicer instance, and they really have access to the scene. So I can create a dummy folder, even an invisible one, and attach some properties to exchange tokens and other info. And the text node or a table - I just realized today they also exist in Slicer, offering a more elegant way for my purpose. Thank you!
