dmt-core

DeviceModelingToolkit (DMT) is a Python tool targeted at helping modeling engineers extract model parameters, run circuit and TCAD simulations and automate their infrastructure.

https://github.com/semimod/dmt-core

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    2 of 6 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.3%) to scientific vocabulary

Keywords

electrical-engineering python

Keywords from Contributors

Electrical Engineering
Last synced: 4 months ago · JSON representation

Repository

DeviceModelingToolkit (DMT) is a Python tool targeted at helping modeling engineers extract model parameters, run circuit and TCAD simulations and automate their infrastructure.

Basic Info
  • Host: GitHub
  • Owner: semimod
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage: https://dmt.semimod.de
  • Size: 13.7 MB
Statistics
  • Stars: 10
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
electrical-engineering python
Created over 3 years ago · Last pushed 5 months ago
Metadata Files
Readme Changelog License Codemeta

README.md

DMT-core

pyversion Build Status Coverage Code style: black status

logo

DeviceModelingToolkit (DMT) is a Python tool targeted at helping modeling engineers extract model parameters, run circuit and TCAD simulations and automate their infrastructure.

See the DMT-website for further information.

This project is funded by NLnet under the NGI Zero Entrust fund.

Usage

Installation to virtual environment

After installing python 3.8 or later, create a virtual environment and install the release version using

```bash

python3 -m pip install DMT-core[full]

```

For more information have a look at our installation guide

Currently, DMT is developed mostly on Ubuntu using Python 3.10. So for the easiest install this is the best supported platform. If you want or have to use Windows and MacOS there may be more dependency and installation issues, although needed projects we use support these platforms. Please report these issues to us. In our installation guide, we collect guides to solve the already known issues.

Full docker container

DMT is tested inside a docker container and this container can be used to run python/DMT scripts locally on your machine. See docker/dmt for an example bash script to run a file. Notice the configuration, this is needed so that simulation results and read measurement files persist on your host machine and do not vanish each time the container is closed.

For more information have a look at our docker guide

Questions, bugs and feature requests

If you have any questions or issues regarding DMT, we kindly ask you to contact us. Either mail us directly or open an issue here. There we have prepared several templates for the description:

Authors

  • M. Müller | Markus.Mueller@semimod.de
  • M. Krattenmacher | Mario.Krattenmacher@semimod.de
  • P. Kuthe | jarodkuthe@protonmail.com

Contributing

More contributors and merge-requests are always welcome. When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Contact Markus or Mario, if you are interested to join the team permanently.

Pull Request Process

If you want to supply a new feature, you have implemented in your fork, to DMT, we are looking forward to your merge request. There we have a template for the merge request, including a checklist of suggested steps.

The steps are:

  1. Implement the new feature
  2. Add test cases for the new feature with a large coverage
  3. Add new python dependencies to setup.py
  4. If a interface is used, add a Dockerfile in which the interfaced software is installed and run the tests inside this Dockerfile
  5. Add additional documentation to the new features you implemented in the code and the documentation.
  6. Format the code using black
  7. Update the CHANGELOG with your changes and increase the version numbers in the changed files to the new version that this Pull Request would represent. The versioning scheme we use is SemVer.

License

This project is licensed under GLP-v3-or-later

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/0.1-alpha/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "https://orcid.org/my-orcid?orcid=0000-0003-1274-3429",
      "@type": "Person",
      "email": "Mario.Krattenmacher@semimod.de",
      "name": "Mario Krattenmacher",
      "affiliation": "TU Dresden and SemiMod"
    },
    {
      "@id": "https://orcid.org/my-orcid?orcid=XXXXXXXXXXXXXXXXXXX",
      "@type": "Person",
      "email": "Markus.Mueller@semimod.de",
      "name": "Markus Mller",
      "affiliation": "TU Dresden and SemiMod"
    },
    {
      "@type": "Person",
      "email": "Pascal.Kuthe@semimod.de",
      "name": "Pascal Kuthe",
      "affiliation": "TU Dresden and SemiMod"
    },
    {
      "@type": "Person",
      "email": "michael.schroeter@tu-dresden.de",
      "name": "Michael Schroeter",
      "affiliation": "TU Dresden"
    }
  ],
  "identifier": "http://dx.doi.org/XXXXXXXXXXXXXXXXXXXXXXXXXX",
  "codeRepository": "https://gitlab.com/dmt-development/dmt",
  "datePublished": "2022-03-08",
  "dateModified": "2022-03-08",
  "dateCreated": "2022-03-08",
  "description": "",
  "keywords": "",
  "license": "GPL-v3-or-later",
  "title": "DMT",
  "version": ""
}

GitHub Events

Total
  • Delete event: 1
  • Push event: 27
  • Create event: 1
Last Year
  • Delete event: 1
  • Push event: 27
  • Create event: 1

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 380
  • Total Committers: 6
  • Avg Commits per committer: 63.333
  • Development Distribution Score (DDS): 0.387
Past Year
  • Commits: 143
  • Committers: 3
  • Avg Commits per committer: 47.667
  • Development Distribution Score (DDS): 0.168
Top Committers
Name Email Commits
Mario m****r@s****e 233
Mario Krattenmacher m****r@w****e 98
Markus Mueller m****0@g****m 41
Mario K m****r@t****e 6
DSPOM d****m@p****m 1
Lucy Whalley l****y@n****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

setup.py pypi
  • colormath *
  • cycler *
  • h5py *
  • joblib *
  • more_itertools *
  • numpy *
  • pandas *
  • pint *
  • pytest *
  • pyyaml *
  • reprint *
  • scikit-rf *
  • scipy *
  • semver *
  • verilogae >=0.9b4
Dockerfile docker
  • registry.gitlab.com/dmt-development/dmt-core base build