-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PROPOSITION: aiohttp-devtools #1156
Comments
I love the idea of splitting aiohttp dev tools into separate package. My random thoughts:
Tests should be moved into dev tools but aiohttp itself must keep basic tests for making sure that the moved API is still accessible. Looks like I've finished. Conclusion: we are need a responsible maintainer for the project. |
I can't predict the future, so I can't say where I'll be in two years, but for the foreseeable future I'm prepared to be the maintainer. 100% test coverage I agree with, the last production grade app I built arq demonstrates that, it also demonstrates that I take documentation seriously too (there are some typo as arq is still a work in progress). It helps for docs that I'm a native english speaker. I think the best way forward is thus: I start building aiohttp-devtools and get it to the point of working but not polished. At that point you review, perhaps there are things you disagree with which I fix, I polish it and finish docs. At that point if we're both happy I transfer the project to aio-libs and we release to pypi, I continue as maintainer with your over-site. If at this point, we absolutely can't agree about how things should be done we stop the project before wasting each other's time. Make sense? |
The idea sounds really nice and +1 for it. Currently I'm working in different personal projects but I'm using
For me those are the most important things a developer needs to start a project. @asvetlov I quite don't understand (or agree with) the "Tests should be moved into dev tools but aiohttp itself must keep basic tests for making sure that the moved API is still accessible.". For me tests should be kept inside the |
As per discussion on #1154 test tools have to be a separate package for slightly annoying circular import reasons. I've changed my mind and I think We could make |
@samuelcolvin sounds like as great plan. |
@argaen sorry for bad wording. |
keeping @samuelcolvin 👍 👍 for volunteering to take this on. I'll try to help out when I can. cookiecutter template would have definitely been a big timesaver, so we could try to help out with that first. So far this project project has been the biggest inspiration of how our app is structured, and although it is very |
https://github.com/samuelcolvin/aiohttp-devtools aiohttp-devtools is started! Emphasis on started, still a lot more to do, however the basic Closing this issue, any more discussions can happen on that project. |
https://github.com/samuelcolvin/aiohttp-devtools Is now ready for use in the wild. Feedback very welcome. @asvetlov please look over the code, and see what you think. If you're willing I think it would be good to mention the package in aiohttp's docs and perhaps use it for the server tutorial. |
@samuelcolvin just create PR for doc |
This is really an extension of @ohsabry's comment: #778 (comment).
I very much approve of aiohttp being a microframework without the "batteries included" (aka "unwanted confusion included") of django, however sometime too many choices can be baffling.
Including tools useful for getting started, development and testing will both cause bloat in aiohttp and cause unnecessary dependencies in deployment environments (no one want the likes of watchdog installed on heroku or swelling a container image, but having it for auto-reload during testing is a great help).
Then again, lots of dev tools is a mess too, as @ohsabry put it: "it would be a huge turn off for me if all of the debug and development tools are scattered around a bunch of small external repositories that may never get maintained."
Therefore I propose one package containing (or maybe requiring) all the tools required when starting, developing and testing aiohttp applications. It would include:
startproject
. This could be extensible with different subcommands eg.+pg +redis +jinja
to control what gets configured.Doing this would:
app
rather than keeping them global.tests.py
stub like django does.I'm happy to do a fair bit of development towards this but there's no point in starting without agreement from those in the driving seat like @asvetlov, this would need to be included in the aio-libs organisation and be tested before releases of aiohttp to be worthwhile.
What do you think?
The text was updated successfully, but these errors were encountered: