missilya-sdk 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- missilya_sdk-0.2.0/.gitignore +15 -0
- missilya_sdk-0.2.0/CHANGELOG.md +66 -0
- missilya_sdk-0.2.0/LICENSE +35 -0
- missilya_sdk-0.2.0/PKG-INFO +660 -0
- missilya_sdk-0.2.0/README.md +568 -0
- missilya_sdk-0.2.0/docs/getting-started.md +75 -0
- missilya_sdk-0.2.0/docs/migration-guide.md +67 -0
- missilya_sdk-0.2.0/pyproject.toml +113 -0
- missilya_sdk-0.2.0/src/missilya_sdk/__init__.py +52 -0
- missilya_sdk-0.2.0/src/missilya_sdk/_version.py +7 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/__init__.py +25 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/_base.py +122 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/_engine.py +217 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/chat.py +162 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/images.py +79 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/stt.py +80 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/translation.py +56 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/tts.py +67 -0
- missilya_sdk-0.2.0/src/missilya_sdk/ai/video.py +51 -0
- missilya_sdk-0.2.0/src/missilya_sdk/auth/__init__.py +21 -0
- missilya_sdk-0.2.0/src/missilya_sdk/auth/google.py +199 -0
- missilya_sdk-0.2.0/src/missilya_sdk/auth/jwt.py +92 -0
- missilya_sdk-0.2.0/src/missilya_sdk/compat/__init__.py +7 -0
- missilya_sdk-0.2.0/src/missilya_sdk/compat/emergent.py +244 -0
- missilya_sdk-0.2.0/src/missilya_sdk/config.py +134 -0
- missilya_sdk-0.2.0/src/missilya_sdk/context.py +116 -0
- missilya_sdk-0.2.0/src/missilya_sdk/exceptions.py +81 -0
- missilya_sdk-0.2.0/src/missilya_sdk/monitoring/__init__.py +20 -0
- missilya_sdk-0.2.0/src/missilya_sdk/monitoring/analytics.py +74 -0
- missilya_sdk-0.2.0/src/missilya_sdk/monitoring/logging.py +111 -0
- missilya_sdk-0.2.0/src/missilya_sdk/monitoring/sentry.py +82 -0
- missilya_sdk-0.2.0/src/missilya_sdk/notifications/__init__.py +9 -0
- missilya_sdk-0.2.0/src/missilya_sdk/notifications/email.py +92 -0
- missilya_sdk-0.2.0/src/missilya_sdk/notifications/sms.py +51 -0
- missilya_sdk-0.2.0/src/missilya_sdk/notifications/whatsapp.py +49 -0
- missilya_sdk-0.2.0/src/missilya_sdk/payments/__init__.py +17 -0
- missilya_sdk-0.2.0/src/missilya_sdk/payments/checkout.py +55 -0
- missilya_sdk-0.2.0/src/missilya_sdk/payments/stripe.py +137 -0
- missilya_sdk-0.2.0/src/missilya_sdk/py.typed +1 -0
- missilya_sdk-0.2.0/src/missilya_sdk/vault/__init__.py +7 -0
- missilya_sdk-0.2.0/src/missilya_sdk/vault/client.py +289 -0
- missilya_sdk-0.2.0/src/missilya_sdk/whatsapp/__init__.py +25 -0
- missilya_sdk-0.2.0/src/missilya_sdk/whatsapp/client.py +224 -0
- missilya_sdk-0.2.0/src/missilya_sdk/whatsapp/providers/__init__.py +6 -0
- missilya_sdk-0.2.0/src/missilya_sdk/whatsapp/providers/_meta.py +208 -0
- missilya_sdk-0.2.0/src/missilya_sdk/whatsapp/providers/_twilio.py +96 -0
- missilya_sdk-0.2.0/src/missilya_sdk/whatsapp/webhooks.py +199 -0
- missilya_sdk-0.2.0/tests/conftest.py +68 -0
- missilya_sdk-0.2.0/tests/integration/test_live_smoke.py +130 -0
- missilya_sdk-0.2.0/tests/test_ai_boundary.py +82 -0
- missilya_sdk-0.2.0/tests/test_ai_engine_extra.py +184 -0
- missilya_sdk-0.2.0/tests/test_ai_media.py +200 -0
- missilya_sdk-0.2.0/tests/test_compat_emergent.py +146 -0
- missilya_sdk-0.2.0/tests/test_config.py +43 -0
- missilya_sdk-0.2.0/tests/test_config_extra.py +58 -0
- missilya_sdk-0.2.0/tests/test_context.py +49 -0
- missilya_sdk-0.2.0/tests/test_edges.py +133 -0
- missilya_sdk-0.2.0/tests/test_google_auth.py +139 -0
- missilya_sdk-0.2.0/tests/test_import_guards.py +106 -0
- missilya_sdk-0.2.0/tests/test_jwt.py +39 -0
- missilya_sdk-0.2.0/tests/test_misc.py +65 -0
- missilya_sdk-0.2.0/tests/test_monitoring.py +60 -0
- missilya_sdk-0.2.0/tests/test_notifications.py +181 -0
- missilya_sdk-0.2.0/tests/test_parity_contract.py +33 -0
- missilya_sdk-0.2.0/tests/test_payments.py +155 -0
- missilya_sdk-0.2.0/tests/test_public_api.py +78 -0
- missilya_sdk-0.2.0/tests/test_sentry.py +83 -0
- missilya_sdk-0.2.0/tests/test_vault_client.py +107 -0
- missilya_sdk-0.2.0/tests/test_vault_extra.py +159 -0
- missilya_sdk-0.2.0/tests/test_whatsapp.py +484 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `missilya-sdk` are documented here. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/) and the project adheres to
|
|
5
|
+
[Semantic Versioning](https://semver.org/). The version is kept in lock-step with
|
|
6
|
+
`missilya-sdk-sandbox` so the parity contract holds.
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.2.0] - 2026-06-14
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **WhatsApp module** (`missilya_sdk.whatsapp`) — a provider-abstracted,
|
|
15
|
+
two-way WhatsApp capability for embedding WhatsApp across apps:
|
|
16
|
+
- `WhatsAppClient` (default provider **Meta Cloud API**, with **Twilio** as an
|
|
17
|
+
alternative) — `send_text`, `send_template`, `send_media`, `send_interactive`,
|
|
18
|
+
`mark_read`, returning `WhatsAppMessage`.
|
|
19
|
+
- Inbound webhook helpers — `verify_subscription` (Meta GET handshake),
|
|
20
|
+
`verify_signature` (fail-closed `X-Hub-Signature-256` HMAC over the raw body),
|
|
21
|
+
and `parse_inbound` (normalises Meta or Twilio payloads into `InboundMessage`).
|
|
22
|
+
- **Google Sign-In** (`missilya_sdk.auth.google`) — `verify_google_token`
|
|
23
|
+
validates a Google ID token against Google's JWKS (RS256), issuer, audience,
|
|
24
|
+
and expiry; `sign_in_with_google` then mints a first-party Missilya JWT so apps
|
|
25
|
+
get one consistent session token. Adds the optional `[auth]` extra
|
|
26
|
+
(`cryptography`) and the `GoogleIdentity` / `GoogleSession` results.
|
|
27
|
+
- New vault keys: `WHATSAPP_PROVIDER`, `WHATSAPP_ACCESS_TOKEN`,
|
|
28
|
+
`WHATSAPP_PHONE_NUMBER_ID`, `WHATSAPP_API_VERSION`, `WHATSAPP_APP_SECRET`,
|
|
29
|
+
`WHATSAPP_VERIFY_TOKEN`, `GOOGLE_OAUTH_CLIENT_ID`.
|
|
30
|
+
|
|
31
|
+
### Notes
|
|
32
|
+
|
|
33
|
+
- The legacy `notifications.send_whatsapp` (Twilio text relay) is unchanged for
|
|
34
|
+
backward compatibility; `missilya_sdk.whatsapp` is the forward path.
|
|
35
|
+
- Public API parity with `missilya-sdk-sandbox` is maintained (31 modules).
|
|
36
|
+
|
|
37
|
+
## [0.1.0] - 2026-06-11
|
|
38
|
+
|
|
39
|
+
### Added
|
|
40
|
+
|
|
41
|
+
- **AI module** — `LlmChat` (sync/async/stream) backed by LiteLLM with a
|
|
42
|
+
provider Adapter Engine and configurable runtime failover; `generate_image`,
|
|
43
|
+
`text_to_speech`, `speech_to_text`, `translate`, `generate_video`.
|
|
44
|
+
- **Payments module** — `StripeCheckout` (create/retrieve session, verify
|
|
45
|
+
webhook) with `CheckoutSessionRequest` / `CheckoutSession` / `WebhookEvent`.
|
|
46
|
+
- **Notifications module** — `send_email` (Resend), `send_sms` / `send_whatsapp`
|
|
47
|
+
(Twilio).
|
|
48
|
+
- **Auth module** — `create_token` / `verify_token` / `decode_token` (HS256).
|
|
49
|
+
- **Vault module** — `VaultClient` for Infisical Universal Auth + secret read,
|
|
50
|
+
with shared/app project fallback, in-memory TTL cache, retry/backoff, and a
|
|
51
|
+
fail-closed production policy.
|
|
52
|
+
- **Config** — `get_config` with VAULT-first resolution and a production
|
|
53
|
+
env-secret guard.
|
|
54
|
+
- **Context** — `TenantContext` and the `MissilyaSDK` facade for multi-tenant
|
|
55
|
+
scoping and request traceability.
|
|
56
|
+
- **Monitoring** — secret-redacting structured logging, correlation IDs, and
|
|
57
|
+
usage analytics (`track_event`, `track_latency`).
|
|
58
|
+
- **Governance tooling** — `tools/check_forbidden_imports.py`.
|
|
59
|
+
- **Packaging** — `src/` layout, PEP 621 `pyproject.toml`, optional extras
|
|
60
|
+
(`[ai]`, `[payments]`, `[notifications]`, `[all]`, `[dev]`), CI workflows.
|
|
61
|
+
|
|
62
|
+
### Security
|
|
63
|
+
|
|
64
|
+
- All credentials sourced from MISSILYA VAULT; no hardcoded keys. Secrets are
|
|
65
|
+
redacted from logs and never returned to application code except by the
|
|
66
|
+
provider-facing module that needs them.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
MISSILYA GROUP — PROPRIETARY LICENCE (SOURCE-AVAILABLE)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 MISSILYA GROUP. All rights reserved.
|
|
4
|
+
|
|
5
|
+
This software and its source code are the proprietary property of MISSILYA GROUP.
|
|
6
|
+
They are published on a public package index for distribution convenience only.
|
|
7
|
+
Publication does not place this software in the public domain, does not make it
|
|
8
|
+
open source, and grants no rights beyond those stated below.
|
|
9
|
+
|
|
10
|
+
GRANT
|
|
11
|
+
You are granted a non-exclusive, non-transferable, revocable licence to
|
|
12
|
+
download, install and execute unmodified copies of this package for the sole
|
|
13
|
+
purpose of interoperating with MISSILYA GROUP services under a valid
|
|
14
|
+
commercial agreement with MISSILYA GROUP.
|
|
15
|
+
|
|
16
|
+
RESTRICTIONS
|
|
17
|
+
Without prior written authorisation from MISSILYA GROUP you may not:
|
|
18
|
+
(a) copy, reproduce or redistribute the source code, in whole or in part;
|
|
19
|
+
(b) modify, adapt, translate or create derivative works;
|
|
20
|
+
(c) reverse engineer, decompile or disassemble, except to the extent this
|
|
21
|
+
restriction is unenforceable under applicable law;
|
|
22
|
+
(d) use the source code, its structure, or its interfaces to build a
|
|
23
|
+
competing or substantially similar product;
|
|
24
|
+
(e) remove or alter any proprietary notice.
|
|
25
|
+
|
|
26
|
+
NO WARRANTY
|
|
27
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
28
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
29
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
30
|
+
|
|
31
|
+
LIMITATION OF LIABILITY
|
|
32
|
+
IN NO EVENT SHALL MISSILYA GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
33
|
+
LIABILITY ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ITS USE.
|
|
34
|
+
|
|
35
|
+
Licensing enquiries: dev@missilya.com
|