{"id":24030357,"url":"https://github.com/neuro-mechatronics-interfaces/json_parameters_exporter","last_synced_at":"2026-06-11T02:31:14.508Z","repository":{"id":57770469,"uuid":"363141952","full_name":"Neuro-Mechatronics-Interfaces/JSON_Parameters_Exporter","owner":"Neuro-Mechatronics-Interfaces","description":"For building the parameters json files.","archived":false,"fork":false,"pushed_at":"2022-10-20T23:26:18.000Z","size":75,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T03:45:07.728Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Neuro-Mechatronics-Interfaces.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-30T13:01:16.000Z","updated_at":"2022-08-22T18:30:33.000Z","dependencies_parsed_at":"2022-08-22T19:50:11.057Z","dependency_job_id":null,"html_url":"https://github.com/Neuro-Mechatronics-Interfaces/JSON_Parameters_Exporter","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Neuro-Mechatronics-Interfaces/JSON_Parameters_Exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neuro-Mechatronics-Interfaces%2FJSON_Parameters_Exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neuro-Mechatronics-Interfaces%2FJSON_Parameters_Exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neuro-Mechatronics-Interfaces%2FJSON_Parameters_Exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neuro-Mechatronics-Interfaces%2FJSON_Parameters_Exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Neuro-Mechatronics-Interfaces","download_url":"https://codeload.github.com/Neuro-Mechatronics-Interfaces/JSON_Parameters_Exporter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neuro-Mechatronics-Interfaces%2FJSON_Parameters_Exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34180147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-08T17:42:23.780Z","updated_at":"2026-06-11T02:31:14.491Z","avatar_url":"https://github.com/Neuro-Mechatronics-Interfaces.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JSON Parameters Exporter\nFor building the parameters `json` files.\n\nI made this in an attempt to avoid reinventing the wheel for each interface that requires some kind of a \"parameter export.\" Currently (*2021-07-31*), it is lacking the functionality associated with the little `+` icon on each tab that would allow a nicer interface to specify types and values of different widgets and associate them to a corresponding tab.\n\n## Setup ##\n\n### Python Environment ###\nThe exporter interface was developed on `Windows 10` in `PyCharm` 2021.1 using `Python` 3.9. \n\nThe machine **must have the GTK3 libraries installed**. I have only had a chance to test this on Windows 10 (64-bit), so if you try running on Linux or Mac there may be other dependencies and/or possible errors related to UNC path specifications (but hopefully not).\n\n* `GTK3` ([Windows 64-bit](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer))\n\nThe following packages must be included in the `Python` environment (i.e. installed using `python pip3 install pymitter` etc.):\n\n* `pymitter` (^0.3.0)\n* `CairoSVG` (^2.5.2)\n  * *Note:* installing `CairoSVG` (^2.5.2) requires the following dependencies:\n    * `Pillow` (^8.2.0)\n    * `cairocffi` (^1.2.0)\n    * `cffi` (^1.14.5)\n    * `cssselect2` (^0.4.1)\n    * `defusedxml` (^0.7.1)\n    * `pycparser` (^2.20)\n    * `tinycss2` (^1.1.0)\n    * `webencodings` (^0.5.1)\n* `pycairo` (^1.20.0)\n* `websockets` (^10.3)\n* `asyncio` (^3.4.3)\n\n### Interface ###\n\nMain interface is accessed by running `main.py`.\n\n## Use ##\n\n### Standalone Version ###\n1. Run `main.py`\n2. Load `params-stim.json` from the user prompt.\n   * The `params` file specifies the associated `layout.yaml` file that defines tabs.\n   * Each parameter in the `params.json` file is associated to a tab by its `Page` field, which must match the `Title` field of a tab in the `layout.yaml` file.\n3. Make changes to parameters as desired.\n4. Click `save`. The filename is automatically generated based on a schema that I'd been using for collecting behavioral parameter metadata, but this could be adapted to suit an export for a `configuration.xml` output (and the `saveParameters` method of `component.ParametersUI.py` would be adjusted according to the `xml` specifications).\n\n### Networked Version ###\n1. Open a terminal in this repo.\n2. In that terminal, run `python server.py`\n3. Open a second terminal in this repo.\n4. In that terminal, run `python main.py`\n5. (Optional demo): In `docs`, open `index.html`. When you change any parameter in the `main.py` application, it should update the JSON string in the web interface via the server update.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneuro-mechatronics-interfaces%2Fjson_parameters_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneuro-mechatronics-interfaces%2Fjson_parameters_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneuro-mechatronics-interfaces%2Fjson_parameters_exporter/lists"}