semvec/pypi-packages huggingface dataset:
pyCEC 0.5.2
Provide HDMI CEC devices as objects, especially for use with Home Assistant
License: MIT
Keywords: cec hdmi home-assistant

|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.


home-assistant with multiple on/off switches
--------------------------------------------

You can not only add a `hdmi_cec` instance to home-assistant with specified `host` for remote control of your TV, but also add switches for multiple TVs to turn on or off:

.. code-block:: yaml

   switch:
     - platform: telnet
       switches:
         some_device_id:
           name: "Some Device Name"
           resource: xxx.xxx.xxx.xxx
           port: 9526
           command_on: '10:04'
           command_off: '10:36'
           command_state: '10:8f'
           value_template: '{{ value == "01:90:00" }}'
           timeout: 1

.. |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
hawksoft.ptaScore 1.0.1
针对pintia.cn网站教学，生成学生的多次作业成绩总表。
License: MIT
Keywords: pintia,excel

# hawksoft.patScore command

针对pintia.cn网站教学，生成学生的多次作业成绩总表。

## Installation:

```
pip install hawksoft.patScore
```
## usage:
1. 首先“导出”学生的所有作业（或考试）成绩，并集中存放到一个目录下（这里是tests）.
2. 提供一个excel文件，为学生的点名册(这里是names.xlsx).
3. 调用如下命令，结果将会保存到指定的文件中（这里是scores.xlsx)
```
patScore -n names.xlsx -t tests -o scores.xlsx
```
cryptlex-python-sdk 1.0.3
Cryptlex python client for Web APIs
License: MIT
Keywords: Cryptlex Python client SDK

# cryptlex-python-sdk
A client library for accessing Cryptlex Web API

## Usage
First, create a client:

```python
from cryptlex_web_api_client import Client

client = Client(base_url="https://api.example.com")
```

If the endpoints you're going to hit require authentication, use `AuthenticatedClient` instead:

```python
from cryptlex_web_api_client import AuthenticatedClient

client = AuthenticatedClient(base_url="https://api.example.com", token="SuperSecretToken")
```

Now call your endpoint and use your models:

```python
from cryptlex_web_api_client.models import MyDataModel
from cryptlex_web_api_client.api.my_tag import get_my_data_model
from cryptlex_web_api_client.types import Response

my_data: MyDataModel = get_my_data_model.sync(client=client)
# or if you need more info (e.g. status_code)
response: Response[MyDataModel] = get_my_data_model.sync_detailed(client=client)
```

Or do the same thing with an async version:

```python
from cryptlex_web_api_client.models import MyDataModel
from cryptlex_web_api_client.api.my_tag import get_my_data_model
from cryptlex_web_api_client.types import Response

my_data: MyDataModel = await get_my_data_model.asyncio(client=client)
response: Response[MyDataModel] = await get_my_data_model.asyncio_detailed(client=client)
```

By default, when you're calling an HTTPS API it will attempt to verify that SSL is working correctly. Using certificate verification is highly recommended most of the time, but sometimes you may need to authenticate to a server (especially an internal server) using a custom certificate bundle.

```python
client = AuthenticatedClient(
    base_url="https://internal_api.example.com", 
    token="SuperSecretToken",
    verify_ssl="/path/to/certificate_bundle.pem",
)
```

You can also disable certificate validation altogether, but beware that **this is a security risk**.

```python
client = AuthenticatedClient(
    base_url="https://internal_api.example.com", 
    token="SuperSecretToken", 
    verify_ssl=False
)
```

Things to know:
1. Every path/method combo becomes a Python module with four functions:
    1. `sync`: Blocking request that returns parsed data (if successful) or `None`
    1. `sync_detailed`: Blocking request that always returns a `Request`, optionally with `parsed` set if the request was successful.
    1. `asyncio`: Like `sync` but the async instead of blocking
    1. `asyncio_detailed`: Like `sync_detailed` by async instead of blocking

2. All path/query params, and bodies become method arguments.
3. If your endpoint had any tags on it, the first tag will be used as a module name for the function (my_tag above)
4. Any endpoint which did not have a tag will be in `cryptlex_web_api_client.api.default`