Skip to content

Commit 7e5f5d4

Browse files
committed
v0.5.2 — SEO + discoverability pass (no SDK behaviour change)
Metadata + SEO release to make the SDK actually findable. No code changes. PyPI side - Long, keyword-rich description; 24 keywords; promoted dev-status to '4 - Beta'; added Intended Audience, Natural Language, Topic refinements, Framework :: AsyncIO and Framework :: Pydantic classifiers. - author/maintainer email = consulting@bilouro.com (signals consulting is available for the SDK). - project.urls now also lists Source, Documentation (Português), Discussions, Releases, Funding. Docs site - mkdocs-material 'social' plugin enabled — auto-generates per-page Open Graph cards, so links to the docs in Twitter / LinkedIn / Slack render nicely. docs.yml workflow now installs libcairo2 + libfreetype to let the plugin run on the runner. docs extra now uses mkdocs-material[imaging]. - Long site_description, site_author, copyright, hide MkDocs generator attribution. - JSON-LD SoftwareApplication structured data on the EN + PT landing pages so Google can render rich results. - Added docs/robots.txt pointing at the sitemap. - README lede rewritten so the Google snippet pulls a real summary. GitHub repo (via API) - Added 15 topics (python, payments, mbway, multibanco, portugal, eupago, sdk, payment-gateway, fintech, api-client, pay-by-link, webhook, async, typed, stripe-alternative). - Updated repo description to match the SDK positioning. - Added .github/FUNDING.yml so the Sponsor button is wired up. .gitignore: ignore the social plugin's local cache directory.
1 parent 83a27b7 commit 7e5f5d4

11 files changed

Lines changed: 156 additions & 12 deletions

File tree

‎.github/FUNDING.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
github: [bilouro]
2+
custom: ["https://github.com/sponsors/bilouro"]

‎.github/workflows/docs.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ jobs:
2929
- uses: actions/setup-python@v5
3030
with:
3131
python-version: "3.12"
32+
- name: Install Cairo (for mkdocs-material social plugin)
33+
run: sudo apt-get update && sudo apt-get install -y libcairo2-dev libfreetype6-dev
3234
- run: pip install -e ".[docs]"
3335
- run: mkdocs build --strict
3436
- uses: actions/upload-pages-artifact@v3

‎.gitignore‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,6 @@ site/
3535
eupago-duvidas.md
3636
*.local.md
3737
CLAUDE.*
38+
39+
# mkdocs-material social plugin generates these per-build
40+
.cache/

‎CHANGELOG.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.5.2] - 2026-06-02
11+
12+
Metadata + discoverability release. No SDK behaviour changes.
13+
14+
### Improved
15+
- **PyPI metadata**: longer, keyword-rich `description`; expanded `keywords` (24 entries); added `Intended Audience`, `Natural Language`, `Topic`, `Framework`, and `Pydantic` classifiers; promoted dev-status to *4 - Beta*; added `Source`, `Discussions`, `Releases`, `Funding`, and a Portuguese-docs URL to `project.urls`; added author/maintainer email.
16+
- **README**: rewrote the lede with the SDK's positioning and value props so the Google snippet pulls a useful summary instead of a one-liner.
17+
- **mkdocs SEO**: enabled the Material **social** plugin (auto-generates Open Graph cards per page), added a long `site_description`, `site_author`, `copyright`. JSON-LD `SoftwareApplication` structured data added to the EN and PT landing pages. Added a `robots.txt` pointing at the sitemap.
18+
- **GitHub repo**: added 15 topics (python, payments, mbway, multibanco, portugal, eupago, sdk, payment-gateway, fintech, api-client, pay-by-link, webhook, async, typed, stripe-alternative) and a longer repo description so the GitHub card itself ranks.
19+
- Added `.github/FUNDING.yml` so the Sponsor button shows up.
20+
1021
## [0.5.1] - 2026-05-31
1122

