NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #5366 most downloaded on PyPI
\u26a1 Fast \u2022 \U0001fab6 Lightweight \u2022 \U0001f51f Dependency \u2022 \U0001f50c Pluggable \u2022 \U0001f608 TLS interception \u2022 \U0001f512 DNS-over-HTTPS \u2022 \U0001f525 Poor Mans VPN \u2022 \u23ea Reverse & \u23e9 Forward \u2022 \U0001f46e\U0001f3ff Proxy Server framework \u2022 \U0001f310 Web Server framework \u2022 \u27b5 \u27b6 \u27b7 \u27a0 PubSub framework \u2022 \U0001f477 Work acceptor & executor framework.
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 2 weeks to 13 months
Some releases are documented
notes for 10 of 21 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
44 releases · first in 2013
Nothing published for this version
GroutClientBasePlugin and example GroutClientPlugin by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1488
GroutClientBasePlugin and example GroutClientPlugin by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1488GroutClientBasePlugin ability to modify request object by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1489grout host header & dynamic routing doc by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1490Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.8...v2.4.9
Add support for Upgrade: Derp custom protocol by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1463
One column per quarter.
Upgrade: Derp custom protocol by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1463HttpParser class works by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1466Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.7...v2.4.8
Deprecate usage of ssl.wrap_socket in favour of SSLContext.wrap_socket by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1443
ssl.wrap_socket in favour of SSLContext.wrap_socket by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1443--insecure-tls-interception by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1446setup.cfg/extras_require configuration by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1452Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.5...v2.4.7
DockerfileBase by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1410
openssl, cryptography and paramiko in default DockerHub image by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1409ModifyRequestHeaderPlugin by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1420needs_upstream by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1434Grout Wildcard support by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1441Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4...v2.4.5
Grout: ngrok Alternative by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1407
timeout=1 when joining acceptors by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1196!=7.0.0,!=7.0.1,!=7.0.2 which leads to 0.0 as wheel version by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1209--cache-by-content-type flag usage by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1251before_routing for Reverse Proxy plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1252--openssl flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1257codecov from dependency files by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1328--data-dir for scenarios when proxy.py is running as a user with no home directory by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1389proxy.http.client utility and base SSH classes by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1395KeyError within Threadless executors by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1396compress option for serve_static_file utility method by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1405Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.3...v2.4.4
Remove codecov from dependency files by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1328
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc5...v2.4.4rc4
codecov from dependency files by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1328Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc4...v2.4.4rc5
Ability to customize path to openssl using --openssl flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1257
--openssl flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1257Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc3...v2.4.4rc4
pip prod(deps): bump types-requests from 2.28.1 to 2.28.6 by @dependabot in https://github.com/abhinavsingh/proxy.py/pull/1238
--cache-by-content-type flag usage by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1251before_routing for Reverse Proxy plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1252Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc2...v2.4.4rc3
pip prod(deps): bump types-setuptools from 57.4.17 to 57.4.18 by @dependabot in https://github.com/abhinavsingh/proxy.py/pull/1215
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.4rc1...v2.4.4rc2
pip prod(deps): bump types-paramiko from 2.8.9 to 2.10.0 by @dependabot in https://github.com/abhinavsingh/proxy.py/pull/1192
timeout=1 when joining acceptors by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1196!=7.0.0,!=7.0.1,!=7.0.2 which leads to 0.0 as wheel version by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1209Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.3...v2.4.4rc1
v2.4.2 by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1158
Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.2...v2.4.3
Bump actions/setup-python from 2 to 3 by @dependabot in https://github.com/abhinavsingh/proxy.py/pull/1110
myst_parser config by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1128whitelist logic by @LetMeR00t in https://github.com/abhinavsingh/proxy.py/pull/1127Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.1...v2.4.2
Register for signals only when running in main thread by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1087
myst-parser to avoid CI break by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1104wemake-python-styleguide by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1107Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.4.0...v2.4.1
Ignore a DeprecationWarning in pytest config by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/683
typing_extensions runtime dependency version by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/641master to develop in setup.py" by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/650codespell by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/656add-trailing-comma pre-commit fixer by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/661tox by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/662pre-commit.ci by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/666tests/ by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/677DeprecationWarning in pytest config by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/683Proxy.initialize as FlagParser.initialize by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/696--unix-socket-path flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/697lib-dep makefile target by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/701--enable-dashboard flags by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/707AcceptorPool by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/708EventManager is also a context manager by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/709--threadless default for Python 3.8+ on mac and linux by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/710OP_NO_TLSv1_1 by default for upstream connection negotiations by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/712--num-acceptors flag + Allow work_klass via Proxy context manager kwargs by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/714Listener, Web server close on header, use Pipe instead of Manager in eventing core by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/720--plugins flag to be used multiple times by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/725--proxy-pool flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/727access_log format override by web plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/733--auth-plugin flag to override default basic auth plugin by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/734--enable-proxy-protocol : HAProxy Protocol v1 by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/735release-testpypi by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/741develop by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/743setuptools-scm compatible by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/737version_tuple from SCM by @webknjaz in https://github.com/abhinavsingh/proxy.py/pull/736127.0.0.1 as target address and a random port by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/756ProxyPy.png by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/759TcpUpstreamConnectionHandler class by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/760.vscode settings by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/761DEFAULT_SELECTOR_SELECT_TIMEOUT by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/762get_events, handle_event, handle_readables, handle_writables by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/769sdist package by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/779dependabot.yml by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/783recv errors as warnings and not exceptions by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/787386, amd64, arm/v6, arm/v7, arm64/v8, ppc64le, s390x by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/797KeyboardInterrupt in threadless by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/821proxy.py, tornado, aiohttp, flask by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/827benchmark results to README.md by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/828HTTP/1.1 too by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/834task.result can throw by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/837--enable-* flags before loading plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/860--local-executor flag by default for Docker container by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/880args.threadless = is_threadless by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/881conn_close kwarg to packet builder utilities by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/898HttpProtocolException instead of ValueError by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/899HttpProtocolException raised by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/900ProgramNamePlugin plugin by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/904--hostname and --local-executor by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/905Work can also be TcpServerConnection, not just TcpClientConnection by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/906--local-executor flag semantics by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/907SIGINT, SIGHUP, SIGTERM, SIGQUIT by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/908HttpWebServerPacFilePlugin broken routes logic by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/915UpstreamConnectionPool lifecycle within Threadless by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/917UpstreamConnectionPool lifecycle within Threadless by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/921HttpProtocolHandler delegates to the core plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/925menubar by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/930128 KB as default value for DEFAULT_BUFFER_SIZE by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/926DescriptorsHandlerMixin and Descriptors, SelectableEvents types by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/938--port-file flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/942UpstreamConnectionPool to web & proxy plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/946isort everything except lib (for now) by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/952WebSocketTransportBasePlugin connected and disconnected callbacks by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/956utf-8 decoding errors for event emitter by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/961utf-8 decode error during logging by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/966TlsInterception capability, driven by plugins by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/965OSError on shutdown & TimeoutError on recv by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/974Work module by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/977v2.4.x vs v2.3.1 differences by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/979--ca-cert-dir flag for parallel TLS interception tests by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/984# pragma: no cover for unnecessary pieces of the code by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/987sleep_loop for documentation and demo by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/991HttpClientConnection preparation by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/995--local-executor logic for windows by @sowmya-jaxl in https://github.com/abhinavsingh/proxy.py/pull/1008--threaded mode integration tests works locally but fails on GHA by @sowmya-jaxl in https://github.com/abhinavsingh/proxy.py/pull/1009DEFAULT_ALLOWED_URL_SCHEMES by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1002--threadless from TestCase by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1025SIGINFO. Try kill -s INFO <pid>. by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1024proxy.py for standalone projects by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1029Tls module within core by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1030Acceptor can now accept work from multiple descriptors by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1036ca_file flag when wrapping upstream by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1046kwargs independent work_klass creation and work core by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1051v2.4.0rc8 cleanups by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1053selector.close on shutdown by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1055jupyter notebook based tutorial by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1059--max-sendbuf-size flag to speed up large file upload/download by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1060min_compression_length consistency by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1061okResponse() without content hangs the connection by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1062tobytes for zero-copies by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1066--cache-by-content-type flag by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1070no_wait when publishing to queues by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/1076Full Changelog: https://github.com/abhinavsingh/proxy.py/compare/v2.3.1...v2.4.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Add py.typed marker, add version checker, remove deprecated methods by @abhinavsingh in https://github.com/abhinavsingh/proxy.py/pull/255
v2.3.1 was originally released on Jan 10, 2021proxy.py.tar.gz with this release was downloaded from PyPi https://pypi.org/project/proxy.py/2.3.1/#filesFull Changelog: https://github.com/abhinavsingh/proxy.py/commits/v2.3.1
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →