{"id":20354,"login":"cirospaciari","has_sponsors_listing":false,"data":{"kind":"user","name":"Ciro Spaciari","uuid":"6379399","email":"ciro.spaciari@gmail.com","login":"cirospaciari","company":null,"twitter":"cirospaciari","website":"cirospaciari@fosstodon.org","html_url":"https://github.com/cirospaciari","icon_url":"https://avatars.githubusercontent.com/u/6379399?u=11b53ed2f97188f8182644e96340a843befaf404\u0026v=4","location":"São Paulo, Brazil","metadata":{"funding":null,"has_sponsors_listing":false},"followers":664,"following":124,"owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cirospaciari","created_at":"2022-11-11T10:52:10.224Z","updated_at":"2026-10-03T07:22:40.359Z","description":"Bringing WebSockets, Http/Https High Performance servers for PyPy, CPython, and helping to bake Bun 🍞","total_stars":1792,"funding_links":[],"last_synced_at":"2026-10-03T07:22:40.270Z","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cirospaciari/repositories","repositories_count":49},"created_at":"2024-11-25T14:00:26.523Z","updated_at":"2026-10-05T12:25:00.661Z","last_synced_at":"2026-10-05T12:25:00.661Z","sponsors_count":6,"sponsorships_count":2,"active_sponsorships_count":0,"active_sponsors_count":6,"sponsor_profile":{"bio":"I'm a software developer searching for support to get more performance to Python, PyPy3 and Ruby, in Web Development. \nThis year i started a journey to bring a really fast framework for Http, Http2, Http3 and WebSockets to Python and PyPy.\n💡 Features\n\nWebSocket with pub/sub support\nFast and realiable Http/Https\nSupport for Windows, Linux and macOS Silicon \u0026 x64\nSupport for PyPy3 and CPython\nDynamic URL Routing with Wildcard \u0026 Parameter support\nSync and Async Function Support\nReally Simple API\nFast and Encrypted TLS 1.3 quicker than most alternative servers can do even unencrypted, cleartext messaging\nPer-SNI HttpRouter Support\nProxy Protocol v2\nShared or Dedicated Compression Support\nMax Backpressure, Max Timeout, Max Payload and Idle Timeout Support\nAutomatic Ping / Pong Support\nPer Socket Data\nMiddlewares\nTemplates Support (examples with Mako and Jinja2)\n\n🔎 Upcoming Features\n\nFetch like API powered by libuv\nAsync file IO powered by libuv\nFull asyncio integration with libuv\nFull Http3 support\nHPy integration to better support CPython, PyPy and GraalPython\nHot Reloading\n\nWe created and adapted the full C API from uNetworking/uWebSockets and will integrate libuv powered fetch and file IO, this same C API is used by Bun\nJoin Github Discussions or Discord for help and have a look at the development progress.\n\nI will use the funds of this sponsorship to get more developers and features in the project, and work full time on bringing socketify to Python, Ruby and more languages.\n\nThe problems with japronto and uvloop\nJapronto don't get any github updates since 2020 and don't get any src update since 2018, japronto don't support SSL, WebSockets, PyPy3, Windows or macOS Silicon.\nI really needed good support + performance, not only performance.\nAlmost any solution out there have a really big performance hit when using PyPy3 or are not really fast enougth\nThe Solution\nI discover a really fast, small, and well maintained C++ Library called uNetworking/uWebSockets, but no C API available, so we create and adapt the full C API from uNetworking/uWebSockets and will integrate libuv powered fetch and file IO, this same C API is used by Bun\n⚡ Benchmarks\nHTTP requests per second (Linux x64)\n\nWebSocket messages per second (Linux x64)\n\nSocketify got almost 900k messages/s with PyPy3 and 860k with Python3 the same performance as Bun that also uses uWebSockets, Falcon at 35k messages/s and Falcon with PyPy3 improves into 56k messages/s, node.js manages 192k.\nRuntime versions: PyPy3 7.3.9, Python 3.10.7, node v16.17.0, bun v0.2.2\nFramework versions: gunicorn 20.1.0 + uvicorn 0.19.0, socketify alpha, gunicorn 20.1.0 + falcon 3.1.0, robyn 0.18.3\nHttp tested with oha -c 40 -z 5s http://localhost:8000/ (1 run for warmup and 3 runs average for testing)\nWebSocket tested with Bun.sh bench chat-client \nSource code in bench\nMachine OS: Debian GNU/Linux bookworm/sid x86_64 Kernel: 6.0.0-2-amd64 CPU: Intel i7-7700HQ (8) @ 3.800GHz Memory: 32066MiB\n\nToday socketify has get 30% performance hit due to workarounds between asyncio + libuv, so we will got even faster! See more info in this issue, Python3 and PyPy3 performance will improve when we migrate to HPy. In TechEmPower paintext benchmarks we are the fastest in active web framework for Python/PyPy with more than 2 millions of req/s, followed by Robyn with almost 1.2 million req/s and Falcon using meinheld with about 560k req/s.","past_sponsors":0,"featured_works":[{"url":"https://github.com//cirospaciari/socketify.py","stars":"1665","title":"cirospaciari/socketify.py","language":"Python","description":"Bringing Http/Https and WebSockets High Performance servers for PyPy3 and Python3"},{"url":"https://github.com//cirospaciari/socketify.rb","stars":"8","title":"cirospaciari/socketify.rb","language":"C","description":"Bringing WebSockets, Http/Https High Peformance servers for Ruby"}],"current_sponsors":6},"minimum_sponsorship_amount":1,"url":"https://sponsors.ecosyste.ms/accounts/cirospaciari","api_url":"https://sponsors.ecosyste.ms/api/v1/accounts/cirospaciari","html_url":"https://github.com/cirospaciari","sponsors_url":"https://github.com/sponsors/cirospaciari","sponsors_api_url":"https://sponsors.ecosyste.ms/api/v1/accounts/cirospaciari/sponsors","sponsorships_api_url":"https://sponsors.ecosyste.ms/api/v1/accounts/cirospaciari/sponsorships"}