Skip to main content

A Toolkit for AI course submissions at IUST

Project description

IUST AI Toolkit

IUST AI Toolkit is a comprehensive collection of AI-related tools and utilities developed by the Iran University of Science and Technology (IUST).

Features

  • Easy-to-use API for managing chat histories
  • Support for multiple conversation threads
  • Efficient storage and retrieval of chat messages
  • Integration with popular AI models and platforms
  • Customizable message formatting and processing

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

from iust_ai_toolkit import decision_tree_submission

decision_tree_submission()

Contributing

We welcome contributions to the IUST AI Toolkit! If you have any suggestions or improvements, please feel free to submit a pull request.

License

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

Command Line Interface

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)
  • Various pre-commit hooks for file consistency

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.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

iust_ai_toolkit-0.0.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: iust_ai_toolkit-0.0.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-45-generic

File hashes

Hashes for iust_ai_toolkit-0.0.1.tar.gz
Algorithm Hash digest
SHA256 44ae6d59699ce8bc44c963235c62a44b068c9d886971c4f97c99ff002a739286
MD5 a17115bac59d0115591ab0414099bfa2
BLAKE2b-256 4f70a3a6bbe49f03f9430820bdaab22230b5142c11ac6ae95029679fb5a3ab64

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iust_ai_toolkit-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-45-generic

File hashes

Hashes for iust_ai_toolkit-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 994b2d7cf69eafe902d9e670b0faa034c9ac11ee40971eccf18aa92747c6e342
MD5 cd51145e3f127bb9de13699bae8cd75c
BLAKE2b-256 3d1b11a6e45d630b571b84a08290a53c853acd09a2675846a2c77ac44ca8d47b

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