Skip to content

Commit 8989b0d

Browse files
teng-linclaude
andcommitted
fix(pypi): README documentation links now work on PyPI
- Add hatch-fancy-pypi-readme for build-time link transformation - Convert relative links to version-tagged GitHub URLs at build time - Relative links (e.g., docs/troubleshooting.md) become absolute URLs pointing to the exact installed version (/blob/v0.1.3/docs/...) - Add prominent source repository link for PyPI users - Bump version to 0.1.3 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 064a278 commit 8989b0d

File tree

4 files changed

+40
-5
lines changed

4 files changed

+40
-5
lines changed

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [0.1.3] - 2026-01-10
11+
12+
### Fixed
13+
- **PyPI README links** - Documentation links now work correctly on PyPI
14+
- Added `hatch-fancy-pypi-readme` plugin for build-time link transformation
15+
- Relative links (e.g., `docs/troubleshooting.md`) are converted to version-tagged GitHub URLs
16+
- PyPI users now see links pointing to the exact version they installed (e.g., `/blob/v0.1.3/docs/...`)
17+
- **Development repository link** - Added prominent source link for PyPI users to find the GitHub repo
18+
1019
## [0.1.2] - 2026-01-10
1120

1221
### Added
@@ -104,7 +113,8 @@ This is the initial public release of `notebooklm-py`. While core functionality
104113
- **Authentication expiry**: CSRF tokens expire after some time. Re-run `notebooklm login` if you encounter auth errors.
105114
- **Large file uploads**: Files over 50MB may fail or timeout. Split large documents if needed.
106115

107-
[Unreleased]: https://github.com/teng-lin/notebooklm-py/compare/v0.1.2...HEAD
116+
[Unreleased]: https://github.com/teng-lin/notebooklm-py/compare/v0.1.3...HEAD
117+
[0.1.3]: https://github.com/teng-lin/notebooklm-py/compare/v0.1.2...v0.1.3
108118
[0.1.2]: https://github.com/teng-lin/notebooklm-py/compare/v0.1.1...v0.1.2
109119
[0.1.1]: https://github.com/teng-lin/notebooklm-py/compare/v0.1.0...v0.1.1
110120
[0.1.0]: https://github.com/teng-lin/notebooklm-py/releases/tag/v0.1.0

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
1111
[![Tests](https://github.com/teng-lin/notebooklm-py/actions/workflows/test.yml/badge.svg)](https://github.com/teng-lin/notebooklm-py/actions/workflows/test.yml)
1212

13+
**Source & Development**: <https://github.com/teng-lin/notebooklm-py>
14+
1315
> **⚠️ Unofficial Library - Use at Your Own Risk**
1416
>
1517
> This library uses **undocumented Google APIs** that can change without notice.

pyproject.toml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[project]
22
name = "notebooklm-py"
3-
version = "0.1.2"
3+
version = "0.1.3"
44
description = "Unofficial Python client for Google NotebookLM API"
5-
readme = "README.md"
5+
dynamic = ["readme"]
66
requires-python = ">=3.10"
77
license = {text = "MIT"}
88
authors = [
@@ -50,9 +50,32 @@ all = ["notebooklm-py[browser,dev]"]
5050
notebooklm = "notebooklm.notebooklm_cli:main"
5151

5252
[build-system]
53-
requires = ["hatchling"]
53+
requires = ["hatchling", "hatch-fancy-pypi-readme"]
5454
build-backend = "hatchling.build"
5555

56+
[tool.hatch.metadata.hooks.fancy-pypi-readme]
57+
content-type = "text/markdown"
58+
59+
[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
60+
path = "README.md"
61+
62+
# Convert relative doc links to version-tagged absolute URLs
63+
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
64+
pattern = '\]\(docs/'
65+
replacement = '](https://github.com/teng-lin/notebooklm-py/blob/v$HFPR_VERSION/docs/'
66+
67+
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
68+
pattern = '\]\(CHANGELOG\.md\)'
69+
replacement = '](https://github.com/teng-lin/notebooklm-py/blob/v$HFPR_VERSION/CHANGELOG.md)'
70+
71+
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
72+
pattern = '\]\(SECURITY\.md\)'
73+
replacement = '](https://github.com/teng-lin/notebooklm-py/blob/v$HFPR_VERSION/SECURITY.md)'
74+
75+
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
76+
pattern = '\]\(LICENSE\)'
77+
replacement = '](https://github.com/teng-lin/notebooklm-py/blob/v$HFPR_VERSION/LICENSE)'
78+
5679
[tool.hatch.build.targets.wheel]
5780
packages = ["src/notebooklm"]
5881

src/notebooklm/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
See docs/troubleshooting.md for guidance on handling API changes.
1414
"""
1515

16-
__version__ = "0.1.2"
16+
__version__ = "0.1.3"
1717

1818
# Public API: Authentication
1919
from .auth import DEFAULT_STORAGE_PATH, AuthTokens

0 commit comments

Comments
 (0)