We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Venomous ๐ โค๏ธ ๐งช
Venomous is a wrapper around erlport python Ports, designed to simplify concurrent use. It focuses on dynamic extensibility, like spawning, reusing and killing processes on demand. Venomous core functions capture and handle :EXIT calls ensuring that all python process die with it and do not continue their execution
Key Features
- Simplified Python process management ๐โเญจเงโ๐
- Dynamic extensibility โก
- Hot-reload Python modules ๐ฅ ๐
- Automatic process cleanup โป๏ธ
- Configurable ๐ง
- Named processes ๐ท๏ธ
- Elixir struct compatiblity ๐งฌ
Simplified Python Process Management ๐โเญจเงโ๐
Venomous keeps track of every python OS process id, re-using free process which reduces amount of time spent on spawning new python instances. Furthermore, OS pid allows Venomous to kill processes on the spot whenever needed, without having to wait for Port to close.
Dynamic Extensibility โก
Venomous makes it easy to spawn/clear up processes on demand, up to configured hard process limit.
Hot-Reload Python Modules ๐ฅ ๐
Venomous has optional way of handling hot-reloading of loaded python modules. This requires installing external
watchdog
python module with mix venomous.watchdog install
Automatic Process Cleanup โป๏ธ
Venomous automatically clears up unused processes after their TTL ends. Minimum amount of alive processes can be configured to ensure X processes always stay alive.
Configurable ๐ง
Aside from main Venomous configuration, you can set Erlport
options for every python process.
Named processes ๐ท๏ธ
Venomous has secondary option of creating and keeping track of python process by setting its name. This process will be excluded from regular process management and has to be ran manually.
Elixir struct compatiblity ๐งฌ
Venomous provides an easy way to convert structs into classes and back with VenomousTrait class and mix venomous.structs ... task. You can check it out here
Send Python to sleep! ๐๐๐ค
You've read it all. Time for some 'fun'. Send processes to sleep and wait for their return!