Skip to content

Commit 92d56db

Browse files
docs: fix README rendering on PyPI (absolute URLs, dynamic version badge) (#66)
PyPI does not resolve repo-relative paths in the long description, so the logo and several file links were broken on the package page, and the static version badge had drifted to 0.2.0 while 0.2.3 is published. - Logo <picture>/<img> -> absolute raw.githubusercontent.com URLs - All repo file/dir links -> absolute github.com/blob|tree/main URLs - Version badge -> dynamic shields.io pypi/v (never goes stale) - CHANGELOG: note under [Unreleased] In-page anchor links left relative (they work on PyPI). Signed-off-by: Tom Li <tom@shyftlabs.io>
1 parent a83df66 commit 92d56db

2 files changed

Lines changed: 16 additions & 16 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ and Continuum adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.ht
2121
- Open LLM provider registry — `register_provider(prefix, factory)` and `register_default_provider(factory)` let new backends extend model-name routing without editing core (`get_provider` now resolves via longest-prefix match against the registry).
2222

2323
### Changed
24-
- _Nothing yet._
24+
- README now renders correctly on the PyPI project page: the logo and all repository links use absolute URLs (PyPI does not resolve repo-relative paths), and the version badge is a dynamic `pypi/v` shield instead of a hardcoded number that drifted out of date.
2525

2626
### Fixed
2727
- Docker healthchecks for `qdrant` (now probes `/readyz` over bash `/dev/tcp`, since the image ships no `curl`) and `temporal` (`BIND_ON_IP=0.0.0.0` so the localhost healthcheck can reach the frontend) — both previously reported `unhealthy` while serving correctly.

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<div align="center">
22

33
<picture>
4-
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/continuum-logo-dark.png" />
5-
<img src="docs/assets/continuum-logo.png" alt="Continuum" width="460" />
4+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/shyftlabs/continuum/main/docs/assets/continuum-logo-dark.png" />
5+
<img src="https://raw.githubusercontent.com/shyftlabs/continuum/main/docs/assets/continuum-logo.png" alt="Continuum" width="460" />
66
</picture>
77

88
##### by **[ShyftLabs](https://shyftlabs.io/)**
@@ -14,15 +14,15 @@ Build, run, and deploy reliable AI agents at enterprise scale — multi-LLM rout
1414
<br />
1515

1616
[![Python 3.13+](https://img.shields.io/badge/python-3.13+-0a0a0a.svg?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/)
17-
[![License](https://img.shields.io/badge/license-Apache_2.0-0a0a0a.svg?style=for-the-badge)](LICENSE)
18-
[![Version](https://img.shields.io/badge/version-0.2.0-0a0a0a.svg?style=for-the-badge)](https://github.com/shyftlabs/continuum/releases)
17+
[![License](https://img.shields.io/badge/license-Apache_2.0-0a0a0a.svg?style=for-the-badge)](https://github.com/shyftlabs/continuum/blob/main/LICENSE)
18+
[![PyPI version](https://img.shields.io/pypi/v/shyftlabs-continuum?style=for-the-badge&color=0a0a0a&label=pypi)](https://pypi.org/project/shyftlabs-continuum/)
1919

2020
[![CI](https://img.shields.io/github/actions/workflow/status/shyftlabs/continuum/ci.yml?branch=main&label=CI&logo=github)](https://github.com/shyftlabs/continuum/actions/workflows/ci.yml)
2121
[![Docs](https://img.shields.io/badge/docs-continuum.shyftlabs.io-blue?logo=readthedocs&logoColor=white)](https://docs.continuum.shyftlabs.io/)
22-
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
23-
[![Code of Conduct](https://img.shields.io/badge/code%20of%20conduct-v2.1-ff69b4.svg)](CODE_OF_CONDUCT.md)
22+
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/shyftlabs/continuum/blob/main/CONTRIBUTING.md)
23+
[![Code of Conduct](https://img.shields.io/badge/code%20of%20conduct-v2.1-ff69b4.svg)](https://github.com/shyftlabs/continuum/blob/main/CODE_OF_CONDUCT.md)
2424

25-
[**📖 Documentation**](https://docs.continuum.shyftlabs.io/) · [**⚡ Quick start**](#-quick-start) · [**⚙️ Configuration**](#️-configuring-continuum) · [**🧩 Components**](#-components) · [**🧪 Examples**](#-examples) · [**🤝 Contributing**](CONTRIBUTING.md)
25+
[**📖 Documentation**](https://docs.continuum.shyftlabs.io/) · [**⚡ Quick start**](#-quick-start) · [**⚙️ Configuration**](#️-configuring-continuum) · [**🧩 Components**](#-components) · [**🧪 Examples**](#-examples) · [**🤝 Contributing**](https://github.com/shyftlabs/continuum/blob/main/CONTRIBUTING.md)
2626

2727
</div>
2828

@@ -106,7 +106,7 @@ asyncio.run(main())
106106

107107
## ⚙️ Configuring Continuum
108108

109-
Continuum is configured through environment variables (copy [`.env.template`](.env.template)`.env`). Set keys only for the providers and components you use — everything else has sensible defaults. The most common settings:
109+
Continuum is configured through environment variables (copy [`.env.template`](https://github.com/shyftlabs/continuum/blob/main/.env.template)`.env`). Set keys only for the providers and components you use — everything else has sensible defaults. The most common settings:
110110

111111
#### LLM providers & routing
112112

@@ -150,7 +150,7 @@ Continuum is configured through environment variables (copy [`.env.template`](.e
150150
| `TEMPORAL_ENABLED` | Enable durable workflow orchestration | `false` |
151151
| `TEMPORAL_HOST` | Temporal frontend | `localhost:7233` |
152152

153-
> Optional extras: `pip install -e ".[temporal]"` for Temporal, `".[eval]"` for evaluation, `".[embeddings]"` for local embeddings. See [`.env.template`](.env.template) for the complete, annotated reference.
153+
> Optional extras: `pip install -e ".[temporal]"` for Temporal, `".[eval]"` for evaluation, `".[embeddings]"` for local embeddings. See [`.env.template`](https://github.com/shyftlabs/continuum/blob/main/.env.template) for the complete, annotated reference.
154154
155155
## 🧩 Components
156156

@@ -169,27 +169,27 @@ Continuum is configured through environment variables (copy [`.env.template`](.e
169169

170170
Full documentation lives at **[docs.continuum.shyftlabs.io](https://docs.continuum.shyftlabs.io/)** — guides for building & running agents, Smart Inference, memory, tools/MCP, workflows, handoffs, streaming, evaluation, and the research behind it.
171171

172-
Markdown sources are also in [`docs/`](docs/) if you prefer reading on GitHub — e.g. [`agent.md`](docs/agent.md), [`memory.md`](docs/memory.md), [`tools.md`](docs/tools.md), and the integration [`GUIDE.md`](docs/GUIDE.md).
172+
Markdown sources are also in [`docs/`](https://github.com/shyftlabs/continuum/tree/main/docs) if you prefer reading on GitHub — e.g. [`agent.md`](https://github.com/shyftlabs/continuum/blob/main/docs/agent.md), [`memory.md`](https://github.com/shyftlabs/continuum/blob/main/docs/memory.md), [`tools.md`](https://github.com/shyftlabs/continuum/blob/main/docs/tools.md), and the integration [`GUIDE.md`](https://github.com/shyftlabs/continuum/blob/main/docs/GUIDE.md).
173173

174174
## 🧪 Examples
175175

176-
Runnable demos live under [`playground/`](playground/):
176+
Runnable demos live under [`playground/`](https://github.com/shyftlabs/continuum/tree/main/playground):
177177

178178
- **`gateway-local-shop`** — an MCP server + agent + chat UI for a pet-shop assistant (end-to-end: server → agent → UI).
179179
- **`gateway-multi-agent-shop`** — a multi-agent workflow variant with routing and handoffs.
180180
- **`frontend/`** — the demo web UIs (`assortment`, `commerce-chat`).
181181

182182
## 🤝 Contributing
183183

184-
Contributions are welcome! Please read [`CONTRIBUTING.md`](CONTRIBUTING.md) for the branch model, Conventional Commits, DCO sign-off, and local setup. By participating you agree to our [Code of Conduct](CODE_OF_CONDUCT.md).
184+
Contributions are welcome! Please read [`CONTRIBUTING.md`](https://github.com/shyftlabs/continuum/blob/main/CONTRIBUTING.md) for the branch model, Conventional Commits, DCO sign-off, and local setup. By participating you agree to our [Code of Conduct](https://github.com/shyftlabs/continuum/blob/main/CODE_OF_CONDUCT.md).
185185

186-
- 🐛 **Bugs & features** — use the [issue templates](.github/ISSUE_TEMPLATE)
186+
- 🐛 **Bugs & features** — use the [issue templates](https://github.com/shyftlabs/continuum/tree/main/.github/ISSUE_TEMPLATE)
187187
- 💬 **Questions & ideas**[GitHub Discussions](https://github.com/shyftlabs/continuum/discussions)
188-
- 🔒 **Security** — report privately via [`SECURITY.md`](SECURITY.md), never a public issue
188+
- 🔒 **Security** — report privately via [`SECURITY.md`](https://github.com/shyftlabs/continuum/blob/main/SECURITY.md), never a public issue
189189

190190
## 📄 License
191191

192-
Licensed under the [Apache License, Version 2.0](LICENSE). Copyright © 2025–2026 [ShyftLabs Inc.](https://shyftlabs.io/)
192+
Licensed under the [Apache License, Version 2.0](https://github.com/shyftlabs/continuum/blob/main/LICENSE). Copyright © 2025–2026 [ShyftLabs Inc.](https://shyftlabs.io/)
193193

194194
For commercial / enterprise inquiries — SLAs, indemnification, hosted offerings, custom features — contact **[continuum@shyftlabs.io](mailto:continuum@shyftlabs.io)**.
195195

0 commit comments

Comments
 (0)