{"id":24682,"library":"tablestore","title":"Alibaba Cloud TableStore SDK","description":"The official Python SDK for Alibaba Cloud TableStore (formerly OTS), a distributed NoSQL database. Current version 6.4.6 supports Python >=3.8 and <4.0. Released roughly every few months with backwards compatibility improvements.","status":"active","version":"6.4.6","language":"python","source_language":"en","source_url":"https://github.com/aliyun/aliyun-tablestore-python-sdk","tags":["aliyun","table-store","nosql"],"install":[{"cmd":"pip install tablestore","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required for CRC32 checksum computation in data integrity checks.","package":"crcmod","optional":true},{"reason":"Used for serialization of request/response objects (version 3.x or 4.x).","package":"protobuf","optional":true}],"imports":[{"note":"Old package name was 'ots'; renamed to 'tablestore' in v4.","wrong":"from ots import OTSClient","symbol":"OTSClient","correct":"from tablestore import OTSClient"}],"quickstart":{"code":"from tablestore import OTSClient\n\nendpoint = os.environ.get('OTS_ENDPOINT', '')\naccess_key_id = os.environ.get('OTS_ACCESS_KEY_ID', '')\naccess_key_secret = os.environ.get('OTS_ACCESS_KEY_SECRET', '')\ninstance_name = os.environ.get('OTS_INSTANCE_NAME', '')\n\nclient = OTSClient(endpoint, access_key_id, access_key_secret, instance_name)\n# List tables\ntables = client.list_table()\nprint(tables)","lang":"python","description":"Initialize OTSClient and list existing tables."},"warnings":[{"fix":"Replace 'import ots' with 'import tablestore' and update all references.","message":"Version 4.0 renamed the package from 'ots' to 'tablestore'. All imports must use 'tablestore' instead of 'ots'.","severity":"breaking","affected_versions":">=4.0"},{"fix":"Use 'from tablestore import OTSClient' instead.","message":"In v4+ the client class changed from 'OTSClient' in 'ots' to 'OTSClient' in 'tablestore'. Old code using 'ots.OTSClient' will fail.","severity":"breaking","affected_versions":">=4.0"},{"fix":"Replace 'client.write_row(table, row)' with 'client.put_row(table, row)'.","message":"The 'write_row' method is deprecated in favor of 'put_row' as of v5.0.","severity":"deprecated","affected_versions":"5.0 - 6.x"},{"fix":"Install crcmod: pip install crcmod.","message":"The SDK requires the 'crcmod' library for data integrity checks. If not installed, clients may silently fall back to a slower Python CRC implementation or raise an import error.","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 with 'pip install tablestore' and update imports: 'from tablestore import ...'.","cause":"The package was renamed from 'ots' to 'tablestore' in v4.","error":"ModuleNotFoundError: No module named 'ots'"},{"fix":"Use correct import: 'from tablestore import OTSClient'.","cause":"The symbol 'OTSClient' might have been imported incorrectly. In older docs it was 'ots.OTSClient'.","error":"AttributeError: module 'tablestore' has no attribute 'OTSClient'"},{"fix":"Run NTP sync (e.g., 'sudo ntpdate ntp.aliyun.com') or set correct timezone.","cause":"The client machine's clock is not synchronized with Alibaba Cloud servers.","error":"tablestore.error.OTSServiceError: RequestTimeTooSkewed"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}