Andrew Lang Tales (provider)
A provider skill for ovos-common-reading-pipeline-plugin, delivering Andrew Lang's twelve "Coloured" Fairy Books.
"These fairy tales are the oldest stories in the world." — Andrew Lang, preface to The Green Fairy Book
This skill has no standalone voice interface. It registers no intents and never speaks. It only answers ovos.common_reading.* bus messages, so you also need ovos-common-reading-pipeline-plugin installed and added to your pipeline config for it to be useful at all.
English only, no translation. Unlike
ovos-skill-andersen-tales/ovos-skill-grimm-tales(real per-language sources) orovos-skill-ovosblog/ovos-skill-arxiv-papers(machine-translated), this provider has no non-English content and does not attempt to translate - the stories themselves are long, literary prose, where per-request machine translation is both expensive and a much bigger quality risk than translating a short blog post or paper abstract (see ovos-common-reading-pipeline-plugin#5 for the reasoning). Your OVOS device's language needs to be set to English (en-*) to use this provider at all - on any other language, the skill never loads (see "Languages" below).
Install
pip install ovos-skill-andrew-lang-tales ovos-common-reading-pipeline-plugin
Story index
Unlike the other providers here, the story index (title, book, author,
Project Gutenberg anchor per story) is bundled with this package
(locale/en-us/index.json), not scraped live - browsing/matching needs
no internet at all. Only fetching a specific story's actual text (once
chosen) needs a live request to Project Gutenberg.
382 stories across 11 of Andrew Lang's 12 "Coloured" Fairy Books
(the 12th, the Olive Fairy Book, uses an incompatible page-based
anchor scheme on Gutenberg and isn't included - tracked as a known gap,
see scripts/build_lang_index.py's docstring).
The index was built once via scripts/build_lang_index.py, which:
- Fetches Andrew Lang's master index (Gutenberg ebook #30580)
- Repairs anchors for books Gutenberg has since re-published with a different scheme (Red and Brown Fairy Books)
- Validates every entry actually extracts real text before including it
Languages
English only. Andrew Lang's Fairy Books are sourced from Project
Gutenberg in English; no other language editions exist for this
collection, and this provider makes no attempt to machine-translate (see
the note above). On any other device language, this provider never
loads at all: initialize() checks the device's language against
SUPPORTED_LANGUAGES = {"en"} before loading the index or registering
any bus events, and logs a clear message explaining why, rather than
loading fully and declining searches at runtime. Set your OVOS device's
language to English (en-*) to use this provider.
Collection hints
Responds to collection_hint values like "andrew lang", "lang", "the
fairy books", matched fuzzily (see COLLECTION_ALIASES in
__init__.py). "lang" alone is short enough to be worth double-checking
for false positives - verified via match_one against "grimm",
"andersen", "arxiv", "language", etc.
Content type
Identifies as content_type: "story" or "tale". A search with a
content_type hint for anything else (e.g. "article", "paper") gets no
response from this provider.
Credits
Content sourced from Project Gutenberg. Scraping/extraction logic ported from ovos-skill-worldtales (archived - this provider supersedes it).
Category
Entertainment
Tags
#stories #fairytales #gutenberg #provider
Release files for ovos-skill-andrew-lang-tales 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ovos_skill_andrew_lang_tales-0.1.4.tar.gz | 32.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ovos_skill_andrew_lang_tales-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.6 kB
Release files / ovos_skill_andrew_lang_tales-0.1.4.tar.gz
| Download URL | ovos_skill_andrew_lang_tales-0.1.4.tar.gz |
|---|---|
| Size | 32.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01e6753229e955d913313265c77f28f601524a9dc7ba64a94d2060af9af6f53f
|
|
BLAKE2b-256 checksum How to use checksums |
7300c809cc88509eff5df89cf63d25ca951005423ce69b53d4e22143f055ece5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.
Transparency logRelease files / ovos_skill_andrew_lang_tales-0.1.4-py3-none-any.whl
| Download URL | ovos_skill_andrew_lang_tales-0.1.4-py3-none-any.whl |
|---|---|
| Size | 27.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f3e73ca6ee6d823539449dc3cc9a8afa64c29b7253f5d08a5da47bee15938edf
|
|
BLAKE2b-256 checksum How to use checksums |
1fcc514431f5d249ca2ff27a9df44b8a1dd5c086d76fd91aa2516616c923af8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 25, 2026.
Transparency log