Okay, so lets be up front: pipenv is not for libraries or reusable apps,
it's for deployments of re-usable apps or development of single-use
application code. I think that's a great aim and covers *all* the end
use cases of Python at its extreme.
However, library devs, and I'd lump reusable app devs in that too...
On 16/01/2018 17:36, Brett Cannon wrote:
Is there a library developer workflow that's being promoted then
somewhere that I'm just not finding? Or does that need to be written for
packaging.python.org <http://packaging.python.org> (which I /might/ be
willing to write; see below for motivation)?
Well, I can only speak from my experience as a maintainer of lots of
small libraries that are occasionally heavily used...
What's worked well for me is specifying dependency ranges in setup.py
and using 'build' and 'test' extras to indicate libraries that are
needed to build artifacts for readthedocs or pypi, the latter for
running automated tests.
I generally use pip install -e . in a checkout to set up a development
environment but beyond this I think things branch out a lot:
How do you do axis development? (often python version, but can be a
major version of a dependency such as django, or operating system, or
for the lucky masochists out there: a dot product of each of those...)
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.
Then it's "what testrunner do you use?", I'm gradually moving to pytest,
but I still have a lot of nose 1.
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 ;-)
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?
cheers,
Chris
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig