Skip to main content

MyFAP API CLI

Giới thiệu

Đây là cli tương tác giống hoàn toàn với APP MYFAP trên điện thoại. Bạn có thể xem lịch học, lịch thi, điểm số (sự thất vọng của gia đình), thông tin cá nhân, v.v. 1 cách thuận tiện, không bị gò bó trong giao diện app.

  • Lưu ý: repo này được thực hiện cùng với sự hỗ trợ của AI.

Tính năng chính

  • Hỗ trợ đa nền tảng.
  • Login thông qua FEID hoặc Google OAuth.
  • Xem lịch học (từng tuần hoặc cả Kỳ).
  • Xem điểm (từng môn hoặc cả Kỳ).
  • Check điểm danh (từng môn hoặc cả Kỳ).
  • Check tình trạng đơn từ.
  • Xem thông báo của trường.
  • Check Info của sinh viên hoặc phòng dvsv.
  • Convert lịch học Kỳ sang ICS, dễ dàng import lịch học vào Google Calendar hoặc các dịch vụ tương tự.
  • Và nhiều hơn nữa ...

Cách sử dụng

Do dự án đang trong quá trình phát triển nên chưa thể đem lên pip. Bạn có thể tải sauce về và chạy:

  • Cài đặt ứng dụng.

    pip install myfap
    
  • Lấy danh sách cơ sở.

    myfap campuses
    
  • Login vào feid (chỉ cần làm 1 lần, mặc định chọn cơ sở Hola).

    myfap login
    

    Sau khi hoàn thành login, phiên đăng nhập sẽ dc lưu ở ~/.myfap-api-cli/session.json

  • Login cho cơ sở Xavalo.

    myfap login -c HCM
    
  • Lấy Lịch học (tự động lấy kỳ mới nhất).

    myfap schedule
    

Các Options

Option Chú thích
--help Hiển thị bảng Commands và Options
--config <đường dẫn> Đường dẫn tới file cấu hình session tùy chỉnh (mặc định: ~/.myfap-api-cli/session.json)
-c, --campus <cơ sở> Mã cơ sở (VD: APHL, HCM, DN) [default: APHL]
-s, --semester <kỳ học> Tên kỳ học (VD: Summer2026)
-cid, --courseid <mã môn> Chọn mã môn, chỉ có ở command marks. (VD: 82934, lấy từ bảng điểm của kỳ, ko phải mã môn như PRO192, SWE201c, ...)
-w, --week <số tuần> Chọn tuần, chỉ có ở command week-timetable
-y, --year <số năm> Chọn năm học, chỉ có ở command week-timetable
-d, --date <YYYY-MM-DD> Chỉ định ngày chính xác, chỉ có ở command week-timetable
-sc, --subjectcode <mã môn> Chọn môn học, chỉ có ở command attendance
-cn, --classname <mã lớp> Chọn lớp học, chỉ có ở command attendance
--ics Convert Sang ICS, dễ dàng import lịch học vào Google Calendar hoặc các dịch vụ tương tự, chỉ có ở command schedule)
-p, --pretty Format lại bảng điểm gốc của trường sang dạng json, chỉ có ở command marks)
--output, -o <thư mục> Thư mục xuất file thay vì thư mục hiện tại
--stdout In kết quả trực tiếp ra màn hình thay vì lưu file
-f, --force Buộc đăng nhập lại, bỏ qua file session.json, chỉ có ở command login

Các ví dụ sử dụng

Metadata

Release files for myfap 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for myfap 0.1.7
File Size Uploaded Provenance Actions
myfap-0.1.7.tar.gz 16.3 kB With provenance Details for myfap-0.1.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for myfap 0.1.7
File Interpreter ABI Platform Actions
myfap-0.1.7-py3-none-any.whl Python 3 none any Details for myfap-0.1.7-py3-none-any.whl

Total release size: 33.5 kB

Release files / myfap-0.1.7.tar.gz

Download URL myfap-0.1.7.tar.gz
Size 16.3 kB
Tags Source
SHA-256 checksum
How to use checksums
cd61d4d1ef1112a51b19f681a2cd328a800a00b2a7f5d41a5cfa354b967d0585
BLAKE2b-256 checksum
How to use checksums
69a5eeb470537485009c709dea34dddb6bd7b72f00133d51b531caa263ad0174
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Release files / myfap-0.1.7-py3-none-any.whl

Download URL myfap-0.1.7-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05a78f8fb52538953a42b4455f41a15de39b1343f5ea3068a2adc797604a2ba3
BLAKE2b-256 checksum
How to use checksums
400d6f1f704a9bb3a0292f992dd6804bb2f910a202f9074464307bd8f5e7a20a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

Security for myfap 0.1.7

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for myfap-0.1.7.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.

Transparency log

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.

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