semvec/pypi-packages huggingface dataset:
gpioone 0.1.0
Interfaces for various GPIO devices on Raspberry PI

# GPIO One

GPIO One is an unofficial user-created set of modules to allow you to
easily use various input/output devices on your Raspberry Pi when the
default library and GPIOzero don't have any useful code. It hopes to
fill in some of the blanks that keep you from getting your projects up
and running quickly and smoothly.

It currently provides interfaces to:

* Three colored RGB Leds.
* Seven Segement LED displays such as single-element 5161AS and 4-element SH5461AS
* LCD Displays such as the 1602A
* Shift registers such as 74HC595
* Analog-to-Digital via the MCP3008/4 chip line. And built on top of the raw ADC, interfaces for:
    * Analog Joysticks
    * Thermistors

## Examples

The example files use environment variables to set pins so that we
will not accidentally send something down the wrong pin and damage
equipment. So for example, if you have a Common-cathode RGB LED set up
with the Cathode tied to ground, and the Red, Green, and Blue pins to
GPIO 4, 5, and 6 (with a 220 Ohm Resistor in between each connection!)
then you can simply go to the examples directory,  run
`RED=4 GREEN=5 BLUE=6 python3 rgb_led.py` and the LED should come to life.

Each example can be run without environment variables for instructions and a description:

```
pi@raspberrypi:~/src/gpioone/examples $ python3 rgb_led.py 
Couldn't find required environment setting fo RED pin.

Simple examples with RGB LEDs.

It will first turn on the LEDs one by one, then enter a color cycle mode that uses software PWM to create a glowing light.

These are the required settings which should correspond to pins on devices:

    RED - Red Pin
    GREEN - Green Pin
    BLUE - Blue Pin

Example Usage:

    RED=1 GREEN=2 BLUE=3 python3 /home/pi/src/gpioone/gpioone/example_help.py

pi@raspberrypi:~/src/gpioone $ 

```

## Thanks

Gpioone was primarily written to help the author learn more about
interfacing various hardware with the Raspberry Pi. I have made
attempts to write clear, easy-to-follow code that should be generally
reusable. How useful this is to anyone else remains to be seen. Let me
know if you find it helpful!

- Grant
Podd 0.1.19
A Podcast downloader

# Podd: a CLI podcatcher

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)

If you're anything like me, you listen to a lot of podcasts.  I like to archive all of my favorites on my home server, 
where I serve them to all my various devices via Plex.  I looked around for a podcatcher that would manage my podcasts 
and could be run as a cron job, but I didn't find anything that really met my needs.  So I decided to write my own.

Podd uses [feedparser](https://pypi.org/project/feedparser/) to parse RSS feeds, a sqlite3 database to store 
subscription info, and [mutagen](https://mutagen.readthedocs.io/en/latest/) for basic tagging functionality, plus it
 sends you an email letting you know which episodes were downloaded, along with a summary of each episode.  

## Installation
#### PYPI
`pip install podd`

#### Git
1. `git clone https://github.com/jakkso/Podd.git`
2. `cd Podd`
3. `pip3 install -r requirements.txt` to install dependencies.
4. Configure `settings.py`
	* 	I use a spare Gmail account to send the notification email messages, if you plan on doing the same, the `host` 
	and `port` values are fine.  Using app-specific passwords like I'm doing here is a bit of a security risk, which is 
	why I recommend not using your main Gmail account.  If you want to go this route,  you'll need to enable 
	[app-specific passwords](https://support.google.com/accounts/answer/185833?hl=en).  Note: the password is stored in
	the OS keyring.
	* By default, `database` setting places the sqlite database in the same directory as `settings.py`.  If you want to 
	put it someplace else, just change that line to where you want it to be.


### Requirements
* Python 3.6+ (F-strings are the bomb!)
* Some *nix flavor.  It runs on the latest version of MacOS and Ubuntu with no problems, but I lack a working windows 
installation to test.  If you want to port it, go nuts.

## Usage

In your terminal of choice, enter `podd` followed by one of the following switches:

| Argument | Description |
| --- | --- |
| `--help` | Print help menu |
| `v` | Prints version number |
| `dl` | Run download routine |
| `email` | Run email credential storage routine.  Password is stored in OS keyring.|
| `ls` | Print list of subscriptions |
| `add [--all] [--file] $FEED` | Subscribe to podcast with an rss feed url.  
|`--all` | If set, then all available episodes will be downloaded when `download` command is run.|
|`--file`| If set, `$FEED` will be treated as a file with a single RSS feed URL per line and `podd` will attempt to add each line as a separate RSS feed URL.|
| `rm` | Display the deletion menu |
| `dir $DIR` | Set download directory.  The default download directory is `$HOME/Podcasts` | 
| `opt` | Prints currently set options |


### Adding Protected Feeds

When adding a new feed protected by http basic authentication, `podd` will ask for your username
and password, and store the credentials in your OS keyring.

##### License
GPL v2.0, see LICENSE.txt