semvec/pypi-packages huggingface dataset:
realtimex-cli-mcps 1.0.8
Add your description here
Requires Python: >=3.11

# realtimex-cli-mcps

A brief description of your project.

## Installation

```bash
pip install realtimex-cli-mcps
```

## Usage

```bash
run-cli-as-mcps
```

## Using as an MCP with UVX

To run your CLI as an MCP server using `uvx` with a specific configuration, you can define it in your `mcpServers` configuration. Here's an example based on your provided setup:

```json
{
  "mcpServers": {
    "realtimex-cli-mcps": {
      "command": "uvx",
      "args": [
        "--from",
        "realtimex-cli-mcps",
        "run-cli-as-mcps"
      ],
      "env": {
        "OPENAI_API_KEY": "",
        "OPENAI_BASE_URL": "",
        "TOOL_PACKAGES": "[{\"name\": \"ansiweather@latest\"}, {\"name\": \"doctranslate_translate\"}]"
      }
    }
  }
}
```

```json
{
  "mcpServers": {
    "realtimex-cli-mcps": {
      "command": "uvx",
      "args": [
        "--from",
        "realtimex-cli-mcps",
        "run-cli-as-mcps"
      ],
      "env": {
        "OPENAI_API_KEY": "",
        "OPENAI_BASE_URL": "",
        "TOOL_PACKAGES": "[{\"cmd\": [\"uvx\", \"cowsay\"], \"doc_str\": \"\", \"help_cmd\": [\"uvx\", \"cowsay\", \"-h\"], \"name\": \"cowsay\"}]"
      }
    }
  }
}
```

```json
{
  "mcpServers": {
    "realtimex-cli-mcps": {
      "command": "uvx",
      "args": [
        "--from",
        "realtimex-cli-mcps",
        "run-cli-as-mcps"
      ],
      "env": {
        "OPENAI_API_KEY": "",
        "OPENAI_BASE_URL": "",
        "TOOL_PACKAGES": "[{\"name\": \"ansiweather@latest\"}, {\"cmd\": [\"npx\", \"-y\", \"weather-cli\", \"weather\"], \"doc_str\": \"Usage\\n    $ weather <input>\\n\\n  Options\\n    --city, -c City you want to lookup weather for (add state code after city name if city exists in multiple places)\\n    --country, -C Country you want to lookup weather for\\n    --scale, -s Weather scale. Defaults to Celcius\\n    --help Show this help message\\n    --version Display version info and exit\\n    config Set the default location and scale\\n\\n  Examples\\n    $ weather -c Dhaka -C Bangladesh\\n    Dhaka, Bangladesh\\n    Condition: Partly Cloudy\\n    Temperature: 32\\u00b0C\\n\\n    $ weather config -c Dhaka -C Bangladesh -s F\\n    Default location set to Dhaka, Bangladesh and scale to F\", \"help_cmd\": [], \"name\": \"weather-cli\"}, {\"cmd\": [\"uvx\", \"cowsay\"], \"doc_str\": \"\", \"help_cmd\": [\"uvx\", \"cowsay\", \"-h\"], \"name\": \"cowsay\"}, {\"name\": \"doctranslate_translate\"}]"
      }
    }
  }
}
```

This configuration tells `uvx` how to launch your `realtimex-cli-mcps` as an MCP server, specifying the exact command, arguments (including the Git repository for the source), and environment variables like `TOOL_PACKAGES` which defines the available tools for your MCP server.

## Development

1. Clone the repository:
   ```bash
   git clone https://github.com/your-username/realtimex-cli-mcps.git
   ```
2. Install the dependencies:
   ```bash
   pip install -e .
   ```

## License

This project is licensed under the terms of the [MIT license](LICENSE).
snip-python 0.3.1
Python package to interface with Snip Lab Notebook 
Requires Python: >=3.10

# Snip

