Closed stankudrow closed 2 years ago
Hi!
I would love some help maintaining this project, so a lot of these changes would be very welcome. A few points though:
These choices are better than the alternatives, and consistent with every other project of mine.
The rest all look good!
All right, so be src layout (src/aiofiles/*
or src**
?), black linter will be back. The main question is can we drop out the support for Python3.6? Its lifetime ended at the end of last year - Stop using Python3.6. That means we don't need py3.6 environment in tox.ini and CI/CD pipelines anymore. Sounds good?
The code should be in src/aiofiles/*
. Here's a good article: https://hynek.me/articles/testing-packaging/
And yeah, let's drop 3.6. Users on that version can use the old versions.
Thanks!
All right. The src layout is restored, black is back and no conflicts with flake8 for now, tox works fine so far. I think this project needs documentation - sphinx or any other tool (e. g. mkdocs) can help out, I shall find a solution. If there is no other suggestions, a new PR may be ready this Sunday.
Changes:
Project structure
Project functionality
wrap
function is renamed toasyncify
and moved to aiofiles/base.py file.isasync
function is added to identify async objects -> may be useful inasyncify
andif isasync(foo)
, thenreturn foo
- no need to run in executor an already asynchronous object - tested;In short, more "devops", less new functionality added. Tested in all environments except Python3.6 and PyPy3.
ToDo: