Metadata-Version: 2.4
Name: a-texam
Version: 1.1
Summary: A-TExam is a local testing platform designed for creating and conducting tests with extensive test management capabilities
Home-page: https://github.com/Anvarjon0038/A_TExam
Author: Anvarjon Toshmatov
Author-email: Anvarjon0038de@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: absl-py>=2.1.0
Requires-Dist: aiofiles>=23.2.1
Requires-Dist: aiogram>=2.7
Requires-Dist: aiohttp>=3.9.5
Requires-Dist: aiosignal>=1.3.1
Requires-Dist: alembic>=1.15.1
Requires-Dist: annotated-types>=0.6.0
Requires-Dist: antlr4-python3-runtime>=4.9.3
Requires-Dist: anyio>=4.2.0
Requires-Dist: appdirs>=1.4.4
Requires-Dist: APScheduler>=3.6.3
Requires-Dist: asgiref>=3.7.2
Requires-Dist: attrs>=23.2.0
Requires-Dist: autogui>=0.1.8
Requires-Dist: babel>=2.16.0
Requires-Dist: beautifulsoup4>=4.12.2
Requires-Dist: bidict>=0.23.1
Requires-Dist: blinker>=1.7.0
Requires-Dist: branca>=0.7.0
Requires-Dist: bs4>=0.0.1
Requires-Dist: cachelib>=0.13.0
Requires-Dist: cachetools>=4.2.2
Requires-Dist: certifi>=2023.11.17
Requires-Dist: cffi>=1.16.0
Requires-Dist: chardet>=4.0.0
Requires-Dist: charset-normalizer>=2.0.12
Requires-Dist: class-registry>=2.1.2
Requires-Dist: click>=8.1.7
Requires-Dist: colorama>=0.4.3
Requires-Dist: comtypes>=1.2.0
Requires-Dist: contourpy>=1.3.1
Requires-Dist: cryptography>=44.0.2
Requires-Dist: cssselect>=1.2.0
Requires-Dist: cv>=1.0.0
Requires-Dist: cycler>=0.12.1
Requires-Dist: dash-core-components>=2.0.0
Requires-Dist: dash-html-components>=2.0.0
Requires-Dist: dash-table>=5.0.0
Requires-Dist: distlib>=0.3.8
Requires-Dist: distro>=1.9.0
Requires-Dist: dnspython>=2.7.0
Requires-Dist: docutils>=0.20.1
Requires-Dist: Envelopes>=0.4
Requires-Dist: et_xmlfile>=2.0.0
Requires-Dist: eventlet>=0.39.1
Requires-Dist: fake-useragent>=1.1.1
Requires-Dist: filelock>=3.16.1
Requires-Dist: filters>=1.3.2
Requires-Dist: Flask>=3.0.0
Requires-Dist: Flask-Assets>=2.1.0
Requires-Dist: Flask-Login>=0.6.3
Requires-Dist: Flask-Migrate>=4.1.0
Requires-Dist: Flask-Session>=0.8.0
Requires-Dist: Flask-SocketIO>=5.5.1
Requires-Dist: Flask-SQLAlchemy>=3.1.1
Requires-Dist: Flask-WTF>=1.2.2
Requires-Dist: flatbuffers>=25.2.10
Requires-Dist: folium>=0.15.1
Requires-Dist: fonttools>=4.56.0
Requires-Dist: frozenlist>=1.4.1
Requires-Dist: fsspec>=2024.12.0
Requires-Dist: fuzzywuzzy>=0.18.0
Requires-Dist: greenlet>=3.0.3
Requires-Dist: h11>=0.14.0
Requires-Dist: httpcore>=1.0.2
Requires-Dist: httpx>=0.25.2
Requires-Dist: idna>=2.10
Requires-Dist: importlib-metadata>=7.0.1
Requires-Dist: instaloader>=4.14.1
Requires-Dist: itsdangerous>=2.1.2
Requires-Dist: iuliia>=0.11.3
Requires-Dist: jax>=0.5.0
Requires-Dist: jaxlib>=0.5.0
Requires-Dist: Jinja2>=3.1.2
Requires-Dist: keyboard>=0.13.5
Requires-Dist: kiwisolver>=1.4.8
Requires-Dist: logging>=0.4.9.6
Requires-Dist: lxml>=4.9.4
Requires-Dist: magic-filter>=1.0.12
Requires-Dist: Mako>=1.3.9
Requires-Dist: markdown-it-py>=3.0.0
Requires-Dist: MarkupSafe>=2.1.3
Requires-Dist: matplotlib>=3.10.0
Requires-Dist: mdurl>=0.1.2
Requires-Dist: mediapipe>=0.10.21
Requires-Dist: ml_dtypes>=0.5.1
Requires-Dist: MouseInfo>=0.1.3
Requires-Dist: mpmath>=1.3.0
Requires-Dist: msgspec>=0.19.0
Requires-Dist: multidict>=6.0.5
Requires-Dist: narwhals>=1.27.1
Requires-Dist: nest-asyncio>=1.6.0
Requires-Dist: networkx>=3.4.2
Requires-Dist: num2word>=1.0.1
Requires-Dist: omegaconf>=2.3.0
Requires-Dist: openai>=1.35.3
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: opt_einsum>=3.4.0
Requires-Dist: packaging>=24.2
Requires-Dist: pandas>=2.2.3
Requires-Dist: parse>=1.20.0
Requires-Dist: pefile>=2023.2.7
Requires-Dist: pillow>=10.4.0
Requires-Dist: platformdirs>=4.3.6
Requires-Dist: plotly>=6.0.0
Requires-Dist: postgres>=4.0
Requires-Dist: protobuf>=4.25.6
Requires-Dist: proxyscrape>=0.3.0
Requires-Dist: psutil>=6.0.0
Requires-Dist: psycopg2>=2.9.10
Requires-Dist: psycopg2-binary>=2.9.9
Requires-Dist: psycopg2-pool>=1.2
Requires-Dist: PyAudio>=0.2.14
Requires-Dist: PyAutoGUI>=0.9.54
Requires-Dist: pycaw>=20240210
Requires-Dist: pycparser>=2.21
Requires-Dist: pydantic>=2.7.1
Requires-Dist: pydantic_core>=2.18.2
Requires-Dist: pyee>=8.2.2
Requires-Dist: pygame>=2.5.2
Requires-Dist: PyGetWindow>=0.0.9
Requires-Dist: Pygments>=2.17.2
Requires-Dist: pyinstaller>=6.11.1
Requires-Dist: pyinstaller-hooks-contrib>=2024.10
Requires-Dist: pyjnius>=1.6.1
Requires-Dist: PyMsgBox>=1.0.9
Requires-Dist: pyparsing>=3.2.1
Requires-Dist: pyperclip>=1.8.2
Requires-Dist: pypiwin32>=223
Requires-Dist: pypng>=0.20220715.0
Requires-Dist: pyppeteer>=1.0.2
Requires-Dist: PyQt6>=6.8.1
Requires-Dist: PyQt6-Qt6>=6.8.2
Requires-Dist: PyQt6-WebEngine>=6.8.0
Requires-Dist: PyQt6-WebEngine-Qt6>=6.8.2
Requires-Dist: PyQt6_sip>=13.10.0
Requires-Dist: pyquery>=2.0.0
Requires-Dist: PyRect>=0.2.0
Requires-Dist: PyScreeze>=0.1.30
Requires-Dist: PySocks>=1.7.1
Requires-Dist: pyTelegramBotAPI>=4.14.1
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: python-decouple>=3.8
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: python-engineio>=4.11.2
Requires-Dist: python-socketio>=5.12.1
Requires-Dist: python-telegram-bot>=13.15
Requires-Dist: pythonnet>=3.0.3
Requires-Dist: pyttsx3>=2.90
Requires-Dist: pytweening>=1.0.7
Requires-Dist: pytz>=2024.2
Requires-Dist: pywin32>=306
Requires-Dist: pywin32-ctypes>=0.2.3
Requires-Dist: PyYAML>=6.0.2
Requires-Dist: qrcode>=7.4.2
Requires-Dist: raven>=6.10.0
Requires-Dist: regex>=2024.11.6
Requires-Dist: requests>=2.25.1
Requires-Dist: requests-futures>=1.0.2
Requires-Dist: requests-html>=0.10.0
Requires-Dist: retrying>=1.3.4
Requires-Dist: rich>=13.7.0
Requires-Dist: scapy>=2.6.1
Requires-Dist: scipy>=1.15.2
Requires-Dist: sentencepiece>=0.2.0
Requires-Dist: setuptools>=69.0.3
Requires-Dist: sherlock-project>=0.15.0
Requires-Dist: simple-websocket>=1.1.0
Requires-Dist: six>=1.17.0
Requires-Dist: sniffio>=1.3.0
Requires-Dist: sounddevice>=0.4.6
Requires-Dist: soupsieve>=2.5
Requires-Dist: SpeechRecognition>=2.1.3
Requires-Dist: SQLAlchemy>=2.0.25
Requires-Dist: sqlparse>=0.4.4
Requires-Dist: sr>=0.1.0
Requires-Dist: srt>=3.5.3
Requires-Dist: stem>=1.8.2
Requires-Dist: svgwrite>=1.4.3
Requires-Dist: sympy>=1.13.3
Requires-Dist: torch>=2.2.0
Requires-Dist: tornado>=6.1
Requires-Dist: tqdm>=4.66.1
Requires-Dist: typing_extensions>=4.12.2
Requires-Dist: tzdata>=2023.3
Requires-Dist: tzlocal>=5.3.1
Requires-Dist: urllib3>=1.26.18
Requires-Dist: virtualenv>=20.26.6
Requires-Dist: vosk>=0.3.45
Requires-Dist: w3lib>=2.1.2
Requires-Dist: Wave>=0.0.2
Requires-Dist: webassets>=2.0
Requires-Dist: websockets>=10.4
Requires-Dist: Werkzeug>=3.0.1
Requires-Dist: wget>=3.2
Requires-Dist: whitenoise>=6.9.0
Requires-Dist: wsproto>=1.2.0
Requires-Dist: WTForms>=3.2.1
Requires-Dist: XlsxWriter>=3.2.2
Requires-Dist: xyzservices>=2023.10.1
Requires-Dist: yarl>=1.9.4
Requires-Dist: zipp>=3.17.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# A-TExam 😃

