{"library":"mygeotab","title":"MyGeotab Python Client","description":"The `mygeotab` library is a Python client for the MyGeotab SDK, providing a clean, Pythonic API for interacting with the MyGeotab telematics platform. It handles automatic serialization and deserialization of API call results and is compatible with Python 3.9+. As of version 0.9.4, it continues to be actively developed with frequent releases addressing improvements and bug fixes.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install mygeotab"],"cli":null},"imports":["from mygeotab import API"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom mygeotab import API\n\n# Retrieve credentials from environment variables for security\nUSERNAME = os.environ.get('MYGEOTAB_USERNAME', 'your_username@example.com')\nPASSWORD = os.environ.get('MYGEOTAB_PASSWORD', 'your_password')\nDATABASE = os.environ.get('MYGEOTAB_DATABASE', 'YourDatabaseName')\n\nif USERNAME == 'your_username@example.com' or PASSWORD == 'your_password':\n    print(\"Please set MYGEOTAB_USERNAME, MYGEOTAB_PASSWORD, and MYGEOTAB_DATABASE environment variables.\")\nelse:\n    try:\n        # Initialize the API client\n        client = API(username=USERNAME, password=PASSWORD, database=DATABASE)\n        \n        # Authenticate the client\n        client.authenticate()\n        print(f\"Successfully authenticated to database: {DATABASE}\")\n        \n        # Example: Get the first 5 devices\n        devices = client.get('Device', resultsLimit=5)\n        print(f\"Retrieved {len(devices)} devices:\")\n        for device in devices:\n            print(f\"  - Device ID: {device.get('id')}, Name: {device.get('name')}\")\n            \n        # Example: Get version information (unauthenticated call example, though client is authenticated)\n        version_info = client.call('GetVersion')\n        print(f\"API Version: {version_info.get('apiVersion')}\")\n\n    except Exception as e:\n        print(f\"An error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to initialize the `mygeotab` client, authenticate using environment variables, and perform basic API calls such as retrieving devices and checking API version information. It handles potential authentication failures gracefully.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"0.9.5","pypi_latest":"0.9.5","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":6,"avg_import_s":1.18,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.08,"mem_mb":21.8,"disk_size":"54.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.1,"import_time_s":0.76,"mem_mb":21.8,"disk_size":"56M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.33,"mem_mb":23.7,"disk_size":"58.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.8,"import_time_s":1.18,"mem_mb":23.7,"disk_size":"60M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.4,"mem_mb":23.9,"disk_size":"49.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":1.39,"mem_mb":23.9,"disk_size":"51M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.39,"mem_mb":25,"disk_size":"49.2M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.6,"import_time_s":1.34,"mem_mb":25,"disk_size":"51M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.95,"mem_mb":21.3,"disk_size":"55.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mygeotab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.1,"import_time_s":0.94,"mem_mb":21.3,"disk_size":"58M"}]}}