semvec/pypi-packages huggingface dataset:
pithermalcam 1.0.0
A package which connects an MLX90640 Thermal IR Camera to a Raspberry Pi for viewing or web streaming.
Requires Python: >=3.6
Keywords: raspberry pi mlx90640 thermal camera ir flir

# README #

Documentation of the pithermalcam project and accompanying [PyPI package](https://pypi.org/project/pithermalcam/), which connects an MLX90640 thermal camera up to a Raspberry Pi. (Built on a Pi 4)

Setup based primarily off the articles [by Joshua Hrisko at MakerPortal](https://makersportal.com/blog/2020/6/8/high-resolution-thermal-camera-with-raspberry-pi-and-mlx90640) and by [Валерий Курышев’s under the name Walker2000 at Habr](https://habr.com/en/post/441050/) and flask pieces based on the work of [Adrian Rosebrock at pyimagesearch](https://www.pyimagesearch.com/2019/09/02/opencv-stream-video-to-web-browser-html-page/). Many thanks these people for their great work.

Full details for this project are available at https://tomshaffner.github.io/PiThermalCam/, including comprehensive hardware/software setup, install, usage instructions, and examples of potential results. A cursory overview for development purposes only is included here.

### Manual Install/Setup ###

This section discusses software setup only, and assumes you have hardware set up, the MLX90640 correctly wired up, I2C turned on, and the I2C baudrate increased to 400k. Refer to the above full details link for detailed instructions on both the hardware and software installs.

The below install is for manual operation of the library. For the Pip install from PyPi skip the below and simply execute `pip3 install pithermalcam`.

1. Install, using apt-get, the following items:
libatlas-base-dev
python-smbus
i2c-tools

2. Install remaining requirements using either:
a. 
    pip3 install the requirements.txt
or
b. 
    pip3 install the requirements_without_opencv.txt

    Download, build, and install OpenCV locally (painstaking process, but results in more optimized code.).

    Install cmapy using --no-deps pip3 flag to avoid installing OpenCV via pip3.


### Usage ###

#### Pip Library Install ####

If you install the library via Pip you can follow the usage shown in the examples folder to see usage instructions.

#### Clone library locally ####
If you wish to clone the library, execute this clone command:

`git clone -b master --single-branch https://github.com/tomshaffner/PiThermalCam.git`

This clones the code without cloning the pictures for the accompanying article (which take up excessive space).

To operate from here:

1. Copy the icons to your desktop and make executable.

or

2. Run the files directly in python3:

Run pithermalcam/web_server.py to set up a flask server and stream live video over the local network.

Run pithermalcam/pi_therm_cam.py to display the video feed onscreen.

Check sequential_versions folder for sequential running approaches that are easier to track/follow (i.e. sequential running rather than object-oriented classes). These are less robust, but can be easier to understand/track/edit, particularly for those coming from a scientific background. Again, refer to the link at top for a detailed discussion.
pyvise 0.1.0
A small authentication package using FastAPI and magic
Requires Python: >=3.7

# Pyvise: A FastAPI implementation of account authorization

This project aims to implement authentication using FastAPI and JWT
to enable authenticated requests to a backend.

## Setup

### Prerequisites

A magic.link account

### Environment

A sample app using magic.link and gatsby can be seen in the tests/
directory


```python

```
## Overview

### Backend Model

The backend uses graphql to communicate with a Hasura graphql instance.  I'm using Hasura
as a reference design.



# Reference Design (https://devhints.io/devise)

## Model
```ruby
create_table :account_profiles do |t|
  t.database_authenticatable
  t.confirmable
  t.recoverable
  t.rememberable
  t.trackable
  t.timestamps
end
```

## Helpers

user_signed_in?
current_user
user_session
destroy_user_session_path (Logout)
new_user_session_path (Login)
edit_user_registration_path (Edit registration)
new_user_registration_path (Register new user)

# Middleware 
# before_filter :authenticate_user!
## Routes
 # Session routes for Authenticatable (default)
    #      new_user_session GET  /users/sign_in                    {:controller=>"devise/sessions", :action=>"new"}
    #          user_session POST /users/sign_in                    {:controller=>"devise/sessions", :action=>"create"}
    #  destroy_user_session GET  /users/sign_out                   {:controller=>"devise/sessions", :action=>"destroy"}
   
    # # Password routes for Recoverable, if User model has :recoverable configured
    #     new_user_password GET  /users/password/new(.:format)     {:controller=>"devise/passwords", :action=>"new"}
    #    edit_user_password GET  /users/password/edit(.:format)    {:controller=>"devise/passwords", :action=>"edit"}
    #         user_password PUT  /users/password(.:format)         {:controller=>"devise/passwords", :action=>"update"}
    #                       POST /users/password(.:format)         {:controller=>"devise/passwords", :action=>"create"}
   
    # # Confirmation routes for Confirmable, if User model has :confirmable configured
    # new_user_confirmation GET  /users/confirmation/new(.:format) {:controller=>"devise/confirmations", :action=>"new"}
    #     user_confirmation GET  /users/confirmation(.:format)     {:controller=>"devise/confirmations", :action=>"show"}
    #                       POST /users/confirmation(.:format)     {:controller=>"devise/confirmations", :action=>"create"}
thinkindicator 0.1.2
Tiny widget to control your ThinkPad's fan speed
Requires Python: >=3.6

## ThinkIndicator

Has automatic fan control of your ThinkPad made your knees flame and bodily fluids boil?

Maybe you're fine with your laptop running hot but you want to quickly switch it to full fan speed, get to bed with it and get no burns?

Look no further!

This little indicator (taskbar widget) will let you change the fan speed with just a scroll over it.

### Requirements

* Python>3.6
* Linux with acpi_thinkpad module (if you don't know what it is, you have it)
* pygobject
* libappindicator
* Root access (if you know how to bypass that, let me know)
* Obviously, an IBM/Lenovo ThinkPad

#### Enabling fan control

Check if you have `/proc/acpi/ibm/fan` file in your system. If not, try loading acpi_thinkpad module with command `modprobe acpi_thinkpad`.

The next step is enabling manual control over the fans. Create file `/etc/modprobe.d/50-thinkfan.conf` with content `options thinkpad_acpi fan_control=1`.

Reboot and you're all set.

#### pygobject

An appropriate package is called python3-gobject in SUSE and Fedora, python3-gi in Debian and Ubuntu, python-gobject in Arch btw.

#### libappindicator

An appropriate package is called libappindicator3-1 in most distros, libappindicator-gtk3 in Arch.

### Installation & Usage

ThinkIndicator can be installed from [PyPI](https://pypi.org/project/thinkindicator/) with command `pip install thinkindicator`. You can then run it with command `thinkindicator`.

You can also download it from git:

```sh
git clone https://github.com/przemub/thinkindicator
cd thinkindicator
./start.sh
```

Start ThinkIndicator using your preferred method. You should see a number or letter signifying the current fan status in your taskbar. Click on it to change the mode. If you are in a manual mode (signified by a number) then you can scroll on the indicator to change the speed level.

If shit hits the fan (haha) let me know via the Issues tab.

## Disclaimer

THIS SOFTWARE IS DISTRIBUTED UNDER NO RESPONSIBILITY ACCEPTED FOR THE RESULTS OF ITS USAGE, INCLUDING BUT NOT LIMITED TO FRYING YOUR LAPTOP, TESTICLES OR OVARIES.