gevent
proxy.py
gevent | proxy.py | |
---|---|---|
5 | 5 | |
6,163 | 2,861 | |
0.2% | - | |
8.7 | 6.8 | |
3 months ago | 4 days ago | |
Python | Python | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gevent
-
Is anyone using PyPy for real work?
A sub-question for the folks here: is anyone using the combination of gevent and PyPy for a production application? Or, more generally, other libraries that do deep monkey-patching across the Python standard library?
Things like https://github.com/gevent/gevent/issues/676 and the fix at https://github.com/gevent/gevent/commit/f466ec51ea74755c5bee... indicate to me that there are subtleties on how PyPy's memory management interacts with low-level tweaks like gevent that have relied on often-implicit historical assumptions about memory management timing.
Not sure if this is limited to gevent, either - other libraries like Sentry, NewRelic, and OpenTelemetry also have low-level monkey-patched hooks, and it's unclear whether they're low-level enough that they might run into similar issues.
For a stack without any monkey-patching I'd be overjoyed to use PyPy - but between gevent and these monitoring tools, practically every project needs at least some monkey-patching, and I think that there's a lack of clarity on how battle-tested PyPy is with tools like these.
- SynchronousOnlyOperation from celery task using gevent execution pool on django orm
-
How to Choose the Right Python Concurrency API
I'm not sure how much it replicates the CSP model, but the closest thing I've found to Go-style concurrency in Python is gevent: https://github.com/gevent/gevent
I personally still prefer to use it in all my projects.
-
I have a problem with installing Ajenti on a 64bit Ubuntu 21.04 server
Greenlet seems to have some troubles compiling with Python 3.9. https://github.com/gevent/gevent/issues/1627
proxy.py
-
Show HN: Proxy.py
[Not my project]
A very well features proxy server (Forward & Reverse + lots of other features).
https://github.com/abhinavsingh/proxy.py
-
How to Choose the Right Python Concurrency API
The article gives a good summary of the quite complex landscape of concurrency in python. There's more to it, for example gil-free c-extensions, subprocesses and cross-machine (plus IPC) communication.
But I'm particularly bothered by the fact that many articles and tutorials look at concurrency as if it's only about factoring primes or writing a web server with many (perhaps even idempotent) parallel requests.
In reality, people will often want and need to combine multiple of these approaches, and then it gets VERY messy. I.e. try to combine a multiprocessing executor with multiple asyncio loops and boom you're in some very deep waters.
One project that does this (async loops inside multiple processes) is proxy.py - very enlightening to read its code base [1].
But I really, really wish python would do more to provide simple and robust abstractions for these kinds of tasks. My dream would be a robust actor system similar to erlang, but we'll probably never get that.
[1] https://github.com/abhinavsingh/proxy.py
- PSA: Blogsport.de und Blogsport.eu sind in den letzten Atemzügen
-
Comodo Firewall
Setup a VM with Hyper-V and restrict the internet access or disable it.(best way), or build yourself a proxy: https://github.com/abhinavsingh/proxy.py
-
Handling 30,000 requests/sec with `proxy.py`
See `proxy.py` examples for some inspiration :) https://github.com/abhinavsingh/proxy.py/tree/develop/examples
What are some alternatives?
eventlet - Concurrent networking library for Python
one-ring - CSP on top of AsyncIO
Ray - Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.
mitm - 👨🏼💻 A customizable man-in-the-middle TCP intercepting proxy.
Faust - Python Stream Processing
mitm-omegle - Watch strangers talk on Omegle (man in the middle attack explained for kids)
Thespian Actor Library - Python Actor concurrency library
lokinet-exit-provider - lokinet exit node webapp
kombu - Messaging library for Python.
benchmark-proxypy
Tomorrow - Magic decorator syntax for asynchronous code in Python
spike - :mega: A fast reverse proxy written in PHP that helps to expose local services to the internet