semvec/pypi-packages huggingface dataset:
arglabels 0.0.6
A simple decorator to enable Swift-like argument labels for Python functions.

# arglabels

[![Build Status](https://travis-ci.com/michael-harms/arglabels.svg?branch=master)](https://travis-ci.com/michael-harms/arglabels) [![License: MIT](https://img.shields.io/pypi/l/arglabels)](https://github.com/michael-harms/arglabels/blob/master/LICENSE)

A simple decorator to enable Swift-like argument labels for Python functions.

It re-labels certain keyword arguments, so that your function parameters can have an external and an internal name like [argument labels and parameter names](https://docs.swift.org/swift-book/LanguageGuide/Functions.html#ID166) in Swift.

## Installation

Install from PyPI with:

```
pip install arglabels
```

## Usage

If you have a function like the following:

```python
def invite(name, activity):
    return f"Hey {name}! Would you like to go {activity}?"
```

When calling that function it would be nice to have a syntax that almost reads like plain english, for example:

```python
invite("Alex", to_go="fishing")
```

You can achieve this with the arglabels decorator, by using it on the function definition like so:

```python
from arglabels import arglabels

@arglabels(activity="to_go")
def invite(name, activity):
    return f"Hey {name}! Would you like to go {activity}?"
```
shift-tool 3.1.0
Not an encryption tool

# shift ![Tests](https://github.com/ewpratten/shift/workflows/Python%20package/badge.svg) ![Installation](https://github.com/ewpratten/shift/workflows/PIP%20Installation/badge.svg)
Not an encryption tool

Shift was designed to store non-critical text data in such a way that only keyholders could reconstruct a useful message. Following the cryptography community's rule of "Never roll your own encryption", I am specifically not calling this an encryption tool. 
I have found that through some basic testing, with a reasonable key, breaking this encoding is not easy for the average teenage 1337 haxxor, but I cannot say anything for it's durability against an experienced code breaker. If you find a way to break this, open up an issue, or contact me via email (any pull requests that can strengthen the tool are welcome too).

This tool is still under development, and may not be backwards compatible with itself in the near future. 

## Installation
To install this tool and library, use PIP:
```sh
# Install shift
pip3 install shift-tool

# Run shift
shift2 -h
```

NOTE: the executable is named `shift2` not `shift`.

## Usage

### Commandline
Shift's commandline tool has two modes:
```sh
# Encode
shift2 /path/to/input/file your_key_here > output.shift

# Decode
shift2 -d /path/to/encoded/file your_key_here > output.txt
```

### Library
You can also integrate shift2 into your own program with the library that is automatically installed with the commandline tool.

```python
import shift2.shcrypt as s2c

# Inputs
my_key = "hello_shift"
my_message = "I'm shifty"

# Generate shifted key
key = s2c.key2shifts(my_key)

# Encode the message
data = s2c.encode(my_message, key)

# Print out the encoded message
print(data)

# To decode, just use s2c.decode instead of s2c.encode
```

## Speed
By using Python's `cProfile` tool, we can see the time required to encode and decode `example.txt`. This file contains 50 paragraphs generated by [lipsum.com](https://www.lipsum.com), using the key `ewpratten`:
```
Encoding:
         117661 function calls (117578 primitive calls) in 0.065 seconds
Decoding:
         151991 function calls (151904 primitive calls) in 0.092 seconds
```

To run your own speed tests, use the `time.sh` script.

## Querks
The first interesting thing about shift, is that the key can be randomly modified during encoding. This means that the message and key could actually encode eachother (this was done in my first implementation but produced files >1GB from the word "hello")

Binary data must be b64 encoded before being passed through the encoder due to python safety checking unicode data.

## Development
### Deploying to PIP
To deploy shift to PIP, use:
```
pip3 uninstall shift-tool
./deploy.sh
pip3 install --no-cache-dir shift-tool
```

## Running locally
This script must be run with:
```sh
python3 -m shift2
```
NOT
```sh
python3 shift2
```
reddit-wall 0.1.1
Download wallpapers from subreddits and multireddits of your choosing.

## Wallpaper Downloader for Reddit

This program downloads wallpapers from subreddits and multireddits of your choosing.

### Configuration

The configuration file is located at `~/.config/reddit-wall.conf`.

Since this relies on [PRAW](https://praw.readthedocs.io/en/latest/index.html), you'll need to get an API key, secret, and user agent. The instructions on how to do that can be found [here](https://github.com/reddit-archive/reddit/wiki/OAuth2-Quick-Start-Example#first-steps). Once you have this info, the program should pick up your PRAW config from your [praw.ini](https://praw.readthedocs.io/en/latest/getting_started/configuration/prawini.html#praw-ini) file automatically.

You'll also need a client id and secret from Imgur. Instructions for that are [here](https://apidocs.imgur.com/?version=latest). If you don't provide an api key, it will simply skip imgur albums when downloading.
BinConverter 1.0.4
BinConverter - GUI that will allow the user to convert the raw (.bin) files from Axona's Tint software to their normal Tint format

# BinConverter

This is a GUI developed to aid those individuals using Axona' LLC's Tint software for spike sorting. The GUI will take the raw (.bin) files and convert them to the Tint format (.eeg, .egf, .N, etc) retroactively. This can be done using DacqUSB, however this GUI will allow you to batch convert, as well as it will allow you to retroactively choose a threshold. This is beneficial as depending on the timeframe of your recording, the signal can deviate and the threshold you set in the beginning of the recording might no longer be suitable. As of now the threshold is a multiple (chosen by the user) of the standard deviation of the baseline signal.



### Requirements
- Python: This code was written using Python 3.7, however the compatibility really only depends on PyQt5, which requires Python 2.6+. This was written in Python 3 so I suggest getting the latest version of Python2. It will make the installation process easier as PyQt5 used to be a pain to download in the older versions (3.4 for example). If you happen to have problems downloading PyQ5t, you will need to search for a wheel (.whl) file for PyQt5 for your version (of Python and OS).
- Operating System: BinConverter does not technically have any Operating System (OS) requirements. However you have the ability to sort the newly converted data using Tint (KlustaKwik), and Tint does require Windows3. Some Linux users have been starting to use this, so I have been working out any bugs that maybe be caused by Linux. The .set file is encoded in cp1252, which Python does not default to when reading text files.

### Python Dependencies
- BinConverter
- BatchTINTV3
- NumPy
- PyQt5
- PyQt5-sip
- SciPy

### Project Documentation
- [Installation](https://geba.technology/project/binconverter)
- [User Guide](https://geba.technology/project/binconverter-binconverter-user-guide)


## Authors
* **Geoff Barrett** - [Geoffâ€™s GitHub](https://github.com/GeoffBarrett)

## License
This project is licensed under the GNU  General  Public  License - see the [LICENSE.md](LICENSE.md) file for details