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. > 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. > 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 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). Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig