semvec/pypi-packages huggingface dataset:
frz 0.0.2
Frozen implementations of your favorite collections.
Requires Python: >=3.7

# Freeze


Freeze introduces 3 frozen collections: `FDict`, `FSet` and `FList`.
They are **immutable**, **hashable**, support **type-hinting**, and will attempt to recursively convert mutable 
collections into frozen counterparts on initialization.

### Motivation 
While there are built-in immutable versions for **list** (**tuple**) and **set** (**frozenset**), 
they have some issues:
- **tuple** can store mutable objects so its immutability is not guaranteed.
- **frozenset** can't be initialized with mutable objects.
- **dict** doesn't have a built-in immutable version at all.

### Installation
```shell
pip install frz 
```

### Usage
```python
from freeze import FDict, FList, FSet

a_mutable_dict = {
    "list": [1, 2],
    "set": {3, 4},
}

a_frozen_dict = FDict(a_mutable_dict)

print(repr(a_frozen_dict)) # FDict: {'list': FList: (1, 2), 'set': FSet: {3, 4}}
```

### How Freeze Works
Freezing a collection is achieved by following the following logic recursively:
- Immutable objects (except for collections) stay the same.
- **Mapping** (e.g. **dict**) frozen with **FDict**.
- **Sequence** (e.g. **list** or **tuple**) frozen as **FList**s.
- **AbstractSet** (e.g. **set**) frozen as **FSet**s.
- If any value in the collection can't be frozen, an exception is raised.

### Known Issues:
- Type hints are only accurate as long as no data conversion was performed.

### Future Plans:
- support for thawing frozen collections.
- support for freezing more mutable types.
BMeyn 0.19.2
My project description

# My Project

