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.0rc1.tar.gz (63.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.0rc1-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for zzupy-6.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 2ce52eb4914d1a0e38f197d831113fd19a6b80d0ba941d5d69a97e26a48f5777
MD5 3e127772e8444287f6ef8239089abb3f
BLAKE2b-256 ca16fda77dd45adc148ba4ce37006f88f227d26c5852bcfc59997c5a98fd9c4f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zzupy-6.0.0rc1-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.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 04ac4efda4aba331cfd743c35123f155a31ef01940576b186b71d3b81d45a2bc
MD5 cdd9e16029e27867b5c349babc8ab154
BLAKE2b-256 62f504a97364e94ee51269a4592f703d3c7866b9fdf649775fb486bb4c0e4763

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