Skip to main content

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

    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

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

Metadata

Release files for DMT-core 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for DMT-core 2.1.0
File Size Uploaded Provenance
DMT_core-2.1.0.tar.gz 223.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for DMT-core 2.1.0
File Interpreter ABI Platform
DMT_core-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 482.6 kB

Release files / DMT_core-2.1.0.tar.gz

Download URL DMT_core-2.1.0.tar.gz
Size 223.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e3cf44fae367e0d8320b0c6c50c10f1ffd59b8cfb9b8dab8cf1f05f3cae41cc5
BLAKE2b-256 checksum
How to use checksums
8d8af3377ffe65e7dfe10930b620a875484fb3b5c690409183acf75a20a39177
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / DMT_core-2.1.0-py3-none-any.whl

Download URL DMT_core-2.1.0-py3-none-any.whl
Size 258.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a5322048e6da3a961fc446da76dd3bb030a8a0b4cee7ff7565234cd6edd2e58
BLAKE2b-256 checksum
How to use checksums
de59dfd75a80f9827a47e059e8edd5d592b756c198f062b06cd2061a2e11fae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Security for DMT-core 2.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page