{"id":20399829,"url":"https://github.com/kitware/simput","last_synced_at":"2025-04-12T13:41:55.069Z","repository":{"id":44696855,"uuid":"48398375","full_name":"Kitware/simput","owner":"Kitware","description":"Input generator for simulation which can be used as a standalone application or as a component within another web context.","archived":false,"fork":false,"pushed_at":"2023-03-01T05:55:36.000Z","size":21295,"stargazers_count":17,"open_issues_count":25,"forks_count":16,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-26T08:22:20.748Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://kitware.github.io/simput/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kitware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-21T22:53:04.000Z","updated_at":"2023-08-31T17:15:26.000Z","dependencies_parsed_at":"2023-02-17T10:01:24.488Z","dependency_job_id":null,"html_url":"https://github.com/Kitware/simput","commit_stats":null,"previous_names":[],"tags_count":139,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kitware%2Fsimput","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kitware%2Fsimput/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kitware%2Fsimput/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kitware%2Fsimput/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kitware","download_url":"https://codeload.github.com/Kitware/simput/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248271894,"owners_count":21075800,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-11-15T04:34:08.023Z","updated_at":"2025-04-12T13:41:55.041Z","avatar_url":"https://github.com/Kitware.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Simput\n\n### Goal\n\nTo provide a simple way to write input simpulation files.\n\n## Installation\n\n```sh\n$ npm install -g simput\n```\n\n## Usage\n\nAfter installing the package you will get one executable **Simput** with\nthe following set of options:\n\n```sh\n$ Simput\n\n  Usage: Simput [options]\n\n  Options:\n\n    -h, --help                    output usage information\n    -V, --version                 output the version number\n\n    -i, --input [file|directory]  Input file or directory\n    -o, --output [directory]      Output directory to output to\n    -t, --type [type]             Type of input\n\n    -s, --silent                  Do not open the browser\n\n    -c, --compile [directory]     Directory to compile files\n    -m, --minify                  Minify compiled file\n\n```\n\n## Examples\n\n```sh\n$ Simput -p\n```\n\nStarts a server and opens your web browser, showing a landing page with a choice of inputs which you can create.\n\n## Demos\n\nThere are a few supplied demos in the folder `types`, each have their own README.\n\n* vCard is the simplest example, with a single type of output.\n* oscillator is a bit more complex, because it derives from a real benchmarking application meant to exercise in-situ analyses on hpc systems.\n* pyfr and vera produce input files for real applications, and are realistically complex.\n\n## Development\n\n```sh\n$ git clone --recursive https://github.com/Kitware/simput.git\n$ cd simput\n$ npm install\n$ npm run build\n$ npm link\n$ Simput\n\n  Usage: Simput [options]\n\n  Options:\n\n    -h, --help                    output usage information\n    -V, --version                 output the version number\n\n    -i, --input [file|directory]  Input file or directory\n    -o, --output [directory]      Output directory to output to\n    -t, --type [type]             Type of input\n\n    -s, --silent                  Do not open the browser\n\n    -c, --compile [directory]     Directory to compile files\n    -m, --minify                  Minify compiled file\n\n```\n\nThen to compile pyfr and open a development server which watches for another compile:\n\n```sh\n$ npm run type:pyfr\n$ npm run dev\n```\n\n## Creating a new simulation type\n\nIn a separate location create a folder for your type:\n\n```sh\n# Replace [mytype] with your type name.\nmkdir [mytype]\ncd [mytype]\ngit init\n```\n\nCreate the folder and file structure:\n\n- `/src`\n    - `/lang`\n        - `/[language]` e.g. \"en\", \"fr\"\n            - `label.json`, attribute and property labels.\n            - `/help`, help dialogs, _recommended, not required_\n                - `/[folders for each attribute]`\n                    - `[file for each property, contents are html]`\n    - `/templates`\n        - [template file and helpers]\n    - `model.js`, primary data structure.\n    - `convert.js`, converts the model into the simulation deck format.\n    - `parse.js`, converts a complete input file to the simput model; _recommended, not required_.\n- `/samples`, empty or partially full sample datasets; _recommended, not required_.\n- `/versions`, an output folder for your compiled type; _recommended, not required_.\n- `README.md`, a description of your type; _recommended, not required_.\n\nFor examples of each take a look at `types/demo`\n\n### **Optional**: Add the type as a submodule to this repository\n__It's critical that these are executed in order__\n\n```sh\n# start in the [mytype] directory from above. Replace [mytype] with your type name below.\ngit checkout -b type-[mytype] #replace 'mytype' with the name of the new type\ngit commit -m \"initial commit\"\ngit remote add origin https://github.com/Kitware/simput.git\ngit push origin type-[mytype] # where 'mytype-branch' is the current branch name\ncd [your simput repo] # usually cd ../..\ngit submodule add -b type-[mytype] https://github.com/kitware/simput types/[mytype]\ngit add .gitmodules types/\ngit commit -m \"added [mytype]\"\ngit push\n```\n\n## Add to compilation and landing page\n\nSimput changed to a Vue.js framework, and no longer has the ability to dynamically add and load types - they must be present when Simput is built by webpack.\n\nAdd another script to `package.json` which compiles your type.\n\nAdd a call to `Simput.registerType()` for your type in `static/index.html`\n\nThis will likely change soon.\n\n## Licensing\n\n**Simput** is licensed under [BSD Clause 3](LICENSE).\n\n## Getting Involved\n\nFork our repository and do great things. At [Kitware](http://www.kitware.com), we've been contributing to open-source software for 15 years and counting, and want to make **Simput** useful to as many people as possible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitware%2Fsimput","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkitware%2Fsimput","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitware%2Fsimput/lists"}