from Python3.12 onward multithreading is not possible atexit, i.e. Pigeon cannot create new threads and will therefore have to run before python exit.
This will mean we will need to perform some architectural changes in regards to exception handling, exit handling and the way Pigeon is actually run. Currently Pigeon runs automatically if Pigeon.autorun is enabled (default).
Using some hacky techniques Pigeon can still be started by calling Pigeon.run manually. This will probaby be the way to fix this.
from Python3.12 onward multithreading is not possible atexit, i.e. Pigeon cannot create new threads and will therefore have to run before python exit.
This will mean we will need to perform some architectural changes in regards to exception handling, exit handling and the way Pigeon is actually run. Currently Pigeon runs automatically if Pigeon.autorun is enabled (default).
Using some hacky techniques Pigeon can still be started by calling Pigeon.run manually. This will probaby be the way to fix this.