Chris Withers wrote: > For me, I use travis-ci coupled with a few local virtualenvs for canary > versions. Some people like tox here, I never got on with it.
For me, tox is transformative. While there are a couple of usability issues that my clone army seems to be remiss in fixing, for the most part tox is awesome. In fact, I usually don't put any of my test dependencies in setup.py any more; these all go in my tox.ini. It integrates well with flake8, and lets me definite all the various testing matrixes I care about (e.g. all the Python versions w/ and w/o coverage, "qa" environments for flake8, and a "docs" environment for ensuring the docs build (and building them as a nice side benefit). tox of course manages all the venvs nicely, so it's easy to drop into them when necessary. tox doesn't yet play as nicely with flit/pyproject.toml, and I wish tox supported environment groups and null generated environments, but I've mostly found ways around those minor problems. > Then it's "what testrunner do you use?", I'm gradually moving to pytest, > but I still have a lot of nose 1. I have a ton of nose2, which I really like, but I'm gradually moving to pytest too. I'm getting over my cosmetic complaints about pytest, since it really is a very robust framework and does seem to have the most momentum. > As far as build and deployment, again, travis's tag-based deployment > model that pushes artifacts to pypi, coupled with readthedocs > pull-and-publish works for the things I care about. Then I guess you > could talk about issue trackers and, indeed, community discussion > channels ;-) Yep, RTD is pretty darn awesome; I'm a fan of GitLab for various reasons I suppose is off topic for this thread. > I wonder how much of this makes sense to put in a how-to for library > developers and where it branches out into areas where there are multiple > legitimate choices? Variation and competition is good; it keeps pushing the state of the art even higher. Some day we'll all be amazing that we used setup.py files for a couple of decades in Python's early history. <wink>. I think that means it's worth at least describing in blog posts and such, but there's not going to be a once-size-fits-all solution. I do love hearing about how others do it, because it gives me the ootz I need to try other alternatives I might like better. -Barry _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig