This is a Python-based API client designed for interacting with an external APIs. The client provides an intuitive and straightforward way to make API calls and manage responses.
The design of this API client is inspired by the python-gitlab project. It follows similar design philosophies and patterns, including the utilization of manager classes for different types of resources.
- Asynchronous API calls: Utilizes
httpxfor non-blocking API requests. - Data Modeling: Uses
pydanticfor robust data structures. - Automatic Case Conversion: Converts between
snake_caseandcamelCaseautomatically. - Pagination Support: Handles pagination for API endpoints that return multiple items.
This project is dependent on the following packages:
- Python 3.11
- pyhumps 3.8.0
- pydantic 2.0.3
- requests 2.31.0
- httpx 0.24.1
The ApiClient class is your main interface for making API requests. It comes with get and post methods for performing GET and POST operations, respectively.
The CandidateManager class offers various methods for managing candidates. This includes retrieving a candidate by their ID, creating new candidates, and updating existing ones.
Classes Note and Document are designed to manage notes and documents related to a candidate. They offer methods for retrieval and insertion of notes and documents.
Refer to main.py for practical examples demonstrating how to use this API client.
To run the project, execute the following command:
poetry run python main.py