{"id":34841843,"url":"https://github.com/sbmlteam/deviser","last_synced_at":"2025-12-25T17:07:07.012Z","repository":{"id":31338884,"uuid":"34901554","full_name":"sbmlteam/deviser","owner":"sbmlteam","description":"Design Explorer and Viewer for Iterative SBML Enhancement of Representations","archived":false,"fork":false,"pushed_at":"2024-04-22T12:37:29.000Z","size":36643,"stargazers_count":5,"open_issues_count":34,"forks_count":5,"subscribers_count":7,"default_branch":"develop","last_synced_at":"2024-04-22T13:51:25.810Z","etag":null,"topics":["automation","code-generation","code-generator","libsbml","python","sbml","systems-biology","xml"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbmlteam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT.md","governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null}},"created_at":"2015-05-01T12:19:07.000Z","updated_at":"2024-04-10T12:21:14.000Z","dependencies_parsed_at":"2023-01-14T19:01:08.743Z","dependency_job_id":"3c9ab31a-4b9c-4529-958b-1de730f3f3b6","html_url":"https://github.com/sbmlteam/deviser","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/sbmlteam/deviser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmlteam%2Fdeviser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmlteam%2Fdeviser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmlteam%2Fdeviser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmlteam%2Fdeviser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbmlteam","download_url":"https://codeload.github.com/sbmlteam/deviser/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmlteam%2Fdeviser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28033408,"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","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"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":["automation","code-generation","code-generator","libsbml","python","sbml","systems-biology","xml"],"created_at":"2025-12-25T17:06:30.898Z","updated_at":"2025-12-25T17:07:07.007Z","avatar_url":"https://github.com/sbmlteam.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deviser\u003cimg width=\"11%\" align=\"right\" src=\".graphics/ICON_Deviser_512x512.png\"\u003e\n\n\n*Deviser* stands for *\"Design Explorer and\nViewer for Iterative SBML Enhancement of Representations\"*.  It is a code generator for defining and prototyping [SBML Level 3](http://sbml.org/Documents/Specifications#SBML_Level_3) packages and code for use with [libSBML](http://sbml.org/Software/libSBML/).\n\n\n| \u0026nbsp;\u0026nbsp;\u0026nbsp;⭐️ This is the repository for Deviser's code generation facility. The GUI is in a [separate repository](https://github.com/sbmlteam/QtDeviser). ⭐️\u0026nbsp;\u0026nbsp;\u0026nbsp;|\n|:-:|\n\n\n_**Authors**_:      [Sarah M. Keating](https://www.ucl.ac.uk/research-it-services/about-rits/people) and [Frank T. Bergmann](http://www.cos.uni-heidelberg.de/index.php/f.bergmann?l=_e)\n\n_**Contributors**_: [Matthew S. Gillman](https://www.ucl.ac.uk/research-it-services/about-rits/people), [Brett Olivier](https://github.com/bgoli), [Orod Razeghi](https://www.ucl.ac.uk/research-it-services/about-rits/people),\n[Lucian Smith](https://github.com/luciansmith) \u0026amp; [Mike Hucka](https://github/mhucka)\u003cbr\u003e\n_**Repository**_:   https://github.com/sbmlteam/deviser\u003cbr\u003e\n_**Repository for GUI**_:   https://github.com/sbmlteam/QtDeviser\u003cbr\u003e\n_**Pivotal tracker**_: https://www.pivotaltracker.com/n/projects/977192\u003cbr\u003e\n_**License**_:      LGPL version 2.1 \u0026ndash; see the file [LICENSE](LICENSE) for details\n\n## Background ##\n\nComputation modeling has become crucial to biological research, and [SBML](http://sbml.org) (the Systems Biology Markup Language) has become the de facto standard open format for exchanging models between software tools in systems biology.  SBML Level\u0026nbsp;3 has a modular structure, with as a core augmented with optional packages that add syntax and features.  Development of new Level\u0026nbsp;3 packages is ongoing.\n\n[LibSBML](http://sbml.org/Software/libSBML) is a free, open-source programming library to help developers read, write, manipulate, translate, and validate SBML files and data streams in their software systems. It is written in C++ and provides language bindings for other programming languages.  Support for SBML Level\u0026nbsp;3 can be added to [LibSBML](http://sbml.org/Software/libSBML) by integrating the package-specific code and building with the package enabled.\n\n[Deviser](https://github.com/sbmlteam/deviser) facilitates the development of SBML Level\u0026nbsp;3 packages by enabling the creation of basic specifications, UML diagrams and code for integration with [LibSBML](http://sbml.org/Software/libSBML).\n\nDeviser is written in Python and is compatible with Python version 2.6 onwards.\n\n\n## Using Deviser ##\n\n### Deviser Edit GUI ###\n\nThe [Deviser Edit](https://github.com/sbmlteam/QtDeviser) tool allows you to quickly define an SBML Level\u0026nbsp;3 package. It then provides the  following functionality\n\n1.\tCreate and view a UML diagram.\n2.\tGenerate the necessary libSBML code for the package.\n3.\tGenerate TeX files and generate a PDF of a basic specification document for the package.\n4.\tIntegrate and test the package with libSBML.\n\nThe Deviser Edit tool creates an XML description of the package that is used by the deviser code to generate the requested files. This XML description is exemplified in the [samples](samples) directory.\n\n### Command Line Interface ###\n\nThere is command line version of the function that can be used to invoke Deviser on the XML file. This is the `deviser.py` file found in the generator directory.\n\n    deviser.py [--generate][--latex] input-file.xml    \n\nThis program will use a Deviser XML file, and generate either a C++ \nlibSBML extension for it, or generate a LaTeX scaffold for its \nspecification. \n\nFull documentation is available in the [docs](docs) directory.\n\n\n## Installation ##\n\nThe deviser release includes bundles/installer for each of the main operating systems.  \n\n### Prerequisites\n\n1. A C++ compiler must be installed if you wish to compile the libSBML code generated.\n2. A pdflatex compiler must be installed if you wish to generate a PDF file from the TeX sources generated.\n\n**NOTE**: These may already be available on your OS.\n\n### Microsoft Windows OS\n\nA windows installation executable which installs the Deviser Edit tool (`QtDeviser.exe`), all the necessary Deviser files. Additionally it includes a Python interpreter and the [sbmlpkgspec](https://github.com/sbmlteam/sbmlpkgspec) files for generating SBML Level\u0026nbsp;3 Package specifications.\n\n### Linux OS\n\nA self-contained, binary installer is available that contains Deviser, DeviserEdit and the [sbmlpkgspec](https://github.com/sbmlteam/sbmlpkgspec) modules. After installation DeviserEdit can be run from either a desktop icon or by calling the `DeviserEdit.sh` script in the installation directory. Deviser samples can be found in the `deviser/samples` subdirectory.\n\n### Mac OS X\n\nA `.dmg` file is available containing the DeviserEdit Application that embeds the necessary Deviser and [sbmlpkgspec](https://github.com/sbmlteam/sbmlpkgspec) files in addition to *docs* and *samples* directories. \n\n### Source archives\n\nThe source archives contain the Deviser code that can be used via the command line.\n\n\n## Other resources ##\n\nNot all of the following are necessary as what is necessary depends on which operating system is being used and which Deviser functionality is required. These links are given as a quick reference.\n\n* [libSBML source code](https://github.com/sbmlteam/libsbml \n* [libSBML dependency libraries for Windows users](https://github.com/sbmlteam/libSBML-dependencies)\n* [SBML package specification template files](https://github.com/sbmlteam/sbmlpkgspec)\n\n\n## Acknowledgments ##\n\nThe development of Deviser was supported in part by funding from the National Institute of General Medical Sciences (USA) under grant R01\u0026nbsp;GM070923 (principal investigator: Michael Hucka).\n\nFuether enhancement of Deviser was funded by [Chan Zuckerberg Initiative](https://chanzuckerberg.com/) under grant 2020-218578 (5022) (principal investigator: Sarah M Keating).\n\n\n## Copyright and license ##\n\nCopyright (C) 2014-2018 jointly by the California Institute of Technology, Pasadena, CA, USA, EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK and the University of Heidelberg, Heidelberg, Germany\n\nThis library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or any later version.\n\nThis software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and documentation provided hereunder is on an \"as is\" basis, and the California Institute of Technology has no obligations to provide maintenance, support, updates, enhancements or modifications.  In no event shall the California Institute of Technology be liable to any party for direct, indirect, special, incidental or consequential damages, including lost profits, arising out of the use of this software and its documentation, even if the California Institute of Technology has been advised of the possibility of such damage.  See the GNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License along with this library in the file named \"LICENSE\" included with the software distribution.\n\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.nigms.nih.gov\"\u003e\n    \u003cimg height=\"100\" src=\".graphics/US-NIH-NIGMS-Logo.svg\"\u003e\n  \u003c/a\u003e\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://www.caltech.edu\"\u003e\n    \u003cimg height=\"100\" src=\".graphics/caltech-round.png\"\u003e\n  \u003c/a\u003e\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://www.ebi.ac.uk\"\u003e\n    \u003cimg height=\"102\" src=\".graphics/EMBL_logo.svg\"\u003e\n  \u003c/a\u003e\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://www.uni-heidelberg.de\"\u003e\n    \u003cimg height=\"100\" src=\".graphics/University_of_Heidelberg.svg\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbmlteam%2Fdeviser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbmlteam%2Fdeviser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbmlteam%2Fdeviser/lists"}