{"library":"netsuite","title":"NetSuite Python Client","description":"The `netsuite` Python library provides an asynchronous client for interacting with NetSuite's SuiteTalk SOAP/REST Web Services and Restlets. It simplifies making requests, handling authentication (including Token-Based Authentication), and parsing responses. Currently at version 0.12.0, the library has a moderately active release cadence, with several minor releases and occasional breaking changes.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install netsuite"],"cli":null},"imports":["from netsuite import NetSuite"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import asyncio\nimport os\nfrom netsuite import NetSuite\n\nasync def main():\n    # Ensure these environment variables are set:\n    # NETSUITE_ACCOUNT, NETSUITE_CONSUMER_KEY, NETSUITE_CONSUMER_SECRET,\n    # NETSUITE_TOKEN_ID, NETSUITE_TOKEN_SECRET\n    \n    # The NetSuite client automatically picks up credentials from environment variables.\n    # For explicit config, see documentation.\n    ns = NetSuite()\n\n    print(f\"NetSuite client initialized for account: {os.environ.get('NETSUITE_ACCOUNT', '[Not Set]')}\")\n\n    try:\n        # Example: Fetch a specific record using the REST API\n        # Replace 'customer' and '1234' with actual record type and ID in your NetSuite instance\n        customer_id = '1234'\n        customer_record = await ns.rest_api.get(\n            f\"record/v1/customer/{customer_id}\"\n        )\n        print(f\"Successfully fetched customer {customer_id}:\\n{customer_record}\")\n\n        # Example: Run a SuiteQL query\n        # This query selects the ID and company name of the first 5 customers\n        suiteql_result = await ns.suiteql.get(\n            \"SELECT id, companyname FROM customer ORDER BY id LIMIT 5\"\n        )\n        print(f\"\\nSuccessfully executed SuiteQL query (first 5 customers):\\n{suiteql_result}\")\n\n    except Exception as e:\n        print(f\"An error occurred: {e}\")\n\nif __name__ == \"__main__\":\n    # Set dummy environment variables for demonstration if not set\n    os.environ.setdefault('NETSUITE_ACCOUNT', 'TEST_ACCOUNT_ID')\n    os.environ.setdefault('NETSUITE_CONSUMER_KEY', 'TEST_CONSUMER_KEY')\n    os.environ.setdefault('NETSUITE_CONSUMER_SECRET', 'TEST_CONSUMER_SECRET')\n    os.environ.setdefault('NETSUITE_TOKEN_ID', 'TEST_TOKEN_ID')\n    os.environ.setdefault('NETSUITE_TOKEN_SECRET', 'TEST_TOKEN_SECRET')\n\n    asyncio.run(main())\n","lang":"python","description":"This quickstart initializes the `NetSuite` client, which automatically picks up credentials from environment variables, and then demonstrates fetching a customer record using the REST API and executing a simple SuiteQL query. Replace placeholder IDs with your actual NetSuite data. Remember to set your NetSuite credentials as environment variables.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"0.12.0","pypi_latest":"0.12.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":5,"avg_import_s":1.33,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.08,"mem_mb":20.1,"disk_size":"53.4M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.7,"import_time_s":0.84,"mem_mb":20.1,"disk_size":"53M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.64,"mem_mb":21.9,"disk_size":"57.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.8,"import_time_s":1.46,"mem_mb":21.9,"disk_size":"57M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.64,"mem_mb":21.2,"disk_size":"48.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4,"import_time_s":1.67,"mem_mb":21.2,"disk_size":"48M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.47,"mem_mb":22.1,"disk_size":"48.5M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.2,"import_time_s":1.5,"mem_mb":22.1,"disk_size":"48M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.03,"mem_mb":18.9,"disk_size":"52.6M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"netsuite","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.5,"import_time_s":0.94,"mem_mb":18.9,"disk_size":"52M"}]}}