**A-TExam** is a local testing platform designed for creating and conducting tests with extensive management capabilities.

## Overview ✨

A-TExam is a next-generation testing system developed by Toshmatov—a web developer and UX/UI designer passionate about building user-friendly and efficient IT solutions. The platform is designed to simplify the testing process and make it accessible to everyone. 🚀

## Core Features 🔑

### Test Creation and Editing 📝
- **Customizable Tests**: Easily create and edit tests with full control over questions, answer options, and passing conditions. 🎯
- **Real-Time Updates**: Instantly modify test content via the admin panel, including adding questions and updating correct answers. ⚡

### Test Taking 🎓
- **User-Friendly Interface**: Designed to ensure an intuitive testing experience. 😊
- **Copy Protection**: Copy functionality is disabled to maintain test integrity. 🔒
- **Automatic Termination**: The test automatically ends if the user switches to another tab or page, while preserving test timing, attempt count, and handling session termination properly. ⏱️

### Administration and Management 🛠️
- **Result Monitoring**: Administrators can view detailed test results. 📊
- **User Management**: Manage users effectively with features to view details, delete accounts, and control registrations. 👥
- **Registration with Approval**: New user registrations require admin approval before activation. ✅
- **User Blocking (Ban)**: Administrators can block users to ensure system security. 🚫
- **Comprehensive Data Control**: The admin panel provides detailed statistics and allows deletion of test history. 📋

## Additional Features 🌟

- **File Attachments**: Attach videos, audio, and images to questions to enhance the test content. 🎥🎵🖼️
- **MathJax Integration**: Supports the display and formatting of mathematical expressions for more technical tests. ➗
- **Flexible Display Modes**: Choose to display questions one at a time or all at once, depending on the test format. 🔄
- **Robust Security**: Ensures test integrity by automatically ending the test upon any tab or window change, while securely tracking time and attempts. 🔐

## Installation

Install the package using pip:

```bash
pip install a-texam

## Usage

```bash
a-texam


## License

This project is licensed under the MIT License - see the LICENSE file for details.
