Announcing pyoutlineapi 0.2.0
We’re excited to announce the release of pyoutlineapi 0.2.0, the latest version of a modern, async-first Python client for the Outline VPN Server API with comprehensive data validation through Pydantic models.. This major update introduces a host of new features, significant improvements, and essential changes that make managing Outline servers more powerful and efficient than ever.
Update is already available on PyPi. 🚀
Read on to discover what’s new in version 0.2.0.
What’s New in pyoutlineapi 0.2.0?
New Features:
- Asynchronous Client Support: Meet the new AsyncOutlineClient powered by aiohttp, enabling non-blocking server interactions for modern Python applications.
- Comprehensive Type Hints: Enhanced type hints and overloads provide better code assistance in IDEs, streamlining development.
- Server Management Methods: Easily manage your servers with the following new methods:
rename_server()
- Change server nameset_hostname()
- Configure server hostnameget_metrics_status()
- Check metrics collection statusset_metrics_status()
- Enable/disable metrics collection
- Support for flexible metrics reporting periods (
DAILY
,WEEKLY
,MONTHLY
). - Advanced Access Key Options: Customize access keys with extended parameters, including encryption settings.
- Context Manager Support: Both synchronous and asynchronous contexts are now supported for clean session handling using
__aenter__
and__aexit__
. - Improved Error Handling: Detailed and descriptive error messages enhance debugging and issue resolution.
Changes:
- A complete rewrite of the client: now supports asynchronous operations, ensuring better performance and scalability.
- Enhanced Error Hierarchy: The new OutlineError base class provides a structured way to handle exceptions.
- Smarter Request Handling: Automatic session management simplifies usage and reduces boilerplate code.
- SSL/TLS Improvements: More flexible verification of certificates improves compatibility and security.
- Modern Typing Features: Updated type annotations leverage the latest Python typing capabilities.
Removals:
- The synchronous client implementation has been retired in favor of the fully asynchronous AsyncOutlineClient.
- Deprecated direct requests-based HTTP handling for a cleaner and more efficient approach.
Why Upgrade to pyoutlineapi 0.2.0?
This release represents a significant leap forward in functionality and usability. By transitioning to an asynchronous architecture, we’re empowering developers to build faster, more responsive applications. Whether you’re managing Outline servers at scale or just exploring new features, pyoutlineapi 0.2.0 offers unparalleled control and flexibility.
Get Started Today!
Upgrade your installation or download pyoutlineapi 0.2.0 now with:
pip install -U pyoutlineapi
Check out the full documentation and examples on our GitHub repository to start using the latest features today.
We Value Your Feedback
As always, your input is invaluable. Let us know your thoughts on this release or share any issues and feature requests via GitHub. Together, we can continue to make pyoutlineapi even better.
Happy coding!