ResilientLang docsDeveloper documentation (draft, product name is a placeholder)

Python, PHP and Go SDKs

Status. The three SDKs are package WP-54 (sdks/python, sdks/php, sdks/go, branch wp/WP-54-sdks-py-php-go, commit 3ecf821) and were not yet merged when this page was written. Nothing is uploaded to PyPI, Packagist or pkg.go.dev. No licence is chosen (UNLICENSED or proprietary placeholders: verify with the owner), and the package names (resilientlang, resilientlang/resilientlang, github.com/lawleys/language/sdks/go) are placeholders until the product name and domain are decided. There is no default API URL in any SDK; you always pass one. Install from the repository path for now.

They sit beside the JavaScript SDK, the rl CLI and the .NET client and behave the same way.

SDKPageRuntimeDependencies
PythonPython quick start3.9+None (standard library); cryptography is an optional accelerator
PHPPHP quick start7.4+ and 8.x, ext-sodiumPSR-18, PSR-17 and PSR-7 interfaces only; bring your own HTTP client
GoGo quick start1.21+None (net/http)

Every SDK has the same surface: sites, strings (single and batched submit), scan, translate, publish, jobs (get and wait), translations (list and manual override), glossary, usage and quota, export and import (file and JSON), secret keys (list, create, rotate, revoke), cursor pagination, a webhook signature verifier and a published-bundle verifier. /v1/discover is browser-only and is not wrapped. A test in each SDK walks openapi.json and fails when an operation has no client method.

Behaviour shared by all three#

Tests (by the package's author; not re-run here)#

Each SDK runs offline against a local fake HTTP server plus the shared vectors, and has a suite that runs against a locally composed platform (nothing deployed). The three languages pass the shared signature and canonicalisation vectors. The default test commands are python3 -I -m unittest discover -s tests (Python), composer install && vendor/bin/phpunit (PHP) and go test -race ./... (Go).