Skip to content

Releases: voutilad/rp-connect-python

v1.7.0

25 Sep 18:01
Compare
Choose a tag to compare
  • Fix deadlocks in complicated Python modules that use native code. This redesigns how the global interpreter mode works.
  • Drop the modules list config option as it shouldn't be necessary as a workaround anymore.

v1.6.1

24 Sep 15:01
Compare
Choose a tag to compare
  • Bump versions of dependencies
  • Run go mod tidy

v1.6.0

05 Sep 15:06
Compare
Choose a tag to compare
  • Adds support for modules list in processors and output components so they can use native-library dependent modules like pytorch.

v1.5.0

30 Aug 16:37
Compare
Choose a tag to compare
  • Redesign the interpreter modes to more accurately reflect the lifecycles.
    • single is now global
    • multi is now isolated
    • multi_legacy is now isolated_legacy
  • Change the default interpreter mode to global for safety purposes.
  • Add ability to import modules in advance, allowing some complex modules (e.g. pyarrow) to work.
  • Add in ability to safely pass native Python objects (via PyObjectPtrs) between stages.

Full Changelog: v1.4.2...v1.5.0

v1.4.2

28 Aug 15:52
Compare
Choose a tag to compare
  • fix a massive memory leak in meta handling in the processor
  • import gogopython@v0.17.0
  • benchmark doc tweaks

v1.4.1

27 Aug 15:46
Compare
Choose a tag to compare
  • Adds updated documentation in the README.
  • Add some benchmark files.

No functional changes.

v1.4.0: processor: introduce unpickle(), rework batch creation.

26 Aug 18:39
Compare
Choose a tag to compare
  • Inputs! -- you can now generate data with a Python input.
  • Outputs! -- you can now "sink" data with a Python output.
  • Batch support! -- now with improved throughput, leveraging message batches to reduce lock contention for the interpreter(s).
  • Pickle! -- better support for using pickled Python objects, including a serializer built into the input stage. You can now use unpickle() in the processor to get back the pickled Python object in the message.

v1.3.1

10 Aug 14:21
Compare
Choose a tag to compare

Use more stable and predictable defaults, i.e. use legacy mode. Given how I'm configuring the sub-interpreters, it tends to work better with most Python modules.

v1.3.0

09 Aug 17:21
Compare
Choose a tag to compare

Add support for root object usage similar to in Bloblang.

The user can assign to attributes on root without having to pre-create them. For instance, this:

root.name.first = "Dave"

Is logically similar to this:

root = { "name": { "first": "Dave" } }

Still some tweaking for the UX/DX...but worst case users can fall-back to just using a dict for root.

v1.2.0: Refactor and drop the complexity of the multi-interpreter runtime.

08 Aug 19:03
Compare
Choose a tag to compare
  • Simplifies the internals of the multiple-interpreter runtime.
  • Cleans up some of the single-interpreter runtime.
  • Adds more code comments to the runtime interface code.