Skip to main content

豫见郑大的 Python API 封装 / An API wrapper for Zhengzhou University Mobile Campus written in Python.

Project description

ZZU.Py

豫见郑大的 Python API 封装

概述

ZZU.Py 是一个为郑州大学各个线上系统和相关服务提供 Python API 封装的库。它提供了简洁易用的接口来访问校园各类服务,包括移动应用 API、校园网络认证、一卡通服务等。

[!WARNING]
研究生教务系统暂未适配

特性

  • 统一认证系统 (CAS) - 支持账密登录和 Token 认证
  • 智慧教务系统 - 获取课表、查询空教室
  • 校园网络服务 - Portal 认证、设备管理、流量查询
  • 校园卡服务 - 余额查询、电费充值
  • 类型安全 - 基于 Pydantic 的数据模型验证
  • 异步支持 - 基于 httpx 的高性能网络请求

快速开始

安装

pip install zzupy --upgrade

基础使用

from zzupy.app import CASClient, SupwisdomClient

# CAS 认证
cas = CASClient("Your account", "Your password")
cas.login()

with SupwisdomClient(cas) as client:
    # 获取本周课表
    week_courses = client.get_week_courses()
    print(week_courses)

核心模块

app - 移动应用 API 抽象层

提供基于移动端逆向的 API 封装:

  • auth: CAS 统一认证系统客户端
  • supwisdom: 智慧教务系统,支持课表查询、空教室查询
  • ecard: 校园卡服务,支持余额查询、电费充值
  • interfaces: 定义统一的客户端接口规范

web - Web API 客户端模块

提供基于 Web 端逆向的 API 封装:

  • network: 校园网络服务,包含 Portal 认证和设备管理

aio - 各模块的异步实现

提供以上模块的异步实现

开发指南

环境要求

  • Python >= 3.13
  • 依赖管理:使用 uv

贡献代码

欢迎提交 Issue 和 Pull Request。在贡献代码前,请确保:

  1. 代码符合项目风格规范
  2. 添加必要的类型注解
  3. 编写相应的文档字符串
  4. 测试通过

许可证

本项目使用 MIT 许可证。详见 LICENSE 文件。

相关链接

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

zzupy-6.0.0rc2.tar.gz (64.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zzupy-6.0.0rc2-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

Details for the file zzupy-6.0.0rc2.tar.gz.

File metadata

  • Download URL: zzupy-6.0.0rc2.tar.gz
  • Upload date:
  • Size: 64.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.19

File hashes

Hashes for zzupy-6.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 0ba95c527a12bc03157cb458454241bb43d442afc6abeb7a5e47b64a1998209e
MD5 cb9bf46b3c4a9379799c905d92888ec4
BLAKE2b-256 a00d394a3a0fa6e10b8919fefe308f908eeffce7468a99cfc3e3408b7b3f61ce

See more details on using hashes here.

File details

Details for the file zzupy-6.0.0rc2-py3-none-any.whl.

File metadata

  • Download URL: zzupy-6.0.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 40.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.19

File hashes

Hashes for zzupy-6.0.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 8208d66d356a2b5c573816292193c7cb3197be7b6fbeb32cc1ac4b17f01b95be
MD5 6e70af68117f8cb193b137001c00fc58
BLAKE2b-256 4b000518914204d5e718a63d1825c0890c7f030eeaf8009ed20955a7991afa28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page