Releases: akneni/pygrab
PyGrab now supports async/await!
PyGrab v3.1.0 Release Notes
We're thrilled to announce that PyGrab has reached version 3.1.0, and with it comes one of the most requested features to date – full async/await
support!
What's New?
-
Async/Await Support: PyGrab's functions are now fully asynchronous, enabling you to write cleaner and more performant code, especially when making multiple concurrent network requests. Embrace the async paradigm and streamline your web scraping and networking tasks with ease.
-
Improved Performance: Thanks to our async overhaul, you can expect significant performance improvements when performing IO-bound operations. PyGrab now leverages modern Python's async capabilities to reduce waiting times and make your applications faster.
-
Enhanced Tor Integration: We've made our Tor support more robust with better error handling and improved proxy configuration. Enjoy more reliable and secure sessions out of the box.
Migrating to v3.1.0
If you're upgrading from an earlier version, here's what you need to know:
- Existing
get_async()
function calls will need to be changed toget_batch()
sinceget_async()
is now the function that returns a coroutine. - Make sure to update your environment to Python 3.7+ to enjoy the full benefits of async/await.
PyGrab, rewritten in Rust!
What's New in PyGrab 3.0
We're excited to announce the release of PyGrab 3.0! This major update brings a host of performance improvements, new features, and enhancements that leverage the power of Rust to deliver a faster and more efficient experience. Here's what's new:
Performance Boost with Rust Backend
- Rust-Powered Performance: We've rewritten the core of PyGrab in Rust, providing significant speed improvements, especially in CPU-bound operations.
- Safer Concurrency: Take advantage of Rust's memory safety guarantees to perform concurrent operations without the risk of data races.
Enhanced Features
- Async Support: With the new async module implemented in rust, you can make non-blocking HTTP POST and GET requests with ease.
- Advanced Session Handling: Persistent sessions now support more complex scenarios and connection pooling, reducing overhead and improving speed.
- Improved Error Handling: Rust's robust error management has been integrated, providing clearer and more informative error messages.
Security Enhancements
- Secure Defaults: Rust's secure coding practices have been applied to PyGrab, ensuring that secure defaults are used throughout the library.
- Dependency Security: With minimal dependencies in the Rust portion of the library, the attack surface is greatly reduced.
New Functionalities
- Automatic Gzip/Brotli Compression: Automatic handling of HTTP compression, making your requests faster and more bandwidth-efficient.
Get Started
To upgrade to PyGrab 3.0, simply run:
pip install pygrab --upgrade