Reads daily zodiac horoscopes aloud - provider skill for ovos-common-reading-pipeline-plugin
Project description
Horoscope Readings (provider)
A provider skill for ovos-common-reading-pipeline-plugin, reading daily zodiac horoscopes aloud.
Sourced from freehoroscopeapi.com - a free, open REST API, no API key required.
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.
Install
pip install ovos-skill-horoscope-readings ovos-common-reading-pipeline-plugin
How this provider is architecturally different
Every other provider in this family scrapes or fetches a list of titles, caches it, and refreshes it periodically. This one doesn't - the 12 zodiac signs never change, so they're the entire "index", hardcoded and static. Only the actual horoscope text needs a live API call, made fresh every time (no caching), since it's different every day and the request is cheap and fast (a plain JSON REST call, no scraping).
Translation - two different mechanisms for two different things
- Zodiac sign names ("Leo", "Løven", "Löwe", "Lion", ...) - fixed,
well-known, enumerable terms, bundled per-language in
locale/<lang>/zodiac_signs.jsonrather than relying on a live translation plugin for individual out-of-context words (which risks poor-quality single-word translations). Falls back to the English names for any language without a bundled translation. - The horoscope text itself - genuinely dynamic daily content, so
this does use live translation, same pattern as
ovos-skill-ovosblog/ovos-skill-arxiv-papers/ovos-skill-365tomorrows-stories. Disclosed via"machine_translated": true/falsein the search response.
Like those three translating providers, this one always loads
regardless of device language (no SUPPORTED_LANGUAGES gate) -
collection_hint aliases are loaded from locale/<lang>/collection.voc
with an English fallback for any language we haven't translated - see
ovos-common-reading-pipeline-plugin#26.
No "surprise me"
Unlike a story provider, a search with a matching collection_hint
but no specific sign named declines to respond rather than picking
one at random - reading someone the wrong zodiac sign's horoscope isn't
a fun surprise, it's just wrong. You have to actually name a sign
("read me my Leo horoscope").
Collection hints
Responds to collection_hint values in the device's own language -
e.g. "horoscope"/"zodiac"/"astrology" on English, "horoskop"/
"stjernetegn" on Danish - matched fuzzily against that language's own
alias list (see locale/<lang>/collection.voc).
Content type
Identifies as content_type: "horoscope" or "astrology". A search
with a content_type hint for anything else gets no response from this
provider.
A regression worth knowing about
Early testing found ovos_utils.parse.match_one() picking "Pisces"
for the phrase "leo horoscope" - its character-overlap scoring got
confused by incidental shared letters once an extra word ("horoscope")
was in the phrase, the same class of false positive as "andrew lang"
scoring high against "andersen" elsewhere in this project. Fixed with
_match_sign(): since zodiac names are a small, fixed, single-word
vocabulary, an exact whole-word match is tried first, only falling back
to fuzzy match_one() for near-misses (e.g. a slightly misheard STT
transcription).
Credits
Content sourced from freehoroscopeapi.com - free and open, no API key required.
Category
Entertainment
Tags
#horoscope #astrology #zodiac #provider
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ovos_skill_horoscope_readings-0.1.0.tar.gz.
File metadata
- Download URL: ovos_skill_horoscope_readings-0.1.0.tar.gz
- Upload date:
- Size: 28.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a78e5c95a48af88eaf6e0c06315e7111101381545314a8e58207431393a97118
|
|
| MD5 |
f782c2791462d3ec57a76dc4c1f88b11
|
|
| BLAKE2b-256 |
b31741c53e19f2ead14c1e8086875b550c602759e02a852f8796e5e6dad50842
|
Provenance
The following attestation bundles were made for ovos_skill_horoscope_readings-0.1.0.tar.gz:
Publisher:
publish.yml on andlo/ovos-skill-horoscope-readings
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ovos_skill_horoscope_readings-0.1.0.tar.gz -
Subject digest:
a78e5c95a48af88eaf6e0c06315e7111101381545314a8e58207431393a97118 - Sigstore transparency entry: 2218623118
- Sigstore integration time:
-
Permalink:
andlo/ovos-skill-horoscope-readings@7b30848c3c28ce595e96f7919e4322655e6a70e4 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/andlo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7b30848c3c28ce595e96f7919e4322655e6a70e4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ovos_skill_horoscope_readings-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ovos_skill_horoscope_readings-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ac328656529b2fd6f93c4bf1a460dfe969f61c8dca70a02db345464bae7b85d
|
|
| MD5 |
186d97b5a06ea2c60ff25ea748867004
|
|
| BLAKE2b-256 |
e02980500ab09ac2ea21368f37429dd8a24a35489902e1ddabd2b22974607978
|
Provenance
The following attestation bundles were made for ovos_skill_horoscope_readings-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on andlo/ovos-skill-horoscope-readings
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ovos_skill_horoscope_readings-0.1.0-py3-none-any.whl -
Subject digest:
1ac328656529b2fd6f93c4bf1a460dfe969f61c8dca70a02db345464bae7b85d - Sigstore transparency entry: 2218623150
- Sigstore integration time:
-
Permalink:
andlo/ovos-skill-horoscope-readings@7b30848c3c28ce595e96f7919e4322655e6a70e4 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/andlo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7b30848c3c28ce595e96f7919e4322655e6a70e4 -
Trigger Event:
push
-
Statement type: