I agree with Raymond. The "implicit context" pattern is really only desirable in a small subset of situations, and I don't think configuring JSON serialization is one of those.
(it may even be an active nuisance, because some libraries may be using JSON as an implementation detail and a "JSON context" might break those libraries by changing important settings they rely on) Regards Antoine. On Thu, 06 Aug 2020 20:15:27 -0000 raymond.hettin...@gmail.com wrote: > Based on experience with the decimal module, I think this would open a can of > worms. To match what decimal does, we would need a Context() object with > methods for dump, dumps, load, loads. There would need to be a thread-local > or contextvar instance accessed by getcontext and setcontext, and perhaps a > decorator as well. We would need a few pre-made instances for common cases. > > Also, the decimal module was context aware from the outset. For JSON, we have > large body of pre-existing client code that was created and tested without > the concept of a context. Should existing code use the new context and > possibly break assumed invariants? If the existing code had explicit > parameters (such as indent=4), would the context override the parameter, take > a backseat to the parameter, or raise an exception? > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/KAD3U5HPTC76PCVXBAB4PMKVPDV4P4JC/ > Code of Conduct: http://python.org/psf/codeofconduct/ > _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/MSM6ZLAZWRTKXG37NOYX6RQHDELS3JSW/ Code of Conduct: http://python.org/psf/codeofconduct/