On Thu, Feb 28, 2013 at 10:04 AM, Nick Coghlan <ncogh...@gmail.com> wrote: > On Fri, Mar 1, 2013 at 12:00 AM, Daniel Holth <dho...@gmail.com> wrote: >> We will probably wind up with some JSON very much like that. I like >> just exposing it as an ordered multidict with the same key names as >> mentioned in the PEP. > > A multidict is not really JSON-compatible - making sure there's an > unambiguous mapping to an ordinary dictionary is highly desirable. > Also, it's handy to pre-split and group the entries conditioned on the > environment markers.
Sure, nothing wrong with it. Just don't bother pluralizing the names. "Goose: gander" becomes "geese" : {} no thanks. >> IMO the environment marker for "always" is just >> "" (empty string). > > I initially had that, but it looked weird in the case where there > weren't any conditional entries, and it also looks weird when > accessing the data structure. By contrast, "always" is a > self-describing key. Or True, or an environment-marker tautology... >> My hook would be a literal Entry-Point. You would install a package >> "twisted.plugins" that would register its interest in installation >> changes by declaring the entry point "[packaging.hooks] >> post_install=twisted.plugins:hook". Afterwards, every time you install >> or uninstall another package, twisted.plugins.hook() would be called. >> It would iterate over all installed distributions using some API like >> pkg_resources.working_set or distlib's database and do whatever it >> needed to do. It could be called once per pip invocation instead of >> once per individual package. >> >> The hook is not guaranteed to run. If you do not run the hook, you >> should expect Twisted's plugin discovery process to take longer just >> like it does today. In fact the packages available on sys.path are not >> guaranteed to "have been installed" at all. > > This is *not* the same kind of hook at all. The proposed hook is only That is why this conversation has been so confusing :-) > run when *Twisted* is installed to replace some current legitimate > customisation of "./setup.py install" behaviour, not when an arbitrary > package is installed to let Twisted know about it. Your suggestion > would indeed be more appropriately part of an installer-specific entry > point (but one made much easier by the standard including an algorithm > for conversion to structured metadata). _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig