On 13 Jan 2017, at 09:07, Nathaniel Smith <njs@pobox.com> wrote:

I was imagining something along the lines of

ClientContext({...}).wrap_socket(...)

where ClientContext.__init__ would do the validation. Or there are
various other ways to slot the pieces together, but in general
validation doesn't need to be done incrementally; there's going to be
some place where the config dict hits the library and it can/should be
validated at that point. And before that point we get all the dict
niceties for free.

What are the dict niceties, exactly? I’m still not seeing what the advantage is in throwing away a typed and restricted API for a dict is.

Cory