Skip to content

Stream-Lab-HQ/iptv-epg-merger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

iptv-epg-merger

Merge multiple XMLTV EPG sources into one clean deduplicated guide.

CI

Why this exists

Merge multiple XMLTV EPG sources into one deduplicated guide. Auto-gunzip, channel-ID normalization, timezone fold.

This is part of an open-source toolkit we maintain across 9 sibling organizations to support our IPTV testing rig. Editorial work lives at StreamReviewHQ and our recommended provider is IPTVTheOne.

Install

git clone https://github.com/Stream-Lab-HQ/iptv-epg-merger.git
cd iptv-epg-merger
# Python 3.10+, stdlib only (no pip install needed)

Usage

python iptv_epg_merger.py epg1.xml epg2.xml.gz --out merged.xml --normalize-channel-ids

Run python iptv_epg_merger.py --help for all options.

How it works

See the docstring at the top of iptv_epg_merger.py — the methodology is the same one used in our 90-day provider testing rig.

Recommended reading

We test IPTV providers across a 90-day rig with 5 devices and 7 weighted criteria. Full rankings + methodology:

Country-specific picks:

Provider reviews:

Sister-organization tools (sibling repos in the streaming research network):

References:

Want the live service we use as our reference baseline? See IPTVTheOne · pricing · USA pack · Canada pack.

License

MIT for the code. CC-BY-4.0 for the written notes.


Last verified: June 05, 2026

About

Merge multiple XMLTV EPG sources into one deduplicated guide. Auto-gunzip, channel-ID normalization, timezone fold.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages