container-validator-client 1.0.0__py3-none-any.whl

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.
@@ -0,0 +1,75 @@
1
+ """
2
+ ISO 6346 Container Check-Digit API Python Client SDK (Zero External Dependencies)
3
+ """
4
+ import os
5
+ import json
6
+ import urllib.request
7
+ import urllib.error
8
+ from typing import Any, Dict, Optional
9
+
10
+
11
+ class ContainerValidatorClient:
12
+ """
13
+ Client for ISO 6346 Container Check-Digit API.
14
+
15
+ :param api_key: RapidAPI key ('x-rapidapi-key'). Optional for test evaluation.
16
+ Get your key at: https://rapidapi.com/noor-mkdad-apis-noor-mkdad-apis-default/api/iso-6346-container-chassis-check-digit-validator
17
+ :param base_url: Custom API endpoint override.
18
+ :param rapidapi_host: RapidAPI host header.
19
+ """
20
+ def __init__(
21
+ self,
22
+ api_key: Optional[str] = None,
23
+ base_url: Optional[str] = None,
24
+ rapidapi_host: str = "iso-6346-container-chassis-check-digit-validator.p.rapidapi.com"
25
+ ):
26
+ self.api_key = api_key or os.environ.get("RAPIDAPI_KEY", "")
27
+ self.rapidapi_host = rapidapi_host
28
+ if base_url:
29
+ self.base_url = base_url.rstrip("/")
30
+ elif self.api_key:
31
+ self.base_url = "https://iso-6346-container-chassis-check-digit-validator.p.rapidapi.com"
32
+ else:
33
+ self.base_url = "https://container-validator.alph4nir.workers.dev".rstrip("/")
34
+
35
+ def request(self, endpoint: str, method: str = "GET", payload: Optional[Dict[str, Any]] = None) -> Dict[str, Any]:
36
+ url = f"{self.base_url}/{endpoint.lstrip('/')}"
37
+ headers = {
38
+ "Content-Type": "application/json",
39
+ "Accept": "application/json",
40
+ "User-Agent": "container-validator-python-client/1.0"
41
+ }
42
+ if self.api_key:
43
+ headers["x-rapidapi-key"] = self.api_key
44
+ headers["x-rapidapi-host"] = self.rapidapi_host
45
+
46
+ data = json.dumps(payload).encode("utf-8") if payload else None
47
+ req = urllib.request.Request(url, data=data, headers=headers, method=method)
48
+
49
+ try:
50
+ with urllib.request.urlopen(req, timeout=10) as response:
51
+ res_data = json.loads(response.read().decode("utf-8"))
52
+ if not self.api_key and response.status == 200:
53
+ meta = res_data.setdefault("meta", {})
54
+ meta["notice"] = "Free evaluation tier. Subscribe for full throughput & SLA: https://rapidapi.com/noor-mkdad-apis-noor-mkdad-apis-default/api/iso-6346-container-chassis-check-digit-validator"
55
+ return res_data
56
+ except urllib.error.HTTPError as e:
57
+ try:
58
+ return json.loads(e.read().decode("utf-8"))
59
+ except Exception:
60
+ return {
61
+ "success": False,
62
+ "error": f"HTTP {e.code}: {e.reason}",
63
+ "code": f"HTTP_{e.code}",
64
+ "upgrade_url": "https://rapidapi.com/noor-mkdad-apis-noor-mkdad-apis-default/api/iso-6346-container-chassis-check-digit-validator"
65
+ }
66
+ except Exception as e:
67
+ return {"success": False, "error": str(e), "code": "NETWORK_ERROR"}
68
+
69
+ def get_health(self) -> Dict[str, Any]:
70
+ """Check edge health status."""
71
+ return self.request("/health", method="GET")
72
+
73
+ def validate(self, payload: Dict[str, Any]) -> Dict[str, Any]:
74
+ """Submit validation/parse request."""
75
+ return self.request("/api/v1/validate", method="POST", payload=payload)
@@ -0,0 +1,70 @@
1
+ Metadata-Version: 2.4
2
+ Name: container-validator-client
3
+ Version: 1.0.0
4
+ Summary: Official zero-dependency Python client for ISO 6346 Container Check-Digit API via RapidAPI
5
+ Author: RapidAPI Microservices Portfolio
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://rapidapi.com/noor-mkdad-apis-noor-mkdad-apis-default/api/iso-6346-container-chassis-check-digit-validator
8
+ Project-URL: Documentation, https://rapidapi.com/noor-mkdad-apis-noor-mkdad-apis-default/api/iso-6346-container-chassis-check-digit-validator
9
+ Project-URL: Source, https://github.com/DrMkdaddy/api-monorepo
10
+ Keywords: container-validator,rapidapi,sdk,api,validation,fintech
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Operating System :: OS Independent
13
+ Description-Content-Type: text/markdown
14
+
15
+ # ISO 6346 Container Check-Digit API — Python Client
16
+
17
+ [![PyPI version](https://img.shields.io/pypi/v/container-validator-client.svg)](https://pypi.org/project/container-validator-client/)
18
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
19
+ [![RapidAPI Listing](https://img.shields.io/badge/RapidAPI-Dedicated%20Listing-blueviolet)](https://rapidapi.com/noor-mkdad-apis-noor-mkdad-apis-default/api/iso-6346-container-chassis-check-digit-validator)
20
+
21
+ Official zero-dependency Python client for **ISO 6346 Container Check-Digit API**.
22
+
23
+ > 🔑 **Get your Dedicated API Key:** [Subscribe to ISO 6346 Container Check-Digit API on RapidAPI](https://rapidapi.com/noor-mkdad-apis-noor-mkdad-apis-default/api/iso-6346-container-chassis-check-digit-validator)
24
+
25
+ ---
26
+
27
+ ## 🚀 Installation
28
+
29
+ ```bash
30
+ pip install container-validator-client
31
+ ```
32
+
33
+ ---
34
+
35
+ ## ⚡ Quickstart
36
+
37
+ ```python
38
+ from container_validator_client import ContainerValidatorClient
39
+
40
+ # Zero config for sandbox testing, or pass your RapidAPI key for production
41
+ client = ContainerValidatorClient(api_key="YOUR_RAPIDAPI_KEY")
42
+
43
+ result = client.validate({
44
+ # Enter validation payload
45
+ })
46
+
47
+ print(result)
48
+ ```
49
+
50
+ ---
51
+
52
+ ## 📚 API Reference
53
+
54
+ ### `ContainerValidatorClient(api_key=..., base_url=...)`
55
+ - `api_key` *(optional)*: RapidAPI Key (`x-rapidapi-key`).
56
+ - `base_url` *(optional)*: Direct edge worker override URL.
57
+
58
+ ### `client.validate(payload)`
59
+ Dispatches standard validation / parse request with sub-5ms latency.
60
+
61
+ ### `client.get_health()`
62
+ Checks edge isolate health and responsiveness.
63
+
64
+ ---
65
+
66
+ ## 🔗 Links
67
+ - 📖 [RapidAPI Documentation & Key](https://rapidapi.com/noor-mkdad-apis-noor-mkdad-apis-default/api/iso-6346-container-chassis-check-digit-validator)
68
+
69
+ ## 📄 License
70
+ MIT © RapidAPI Microservices Portfolio
@@ -0,0 +1,5 @@
1
+ container_validator_client/__init__.py,sha256=RGNg4xG3DU4pLLmVloHPAlVNJE_9JzkTnd6paX8y9Gk,3369
2
+ container_validator_client-1.0.0.dist-info/METADATA,sha256=0RzJK_7F-ljR91dNQ3h8lB6X-pKdcMZOK14ZeDHOjwo,2595
3
+ container_validator_client-1.0.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
4
+ container_validator_client-1.0.0.dist-info/top_level.txt,sha256=jFqF9q8u8nNoyYCHMO4nmIQ2DZtUi-oe6mXfIPgquq0,27
5
+ container_validator_client-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ container_validator_client