[Python-ideas] Adding jsonschema to the standard library

Stephen J. Turnbull stephen at xemacs.org
Sat May 23 04:59:21 CEST 2015


Donald Stufft writes:

 > I think a future area of work is going to be on improving the
 > ability for people who don't know what they want to find out that
 > they want something and which thing they want on PyPI. I'm not
 > entirely sure what this is going to look like

+1

 > but I think it's an important problem.

+1

 > It's being solved for very specific cases by starting to have the
 > standard documentation explicitly call out these defacto standards
 > of the Python ecosystem where it makes sense.

Because that's necessarily centralized, it's a solution to a different
problem.  We need a decentralized approach to deal with the "people
who use package X often would benefit from Y too, but don't know where
to find Y or which implementation to use."  IOW, there needs to be a
way for X to recommend implementation Z (or implementations Z1 or Z2)
of Y.

 > This of course does not scale to every single problem domain or
 > module on PyPI so we still need a more general solution.

The only way we know to scale a web is to embed the solution in the
nodes.  Currently many packages know what they use internally (the
install_requires field), but as far as I can see there's no way for a
package X to recommend "related" packages Z to implement function Y in
applications using X.  Eg, the plethora of ORMs available, some of
which work better with particular packages than others do.

We could also recommend that package maintainers document such
recommendations, preferably in a fairly standard place, in their
package documentation.  Even something like "I've successfully used Z
to do Y in combination with this package" would often help a lot.

If a maintainer (obvious extension: 3rd party recommendations and
voting) wants to recommend other packages that work and play well with
her package but aren't essential to its function, how about a
dictionary mapping Trove classifiers to lists of recommended packages
for that implmenentation?



More information about the Python-ideas mailing list