Skip to content

Commit 152b911

Browse files
Oliver Kingstonclaude
andcommitted
docs: canonical Postio one-liner + fix pk_live_… → pk_…
Replaces the SDK README opener with the canonical "Postio is the UK validation API for addresses, emails and phone numbers" line and adds a "Sign up free — first 100 lookups on us, no card needed" call-out. Also fixes pk_live_… placeholders in the README + client docstrings to match the real Postio key format (pk_<32 hex>; Postio doesn't use the Stripe-style live/test infix). PyPI page README rolls along with the next legitimate version bump. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 5016ad0 commit 152b911

3 files changed

Lines changed: 11 additions & 9 deletions

File tree

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
[![Python versions](https://img.shields.io/pypi/pyversions/postio.svg)](https://pypi.org/project/postio/)
55
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
66

7-
Python SDK for the [Postio API](https://postio.co.uk) — UK address, email, and
8-
phone validation. Backed by Royal Mail PAF and Ordnance Survey. Sync + async,
9-
type-safe via Pydantic v2.
7+
Python SDK for [Postio](https://postio.co.uk) — the UK validation API for
8+
addresses, emails and phone numbers. Sync + async, type-safe via Pydantic v2.
9+
Backed by Royal Mail PAF and Ordnance Survey.
10+
11+
> **First time?** [Sign up free](https://postio.co.uk) — first 100 lookups on us, no card needed.
1012
1113
## Install
1214

@@ -21,7 +23,7 @@ Requires Python 3.10+.
2123
```python
2224
from postio import PostioClient
2325

24-
client = PostioClient(api_key="pk_live_...") # or set POSTIO_API_KEY
26+
client = PostioClient(api_key="pk_...") # or set POSTIO_API_KEY
2527

2628
result = client.address.search("downing street")
2729
for hit in result.results:
@@ -37,7 +39,7 @@ import asyncio
3739
from postio import AsyncPostioClient
3840

3941
async def main():
40-
async with AsyncPostioClient(api_key="pk_live_...") as client:
42+
async with AsyncPostioClient(api_key="pk_...") as client:
4143
result = await client.address.postcode("SW1A 2AA")
4244
for addr in result.results:
4345
print(addr.address_line_1, addr.post_town)
@@ -92,7 +94,7 @@ issues to `admin@postio.co.uk`.
9294
from postio import PostioClient, RetryConfig
9395

9496
client = PostioClient(
95-
api_key="pk_live_...",
97+
api_key="pk_...",
9698
base_url="https://api.postio.co.uk/v1", # default
9799
timeout=10.0, # seconds
98100
retries=2, # or RetryConfig(...) or None to disable

postio/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
77
from postio import PostioClient
88
9-
client = PostioClient(api_key="pk_live_...")
9+
client = PostioClient(api_key="pk_...")
1010
result = client.address.search("downing street")
1111
print(result.results[0].suggestion)
1212
"""

postio/client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ class PostioClient(_PostioBase):
129129
130130
from postio import PostioClient
131131
132-
client = PostioClient(api_key="pk_live_...")
132+
client = PostioClient(api_key="pk_...")
133133
result = client.address.search("downing street")
134134
print(result.results[0].suggestion)
135135
"""
@@ -290,7 +290,7 @@ class AsyncPostioClient(_PostioBase):
290290
291291
from postio import AsyncPostioClient
292292
293-
async with AsyncPostioClient(api_key="pk_live_...") as client:
293+
async with AsyncPostioClient(api_key="pk_...") as client:
294294
result = await client.address.search("downing street")
295295
print(result.results[0].suggestion)
296296
"""

0 commit comments

Comments
 (0)