Python API Client Updates (Multiple milestones)

Job ID: 37802900

Budget: $30 – $250 USD

I'm in need of an experienced Python developer with experience in python clients for restful APIs. An existing asynchronous client has been developed.

The existing client includes an asnyc_client.py and separate endpoint api files.

This project will:
1. Develop Pydantic models for all endpoints.
API Documentation (https://compass.cosential.com/documentation) Please note, there is mention of an OpenAPI documentation. This is for a v2 API that is not yet complete. The URL above includes a page with endpoint documentation at the end of the page.

I need models for all endpoints.

I can provide a sample json extract. You can use https://github.com/koxudaxi/datamodel-code-generator or similar and this will get you 90% there. However, the json extract does include empty values, which translate to None via the codegen tool. If you go this route, you will need to manually change the None values in the models to match the API documentation. For example, my json extract may provide:
office_address1: str = Field(..., alias='OfficeAddress1')
office_address2: None = Field(..., alias='OfficeAddress2')
You will need to provide:
office_address1: Optional[str] = Field(..., alias='OfficeAddress1')
office_address2: Optional[str] = Field(..., alias='OfficeAddress2') *Make sure to review the API documentation to determine the type.


Future projects (likely to the same developer with negotiated price)
2. Incorporate centralized logging for all associated scripts.
3. Detailed exceptions specific to the client
4. Add handling for rate limiting and throttling (currently not implemented by the API provider, but likely in the future)
5. Review, recommend, and implement improvements to the async and concurrent nature of the scripts.
6. Develop tolls/helper scripts for common API uses.
Related categories: Python JSON RESTful API