https://github.com/vizonex/_cyares
A roughdraft for moving pycares to cython. hence the underscore
https://github.com/vizonex/_cyares
c-ares cython dns pycares
Last synced: 12 months ago
JSON representation
A roughdraft for moving pycares to cython. hence the underscore
- Host: GitHub
- URL: https://github.com/vizonex/_cyares
- Owner: Vizonex
- License: mit
- Created: 2025-06-16T15:48:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-16T20:47:51.000Z (about 1 year ago)
- Last Synced: 2025-06-16T21:37:56.609Z (about 1 year ago)
- Topics: c-ares, cython, dns, pycares
- Language: Cython
- Homepage:
- Size: 134 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# _cyares
A roughdraft for moving pycares to cython. hence the underscore
## Why Rewrite pycares?
- While pycares runs aiodns which optionally runs aiohttp there's some pretty alarming and unsafe code that hangs while during shutdown
- the library has had [recent vulnerablilities](https://github.com/saghul/pycares/security/advisories/GHSA-5qpg-rh4j-qp35).
- cython is faster than cffi and can be straight up compiled statically rather than being ran dynamically
- rewriting the code in cython means you could use pycares in cython as well which only means more benefits in speed.
- rewriting the way the handles work in uvloop fashion might be safer as well as making
the channels shut them down instead of having another thread do it.
- pycares's shutdown mechanisms are not threadsafe and users using tools such as [aiothreading](https://github.com/Vizonex/aiothreading) may experience unwanted performance degredations.