1223
### Fixed

‎README.md‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,17 @@
77
[![Typed](https://img.shields.io/badge/typed-mypy--strict-blue.svg?style=flat-square)](https://mypy.readthedocs.io/)
88
[![Docs](https://img.shields.io/badge/docs-bilouro.github.io-blue.svg?style=flat-square)](https://bilouro.github.io/eupago-python/)
99

10-
The first Python SDK for [eupago](https://www.eupago.com), Portugal's payment gateway.
11-
MB WAY, Multibanco, and more — in 5 lines of Python.
10+
**eupago for Python** — accept MB WAY, Multibanco, credit-card and Pay By Link
11+
payments in Portugal with a modern, fully-typed Python SDK. The first
12+
community SDK for [eupago](https://www.eupago.com), Portugal's leading
13+
payment gateway. Production-validated: every payment method here has been
14+
exercised against a live eupago channel with real money.
15+
16+
Built like the Stripe SDK should look in Python: sync + async on the same
17+
client, `Decimal` for money (never float), HMAC-verified webhooks (cleartext
18+
and AES-256-CBC encrypted), automatic retries on GETs (POSTs never retry —
19+
no idempotency = duplicate payments), and a unified vocabulary that hides
20+
eupago's two API generations behind one clean interface.
1221

1322
**Documentation: [English](https://bilouro.github.io/eupago-python/) · [Português](https://bilouro.github.io/eupago-python/pt/)** | [Examples](examples/) | [API Reference](https://bilouro.github.io/eupago-python/api/)
1423

‎docs/index.md‎

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,35 @@
11
# eupago Python SDK
22

3+
<script type="application/ld+json">
4+
{
5+
"@context": "https://schema.org",
6+
"@type": "SoftwareApplication",
7+
"name": "eupago Python SDK",
8+
"alternateName": ["eupago-python", "eupago for Python"],
9+
"applicationCategory": "DeveloperApplication",
10+
"applicationSubCategory": "Payment Gateway SDK",
11+
"operatingSystem": "Cross-platform",
12+
"programmingLanguage": "Python",
13+
"softwareVersion": "0.5.2",
14+
"license": "https://opensource.org/licenses/MIT",
15+
"url": "https://bilouro.github.io/eupago-python/",
16+
"downloadUrl": "https://pypi.org/project/eupago/",
17+
"codeRepository": "https://github.com/bilouro/eupago-python",
18+
"description": "Modern, fully-typed Python SDK for the eupago payment gateway (Portugal): MB WAY, Multibanco, Credit Card, Pay By Link, refunds and webhooks. Sync + async, production-validated.",
19+
"author": {
20+
"@type": "Person",
21+
"name": "Victor Bilouro",
22+
"url": "https://github.com/bilouro"
23+
},
24+
"keywords": "eupago, Python, SDK, MB WAY, Multibanco, payments, payment gateway, Portugal, fintech, Pay By Link, refund, webhook, async"
25+
}
26+
</script>
27+
328
[![PyPI version](https://img.shields.io/pypi/v/eupago.svg?style=flat-square)](https://pypi.org/project/eupago/)
429
[![Python versions](https://img.shields.io/pypi/pyversions/eupago.svg?style=flat-square)](https://pypi.org/project/eupago/)
530
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://github.com/bilouro/eupago-python/blob/main/LICENSE)
631

7-
The first Python SDK for [eupago](https://www.eupago.com), the Portuguese payment gateway.
32+
The first Python SDK for [eupago](https://www.eupago.com), the Portuguese payment gateway. Accept **MB WAY**, **Multibanco**, **Credit Card** and **Pay By Link** payments, issue refunds and verify webhooks — sync and async, fully typed, production-validated.
833

934
!!! warning "Community SDK"
1035
This is an independent open-source project, not affiliated with or endorsed by eupago.

‎docs/index.pt.md‎

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,36 @@
11
# eupago Python SDK
22

3+
<script type="application/ld+json">
4+
{
5+
"@context": "https://schema.org",
6+
"@type": "SoftwareApplication",
7+
"name": "eupago Python SDK",
8+
"alternateName": ["eupago-python", "SDK eupago para Python"],
9+
"applicationCategory": "DeveloperApplication",
10+
"applicationSubCategory": "Payment Gateway SDK",
11+
"operatingSystem": "Cross-platform",
12+
"programmingLanguage": "Python",
13+
"softwareVersion": "0.5.2",
14+
"license": "https://opensource.org/licenses/MIT",
15+
"url": "https://bilouro.github.io/eupago-python/pt/",
16+
"downloadUrl": "https://pypi.org/project/eupago/",
17+
"codeRepository": "https://github.com/bilouro/eupago-python",
18+
"description": "SDK Python moderno e totalmente tipado para a eupago (Portugal): MB WAY, Multibanco, Cartão de Crédito, Pay By Link, reembolsos e webhooks. Sync + async, validado em produção.",
19+
"inLanguage": "pt-PT",
20+
"author": {
21+
"@type": "Person",
22+
"name": "Victor Bilouro",
23+
"url": "https://github.com/bilouro"
24+
},
25+
"keywords": "eupago, Python, SDK, MB WAY, Multibanco, pagamentos, gateway de pagamento, Portugal, Pay By Link, reembolso, webhook"
26+
}
27+
</script>
28+
329
[![PyPI version](https://img.shields.io/pypi/v/eupago.svg?style=flat-square)](https://pypi.org/project/eupago/)
430
[![Python versions](https://img.shields.io/pypi/pyversions/eupago.svg?style=flat-square)](https://pypi.org/project/eupago/)
531
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://github.com/bilouro/eupago-python/blob/main/LICENSE)
632

7-
O primeiro SDK Python para a [eupago](https://www.eupago.com), o gateway de pagamentos português.
33+
O primeiro SDK Python para a [eupago](https://www.eupago.com), o gateway de pagamentos português. Aceita pagamentos **MB WAY**, **Multibanco**, **Cartão de Crédito** e **Pay By Link**, emite reembolsos e verifica webhooks — sync e async, totalmente tipado, validado em produção.
834

935
!!! warning "SDK da comunidade"
1036
Este é um projecto open-source independente, não afiliado nem endossado pela eupago.

‎docs/robots.txt‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://bilouro.github.io/eupago-python/sitemap.xml

‎mkdocs.yml‎

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
site_name: eupago Python SDK
22
site_url: https://bilouro.github.io/eupago-python/
3-
site_description: Unofficial Python SDK for the eupago payment gateway
3+
site_description: >-
4+
Modern, fully-typed Python SDK for the eupago payment gateway (Portugal):
5+
MB WAY, Multibanco, Credit Card, Pay By Link, refunds and webhooks.
6+
Sync + async, production-validated.
7+
site_author: Victor Bilouro
8+
copyright: Copyright &copy; 2026 Victor Bilouro · MIT
49
repo_url: https://github.com/bilouro/eupago-python
510
repo_name: bilouro/eupago-python
611
edit_uri: edit/main/docs/
@@ -44,6 +49,10 @@ plugins:
4449
lang:
4550
- pt
4651
- en
52+
- social:
53+
cards_layout_options:
54+
background_color: "#3f51b5"
55+
color: "#ffffff"
4756
- i18n:
4857
docs_structure: suffix
4958
reconfigure_material: true
@@ -137,5 +146,8 @@ extra:
137146
social:
138147
- icon: fontawesome/brands/github
139148
link: https://github.com/bilouro/eupago-python
149+
name: Source on GitHub
140150
- icon: fontawesome/brands/python
141151
link: https://pypi.org/project/eupago/
152+
name: eupago on PyPI
153+
generator: false

‎pyproject.toml‎

Lines changed: 56 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,57 @@
11
[project]
22
name = "eupago"
3-
version = "0.5.1"
4-
description = "Unofficial Python SDK for the eupago payment gateway"
3+
version = "0.5.2"
4+
description = "Modern, fully-typed Python SDK for the eupago payment gateway (Portugal): MB WAY, Multibanco, Credit Card, Pay By Link, refunds and webhooks — sync + async, production-validated."
55
readme = "README.md"
66
requires-python = ">=3.9"
77
license = { text = "MIT" }
8-
keywords = ["eupago", "payments", "multibanco", "mbway", "portugal"]
9-
authors = [{ name = "Victor Bilouro" }]
8+
keywords = [
9+
"eupago",
10+
"eupago-python",
11+
"eupago-sdk",
12+
"payments",
13+
"payment-gateway",
14+
"portugal",
15+
"portuguese",
16+
"mbway",
17+
"mb-way",
18+
"multibanco",
19+
"credit-card",
20+
"pay-by-link",
21+
"paybylink",
22+
"webhook",
23+
"refund",
24+
"stripe-alternative",
25+
"fintech",
26+
"async",
27+
"asyncio",
28+
"httpx",
29+
"pydantic",
30+
"typed",
31+
"sdk",
32+
"api-client",
33+
]
34+
authors = [{ name = "Victor Bilouro", email = "consulting@bilouro.com" }]
35+
maintainers = [{ name = "Victor Bilouro", email = "consulting@bilouro.com" }]
1036
classifiers = [
11-
"Development Status :: 3 - Alpha",
37+
"Development Status :: 4 - Beta",
38+
"Intended Audience :: Developers",
39+
"Intended Audience :: Financial and Insurance Industry",
40+
"Intended Audience :: Information Technology",
1241
"License :: OSI Approved :: MIT License",
42+
"Natural Language :: English",
43+
"Natural Language :: Portuguese",
44+
"Operating System :: OS Independent",
1345
"Topic :: Office/Business :: Financial",
46+
"Topic :: Software Development :: Libraries",
47+
"Topic :: Software Development :: Libraries :: Python Modules",
48+
"Topic :: Internet :: WWW/HTTP",
49+
"Framework :: AsyncIO",
50+
"Framework :: Pydantic",
51+
"Framework :: Pydantic :: 2",
52+
"Programming Language :: Python",
53+
"Programming Language :: Python :: 3",
54+
"Programming Language :: Python :: 3 :: Only",
1455
"Programming Language :: Python :: 3.9",
1556
"Programming Language :: Python :: 3.10",
1657
"Programming Language :: Python :: 3.11",
@@ -44,13 +85,22 @@ dev = [
4485
"bandit>=1.7",
4586
"cryptography>=42.0",
4687
]
47-
docs = ["mkdocs-material", "mkdocstrings[python]", "mkdocs-static-i18n"]
88+
docs = [
89+
"mkdocs-material[imaging]",
90+
"mkdocstrings[python]",
91+
"mkdocs-static-i18n",
92+
]
4893

4994
[project.urls]
5095
Homepage = "https://github.com/bilouro/eupago-python"
5196
Documentation = "https://bilouro.github.io/eupago-python/"
97+
"Documentation (Português)" = "https://bilouro.github.io/eupago-python/pt/"
98+
Source = "https://github.com/bilouro/eupago-python"
5299
Issues = "https://github.com/bilouro/eupago-python/issues"
100+
Discussions = "https://github.com/bilouro/eupago-python/discussions"
53101
Changelog = "https://github.com/bilouro/eupago-python/blob/main/CHANGELOG.md"
102+
Releases = "https://github.com/bilouro/eupago-python/releases"
103+
Funding = "https://github.com/sponsors/bilouro"
54104

55105
[build-system]
56106
requires = ["hatchling"]

0 commit comments

Comments
 (0)