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

MAINT: Upgrade ALL network configuration file formats (except for tests) #962

Open
asoplata opened this issue Jan 10, 2025 · 9 comments
Open

Comments

@asoplata
Copy link
Collaborator

Currently, the newest version of the network configuration files are the “hierarchical JSON” format, which are required for any networks loaded using the GUI. We should complete the “migration” of all network configuration files we actually expect users to use into this format, and either remove or archive all “legacy” config files, including the “flat JSON” format and the original “param” format (except for use in testing).

Part of why this is important is that if a user is using the GUI, then all JSON network config files they potentially interact with, such as https://github.com/jonescompneurolab/hnn-core/blob/master/hnn_core/param/default.json , EXCEPT for https://github.com/jonescompneurolab/hnn-core/tree/master/hnn_core/tests/assets , should be using the latest format.

Once this is done, we should also include a config_version attribute into the format in order to track version differences of the config files themselves.

@asoplata asoplata added this to the 0.5 milestone Jan 10, 2025
@asoplata asoplata self-assigned this Jan 10, 2025
@dikshant182004
Copy link
Contributor

hey @asoplata ,i have understood the task there is one question in my mind that should i archive all that legacy files in another directory for historical use or delete them .i am thinking to transfer them in another directory and update the .gitignore or documentation that they are not for regular use

@dikshant182004
Copy link
Contributor

one more thing as we are migrating into hierarchial json format ,does the gui script is able to handle the nested structure or we need to update that also

@asoplata
Copy link
Collaborator Author

Hello Dikshant! Welcome, and thank you very much for your interest in contributing to HNN-Core's development! We're very happy to have you here :)

Firstly, our Contribution Guide can be found here: https://jonescompneurolab.github.io/hnn-core/stable/contributing.html . Judging from your Python experience, you should already be pretty familiar with how we do things. We do rebase+squash instead of merges.

Secondly, our Code of Conduct can be found here: https://github.com/jonescompneurolab/hnn-core/blob/master/CODE_OF_CONDUCT.md .

Lastly, if you are interested in contributing to development, we strongly recommend that you start with an existing Issue that has the good first issue tag. Some examples are #954, #917, #966, and #967. Unfortunately, this current issue is not a good fit for a new developer, since there's certain complexities for how to do this that I didn't include in the initial issue description.

@dikshant182004
Copy link
Contributor

hii @asoplata thanks for guiding me i will start with the good first issue first then will move forward .

@dikshant182004
Copy link
Contributor

hii @asoplata ,can we move forward in this issue now ,as the currentscape needs to be on hold.

@asoplata
Copy link
Collaborator Author

Hey @dikshant182004 , unfortunately this is not a good issue for new developers such as yourself for a number of reasons, including requiring extensive code changes and changing how we handle backwards-compatibility, in addition to many others.

@dikshant182004
Copy link
Contributor

Then I'll definitely want to give it a try.

@dikshant182004
Copy link
Contributor

hii @asoplata ,i was going through all the code and created a prototype of default.json in hierarchial format .I agreed upon the fact that it requires extensive code changes where the network configurations are being used . But after going through all the code ,I think we can complete this issue .plz have a look at this format

default2.json

@dikshant182004
Copy link
Contributor

dikshant182004 commented Mar 1, 2025

After going through the code base i think hnn_core/(param.py/network.py/network_model.py) require code changes ,if i am missing out some files in which these network configuration files are being used ,do tell me regarding that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants