Взаимедействие с API БГУИР
Project description
🎓 pybsuir - Получение статистики и рейтингов студентов БГУИР
pubsuir — Python-библиотека для работы с официальным и неофициальным API БГУИР.
На данный момент функционал библиотеки включает только работу с данными, которые можно также посмотреть на этой странице.
🛠️ Установка
Через pip:
pip install pybsuir
Зависимости: по умолчанию используется aiohttp, которое устанавливается автоматически.
Установка без зависимостей
Для большей гибкости можно установить пакет без зависимостей:
pip install pybsuir --no-deps
В этом случае библиотека будет использовать встроенную реализацию на основе urllib, что позволяет работать без внешних зависимостей.
Дополнительно: Если вы хотите использовать httpx вместо aiohttp, установите его отдельно (httpx будет использован, если не найден aiohttp):
pip install httpx
⚠️ Примечание: Использование
httpxили встроенной реализации скорее всего будет медленнее, чемaiohttp. Для оптимальной производительности рекомендуется использоватьaiohttp.
🚀 Быстрый старт
import asyncio
from pybsuir import BsuirStatsClient
async def main():
client = BsuirStatsClient()
students = await client.get_students(20657, 2)
print(students[0])
asyncio.run(main())
Вывод:
{
"studentCardNumber": "15350060",
"average": 3.89,
"hours": 80,
"averageShift": 0.33000000000000007,
"first": null,
"second": null,
"third": null
}
или более сложный вариант для получения статистики потока по конкретному предмету:
import asyncio
from pybsuir import BsuirStatsClient
async def main():
client = BsuirStatsClient()
top_students = await client.get_top_students(
speciality=20657,
course=2,
lesson_name_abbrev="КПрог",
lesson_type_abbrev="ЛР"
)
place = 1
for st in top_students:
print(f"{place}. {st.student_card_number}: {' '.join([str(mark) for mark in st.marks])}")
place += 1
asyncio.run(main())
Вывод:
1. 123456: 10 9 10
2. 654321: 9 10 9
...
📋 Основные возможности
- Список факультетов, специальностей и курсов.
- Получение рейтинга студентов по курсу и специальности.
- Получение подробной информации об успеваемости студенте.
- Все ответы приходят в виде датаклассов.
🚨 Исключения
BsuirStatsException— выбрасывается при любых ошибках HTTP-запроса. Содержит:status,url,text,headers.
📚 Описание методов и пример
🛠️ В будущем планируется расширения возможностей библиотеки путем добавления работы с другими эндпоинтами api БГУИР.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pybsuir-0.0.1b0.tar.gz.
File metadata
- Download URL: pybsuir-0.0.1b0.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ceea5f7e92a11ddc6e6b2cbb276ff8a47f6fec96aed19e86c41656296a851738
|
|
| MD5 |
32e1b4b4014a03dc334291c37e353fc3
|
|
| BLAKE2b-256 |
404a45c40ea7222e23bf53f27cc114014b5e0dea290fb896c7193fc06c7b4204
|
File details
Details for the file pybsuir-0.0.1b0-py3-none-any.whl.
File metadata
- Download URL: pybsuir-0.0.1b0-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae4f31d666a71ce5567a379decb7072e6ced65c11f76b54366706c26ac91363b
|
|
| MD5 |
66feec895ae729fcc94b4324f5e02645
|
|
| BLAKE2b-256 |
8b57315ed40461e50a0a76720c2e539ccc81d15efe78349c94676bb197ff4a6c
|