Skip to main content

TV Guide Grabber for North America

Project description

gracenote2epg - TV Guide Grabber for North America

📦 PyPI Status: Publication pending - Install from GitHub for now

A modern Python implementation for downloading TV guide data from tvlistings.gracenote.com with intelligent caching and TVheadend integration.

Python 3.7+ License: GPL v3 GitHub PyPI

🌟 Key Features

  • XMLTV Standard Compliant - Full DTD compliance for maximum compatibility
  • Intelligent Caching - 95%+ cache efficiency with smart refresh strategies
  • Multi-language Support - Automatic French/English/Spanish detection and translations
  • TVheadend Integration - Seamless channel filtering and matching
  • Unified Cache Management - Streamlined configuration for all retention policies
  • Platform Agnostic - Auto-detection for Raspberry Pi, Synology NAS, and Linux

🚀 Quick Start

📦 Note: PyPI publication is pending. Currently install from source (see Installation Guide)

Installation

# ⏳ PyPI publication pending - Install from source for now:

# Method 1: Clone and install
git clone https://github.com/th0ma7/gracenote2epg.git
cd gracenote2epg
pip install .[full]

# Method 2: Install directly from GitHub
pip install git+https://github.com/th0ma7/gracenote2epg.git[full]

# 🔮 Future PyPI installation (once published):
# pip install gracenote2epg[full]

Basic Usage

# Show capabilities (XMLTV standard)
tv_grab_gracenote2epg --capabilities

# Download 7 days of guide data
tv_grab_gracenote2epg --days 7 --zip 92101

# Test lineup detection
tv_grab_gracenote2epg --show-lineup --zip 92101

Configuration

The script auto-creates a configuration file on first run. Basic setup:

<?xml version="1.0" encoding="utf-8"?>
<settings version="5">
  <setting id="zipcode">92101</setting>        <!-- Your ZIP/postal code -->
  <setting id="lineupid">auto</setting>        <!-- Auto-detect lineup -->
  <setting id="days">7</setting>               <!-- Guide duration -->
</settings>

📚 Documentation

Advanced Topics

🆘 Need Help?

  1. Check the troubleshooting guide
  2. Test your lineup: tv_grab_gracenote2epg --show-lineup --zip YOUR_CODE
  3. Enable debug logging: tv_grab_gracenote2epg --debug --console
  4. Create an issue with logs

🛠️ Quick Examples

# Canadian postal code with console output
tv_grab_gracenote2epg --days 3 --postal J3B1M4 --console

# Save to custom file with debug info
tv_grab_gracenote2epg --days 7 --zip 92101 --output guide.xml --debug

# Use specific lineup (auto-extracts location)
tv_grab_gracenote2epg --days 7 --lineupid CAN-OTAJ3B1M4

# Disable language detection
tv_grab_gracenote2epg --days 7 --zip 92101 --langdetect false

📋 System Requirements

  • Python: 3.7 or higher
  • Required: requests>=2.25.0
  • Optional: langdetect>=1.0.9 (language detection), polib>=1.1.0 (translations)

📄 License

GPL v3 - Same as original script.module.zap2epg project

🙏 Credits

Based on edit4ever's script.module.zap2epg with enhancements and modern Python architecture.


View Changelog | Report Issues | Contribute

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gracenote2epg-1.5.tar.gz (112.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gracenote2epg-1.5-py3-none-any.whl (139.8 kB view details)

Uploaded Python 3

File details

Details for the file gracenote2epg-1.5.tar.gz.

File metadata

  • Download URL: gracenote2epg-1.5.tar.gz
  • Upload date:
  • Size: 112.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gracenote2epg-1.5.tar.gz
Algorithm Hash digest
SHA256 2db1879d1c242326645f9839abb31405efd5ef6ed97a65eaf3da291b327a0dbb
MD5 30e69bbe42a8f57ab4eed69e0f1d5a9a
BLAKE2b-256 6a3270af30b416781bf778d16870c6f4c4dcbf0c16bc4de20de473c61d65ba71

See more details on using hashes here.

Provenance

The following attestation bundles were made for gracenote2epg-1.5.tar.gz:

Publisher: publish.yml on th0ma7/gracenote2epg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gracenote2epg-1.5-py3-none-any.whl.

File metadata

  • Download URL: gracenote2epg-1.5-py3-none-any.whl
  • Upload date:
  • Size: 139.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gracenote2epg-1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4369388a5d3cf6c5fd98e1bcefa21be7beb901dbc4f48aa3d27ca15862e60fc9
MD5 6e469fe8f0d2abe1f22d6de61f6f1ded
BLAKE2b-256 573a75fed81d9e3360ed8107c9312300d8ee617383d9fe056b818e922f2c0091

See more details on using hashes here.

Provenance

The following attestation bundles were made for gracenote2epg-1.5-py3-none-any.whl:

Publisher: publish.yml on th0ma7/gracenote2epg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page