Releases: Vizonex/Winloop
Winloop 0.1.7
Major changes:
-
Add support for Python 3.13.
-
Update with latest versions of libuv and uvloop.
-
Move to compilation with Cython 3.0+, like uvloop.
-
This version can be compiled both on Windows and on Linux (tested on WSL Ubuntu 24.04), passing all tests.
Corresponds to package winloop 0.1.7 (Nov 29, 2024) on PyPI.
Full Changelog: 0.1.6-v1...0.1.7-v1
Winloop 0.1.6
Various changes to further close gap with uvloop.
Full Changelog: 0.1.5-v1...0.1.6-v1
Winloop 0.1.5
What's Changed
- Unified Winloop to uvloop (we are a lot closer to merging this to uvloop than we have probably ever have been before)
- Numerous Bug fixes and added testsuites
- Moved back to using the old buffer sending methods for try_write for the sake of os compatability we can look at reoptimizaing in the future however
- Installation now mirrors uvloop's installation
- Some TODO comments have been removed since they were fulfilled.
Full Changelog: 0.1.4-v1...0.1.5-v1
Winloop 1.4
What's Changed
- Original shutdown_default_executor() from uvloop. by @lschoe in #25
- Put all (socket)errors in form UV_ERROR. by @lschoe in #24
- Found cause for issue #18. by @lschoe in #26
- Add test_dealloc. Use uv_pipe to avoid bad fds. by @lschoe in #27
- Winloop has more uvloop styled behaviors
Note
Some Optimizations have been temporarily removed but will be likely added back in in a future update once the move to being closer to uvloop has been completed.
Full Changelog: 0.1.3-v1...0.1.4-v1
Winloop 1.3
Decided I better release what we have so far since there were some interesting changes since the last updated. I have been busy with other things going on in my life as well as other projects, I might try and add some maintainers for this project in the future to help winloop stay alive.
- Dropped
WinLoopPolicy
Finally Please useBaseEventLoopPolicy
- Wsa Send is now used instead of our original
try_write
workaround C-code for it will be removed soon - Fixed Many Bugs
- Aiodns now has support for winloop and uvloop
TODOS
- 32 Bit Wheels for windows I tried to compile a
.lib
File for 32 bit users and I can't seem to figure out how to make 32 bit versions of libuv - Fix Help Side-Effect Even though I haven't made that a priority yet due to pyright existing
- Having problems making nightly workflow
- Test pyppeteer2 support (asynchronous version of selenium webdriver)
0.1.2-v1
Glad to see that this library is still alive and well, that makes me happy.
- Updated Libuv to 1.48.0 due to CVE-2024-24806 (that's bad)
- put a better warning onto
WinLoopPolicy
That I'm removing it in the next update (This is the final warning that you need to migrate toBaseEventLoopPolicy
) If you need to retain WinLoopPolicy Importing the other class and calling
import winloop
WinLoopPolicy = winloop.BaseEventLoopPolicy
Will retain backwards compatibility with whatever you need it. Anyways happy programming in asyncio. :>
Winloop 0.1.1-v1
- Fixed Error Bugs Thanks to @lschoe
- Fixed Socket Streams Thanks to @lschoe again
These New Fixes made Error Diagnosis smaller with the added ability of making everything easier to diagnose when something in your program goes wrong.
TODOS
- Check for
aiomultiprocessing
support and fix multiprocessing bugs - Create a test suite (Still haven't done that yet)
- Create a Warning that
WinLoopPolicy
will be depreciated in Replacement forBaseEventLoop
instead. - Remove all
DEF
Marcos
Winloop Version 0.1.0
Most of these features were added to be more of a mirror to uvloop
version 0.19.0
I have been rather busy these days but I am glad to have 0.1.0
ready for you to use at last ^^
- Modified
__init__.py
to now use a new function Calledwinloop.run()
- Added an aliases for
WinLoopPolicy
calledEventLoopPolicy
for the sake of ease of importing in auvloop/winloop
scenario where both Linux , MacOS or Windows will all be used in an application scenario - Added a new video to the readme that I made as a presentation to give a little bit of background information about how
winloop
was made and why I wrote it.
TODOS
- Depreciate the use of all DEF macros (Still need to do that and so does the other uvloop library if I remember correctly)
- See if the uvloop developers can look into redirecting and recommending windows users to use this library as a temporary backup.
- Make it so that
aiomultiprocess
can run withwinloop
if it is still not working - See if we can get another workflow setup for
testpypi
for users who do pull requests so that users making them can fix compiling errors. - Maybe look into trying to setup a grammar workflow for checking for spelling mistakes made?
- Deprecate
WinLoopPolicy
in favor of usingEventLoopPolicy
starting in0.1.2
or later - Ask the Pyinstaller developers to write us our own special hook for compiling winloop applications to executable files or somehow do it ourselves if I or anyone else has the time to do so (It looks a little complicated at the moment).
- Write an example with the new functions added to the readme in
0.1.1
- Fix DNS Problems if we're still having them
- Implement our own test suite if needed. So that more bugs can be patched in the future.
- See if
anyio
can be utilized with thewinloop
library
Winloop 0.0.9
What's Changed
- There was an include bug fix when attempting to upload the files that I just fixed now - Vizonex
- Fix typos in README.md and setup.py by @jdeokkim in #6 (Thank you btw)
- Fixed Spelling mistakes within the readme and
setup.py
file - Updated Libuv to version 1.46.0
- Optimized Socket Pairing And a few other minor changes that I cannot list off the top of my head...
New Contributors
TODOS
- Drop the
DefaultFreeList
Macro to the number itself, To be honest I hate this change the most but it's inevitably happening soon it's not super helpful to remove these macros in replacement for numbers but I have no choice. - Rewrite the current readme and decided we will not be merging with
uvloop
yet due to the deprecation of conditional macros. - Write PyInstaller Hooks and get around to testing complations with
cx_Freeze
as well... - Format Python Scripts and Stub files used using Black which I have be been aware of about until the Main Cython developers and maintainers brought it up with me since I was in development of a new Stub File Generation Tool for Cython which I like to try to tackle things that people want implemented.
- Find ways to get aiomultiprocess to work with
winloop
without anything breaking - Ask the
uvloop
developer team if they can recommendwinloop
to windows users as a workaround solution.
"Thank you all for supporting me as well as providing me with feedback about the project as well as reporting issues that you may come across. This python library wouldn't have been made possible without the people who have asked for windows support with uvloop all those years ago." - Vizonex
Full Changelog: 0.0.7.2...0.0.9
Winloop 0.0.8
It's Here and That's HUGE, It means that we've fixed something! :0
- According to someone on discord named
thegamecracks
has helped me come up with a brilliant solution for uploading PYPI packages so I just have to test this out now.
Release Notes
- Optimized Winloop-api's TCP Functions
- Plan to fix more of The TCP Stuff as 4088s sometimes occur
- New Test-suite coming soon...
- Subprocesses need fixing and some attention (Likely will revert to what I did with it in 0.0.6) other than that everything with winloop is looking good
- This might fix our current workflow but I just have to check it at this point...
Future Plans
- Drop Macro Support for
DEF
Keywords if the Cython Community or any of you can find me a workaround. - Fix Issues with Pyinstaller