Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace AttrDict with a functionally equivalent dependency #366

Open
brynpickering opened this issue Jul 29, 2021 · 2 comments
Open

Replace AttrDict with a functionally equivalent dependency #366

brynpickering opened this issue Jul 29, 2021 · 2 comments
Projects
Milestone

Comments

@brynpickering
Copy link
Member

Problem description

AttrDict is a internal Calliope Class that has worked well for many years. However, it's possibly volatile and requires us to maintain it alongside core Calliope functionality. In fact, we've been forcing pytest to a very old version for the past years due to AttrDict not having a __name__ attribute (since all attributes of AttrDict are also dictionary keys); this led to one failed fix (762c322) followed by another successful fix (b8f57d8) that may or may not be stable in the long run.

For v0.7.0 we would be better off depending on a maintained package that does this for us.

One example is Box. I'm sure there are many others out there which we could choose from.

Calliope version

0.6.7-dev

@brynpickering brynpickering added this to the 0.7.0 milestone Jul 29, 2021
@sjpfenninger
Copy link
Member

The obvious choice, attrdict, does not seem to be maintained any longer: https://github.com/bcj/AttrDict. Box looks good.

@sjpfenninger sjpfenninger added this to Cleaner internals in v0.7.0 Jul 29, 2021
@brynpickering
Copy link
Member Author

Waiting to see which one of Box or benedict resolves first.

@brynpickering brynpickering modified the milestones: 0.7.0, 0.7.x Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
v0.7.0
Cleaner internals
Development

No branches or pull requests

2 participants