Repository navigation
v1.1.0 Release
Spwig Provider SDKs — Release Notes
Date: March 17, 2026
Commit: 3c93f61
Stats: 32 files changed, 4,402 insertions, 117 deletions
New: Translation Provider SDK
Complete SDK for building translation provider integrations that connect Spwig stores to external translation APIs (e.g. DeepL, Google Translate, Azure Translator).
DEVELOPMENT_GUIDE.md (612 lines)
- 17-section guide covering the full development lifecycle
- Base class reference for
TranslationProviderBasewith 3 abstract properties and 4 abstract methods - Documents the key constructor behavior: base class auto-calls
validate_credentials()in__init__(unique among all provider types) - Capability flags:
batch_translate,language_detection,formality,glossary,html_support - Credential schema field types with
select+choicespattern for dropdowns (e.g. region selector) - Provider loading, credential encryption (Fernet from SECRET_KEY), and security guidance
- Complete submission checklist for marketplace publishing
Example Provider (example_translation_provider/v1.0.0/)
- Full
ExampleTranslateProviderimplementation against a fictional "Example Translate API" - Demonstrates: regional endpoint routing, batch translation, connection testing with error handling
- 25 supported languages,
selectfield for region in credential schema manifest.jsonwith all required fields, capability declarations, and multi-language marketplace metadatasetup_instructions.htmlwithdata-i18nattributes for admin i18n- 39 passing unit tests across 8 test classes — all HTTP calls mocked, covers success paths, error handling, region routing, and manifest/provider consistency validation
conftest.pywith pytest fixtures andcollect_ignorepattern for package compatibility
New: SEO Generator Provider SDK
SDK for building AI-powered SEO content generators that produce meta titles, descriptions, and keywords for products, categories, and pages.
DEVELOPMENT_GUIDE.md (588 lines)
- Base class reference for
SEOGeneratorProviderBase - Covers: content type handling (product, category, page, blog), generation parameters, rate limiting patterns
- Capability flags:
bulk_generate,keyword_analysis,competitor_analysis,content_scoring
Example Provider (example_seo_generator_provider/v1.0.0/)
- Full
ExampleSEOGeneratorProviderimplementation manifest.json, setup instructions, logo, and test suite (261 lines of tests)
Updated: Payment Provider SDK
Significant expansion of the most complex provider type.
- DEVELOPMENT_GUIDE.md: Expanded from ~100 lines to ~1,000 lines with comprehensive coverage of payment flows, webhooks, refunds, checkout handler patterns, and PCI compliance guidance
- checkout-handler.js (NEW): Client-side checkout handler reference implementation (201 lines) demonstrating payment form integration, tokenization, and 3D Secure flows
- provider.py: Expanded from stub to full reference implementation (249+ lines added)
- manifest.json: Enhanced with complete capability declarations and webhook configuration
- README.md: Expanded marketplace listing with feature highlights
Infrastructure Updates
JSON Schema (schemas/provider_manifest_base_schema.json)
- Added
translation_providerandseo_generator_providerto thecomponent_typeenum - Updated description to reflect new provider types
- Total supported types now: 12
README.md
- Added Translation and SEO Generator rows to the Provider Types table
- SDK count: 12 provider types documented
CLAUDE.md (AI Context)
- Added
translation_providerandseo_generator_providerto the Provider Types table with base class imports and constructor signatures - Added note about Translation base class auto-calling
validate_credentials()in constructor - Updated SDK Directories table with new entries
SDK Coverage Summary
| SDK | Guide | Example | Tests | Status |
|---|---|---|---|---|
| Payment | 995 lines | Full | Yes | Updated |
| Shipping | Yes | Yes | Yes | Existing |
| Terminal | Yes | Yes | Yes | Existing |
| Yes | Yes | Yes | Existing | |
| Translation | 612 lines | Full | 39 tests | New |
| SMS | Yes | Yes | Yes | Existing |
| Payout | Yes | Yes | Yes | Existing |
| Social Connector | Yes | Yes | Yes | Existing |
| License Server | Yes | Yes | Yes | Existing |
| Product Feed | Yes | Yes | Yes | Existing |
| SEO Generator | 588 lines | Full | Yes | New |
| Exchange Rate | Yes | Yes | Yes | Existing |
Key Technical Notes
- Translation providers have a unique constructor pattern: the base class auto-calls
validate_credentials()during__init__. All other provider types require the platform to call validation separately. - Credential schema supports 4 field types:
text,password,url,select(withchoicesarray). The translation example demonstrates theselectpattern for region selection. - Credential encryption is automatic for fields matching keywords:
key,secret,token,password,auth. Uses Fernet symmetric encryption derived from Django'sSECRET_KEY. - All example tests use mocked HTTP — zero real network requests. Tests verify both the provider implementation and consistency with
manifest.json.