semvec/pypi-packages huggingface dataset:
apiio 1.0.4
Local API Documentation & Analytics Dashboard with OTP Authentication
Requires Python: >=3.9

# API.io

API.io is a complete local API management dashboard with secure OTP authentication. 

## Features


✅ Secure email OTP authentication system
- Send 6-digit OTP code to any email address
- OTP expires after 15 minutes
- Valid OTP cannot be reused
- Session management (24 hour sessions)

✅ Complete UI included:
- Beautiful landing page
- Email login page
- OTP verification page
- Full API Dashboard
- API Key Management
- API Documentation with code examples
- Usage Analytics with interactive charts
- Mobile responsive design

## Installation

```bash
pip install apiio
brewse 0.3.0
An interactive TUI browser for Homebrew packages
Requires Python: >=3.7

# Brewse

An interactive TUI (Terminal User Interface) browser for Homebrew packages. Brewse provides a fast, user-friendly way to search, view, and install or uninstall Homebrew packages.

## Installation

### Using Homebrew (recommended)

```bash
brew install jonasjancarik/tap/brewse
```

## Usage

Launch Brewse in one of two ways:

1. Interactive search mode:
```bash
brewse
```

2. Direct search mode:
```bash
brewse <search-term>
```

### Command-line Options

```bash
brewse --help            # Show all available options
brewse --version         # Show version number
brewse --refresh         # Force refresh of cached package data
brewse --clear-cache     # Clear all cached data and exit
```

## Cache

Brewse caches package data in `~/.cache/brewse/` to improve performance. Cache entries expire after 24 hours.

## Alternative Installation Methods

### Using pip

```bash
pip install brewse
```

### Using pipx or uvx

Run in an isolated environment with pipx:

```bash
pipx install brewse
```

Or run instantly without installation using uvx:

```bash
uvx brewse
```

**Note:** uvx requires [uv](https://docs.astral.sh/uv/) to be installed first:

```bash
brew install uv
```

## Development & Releases

### Release Process

Brewse uses automated releases with GitHub Actions:

1. **Update version** in `pyproject.toml` and `src/brewse/__init__.py`
2. **Build and publish to PyPI:**
   ```bash
   uv build
   uv publish
   ```
3. **Create a GitHub release:**
   ```bash
   gh release create v0.3.0 --generate-notes
   ```

The GitHub Action will automatically:
- Download the tarball from PyPI
- Calculate the SHA256 hash
- Update the Homebrew tap formula
- Push changes to the `homebrew-tap` repository

See [.github/AUTOMATION_SETUP.md](.github/AUTOMATION_SETUP.md) for setup details. (Useful if you want to fork this repo, obviously you will need to change the GitHub username.)

### Manual Tap Update

If needed, you can manually update the Homebrew tap:

```bash
cd ~/homebrew-tap
./update-formula.sh 0.3.0
```

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
zbarlight 4.0
A simple zbar wrapper
Requires Python: >=3.10
Keywords: zbar, QR code reader

ZbarLight
=========

``zbarlight`` is a simple wrapper for the zbar library. For now, it can read all zbar supported codes. Contributions,
suggestions and pull requests are welcome.

``zbarlight`` is hosted on Github at <https://github.com/Polyconseil/zbarlight/>.

Installation
============

You need to install ZBar Bar Code Reader <http://zbar.sourceforge.net/> and its headers before installing ``zbarlight``.

On Debian
~~~~~~~~~

.. code-block:: console

    $ apt-get install libzbar0 libzbar-dev
    $ pip install zbarlight

On Mac OS X
~~~~~~~~~~~

.. code-block:: console

    $ brew install zbar
    $ export LDFLAGS="-L$(brew --prefix zbar)/lib"
    $ export CFLAGS="-I$(brew --prefix zbar)/include"
    $ pip install zbarlight

On Windows
~~~~~~~~~~

Instruction can be found on <https://gist.github.com/Zephor5/aea563808d80f488310869b69661f330>.

How To use ZbarLight
====================

.. code-block:: python

    from PIL import Image
    import zbarlight

    file_path = './tests/fixtures/two_qr_codes.png'
    with open(file_path, 'rb') as image_file:
        image = Image.open(image_file)
        image.load()

    codes = zbarlight.scan_codes(['qrcode'], image)
    print('QR codes: %s' % codes)

Troubleshooting
===============

In some case ``zbarlight`` will not be able to detect the 1D or 2D code in an image, one of the known cause is that the
image background color is the same as the foreground color after conversion to grey scale (it's happen on images with
alpha channel). You can use the ``copy_image_on_background`` function to add a background color on your image.

.. code-block:: python

    from PIL import Image
    import zbarlight

    file_path = './tests/fixtures/two_qr_codes.png'
    with open(file_path, 'rb') as image_file:
        image = Image.open(image_file)
        image.load()

    new_image = zbarlight.copy_image_on_background(image, color=zbarlight.WHITE)  # <<<<<<<<<<<<<<<< Add this line <<<<
    codes = zbarlight.scan_codes(['qrcode'], new_image)
    print('QR codes: %s' % codes)

Some other cases without known solutions are show in the ``scan_codes()`` tests (search for the expected failures). Any
clues on these cases is welcome.