graph LR
API_Client["API Client"]
REST_Communication["REST Communication"]
Configuration["Configuration"]
API_Endpoints["API Endpoints"]
Pagination["Pagination"]
API_Client -- "uses" --> Configuration
API_Client -- "delegates requests to" --> REST_Communication
API_Endpoints -- "depends on" --> API_Client
API_Endpoints -- "provides paginated access through" --> Pagination
Pagination -- "requests data from" --> API_Client
click API_Client href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-asana/API Client.md" "Details"
click REST_Communication href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-asana/REST Communication.md" "Details"
click Configuration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-asana/Configuration.md" "Details"
click API_Endpoints href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-asana/API Endpoints.md" "Details"
click Pagination href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/python-asana/Pagination.md" "Details"
The python-asana library provides a client for interacting with the Asana API, structured around a central API Client that manages request lifecycle and delegates low-level HTTP communication to the REST Communication component. Configuration settings are handled by the Configuration component, which the API Client utilizes. Various API Endpoints offer a high-level interface for specific Asana resources, relying on the API Client for their operations. For handling large datasets, the Pagination component provides iterators that interact with the API Client to fetch paginated results efficiently.
The central client for interacting with the Asana API. It handles request preparation, serialization, deserialization, and delegates actual HTTP communication to the REST Communication layer. It also manages user-agent and default headers.
Related Classes/Methods:
asana.api_client.ApiClient(33:627)asana.api_client.ApiClient.__init__(65:91)asana.api_client.ApiClient.call_api(290:355)asana.api_client.ApiClient.request(357:416)
Responsible for making low-level HTTP requests to the Asana API and handling responses, including error handling (ApiException). It utilizes urllib3 for managing connection pools and performing HTTP operations.
Related Classes/Methods:
asana.rest.RESTClientObject(52:291)asana.rest.RESTResponse(35:49)asana.rest.ApiException(294:319)asana.rest.RESTClientObject.request(109:226)
Manages the API client's configuration settings, such as authentication credentials, host information, SSL verification, logging, and retry strategies.
Related Classes/Methods:
asana.configuration.Configuration(40:270)asana.configuration.Configuration.__init__(47:120)asana.configuration.Configuration.auth_settings(244:258)
A collection of classes, each providing methods to interact with specific Asana resources (e.g., Tasks, Projects, Users). These classes abstract the API calls for different resource types and utilize the API Client for underlying communication.
Related Classes/Methods:
asana.api.tasks_api.TasksApi(full file reference)asana.api.projects_api.ProjectsApi(full file reference)asana.api.users_api.UsersApi(23:762)asana.api.teams_api.TeamsApi(23:998)asana.api.custom_fields_api.CustomFieldsApi(full file reference)asana.api.tags_api.TagsApi(full file reference)asana.api.goals_api.GoalsApi(full file reference)asana.api.portfolios_api.PortfoliosApi(full file reference)asana.api.sections_api.SectionsApi(full file reference)asana.api.webhooks_api.WebhooksApi(23:746)
Provides iterators for handling paginated responses from the Asana API, allowing efficient retrieval of large datasets. It interacts with the API Client to fetch subsequent pages of data.
Related Classes/Methods: