Skip to content

A lightning-fast Zig-powered event loop for Python's asyncio.

License

Notifications You must be signed in to change notification settings

kython28/leviathan

Repository files navigation

Leviathan

From the depths of the sea, where darkness meets vastness, emerges Leviathan: an unyielding force of speed and power. In a world where the arcane and the agile intertwine, a loop forged in Python takes its dance. Leviathan, master of the journey, governs events with a steady hand—an ultra-fast event loop that deploys its bastion in asyncio, powered by the artistry of Zig. Between promises and futures, its path is clear: to rule swiftly where code is prepared.

🚀 Features

  • Ultra-fast speed: Thanks to low-level optimizations enabled by Zig.
  • Full asyncio compatibility: A drop-in replacement for the default event loop.
  • Efficient design: Focused on maximizing performance and minimizing latency.
  • Simplicity: Easy integration with existing Python projects.
  • Robust Safety: Carefully engineered for critical systems with advanced error recovery and graceful degradation mechanisms.

📜 Requirements

  • Python >= 3.13
  • Zig >= 0.14.0 (for development or contributions)
  • Linux >= 5.11

🔧 Installation

To install Leviathan, just execute:

python setup.py install

📦 Basic Usage

import leviathan
import asyncio

async def main():
    print("Hello from Leviathan!")
    await asyncio.sleep(1)
    print("Goodbye from Leviathan!")

leviathan.run(main())

🧪 Benchmarks

Leviathan stands out for its speed and performance. Here is a preliminary chart illustrating its superiority over other event loops:

Performance Benchmark

For more information and additional tests, check the following file: More benchmarks and details.


⚠️ Warning: Leviathan is still under active development. Some integrations, such as full networking support, are pending implementation.

About

A lightning-fast Zig-powered event loop for Python's asyncio.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •