Development
python3 -m pip install
git clone git@github.com:Issamricin/dmc-view.git
cd dmc-view
pip install -e .
Then, for any changes in the code you can execute it from command line
python
To run the simulator run the below code from the python interactive
from dmcview.simulator import Simulator
simulator = Simulator()
simulator.run()
Development Notes
Testing, Documentation Building, Scripts, CI/CD, Static Code Analysis for this project.
Test Suite, using `pytest`_, located in tests dir
Parallel Execution of Unit Tests, on multiple cpu’s
Documentation Pages, hosted on readthedocs server, located in docs dir
CI(Continuous Integration)/CD(Continuous Delivery) Pipeline, running on Github Actions, defined in .github/
Test Job Matrix, spanning different platform’s and python version’s
Platforms: ubuntu-latest
Python Interpreters: 3.13
Continuous Deployment
Production
Python Distristribution to `pypi.org`_, on tags v*, pushed to main branch
Docker Image to `Dockerhub`_, on every push, with automatic Image Tagging
Staging
Python Distristribution to `test.pypi.org`_, on “pre-release” tags v*-rc, pushed to release branch
Configurable Policies for Docker, and Static Code Analysis Workflows
Automation, using `tox`_, driven by single tox.ini file
Code Coverage measuring
Build Command, using the `build`_ python package
Pypi Deploy Command, supporting upload to both `pypi.org`_ and `test.pypi.org`_ servers
Type Check Command, using `mypy`_
Lint Check and Apply commands, using the fast `Ruff`_ linter, along with `isort`_ and `black`_
Prerequisites
You need to have Python and PySide6 installed for Development
API Documentation
We follow Google style documentation for packages, modules, classes, methods