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.0rc7.tar.gz (65.5 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.0rc7-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for zzupy-6.0.0rc7.tar.gz
Algorithm Hash digest
SHA256 223935fa5660a51b84b6a18b078cfd8dfa5a4e0278af18a360aae2950af042a4
MD5 54f0a016d3ef9da8508e51e5032c8077
BLAKE2b-256 f2c3754699d69afa495094b5b5cd18fca434ddfb9ba5137b2cbf0cbaa5793384

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zzupy-6.0.0rc7-py3-none-any.whl
Algorithm Hash digest
SHA256 c87d74d30a5eaa9e439fb3fede22e8c165c8f1e9ea5eb031bf92491f240beb08
MD5 b03383b86f06a653c81e7c841927bdeb
BLAKE2b-256 6c822c420cb7b8b8ffab5e5fd977480dbf8ba3301e0a49ace39d45ede5ad9daa

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