{"id":23536,"library":"devo-sdk","title":"Devo Python SDK","description":"Official Python SDK for Devo (data analytics and logging platform). Version 7.0.0, released 2026-02-11. Provides client libraries for querying, sending data, and managing lookups. Release cadence is irregular (several minor patches per year).","status":"active","version":"7.0.0","language":"python","source_language":"en","source_url":"https://github.com/DevoInc/python-sdk","tags":["devo","analytics","logging","sdk","api"],"install":[{"cmd":"pip install devo-sdk","lang":"bash","label":"pip"}],"dependencies":[{"reason":"TLS/SSL support","package":"pyopenssl","optional":false},{"reason":"Timezone handling","package":"pytz","optional":false},{"reason":"Concurrency utilities","package":"pebble","optional":false}],"imports":[{"note":"Common incorrect package name 'devo_sdk'","wrong":"from devo_sdk.api import Client","symbol":"Client","correct":"from devo.api import Client"},{"note":"Wrong submodule path","wrong":"from devo.sender import Sender","symbol":"Sender","correct":"from devo.common import Sender"},{"note":"LoggerConfig is in devo.common, not devo.logger","wrong":"from devo.logger import LoggerConfig","symbol":"LoggerConfig","correct":"from devo.common import LoggerConfig"}],"quickstart":{"code":"import os\nfrom devo.api import Client\n\napi = Client(\n    config={\n        \"key\": os.environ.get(\"DEVO_API_KEY\", \"\"),\n        \"secret\": os.environ.get(\"DEVO_API_SECRET\", \"\"),\n        \"url\": os.environ.get(\"DEVO_API_URL\", \"https://api-us.devo.com/search/query\"),\n    }\n)\nquery = \"from demo.ecommerce.data select * limit 10\"\nprint(api.query(query=query))\n","lang":"python","description":"Initialize a Devo API client and run a simple query. Requires environment variables DEVO_API_KEY, DEVO_API_SECRET, and optionally DEVO_API_URL."},"warnings":[{"fix":"Upgrade to Python 3.10 or higher, or stay on v6.x if you need Python 3.9.","message":"Python 3.9 support dropped in v7.0.0. Minimum required Python version is now 3.10.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Migrate to the Lookups API endpoint (see Devo docs). The Python SDK will add native support in future versions.","message":"Lookup upload via my.lookup.data/my.lookup.control tables is deprecated. Use the Lookups API instead.","severity":"deprecated","affected_versions":">=6.0.3"},{"fix":"Use 'from devo.api import Client'.","message":"The import path for Client is 'from devo.api import Client', not 'from devo_sdk.api import Client'.","severity":"gotcha","affected_versions":"all"},{"fix":"Import via 'from devo.common import Sender'.","message":"The Sender class is in devo.common, not devo.sender. Mistaken imports cause ImportError.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install the package and import using correct module name: 'import devo' or 'from devo.api import Client'.","cause":"The package is installed as 'devo-sdk' (with hyphen) but import uses underscore or wrong name.","error":"ModuleNotFoundError: No module named 'devo_sdk'"},{"fix":"Ensure devo-sdk is installed (pip install devo-sdk) and import using 'from devo.api import Client'.","cause":"Incorrect import path; the Client class is in devo.api but the package may not be properly installed or you're using outdated version.","error":"ImportError: cannot import name 'Client' from 'devo.api'"},{"fix":"Set DEVO_API_KEY and DEVO_API_SECRET environment variables with valid Devo API credentials.","cause":"API key or secret are missing or incorrect.","error":"devo.common.exceptions.DevoClientException: Invalid API credentials"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}