Skip to main content

A Toolkit for AI course submissions at IUST

Project description

IUST AI Toolkit

The IUST AI Toolkit is a comprehensive collection of tools and utilities designed for AI-related tasks, developed by the Iran University of Science and Technology (IUST). This toolkit facilitates the submission and comparison of AI assignments, particularly for decision tree projects.

Features

  • Notebook Submission: Easily submit Jupyter notebooks for assignments.
  • Submission Comparison: Compare multiple submissions to detect similarities and potential cheating.
  • NLP Tools: Integrated Natural Language Processing tools for text preprocessing and analysis.
  • Command-Line Interface: A user-friendly CLI for quick access to toolkit functionalities.

Installation

You can install the IUST AI Toolkit using pip:

pip install iust_ai_toolkit

For the TA version with additional NLP tools:

pip install iust_ai_toolkit[ta]

Usage

Submitting a Notebook

To submit a notebook, use the submit_notebook function:

from iust_ai_toolkit.abdi_4031.decision_tree_submission import submit_notebook
submit_notebook("YOUR_STUDENT_ID", "./path/to/your/notebook.ipynb")

Command Line Interface

The IUST AI Toolkit provides a command-line interface for easy submission of assignments and comparison of multiple submissions. After installation, you can use the iust-ai command:

# Submit an assignment (default project is decision-tree)
iust-ai submit --student-id YOUR_ID --notebook-path path/to/your/notebook.ipynb

# Submit a specific project
iust-ai submit --student-id YOUR_ID --notebook-path path/to/your/notebook.ipynb --project project-name

# Compare multiple submissions
iust-ai compare-submissions --directory path/to/submissions/directory --output comparison_report.csv

For more information on available commands, use:

iust-ai --help

Development

Pre-commit Hooks

This project uses pre-commit hooks to ensure code quality and consistency. To set up the pre-commit hooks, follow these steps:

  1. Install pre-commit:

    pip install pre-commit
    
  2. Install the pre-commit hooks:

    pre-commit install
    
  3. (Optional) Run the hooks against all files:

    pre-commit run --all-files
    

The pre-commit workflow includes the following tools:

  • Ruff: A fast Python linter
  • Black: Python code formatter
  • isort: Python import sorter
  • mypy: Static type checker for Python
  • Prettier: Formatter for non-Python files (JSON, YAML, Markdown)

Contributing

We welcome contributions to the IUST AI Toolkit! If you have any suggestions or improvements, please feel free to submit a pull request. Make sure to follow the project's coding standards and include tests for any new features.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

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

iust_ai_toolkit-0.0.2.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

iust_ai_toolkit-0.0.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file iust_ai_toolkit-0.0.2.tar.gz.

File metadata

  • Download URL: iust_ai_toolkit-0.0.2.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.8.0-1014-azure

File hashes

Hashes for iust_ai_toolkit-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1dbc2e9b55e4396c250e588946fac10c20e27ab1c9c4a1d217a0104b7dea67db
MD5 4a3d1514a0d59bc6f58e33b8f6d3f08a
BLAKE2b-256 6e714992e13f17ecf91a84b4efeb6891c02f9c809d9d2ddaa526d799d91684cf

See more details on using hashes here.

File details

Details for the file iust_ai_toolkit-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: iust_ai_toolkit-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.8.0-1014-azure

File hashes

Hashes for iust_ai_toolkit-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 075e2fd357f38e2f0073dd401c8caefc5fdc339207a6d7983790283dc5b32b6e
MD5 7beefea71710339227c429acaef4e077
BLAKE2b-256 ae08285bd6216fb87f81ea9d92cc66c9c7a7d9edaaaab9dbd1897653bbc1f1cd

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