Skip to main content

PyChannels!!

This is a simple Python client that lets you talk to the Channels app while it's running.

Installation

You can install PyChannels from PyPi using pip3 install pychannels (use pip if you're still using Python 2).

Usage

Just create a new client and give it the host name of the device that Channels is running on. You can optionally pass in a port, which defaults to 57000.

from pychannels import Channels

client = Channels("192.168.1.192", 57000)

client.pause()
client.resume()
client.stop()

API

All responses return the current status of Channels. You can get this simply with client.status(), but every other method will return it as well.

Status Data

Status data is returned as a simple Dict. Here's an example.

{
  'status': 'paused',
  'muted': False,
  'channel': {
    'number': '35.1',
    'name': 'Fox-HD',
    'image_url': 'http://fanc.tmsimg.com/h5/NowShowing/28719/s28719_h5_aa.png'
  },
  'now_playing': {
    'title': 'The Mick',
    'season_number': 2,
    'episode_number': 16,
    'episode_title': 'The Accident',
    'image_url': 'http://fanc.tmsimg.com/assets/p12900954_b_h6_ad.jpg',
    'summary': 'Chip offers to help Sabrina get a fake ID in exchange for a night out with her and her friends.'
  }
}

Info

You can fetch 2 sets of information from Channels. Its current status and the current set of favorite channels.

Status

client.status()

This returns the result documented above.

Favorite Channels

client.favorite_channels()

This returns an array of channel Dicts. Here's an example.

[{
	'number': '12.1',
	'call_sign': 'WWBT-HD',
	'image_url': 'http://fanc.tmsimg.com/h5/NowShowing/28717/s28717_h5_aa.png',
	'name': 'NBC HD',
	'hd': True
}, {
	'number': '35.1',
	'call_sign': 'Fox-HD',
	'image_url': 'http://fanc.tmsimg.com/h5/NowShowing/28719/s28719_h5_aa.png',
	'name': 'Fox-HD',
	'hd': True
}, {
	'number': '552',
	'call_sign': 'TBS HD',
	'image_url': 'http://fanc.tmsimg.com/h5/NowShowing/58515/s58515_h5_aa.png',
	'name': 'TBS HD',
	'hd': True
}, {
	'number': '570',
	'call_sign': 'ESPN HD',
	'image_url': 'http://fanc.tmsimg.com/h5/NowShowing/32645/s32645_h5_aa.png',
	'name': 'ESPN HD',
	'hd': True
}]

Commands

You can control Channels with these methods.

Toggle Mute

client.toggle_mute

Toggle Captions

client.toggle_cc

Channel Up

client.channel_up

Channel Down

client.channel_down

Previous Channel

client.previous_channel

Jump back to the last watched channel.

Toggle Pause

client.toggle_pause

Toggle Recording

client.toggle_record

Record the program playing on the current channel

Pause

client.pause

Resume

client.resume

Stop

client.stop

Seek By

client.seek_by(seconds)

Seek forward or backward on the timeline with an inputted number of seconds. Negative values go backward.

Seek Forward

client.seek_forward

Seek forward in the timeline by the set number of seconds in Channels.

Skip Forward

client.skip_forward

Skip to the next chapter mark. This is for recordings made with Channels DVR that have their commercials indexed.

Seek Backward

client.seek_backward

Seek backward in the timeline by the set number of seconds in Channels.

Skip Backward

client.skip_backward

Skip to the previous chapter mark. This is for recordings made with Channels DVR that have their commercials indexed.

Play Channel

client.play_channel(channel_number)

Play a channel by passing it the channel number.

Play Recording

client.play_recording(recording_id)

Play a recording from Channels.

Navigate

client.navigate(section)

Change to a section of the app by providing its name. EX, Guide, Library, Live TV

Notify

client.notify(title, message)

Present a notification while playing video.

Contributions

  • fork
  • create a feature branch
  • open a Pull Request

Release files for pychannels 1.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pychannels 1.2.3
File Size Uploaded
pychannels-1.2.3.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pychannels 1.2.3
File Interpreter ABI Platform
pychannels-1.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 10.7 kB

Release files / pychannels-1.2.3.tar.gz

Download URL pychannels-1.2.3.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5142d61daeef3a3db5c61267d810c7dc0597a074fc88e26c634a352a6197a132
BLAKE2b-256 checksum
How to use checksums
ae2f0507b87768ff74d20157bebb00207de8bb7f78e36fb8713a71c0ca45b13b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.1

Release files / pychannels-1.2.3-py3-none-any.whl

Download URL pychannels-1.2.3-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7f7595afcfd42774be80daedde3be0c353f167de706acb93e3555298fb1e2f4
BLAKE2b-256 checksum
How to use checksums
6f73f02ee235768a3ab72b0f24b47bb17d2f267af2a33eb25951844c307ee5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.1

Release history Release notifications | RSS feed

This release

1.2.3 This release

2 release files

1.2.2

2 release files

1.2.1

1 release file

1.2.0

2 release files

1.1.0

1 release file

1.0.0

1 release file

0.2.6

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page