![banner](https://BMeyn.github.io/temp_python_pkg//docs/images/project-banner.png)

*****

[![HitCount](https://hits.dwyl.com/BMeyn/temp_python_pkg.svg?style=flat-square)](http://hits.dwyl.com/BMeyn/temp_python_pkg)
[![PyPI version](https://badge.fury.io/py/BMeyn.svg)](https://badge.fury.io/py/BMeyn)
[![Tests Status](https://BMeyn.github.io/temp_python_pkg/docs/badget/unittest-badget.svg?dummy=8484744)]()
[![Coverage Status](https://BMeyn.github.io/temp_python_pkg/docs/badget/coverage-badget.svg?dummy=8484744)]()

## Features:

  - Feature 1

  - Feature 2

  - Feature 3


## Install:

```
pip install BMeyn
```

## Usage:

#TODO: Write usage example

## Contribution:

Please feel free to raise issues or contribute to this project. Here are some steps you can follow if you want to make a contribution

1. Clone the project to your own machine
2. Create a feature branch called: "feature/discription_name"
3. Commit changes to your own branch
4. Create tests for your implemenation
5. Create a pull request when you think your feature is ready
6. We will review your feature and give advice or approve it
openhub-api 0.0.352
An open source GUI for the openhub iOT controller.
Requires Python: >=3.6

# OpenHubAPI

A GUI for managing iOT hubs, hardware, and homekit accessory configurations for [OpenHub](https://github.com/ganonp/OpenHub) and [OpenController](https://github.com/ganonp/OpenController).
 

Main features:

* Create, delete, rename OpenHub hubs from one GUI.
* Add and manage hardware to any OpenHub hub on your network with an easy to use interface.
* Collect statistics on hardware readings.
* Create HomeKit Accessories using combinations of hardware outputs, mathmatical transformations, and hardware stats.


## Installation 


```
$ sudo apt-get update
$ sudo apt-get install python3-pip --fix-missing -y
$ sudo python3 -m pip install openhub-api
$ sudo python3 -m OpenHubAPI.install
```

## Configuration / Setup

1. Install OpenHubAPI on a Raspberry Pi.
2. Install [OpenHub](https://github.com/ganonp/OpenHub) on the same or a different device.
3. (Optional) Install  [OpenController](https://github.com/ganonp/OpenController) on a Raspberry Pi Pico and connect to to the OpenHub device.
4. Hub will automatically find and add itself to OpenHubAPI on the same network.
5. Create user on OpenHubAPI
6. Add user to newly added hub.
7. Create and configure hardware.
8. Create and configure channels on hardware.
9. Create and configure accessories with channels.
10. Reboot device running [OpenHub](https://github.com/ganonp/OpenHub).
11. Add accessories to HomeKit.

## UI 


<img width="1622" alt="Screen Shot 2022-01-27 at 3 45 55 PM" src="https://user-images.githubusercontent.com/3904428/151461905-d9f48712-7256-4d01-98a7-02211f3cffd3.png">
<img width="1630" alt="Screen Shot 2022-01-27 at 3 45 20 PM" src="https://user-images.githubusercontent.com/3904428/151461972-b9c5a553-09c5-45f2-b833-a7ff027e07e7.png">
<img width="1635" alt="Screen Shot 2022-01-27 at 3 45 42 PM" src="https://user-images.githubusercontent.com/3904428/151462009-85e4a45e-471f-4c59-9c53-028f1a72450b.png">
modulehooks 1.0.0
Wrapping modules with attribute hooks
Requires Python: >=3.6

# modulehooks

modulehooks is a Python module used to wrap another
module with various hooks that trigger when a variable
is assigned to (for example, `sys.excepthook`). Currently
there is only one type of hook, `FunctionHook`, which
adds the function to a callback list that all gets called
when the hook is called.

This is particularly useful
with attributes such as `sys.excepthook` that could
be overwritten by any other script, and with a
`FunctionHook` all functions that were assigned to it
will be stored and called when needed.

## Example

```py
import sys
from modulehooks import ModuleWrapper, FunctionHook

class SysWrapper(ModuleWrapper):
    excepthook = FunctionHook(sys.excepthook)
    _names = ["excepthook"]
    _restricted = ["__excepthook__"]

wrapper = SysWrapper.create(sys)
sys.modules["sys"] = wrapper
sys = wrapper
```

`_names` is used to declare all hooks that are defined,
`_restricted` is used to declare attributes that cannot
be modified or deleted and `create` creates a wrapper
around the specified module. Remember to modify
`sys.modules` as well otherwise `import` will load the
default Python module and not your custom wrapper.
openhub 0.0.204
An open source iOT controller.
Requires Python: >=3.6

# OpenHub

An open source iOT hub for the HomeKit framework. Works with [OpenHubAPI](https://github.com/ganonp/OpenHubAPI) and [OpenController](https://github.com/ganonp/OpenController). This project is built on [HAP-Python](https://github.com/ikalchev/HAP-python). 

Main features:

* Customizable
* Managed through a GUI via [OpenHubAPI](https://github.com/ganonp/OpenHubAPI)
* Works with the home automation framework [Home Assistant](https://github.com/home-assistant/home-assistant).
* Works with HomeKit and Siri
* Camera works with Raspberry Pi Zero (and more powerful pis) + PiCam

Accessories For:
* Air Temperature
* Soil Temperature
* AC Current
* Liquid Level
* Soil Moisture
* Air Humidity
* Water Pressure
* Air Quality
* Light
* Relays
* Pumps
* Valves
* Camera

Includes code for hardware:
* DHT22
* DS18B20
* VEML7700
* PMSA0013
* MCP3008
* PiCam
* PiPico (requires [OpenController](https://github.com/ganonp/OpenController))

## Installation 

On a Raspberry Pi with a clean version of Raspbian Buster run:
```
$ sudo apt-get update
$ sudo apt-get install python3-pip --fix-missing -y
$ sudo python3 -m pip install openhub
$ sudo python3 -m OpenHub.install
```
When prompted, enter a name for the hub (this will make it easier to find from the OpenHubAPI GUI) and press enter.
Please reboot when prompted.

## Home Assistant Integration 

<img width="1381" alt="garden_hub_home_assistant" src="https://user-images.githubusercontent.com/3904428/142282799-40c58ffb-13dd-4115-ba77-7052f0199957.png">

## Example Hub

![soil_moisture_temp_humidity](https://user-images.githubusercontent.com/3904428/142282859-fffbcc82-ac24-4a6b-afc1-daf44ad1abfe.jpg)
signedjson 1.1.4
Sign JSON with Ed25519 signatures
Keywords: json

Signed JSON
===========

.. image:: https://img.shields.io/pypi/v/signedjson.svg
    :target: https://pypi.python.org/pypi/signedjson/
    :alt: Latest Version

.. image:: https://img.shields.io/travis/matrix-org/python-signedjson.svg
   :target: https://travis-ci.org/matrix-org/python-signedjson


Signs JSON objects with ED25519 signatures.


Features
--------

* More than one entity can sign the same object.
* Each entity can sign the object with more than one key making it easier to
  rotate keys
* ED25519 can be replaced with a different algorithm.
* Unprotected data can be added to the object under the ``"unsigned"`` key.


Installing
----------

.. code:: bash

   pip install signedjson

Using
-----

.. code:: python

    from signedjson.key import generate_signing_key, get_verify_key
    from signedjson.sign import (
        sign_json, verify_signed_json, SignatureVerifyException
    )

    signing_key = generate_signing_key('zxcvb')
    signed_json = sign_json({'my_key': 'my_data'}, 'Alice', signing_key)

    verify_key = get_verify_key(signing_key)

    try:
        verify_signed_json(signed_json, 'Alice', verify_key)
        print 'Signature is valid'
    except SignatureVerifyException:
        print 'Signature is invalid'

Format
------

.. code:: json

    {
        "<protected_name>": "<protected_value>",
        "signatures": {
            "<entity_name>": {
                "ed25519:<key_id>": "<unpadded_base64_signature>"
            }
        },
        "unsigned": {
            "<unprotected_name>": "<unprotected_value>",
        }
    }