This release is a pre-release and may not be stable for production use.
🎓 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 БГУИР.
Metadata
Release files for pybsuir 0.0.1b0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pybsuir-0.0.1b0.tar.gz | 11.3 kB | Without provenance | Details for pybsuir-0.0.1b0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pybsuir-0.0.1b0-py3-none-any.whl | Python 3 | none | any | Details for pybsuir-0.0.1b0-py3-none-any.whl |
Total release size: 22.9 kB
Release files / pybsuir-0.0.1b0.tar.gz
| Download URL | pybsuir-0.0.1b0.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ceea5f7e92a11ddc6e6b2cbb276ff8a47f6fec96aed19e86c41656296a851738
|
|
BLAKE2b-256 checksum How to use checksums |
404a45c40ea7222e23bf53f27cc114014b5e0dea290fb896c7193fc06c7b4204
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / pybsuir-0.0.1b0-py3-none-any.whl
| Download URL | pybsuir-0.0.1b0-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae4f31d666a71ce5567a379decb7072e6ced65c11f76b54366706c26ac91363b
|
|
BLAKE2b-256 checksum How to use checksums |
8b57315ed40461e50a0a76720c2e539ccc81d15efe78349c94676bb197ff4a6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for pybsuir 0.0.1b0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.