Metadata-Version: 2.1
Name: pyCEC
Version: 0.5.1
Summary: Provide HDMI CEC devices as objects, especially for use with Home Assistant
Home-page: https://github.com/konikvranik/pycec/
Author: Petr Vraník
Author-email: hpa@suteren.net
License: MIT
Keywords: cec hdmi home-assistant
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Utilities
Classifier: Topic :: Home Automation
Classifier: Topic :: Multimedia
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
License-File: LICENSE

|Build Status| |PyPi Version| |Issue Count| |Coverage Status|

``pyCEC``
=========

Purpose of this project is to provide object API to libcec for
home-assistant hdmi\_cec module as `primary
goal <https://github.com/konikvranik/pyCEC/projects/1>`__ and to make
TCP <=> HDMI bridge to control HDMI devices over TCP network as a
`secondary goal <https://github.com/konikvranik/pyCEC/projects/2>`__.

``libcec`` dependency [1]_
--------------------------

`libcec <https://github.com/Pulse-Eight/libcec>`__ must be installed [2]_ for
this module to work in direct mode. Follow the installation instructions
for your environment, provided at the link.  ``libcec`` installs Python 3
bindings by default as a system Python module. If you are running ``pyCEC`` in a *Python virtual
environment*, make sure it
can access the system module, by either symlinking it or using the
``--system-site-packages`` flag.

.. [1] \:bulb: When using ``pyCEC`` as a network client, ``libcec`` is not needed.
.. [2] \:warning: Do not use ``pip3 install cec``. This will fail. `Compile <https://github.com/Pulse-Eight/libcec#supported-platforms>`__ ``libcec`` instead.

running server
--------------

You can run ``pyCEC`` server which will provide bridge between HDMI CEC port
and TCP network by exexcuting ``python3 -m pycec``. Server will bind to
default port ``9526`` on all interfaces.

Then you can connect by client part of ``pyCEC`` without need of libcec or
HDMI port on client's machine. Just use ``TcpAdapter`` instead of
``CecAdapter``.

You can also connect to ``9526`` by `NetCat <https://www.wikiwand.com/en/Netcat>`_ and send CEC commands directly.

.. |PyPi Version| image:: https://img.shields.io/pypi/v/pyCEC
   :target: https://pypi.org/project/pyCEC/
.. |Build Status| image:: https://github.com/konikvranik/pyCEC/workflows/Tests/badge.svg
   :target: https://github.com/konikvranik/pyCEC/actions
.. |Issue Count| image:: https://img.shields.io/github/issues-raw/konikvranik/pyCEC
   :target: https://github.com/konikvranik/pyCEC/issues
.. |Coverage Status| image:: https://img.shields.io/coveralls/github/konikvranik/pyCEC
   :target: https://coveralls.io/github/konikvranik/pyCEC
