Modelith
Modelith is a open-source, CLI-based tool to quickly compare and make it easier to evaluate any kind of coding assignment. Built for Professors, TAs, Teachers.
Features
- Quickly draw a comparison of all the submissions in a folder with the help of ASTs. Currently only supports
.ipynbfiles - 🚧 Easily compare and filter submissions using thresholds (in the Web Client)
- Identify plagiarized / copied submissions, through similarity Matrix
- Simple storage solution (in sqlite db) for all submissions
- 🚧 Trend assessment for multiple assignments throughout the course / class.
- Class Management, so you can have evaluate and maintain record of multiple classes
- 🚧 Support for Multiple Languages (C, C++, Java, R, etc..)
Getting Started
Modelith relies on uv. If you haven't installed uv yet, please do by following Installing uv and Python section.
uv tool install modelith
Installing uv and Python
This project is set up to use uv, the new package
manager for Python. uv replaces traditional use of pyenv, pipx, poetry, pip,
etc. This is a quick cheat sheet on that:
On macOS or Linux, if you don't have uv installed, a quick way to install it:
curl -LsSf https://astral.sh/uv/install.sh | sh
For macOS, you prefer brew you can install or upgrade uv with:
brew update
brew install uv
See uv's docs for more installation methods and platforms.
Now you can use uv to install a current Python environment:
uv python install 3.13 # Or pick another version.
Usage (🚧 - will be updated)
The CLI tool is very minimalistic by design and has very few commands. You can view all the commands by running modelith -h
Metadata
Release files for modelith 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| modelith-0.2.0.tar.gz | 361.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| modelith-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 705.5 kB
Release files / modelith-0.2.0.tar.gz
| Download URL | modelith-0.2.0.tar.gz |
|---|---|
| Size | 361.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
445a393f7790729461a61d51ab9a41a1fd8ad5dcb39d27753b4021735a4ad349
|
|
BLAKE2b-256 checksum How to use checksums |
dc36d104faa94f18cfa13d4d59d8bb224ca5d0d8434591e82fe3ce325e365adc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 3, 2025.
Transparency logRelease files / modelith-0.2.0-py3-none-any.whl
| Download URL | modelith-0.2.0-py3-none-any.whl |
|---|---|
| Size | 343.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b2b4eafed1ebfcb204088ffd0a33c47efa429a9649b8579ad0ff82e248034257
|
|
BLAKE2b-256 checksum How to use checksums |
e5c6036b55e92bb4a0dffede6c693b8417bf2b22e885526ae2c5583097001afd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 3, 2025.
Transparency log