semvec/pypi-packages huggingface dataset:
identify-browser 1.0.0
A function that accepts a user agent string (and, optionally, Sec-CH-UA and Sec-CH-UA-Platform headers) and returns its best guess at the browser name, version, and platform.

A Python function that accepts a user agent string (and, optionally,
``Sec-CH-UA`` and ``Sec-CH-UA-Platform`` headers) and returns its best guess at
the browser name, version, and platform.

Motivation
==========

I wanted to be able to tell users all of the devices they were logged in on,
and I wanted the information being displayed to be as accurate as possible.

While looking for a solution, I learned that using just a user agent string was
not enough and neither was using just client hints.

For more information, see https://github.com/ua-parser/uap-core/issues/452

Why Is Using Just a User Agent String Not Enough?
=================================================

Sometimes browsers identify themselves in their ``Sec-CH-UA`` header but not
their user agent string. Brave is an example of this (except for the iOS
version, which does not send ``Sec-CH-UA`` or ``Sec-CH-UA-Platform`` headers).

Why Is Using Just Client Hints Not Enough?
==========================================

Sometimes browsers identify themselves in their user agent string but not their
``Sec-CH-UA`` header. The Android version of Ecosia is an example of this (its
``Sec-CH-UA`` header says that it is Chromium). In addition, some browsers do
not send ``Sec-CH-UA`` or ``Sec-CH-UA-Platform`` headers.

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

.. code-block:: bash

    pip install identify_browser

Usage
=====

.. code-block:: python

    from identify_browser import identify_browser

    # These values could come from anywhere. For example, in Django, they could come from:
    #
    # request.headers.get("User-Agent", "")
    # request.headers.get("Sec-Ch-Ua", "")
    # request.headers.get("Sec-Ch-Ua-Platform", "")
    user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
    sec_ch_ua = '"Not/A)Brand";v="8", "Chromium";v="126", "Brave";v="126"'
    sec_ch_ua_platform = '"Windows"'

    browser_identity = identify_browser(user_agent, sec_ch_ua, sec_ch_ua_platform)
    print(f"You appear to be using {browser_identity['name']} {browser_identity['version']} on {browser_identity['platform']}")
    # Output: You appear to be using Brave 126 on Windows
formbox 1.0.0
Format mbox as HTML/XML
Requires Python: >=3.6
Keywords: email, format, html, mbox, template, xml

# formbox

This tiny script formats an [mbox] file or a [maildir] as HTML or XML.
It is intended for rendering email replies on web sites and their [RSS] feed.

## Prerequisites

This Python package depends on [nh3] for HTML sanitization
and [mistune] for rendering Markdown to HTML.  It is, however,
not designed to work with HTML emails with all those CSS and Java scripts.

## Installation

It is recommended to install this package from a downstream repository,
such as [nixpkgs].

## Usage

```console
$ formbox --help
usage: formbox [-h] mailbox id template

format mailbox as HTML/XML

positional arguments:
  mailbox     path to mbox file of maildir
  id          root message ID
  template    path to template

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

## Copying

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

[mbox]: https://en.wikipedia.org/wiki/Mbox
[RSS]: https://www.rssboard.org
[nh3]: https://nh3.readthedocs.io
[mistune]: https://mistune.lepture.com
[nixpkgs]: https://search.nixos.org/packages?query=formbox
animefan 1.1.4
A CLI tool for anime quotes and ASCII art

# Animefan

Animefan is a command-line interface (CLI) tool designed for anime enthusiasts. It displays random anime quotes along with ASCII art to brighten your terminal experience. The tool fetches quotes from a predefined file and displays them in a speech bubble, accompanied by randomly selected ASCII art from a specified directory.

## Resources Used
- [Anime Quotes](https://github.com/AnimeQuotesAPI/AnimeQuotesAPI)
-ASCII ART Converter
```
https://github.com/TheZoraiz/ascii-image-converter
```
## Features

- Display random anime quotes from a text file.
- Show ASCII art alongside the quotes.
- Simple and easy to use.

## Requirements

- Python 3.6 or higher
- `requests` library
- `pyfiglet` library

## Installation

### Using `pip`

You can install Animefan using `pip`:

1. Clone the repository:

    ```bash
    git clone https://github.com/arman0333/animefan.git
    cd animefan
    ```

2. Install the package:

    ```bash
    pip install .
    ```

### Manually

1. Download or clone the repository:

    ```bash
    git clone https://github.com/arman0333/animefan.git
    cd animefan
    python __init__.py
    ```

2. Install the required dependencies:

    ```bash
    pip install -r requirements.txt
    ```

## Usage

After installing the package, you can use the `animefan` command to display a random anime quote with ASCII art.

### Running the CLI

Simply open your terminal and type:

```bash
anime-fan
swcpy 0.0.4
Example Software Development Kit (SDK) for educational purposes
Requires Python: >=3.10

# swcpy software development kit (SDK)
This is an example python SDK to to interact with the SportsWorldCentral Football API. This code is for educational purposes.

## Example Usage

To call the SDK functions for normal API endpoints, here is an example:

```python
from swcpy import SWCClient
from swcpy import SWCConfig

config = SWCConfig(url="http://127.0.0.1:8000",backoff=False)
client = SWCClient(config)    
response = client.get_health_check()
print(response)
```
pyenasolar 1.0.0
Library to communicate with EnaSolar inverters
Requires Python: >=3.6

# pyenasolar

This library was created to communicate with EnaSolar solar inverters within Home Assistant.
It is based on the pysma and pysaj components written by @kellerza and @fredericvl

Data regarding the capabilities and serial number are extracted by applying regular expressions
to the javascript in the header of the root and Settings.html web pages.

It was established that requesting the metrics at the same rate as the website i.e. every 1
second for a extended period of time (several hours) resulted in the site denying further requests.
A polling frequency of approx every minute seems to be stable and provides sufficiently
granular data to enable Home Assistant to plot decent graphs.

If the website becomes unresponsive, the only cure found was to reset the inverter by turning
the AC switch off and on again.
strong-passphrase 0.0.1
Generate strong passphrases from the command line.
Requires Python: >=3.9

# Readme

`strong-passphrase` is a simple command line tool written in Python that you can use to randomly generate a strong passphrase.
The tool uses the Python `secrets` library so the random generation should be secure.
We have not made any attempts to scrub the generated password from RAM so if you're worried about some other process getting ahold of it by inspecting memory you should use a different tool.

## Installation

To install the script you will first need to install a version of python after 3.9 and then run the following commands:

```bash
python3 -m pip install pipx
pipx install strong-passphrase
```

You might be wondering "What is `pipx`? Why should I install that?".
`pipx` is a python tool that helps to install python based executables from PyPI.
It installs `strong-passphrase` in it's own virtual environment.
This helps keep dependencies for this tool isolated from other Python tools you might have installed on your system.

## Usage

Simply run `strong-passphrase` and a new randomly generated passphrase will be printed to your terminal.