Skip to main content

A Python package in support of the Modelling, Uncertainty, and Data Analysis for Engineers course given at TU Delft, Civil Engineering

Project description

Python Tools for Modelling, Uncertainty, and Data Analysis for Engineers

This package contains a set of tools that are used to support the MUDE course given at Civil Engineering, TU Delft, for first-year MSc students. It contains a set of tools and dependencies that are used in the course contents themselves. In addition, this package has several debugging tools that can be used by students and staff to check that their installation is compatible with the requirements for the course.

Common functionality

The top-level mude module, obtained by import mude contains common functionality you can use across assignments. An example of this is environment checking.

Environment checking

The mude package allows you to check its execution environment to determine that students have the appropriate dependencies and software installed. The desired environment can be configured through a requirements.toml file (example found under the week1 submodule). Example TOML file:

[environment]
min_python="3.11"
min_conda="23.5.0"

[requirement.numpy]
min_version="1.24.3"

[requirement.matplotlib]
min_version="3.7.1"

[requirement.mude]
min_version="0.1.0"

The environment heading contains info about the minimum required python version (min_python) and minimum required conda version (min_conda). The checker will also warn students if the code is not executed inside a conda environment, even if conda is installed. Finally, all [requirement.package] headings correspond to the packages you want students to have installed, as well as a minimum version for them (min_version). If any requirement is failed, the student will receive a warning and help message.

To check the environment, invoke the check_environment function, with the name of the submodule which contains your desired requirements.toml. For example, to check the requirements for week1, the function is called with the string "mude.week1", since the TOML is stored in the folder for the week1 submodule.

Example feedback from environment checker:

Your Python version (3.11.4) is up-to-date

Your Conda version (23.5.2) is up-to-date
You're executing this in the base environment, all is good!

Checking package versions...
numpy: ✓ (up-to-date, found: 1.25.2)
matplotlib: ✓ (up-to-date, found: 3.7.2)
mude: ✓ (up-to-date, found: 0.1.0)
Well done, your packages meet the default MUDE requirements.

Weekly assignments

Functions related to weekly assignments are stored in their own submodules. For example, week1 contains the fit_a_line_to_data and help_task_2 functions which are called in the notebook. After updating the submodule for a week, bump the patch version number (the third one), after adding a new submodule bump the the minor version (the second number). If at any point you change a module in a way that will break existing notebooks, change the major version (the first number).

Authors

This package was developed by the MUDE teaching team at the TU Delft Faculty of Civil Engineering and Geosciences.

License

Per the default suggested in the roadmap “Copyright and open licenses in online education” of the TU Delft Open Education Consortium, this work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MUDE-0.1.3.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

MUDE-0.1.3-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file MUDE-0.1.3.tar.gz.

File metadata

  • Download URL: MUDE-0.1.3.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for MUDE-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ce668a83c660078ba743d8a78258d9fe18a1ef78627dc35fea91baf4d3f944aa
MD5 9e1511f54f2e6a6410164a35dc296d39
BLAKE2b-256 04a1f7cb5a5e1aa67533c7cead1c7c88761ff25bb59fe7cbafa034faca6dee63

See more details on using hashes here.

File details

Details for the file MUDE-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: MUDE-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for MUDE-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a09f769531efd5cecd3db6f10a94c395214ac835d2fed559f0b5abe938e0abbd
MD5 c8f8200cb24dd941edcc700b3c34e887
BLAKE2b-256 6e1f2827b08fb8aa57431bc113129c7ffde56ab6d91aa16f9efc82a0283690ef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page