![PyPI - Version](https://img.shields.io/pypi/v/snip-python?logoColor=green&color=%234bc51d)
[![Documentation Status](https://readthedocs.org/projects/snip-python/badge/?version=latest)](https://snip-python.readthedocs.io/en/latest/?badge=latest)

Python Package of quality of life and helper functions to interface with the Snip Lab Book. Allows to create and upload snippets with relative ease. Store and retrieve api tokens, and more.

## Features

<!-- start features -->

- **Token management**: Store and retrieve api tokens in a secure keyring or in a configuration files.
- **Python API**: Python API to create and upload snippets to your lab books.
- **CLI**: Command line interface to interact with the Snip API.
- **API Wrappers**: Wrappers for the Snip API to make requests and handle responses.

<!-- end features -->

## Quickstart

<!-- start quickstart -->

Snip is distributed on [PyPI]. To use the package:

1. Install the package using pip:

```bash
pip install snip-python
```
2. Use the `snip` command line interface (CLI) to interact with your lab books. For example, you can use the `snip token` command to store and retrieve your API tokens.

```bash
snip token --help
```

3. Create and upload snippets to your lab books programmatically using the Python API.

```python
from snip.snippets import ImageSnip

snip = ImageSnip.from_path("path/to/image.png", book_id="[YOUR_BOOK_ID]")

# show a preview of the snippet
snip.preview()
```

If you need help figuring out where to find the book id, please have a look [here](https://snip-python.readthedocs.io/en/latest/tokens.html#how-to-find-the-book-id).

```python
# upload the snippet
snip.upload()
```

The upload will automatically search your tokens in the keyring or in the configuration file and use the correct token to upload the snippet.

[pypi]: https://pypi.org/project/snip-python/

<!-- end quickstart -->


For more information, visit [documentation][quickstart-docs].

[quickstart-docs]: https://snip-python.readthedocs.io/en/latest/quickstart.html
superauth 0.0.2
APIs and MCP Server for Enterprise Apps like Google, Notion, Hubspot...
Requires Python: >=3.10

# SuperAuth

Simplest way to use authenticate enterprise apps and services like Google, Notion, Hubspot, Apollo, etc. 🚀

MCP server coming soon.

## Quick Start

### Install

**Recommended:**

The recommended method of installing `SuperAuth` is with pip from PyPI.

```bash
pip install superauth
```

**Latest:**

You can also install the latest bleeding edge version (could be unstable) of `SuperAuth`, should you feel motivated enough, as follows:


```bash
pip install git+https://github.com/celestoai/SuperAuth.git
```

Setup your API keys in the environment variables:

```bash
APOLLO_API_KEY=your_apollo_api_key
```


### Apollo.io Example

Find contacts in your Apollo.io account by keywords.

```python
from superauth.apollo_io import Apollo

apollo = Apollo()
response = apollo.contact.search("John Doe")
print(response)
```

### Google API

Authenticate Gmail or Google Calendar to read, and send emails or send a calendar invite.

```python
from superauth.google import GmailAPI, load_user_credentials

# Load your saved credentials
creds = load_user_credentials("credentials.my_google_account.json")

# Direct tool usage
gmail = GmailAPI(creds)
messages = gmail.search_messages(query="from:github.com", limit=10)
```


## How to run tests

`uv run pytest`
pymetaf 1.1.1
A python package for parsing metar & taf raw text
Requires Python: >=3.7

# pymetaf

[![Python package](https://github.com/cnmetlab/pymetaf/actions/workflows/python-package.yml/badge.svg)](https://github.com/cnmetlab/pymetaf/actions/workflows/python-package.yml)
[![PyPI version](https://badge.fury.io/py/pymetaf.svg)](https://badge.fury.io/py/pymetaf)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/Clarmy/pymetaf/issues)

This is a python package to parse raw METAR and TAF report text.

## Installation

1. Clone this repository and run `$ python setup.py install` in your terminal.
2. Use Pip `$ pip install pymetaf`

## Usage

### Parse METAR text

```python
>>> from pymetaf import parse_text

>>> text = 'METAR ZYAS 250500Z 21009G14MPS 6000 NSC 18/08 Q1018 NOSIG'

>>> parse_text(text, 2021, 5)
{'kind': 'METAR',
 'icao': 'ZYAS',
 'datetime': '2021-05-25T05:00:00+00:00',
 'wind_direction': 210,
 'wind_direction_units': 'degree',
 'wind_speed': 9,
 'wind_speed_units': 'm/s',
 'gust': 14,
 'wind_direction_range': None,
 'cavok': False,
 'visibility': 6000,
 'visibility_units': 'm',
 'temperature': 18,
 'dew_temperature': 8,
 'temperature_units': 'degree C',
 'qnh': 1018,
 'qnh_units': 'hPa',
 'cloud': [{'cloud_mask': 0,
   'cloud_height': None,
   'cloud_height_units': 'm',
   'cloud_type': None}],
 'weather': ['Clear Sky'],
 'auto': False}
```

### Validate METAR format

**🎉 100% Detection Rate** - Validated on 120,727 real-world anomalous METAR reports!

```python
>>> from pymetaf import validate_metar

>>> # Valid METAR
>>> metar = "METAR ZBAA 311400Z 01002MPS CAVOK 14/12 Q1009 NOSIG="
>>> is_valid, error_msg = validate_metar(metar)
>>> print(is_valid)
True

>>> # Invalid METAR (wrong QNH format)
>>> metar = "METAR ZBTJ 290200Z 35009MPS CAVOK M04/M27 Q102NOSIG="
>>> is_valid, error_msg = validate_metar(metar)
>>> print(is_valid)
False
>>> print(error_msg)
Invalid QNH format: Q102NOSIG

>>> # Strict mode (no RMK allowed)
>>> metar_with_rmk = "METAR RCMQ 230900Z 25008KT 9999 FEW010 Q1009 NOSIG RMK A2982="
>>> is_valid, error_msg = validate_metar(metar_with_rmk, strict_mode=True)
>>> print(is_valid)
False
>>> print(error_msg)
RMK remarks section not allowed in strict mode
```

The validator can detect **30+ types** of format errors including:
- Missing/invalid report type, ICAO code, time group
- Wind group errors (format, spacing, units)
- QNH format errors
- Invalid characters and line breaks
- Spelling errors (EMPO, ECMG, NOSI, OSIG, etc.)
- RMK section anomalies
- And many more...

Enjoy it!