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

Reply via email to