Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Hierarchical Save that respects Scope Order

Open
#47 0 comments 0 reactions 2 assignees View on GitHub

@jessy-liao is already working on this.

Since Jun 16, 2026.

Assessment

This issue has not been assessed yet.

Description

In save_config(...), we can only enter one scope, so we can't fan out overrides. In some situations, it's desirable to save overrides to only one scope (i.e: computer-specific tuning values).

In other cases, though, it may be necessary to fan out overrides out to multiple scopes in the order that they arrived. This will involve holding onto the scope order used to initially bring down a config with get_config and then passing it back to the save_config such that keys fan out to the locations that they came from.

User Stories

Here are a few use cases to start from:

  • For a given namespace, load a hostname and subject-specific config.
    • Make alternations to hostname-scope fields. Make hostname-scope. Save changes back to the hostname scope.
    • OR Make hostname-scope and subject-scope changes. Save changes back to their respective scopes.
    • OR Make hostname-scope and subject-scope changes. Save hostname-scope changes but blow away the subject-scope changes.
    • OR make hostname-scope changes. Save all hostname-scope changes back to the default scope.

Extras:

  • do extra fields get added to the lowest level scope?
  • add a field

Building Blocks

  • a deep-update that only updates fields that already exist in the dict being updated.
  • a warning for fields that were not saved during the save process.
Dominant language
Python
Stars
1
Forks
0
Avg merge
5d 19h
Merged PRs (30d)
4

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from AllenNeuralDynamics/ficus

All issues in AllenNeuralDynamics/ficus

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.