ssato / python-anyconfig

Python library provides common APIs to load and dump configuration files in various formats
MIT License
275 stars 31 forks source link

Integrate bson, cbor2, configobj, ion, json5, msgpack plugins #151

Closed sundarnagarajan closed 9 months ago

sundarnagarajan commented 1 year ago

Is your feature request related to a problem? Please describe. Thanks for building this package. I am actively using it. I also wanted to use the configobj plugin (anyconfig_configobj_backend). When I installed anyconfig and anyconfig_configobj_backend (both latest tags from your github repo), I could not import anyconfig, because anyconfig tries to import anyconfig_configobj_backend and anyconfig_configobj_backend (inside configobj_py) tries to import anyconfig - curcular import.

I also tried out a few of your other plugins - bson, cbor2, ion, json5, msgpack and they also had similar problems.

Describe the solution you'd like I think it would be a good idea to integrate these plugins in the same way the toml plugin is integrated:

Describe alternatives you've considered I have done the above for the following extensions: bson, cbor2, configobj, ion, json5, msgpack. My repo is: https://github.com/sundarnagarajan/python-anyconfig-integrated

Additional context If you like it, can you pull my changes, or would you prefer I send you a pull request?

ssato commented 1 year ago

Thanks a lot for your report! I'll look into the issue this weekend.

ssato commented 1 year ago

I worked fixing plugins not updated and cannot work with the latest anyconfig in the issue #152. And as far as I tested with these latest backends, it works without any problems.

Could you please check these plugins works with anyconfig?

ssato commented 1 year ago

I don't want moving everything into anyconfig itself and keep it small to make its maintenance easier as much as I can do. So these plugins will be kept outside of anyconfig unless there are any critical issues as you said.

I could not reproduce the issue you said, so could you please describe the steps to reproduce that?