{"id":21214,"library":"eniris","title":"Eniris API Driver for Python","description":"Official Python driver for the Eniris API. Used to write telemetry data (float/int/string points) to the Eniris platform, with support for buffered, background writing and connection management. Current version is 0.9.4. Release cadence is irregular, roughly monthly.","status":"active","version":"0.9.4","language":"python","source_language":"en","source_url":"https://github.com/eniris-international/eniris-api-python-driver","tags":["eniris","api","telemetry","iot","data-ingestion"],"install":[{"cmd":"pip install eniris","lang":"bash","label":"PyPI install"}],"dependencies":[],"imports":[{"note":"Main client class.","symbol":"ApiDriver","correct":"from eniris import ApiDriver"},{"note":"Data point representation.","symbol":"Point","correct":"from eniris import Point"},{"note":"Point with runtime attribute.","symbol":"RuntimePoint","correct":"from eniris import RuntimePoint"},{"note":"Buffered background writer class.","symbol":"BufferedPointToTelemessageWriter","correct":"from eniris import BufferedPointToTelemessageWriter"}],"quickstart":{"code":"import os\nfrom eniris import ApiDriver, Point\n\ndriver = ApiDriver(\n    client_id=os.environ.get('ENIRIS_CLIENT_ID', ''),\n    client_secret=os.environ.get('ENIRIS_CLIENT_SECRET', '')\n)\npoint = Point(\n    ts=1234567890,\n    path='demo.path',\n    objectType='demo.objectType',\n    unit='celsius',\n    valueFloat=25.5\n)\ndriver.post_points([point])\nprint('Point sent successfully')","lang":"python","description":"Basic example: connect to Eniris and send a telemetry point."},"warnings":[{"fix":"Review any custom calls to these methods and ensure explicit overrides are passed if needed.","message":"In v0.9.4, ApiDriver.get, .post, .put, .delete now merge keyword arguments with default values. Callers relying on default overrides may see changed behavior if they pass kwargs.","severity":"breaking","affected_versions":">=0.9.4"},{"fix":"Upgrade to >=0.9.1 to get proper retry delay behavior.","message":"The BufferedPointToTelemessageWriter retries on failure by default. In v0.9.1 and later, the retry delay is actually respected; earlier versions had a bug that caused rapid retries.","severity":"gotcha","affected_versions":"<0.9.1"},{"fix":"Specify a custom 'thread_name_suffix' if you need identifiable thread names.","message":"Background writer threads are named with a default prefix. You can add a suffix using the 'thread_name_suffix' parameter. If your application relies on thread names for monitoring, be aware of the naming pattern.","severity":"gotcha","affected_versions":">=0.8.38"},{"fix":"Use typed value fields (valueFloat, valueInt, valueString) instead of a generic 'value'.","message":"The 'value' field in Point may be deprecated in future; prefer explicit 'valueFloat', 'valueInt', 'valueString' depending on type.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install eniris' in the correct Python environment.","cause":"The library is not installed or installed in a different environment.","error":"ModuleNotFoundError: No module named 'eniris'"},{"fix":"Install the latest version: 'pip install --upgrade eniris'. Ensure import is 'from eniris import ApiDriver'.","cause":"Possibly an older version of the library (before ApiDriver was introduced) or a typo in import.","error":"AttributeError: module 'eniris' has no attribute 'ApiDriver'"},{"fix":"Set ENIRIS_CLIENT_ID and ENIRIS_CLIENT_SECRET environment variables or pass correct values to ApiDriver.","cause":"Invalid or missing client credentials (client_id, client_secret).","error":"ConnectionError: Failed to connect to Eniris API"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}