// the find
jacobsvante/netsuite
Make async requests to NetSuite SuiteTalk SOAP/REST Web Services and Restlets
A Python client for NetSuite's SuiteTalk SOAP and REST web services and RESTlets, with async request handling and an optional CLI. It is aimed at integration developers who need to read or write NetSuite records from Python without hand-building SOAP envelopes or wiring up auth themselves.
The three NetSuite interfaces sit behind one package, and the install extras keep the SOAP stack behind pip install netsuite[soap_api] instead of forcing it on REST-only users. The SOAP code is split into passport.py, transports.py and zeep.py, so auth, transport and marshalling are separate concerns rather than one tangled module. The repo has CI, a codecov upload, pre-commit, a mypy config and a flake8 config, which is more tooling discipline than most small integration libraries carry. The docs live on their own site rather than being crammed into the README, and examples/soap-api.py gives a starting point.
The last push was 2 June 2025, more than a year before today. NetSuite's SuiteTalk versions move on a regular cycle, so verify the WSDL version and REST endpoints against your own account before depending on this. The README is mostly pointers: usage lives on the docs site, support lives in Slack, and the only in-repo example is SOAP, so there is no REST or RESTlet example to judge fit from. The async claim is the headline feature, but nothing in the README says how concurrency is capped against NetSuite's concurrency governance limits, which is where async clients against NetSuite usually get into trouble.