{"id":23454,"library":"corva-sdk","title":"Corva Python SDK","description":"Python SDK for building Corva DevCenter apps. Provides event-driven app framework, API client, caching, logging, and data transformations for oil and gas data applications. Current version 2.1.1 (requires Python >=3.10, <4.0). Release cadence: irregular, with recent major bumps from v1 to v2.","status":"active","version":"2.1.1","language":"python","source_language":"en","source_url":"https://github.com/corva-ai/python-sdk","tags":["corva","oil-and-gas","sdk","events","api-client"],"install":[{"cmd":"pip install corva-sdk","lang":"bash","label":"From PyPI"}],"dependencies":[],"imports":[{"wrong":"from corva import App","symbol":"App","correct":"from plugin import App"}],"quickstart":{"code":"import os\nfrom corva import App, ScheduledDataTimeEvent, Cache, ApiClient\n\napp = App()\n\n@app.on_event(ScheduledDataTimeEvent)\ndef handler(event: ScheduledDataTimeEvent, cache: Cache, api: ApiClient):\n    data = {\"message\": \"Hello from Corva SDK\", \"asset_id\": event.asset_id}\n    return data\n\nif __name__ == \"__main__\":\n    app.run()","lang":"python","description":"Basic Corva app listening for scheduled data time events."},"warnings":[{"fix":"Use Python 3.10+ or pin corva-sdk<2.0.0.","message":"Version 2.0+ dropped support for Python <3.10. Upgrade your environment if still on Python 3.9.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Change imports to 'from corva import ...'.","message":"In v2, the import path 'from corva_sdk import ...' is invalid. All public APIs are under the 'corva' top-level package.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use 'from corva import ScheduledDataTimeEvent' instead of 'from corva.models import ScheduledDataTimeEvent'.","message":"The 'corva.models' module is deprecated in v2. Event and model classes should be imported directly from 'corva'.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Design your handlers as synchronous functions. For concurrency, consider using corva's built-in threading support via 'concurrent' parameter if available.","message":"The SDK uses synchronous blocking I/O by default. Asynchronous handlers are not supported natively; use threads or run in separate processes.","severity":"gotcha","affected_versions":"all"},{"fix":"Manually manage cache keys using cache.delete() or implement a custom eviction strategy.","message":"The Cache object does not support TTL expiration automatically. Keys persist indefinitely unless explicitly deleted.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'2.1.1':32 '3.10':35 '4.0':36 'api':17,56 'api-cli':55 'app':10,15 'applic':29 'build':7 'bump':43 'cach':19 'cadenc':38 'client':18,57 'corva':1,8,48 'current':30 'data':22,28 'devcent':9 'driven':14 'event':13,54 'event-driven':12 'framework':16 'gas':27,52 'irregular':39 'log':20 'major':42 'oil':25,50 'oil-and-ga':49 'provid':11 'python':2,4,34 'recent':41 'releas':37 'requir':33 'sdk':3,5,53 'transform':23 'v1':45 'v2':47 'version':31","created_at":"2026-05-01T08:07:52.087871+00:00","updated_at":"2026-05-01T08:07:52.087871+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmpfiyvn70e/venv/lib/python3.12/site-packages/plugin.py\", line 3, in <module>\n    import pytest\nModuleNotFoundError: No module named 'pytest'"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.1.1","cli_name":"","cli_version":null,"type":"library","homepage":"https://corva.ai","github":"https://github.com/corva-ai/python-sdk","docs":null,"changelog":null,"pypi":"https://pypi.org/project/corva-sdk/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","data","http-networking","observability"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}