# Creating fully self-contained and pre-compiled library

**URL:** https://discourse.julialang.org/t/creating-fully-self-contained-and-pre-compiled-library/131374
**Category:** General Usage
**Created:** [August 5, 2025, 1:40pm UTC](https://discourse.julialang.org/t/creating-fully-self-contained-and-pre-compiled-library/131374 "2025-08-05T13:40:46Z")
**Posts on this page:** 1
**Showing post:** 46

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [November 26, 2025, 9:55am UTC](https://discourse.julialang.org/t/creating-fully-self-contained-and-pre-compiled-library/131374/46 "2025-11-26T09:55:51Z")

</div>

> [@greatpet](#):
>
> Does anyone have tips, tutorials, and suggested libraries for calling Julia via IPC?

A full-blown example: [GitHub - ufechner7/pykitemodels: Kite power system models for Python](https://github.com/ufechner7/pykitemodels)

In this package, I wrap a Julia package using JSON over HTTP for use in Python.  
The call overhead is about 100µs. (Of course, it depends on the size of the data you exchange and on the speed of your CPU).

See also:

> [@What would be a nice way to call Julia from Python using a different process?](https://discourse.julialang.org/t/what-would-be-a-nice-way-to-call-julia-from-python-using-a-different-process/117183/7):
>
> With JSON it really works perfect: using KiteModels, KitePodModels, Oxygen, HTTP, StructTypes set::Settings = deepcopy(se()) kcu::KCU = KCU(set) kps4::KPS4 = KPS4(kcu) # Add a supporting struct type definition so JSON3 can serialize & deserialize automatically StructTypes.StructType(::Type{SysState}) = StructTypes.Struct() function init() global integrator integrator = KiteModels.init\_sim!(kps4, stiffness\_factor=0.5, prn=true) nothing end function start\_server(log=true) @get…

While this is not the fastest possible approach, it is the simplest and most straightforward approach. On the Python side you do not need any extra package, because HTTP and JSON are included by default. All you need to do is to define a struct with the parameters of the function you want to call.

An other alternative is to export Julia models using FMIExport. Then you have an FMU component that can be used in Python or Simulink or whatever. But these components are very large.

---

_[View the full topic](https://discourse.julialang.org/t/creating-fully-self-contained-and-pre-compiled-library/131374)._
