semvec/pypi-packages huggingface dataset:
chemrecommender 0.0.1
A standalone module to build a recommender pipeline

# recommendation_engine
Repo for the recommendation engine that was part of the DRP project


## Recommender Pipeline

Steps to implement a recommender pipeline
(Specific implementation of this pipeline is available in ./recommender/recommender_pipeline.py)

1. Generate reaction features
    - Get the chemicals in a reaction. For DRP these are referred to as triples
    - Generate descriptors for each of the chemicals in the reaction
    - Generate a sampling grid of reaction parameters
    - Expand grid by associating descriptors with each point on the grid

2. Run trained models with the reaction Sieve
    - Get a trained machine learning model
    - Filter sampling grid by running it through the ML model
    - Make a list of all the potentially successful reactions
      as predicted by the ML model

3. Recommend reactions
    - Calculate the mutual information of the potential reactions
      as compared to the already completed reactions
    - Select the top 'k' reactions with the highest MI


### Progress

- [x] Generate Reaction features
- [x] Reaction Sieve
- [x] Reaction Recommender
- [ ] Test and evaluate against Nature paper
quackmyip 0.2.2
Updates your IP address for your Duck DNS domain

### quackmyip

Keep your public IP address updated, when using the [DuckDNS](https://www.duckdns.org/) service. 

##### Requirements
In order to work, this program, needs the following Python 3 libraries:
* [requests](http://docs.python-requests.org/en/master/) (tested with v2.12.4)
* [urllib3](https://urllib3.readthedocs.io/en/latest/)  (tested with v1.19.1)

#### Installation
You can use `pip` to install it:
```
pip install quackmyip
```

##### Syntax
```
usage: quackmyip [-h] FILE

Update your IP address for your duckdns registered domain

positional arguments:
  FILE        The configuration file to use

  optional arguments:
    -h, --help  show this help message and exit

```
For its usage, it's recommended to create a daily cron job!.

##### Configuration
Prior to its usage, a configuration file must be created, as shown in the following example:
```
[duckdns]
token = [YOUR_TOKEN]
domain = [YOUR_DOMAIN]

```
Homie3 0.3.0
Homie 3.0.1 Implementation
Keywords: HOMIE,MQTT

# Homie

Python implementation of Homie 3.0.1

Class based system to easily add Homie 3.0.1 support to devices.

Install

~~~~
pip install Homie3
~~~~


EG. To create a dimmer device requires that a set_dimmer method be provided. When creating a device, all that is required is to provide the MQTT settings. All other requirements of the Homie specification are automatically handled.

~~~~
import time

from homie.device_dimmer import Device_Dimmer

mqtt_settings = {
    'MQTT_BROKER' : 'QueenMQTT',
    'MQTT_PORT' : 1883,
}

class My_Dimmer(Device_Dimmer):

    def set_dimmer(self,percent):
        print('Received MQTT message to set the dimmer to {}. Must replace this method'.format(percent))
        super().set_dimmer(percent)        

try:

    dimmer = My_Dimmer(name = 'Test Dimmer',mqtt_settings=mqtt_settings)

    while True:
        dimmer.update_dimmer(0)
        time.sleep(5)
        dimmer.update_dimmer(50)
        time.sleep(5)
        dimmer.update_dimmer(100)
        time.sleep(5)

except (KeyboardInterrupt, SystemExit):
    print("Quitting.")      


~~~~