Skip to content

Python library that provides a programmatic interface for interacting with the VIT-AP VTOP student portal.

License

Notifications You must be signed in to change notification settings

Udhay-Adithya/vitap-vtop-client

Repository files navigation




License: MIT License: MIT Version 0.2.4 License: MIT


vitap-vtop-client is a Python library providing a programmatic interface for interacting with the VIT-AP VTOP student portal. It simplifies web scraping, session management, CAPTCHA handling, and HTML parsing, offering structured access to student information.

This library is designed as a backend component for applications needing VTOP data, such as mobile apps, web services, or analytical tools.

Disclaimer: Use this library responsibly and in accordance with VIT-AP's terms of service. Web scraping is subject to changes in the target website's structure, which may occasionally affect the library's functionality.

Table of Contents

  1. Features
  2. Installation
  3. Quick Start
  4. Documentation
  5. Contributing
  6. License
  7. Related Project: VTOP API

Features

  • User Authentication: Secure login and session management.
  • Profile Information: Retrieve comprehensive student profile details.
  • Academic Data: Access attendance records, timetables, marks, and exam schedules.
  • Biometric Logs: Fetch student biometric entry/exit logs.
  • Contact Details: View mentor, HOD, and Dean information.
  • Financial Information: Check pending payments and download receipts.
  • Hostel Outing Requests: Post and review weekend and general outing requests.
  • Academic Performance: Retrieve NCGPA and rank details.

Installation

If you want to use vitap-vtop-client in your project, you can install it directly from GitHub.

Using pip (recommended for adding to requirements.txt):

pip install git+https://github.com/Udhay-Adithya/vitap-vtop-client.git@main

Using poetry:

poetry add git+https://github.com/Udhay-Adithya/vitap-vtop-client.git@main

Quick Start

Here's a basic example of how to log in and fetch attendance data:

import asyncio
from vitap_vtop_client.client import VtopClient
from vitap_vtop_client.exceptions import VitapVtopClientError, VtopLoginError

async def main():
    async with VtopClient("your_registration_number", "your_password") as client:
        try:
            fall_sem_2024_25 = "AP2024252"
            attendance_data = await client.get_attendance(sem_sub_id=fall_sem_2024_25)
            print(attendance_data)

        except VtopLoginError as e:
            print(f"A login-specific error occurred: {e}")
        except VitapVtopClientError as e:
            print(f"A client error occurred: {e}")
        except Exception as e:
            print(f"An unexpected error occurred: {e}")

if __name__ == "__main__":
    asyncio.run(main())

Documentation

For comprehensive information on all available methods, data models, and advanced usage, please refer to the main documentation:

➡️ DOCS.md

Contributing

Contributions are welcome! We appreciate any help, from bug reports and fixes to feature suggestions and documentation improvements.

Please read our CONTRIBUTING.md for guidelines on how to contribute, set up your development environment, and submit pull requests.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Related Project: VTOP API

For those looking for a ready-to-use API service built on top of this library, check out the VITAP-VTOP API:

➡️ VITAP-VTOP API Repository

This FastAPI wrapper allows easy access to VTOP data without needing to integrate the client library directly. We encourage users to try out the API and provide feedback.

About

Python library that provides a programmatic interface for interacting with the VIT-AP VTOP student portal.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •