Metadata-Version: 2.4
Name: modelith
Version: 0.1.1
Summary: Evaluate your student's code
Project-URL: Repository, https://github.com/pranavtechie/modelith
Project-URL: Homepage, https://modelith.com
Author-email: Pranav Mandava <pranav.techiegeek@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: <4.0,>=3.11
Requires-Dist: jupyter-notebook-parser>=0.1.4
Requires-Dist: matplotlib>=3.10.1
Requires-Dist: playwright>=1.51.0
Requires-Dist: rich>=13.9.4
Requires-Dist: sqlalchemy>=2.0.40
Requires-Dist: typer>=0.15.2
Description-Content-Type: text/markdown

# 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 `.ipynb` files
-   🚧 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](#installing-uv-and-python).

```shell
uv tool install modelith
```

## Installing uv and Python

This project is set up to use [**uv**](https://docs.astral.sh/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:

```shell
curl -LsSf https://astral.sh/uv/install.sh | sh
```

For macOS, you prefer [brew](https://brew.sh/) you can install or upgrade uv with:

```shell
brew update
brew install uv
```

See [uv's docs](https://docs.astral.sh/uv/getting-started/installation/) for more
installation methods and platforms.

Now you can use uv to install a current Python environment:

```shell
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`
