Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

🎓 pybsuir - Получение статистики и рейтингов студентов БГУИР

Python Async

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)

Source distribution for pybsuir 0.0.1b0
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)

Table of built distributions (wheels) for pybsuir 0.0.1b0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page