semvec/pypi-packages huggingface dataset:
project-async 0.0.1rc105.post1
Sample Python Project for creating a new Python Async Client for a new API
Requires Python: >=3.11

# Python Async API Client

This have in mind to start developing API clients for Home Assistant to be 100% asynchronous

## How to Use it?

Fork this repository by using it as a template.

## Structure

This package provides good defaults for any API client code that is split on the following modules:

-   **`errors.py`**: module that define the custom errors the API and/or client would be returning to their users.
-   **`model.py`**: definition of the API data model. All returned objects from the clients would be defined here.
-   **`client.py`**: the logic around calling the API

## Development

To start developing with this package, fork it, create a virtual environment and install all the dependencies needed for development.

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install '.[dev]'
```

## Best Practices

This package provides already an skeleton with some best practices when starting developing your API client.

1.  100% async from the start: Home Assistant runs its main logic using an asynchronous engine, and having 3rd party clients running async can have performance benefits and ease of integration on new and existing components.
2.  A `aiohttp.ClientSession` should always to be a constructor argument (so a session and connection pool can be shared between multiple clients). The template already provides a class constructor to create the Client without any initial `ClientSession` in case it is not available.
3.  The output of each API endpoint is a typed `Model` that is build as a dataclass and can be parsed from a JSON response or a nested dictionary. This ensures the consumer of the API outputs can take benefits from the benefits dataclasses provide like readaibility on its structure and field types.
4.  The whole library is annotated with Python types so type checkers can help us detect errors early on rather than at runtime.
meteoswiss-async 0.1.1rc56.post1
Asynchronous client for MeteoSwiss API.
Requires Python: >=3.11

# Python Async API Client

This have in mind to start developing API clients for Home Assistant to be 100% asynchronous

## How to Use it?

Fork this repository by using it as a template.

## Structure

This package provides good defaults for any API client code that is split on the following modules:

-   **`errors.py`**: module that define the custom errors the API and/or client would be returning to their users.
-   **`model.py`**: definition of the API data model. All returned objects from the clients would be defined here.
-   **`client.py`**: the logic around calling the API

## Development

To start developing with this package, fork it, create a virtual environment and install all the dependencies needed for development.

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install '.[dev]'
```

## Best Practices

This package provides already an skeleton with some best practices when starting developing your API client.

1.  100% async from the start: Home Assistant runs its main logic using an asynchronous engine, and having 3rd party clients running async can have performance benefits and ease of integration on new and existing components.
2.  A `aiohttp.ClientSession` should always to be a constructor argument (so a session and connection pool can be shared between multiple clients). The template already provides a class constructor to create the Client without any initial `ClientSession` in case it is not available.
3.  The output of each API endpoint is a typed `Model` that is build as a dataclass and can be parsed from a JSON response or a nested dictionary. This ensures the consumer of the API outputs can take benefits from the benefits dataclasses provide like readaibility on its structure and field types.
4.  The whole library is annotated with Python types so type checkers can help us detect errors early on rather than at runtime.
hamkit 0.0.1a4
A command-line interface for various ham radio tools.
Requires Python: >=3.10

# HamKit

[![PyPI - Version](https://img.shields.io/pypi/v/hamkit.svg)](https://pypi.org/project/hamkit)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/hamkit.svg)](https://pypi.org/project/hamkit)

---

The `hamkit` package installs ALL `HamKit` submodules, and provides a command-line interface to demonstrate HamKit functionality.

```console
pip install hamkit
```

At present, HamKit includes the following submodules:

| Package                                                | Version                                                           | Description                                                                        |
| ------------------------------------------------------ | ----------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| [itu_prefixes](https://pypi.org/project/itu-prefixes/) | ![PyPI - Version](https://img.shields.io/pypi/v/itu-prefixes.svg) | Tools for working with ITU call sign prefixes (e.g., to look up country of origin) |

## Command-line Interface

`hamkit` provides a command-line interface to demonstrate HamKit functionality. Invoke it as follows:

```console
Syntax:
python -m hamkit COMMAND [ARGS..]

Available commands, and their arguments:

    help                   show *this* help message

    itu_prefixes [QUERY],  where QUERY is a call sign, prefix, or 2-letter
                           country code (e.g., itu_prefixes KK7CMT)
```

For example:

```
user@HOST:~$ python -m hamkit itu_prefixes KK7CMT

SUBROUTINE: call_sign_to_country('KK7CMT'):
If KK7CM is a call sign, then it was likely issued by:

  ITU Prefix: K
  Country Name: United States
  Country Code: US
```

## License

`hamkit` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.