semvec/pypi-packages huggingface dataset:
pythontomaestro 0.1.0
A tool to convert Python automation scripts (Selenium/Appium) to Maestro YAML flows.
Requires Python: >=3.7

# Python to Maestro Converter

A simple tool to convert existing Python automation scripts (Selenium, Appium) into [Maestro](https://maestro.mobile.dev/) YAML flows.

## Installation

```bash
pip install pythontomaestro
```

## Usage

```bash
pythontomaestro <input_file_or_dir> <output_dir>
```

Example:

```bash
pythontomaestro tests/my_test.py output/
```

This will read `tests/my_test.py`, convert the automation steps, and save the resulting YAML flows into the `output/` directory (e.g., `output/test_login_success.yaml`).

## Features

- Parses Python AST to extract automation steps.
- Maps Selenium/Appium commands (click, input, navigate) to Maestro commands (tapOn, inputText, openLink).
- Generates valid Maestro YAML flows.

## ⚠️ Limitations & Manual Review

**Not everything can be converted automatically.**

Python scripts often contain complex logic (loops, conditionals, custom helper methods) that do not map 1:1 to Maestro's declarative YAML syntax.

When the tool encounters such logic, it will:
1.  **Log a warning** in the console.
2.  **Insert a `TODO_UNSUPPORTED_ACTION`** in the generated YAML file.
3.  **Add a top-level warning comment** to the file.

**Example:**

```yaml
# WARNING: This flow contains unsupported actions (TODOs). Manual review required.
- tapOn:
    text: Login
- TODO_UNSUPPORTED_ACTION: 'Unsupported control flow: If statement (Suggestion: Unroll loops or use runScript for simple logic)'
```

**You must manually review the generated YAML files and address any `TODO` items.**
taxi 6.3.2
Taxi: timesheeting made easy
Requires Python: >=3.10

.. image:: https://raw.githubusercontent.com/sephii/taxi/main/doc/images/taxi.png

What is Taxi ?
==============

Taxi is a timesheeting tool that focuses on simplicity to help you write your
timesheets without wasting time. All you'll do is edit a text file and write
down what you've worked on and how long, like so::

    23/01/2014

    pingpong 09:00-10:00 Play ping-pong
    infra         -11:00 Repair coffee machine

You can then get a summary of your timesheet::

    Staging changes :

    # Thursday 23 january #
    pingpong (123/456)             1.00  Play ping-pong
    infra (123/42)                 1.00  Repair coffee machine
                                   2.00

    Total                          2.00

    Use `taxi ci` to commit staging changes to the server

Through the use of backends, Taxi allows you to push your timesheets to
different systems.

Getting started
===============

Refer to the `"Installation" section
<https://taxi-timesheets.readthedocs.io/en/main/userguide.html#installation>`_
in the docs.

.. _supported_backends:

Supported backends
==================

* `zebra <https://github.com/sephii/taxi-zebra>`__ : Liip's zebra backend
* `tempo <https://github.com/alexandreblin/taxi-tempo>`__ : Atlassian JIRA's `Tempo Timesheets <https://tempo.io>`__ backend
* `tipee <https://github.com/alexandreblin/taxi-tipee>`__ : Gammadia's `tipee <https://tipee.ch>`__ backend
* `bexio <https://github.com/alexandreblin/taxi-bexio>`__ : Bexio `Timesheets <https://bexio.com>`__ backend
* `multi <https://github.com/alexandreblin/taxi-multi>`__ : a special backend to push entries over multiple other backends
* `clockify <https://github.com/sephii/taxi-clockify>`__ : backend for the free timesheeting tool `clockify.me <https://clockify.me/>`_

Contrib packages
================

These resources, not part of Taxi core, provide an enhanced experience for certain use cases.

* `Cabdriver <https://github.com/metaodi/cabdriver>`_ (generate taxi entries based on Google Calendar, Slack, etc)
* `Syntax highlighting for VSCode <https://marketplace.visualstudio.com/items?itemName=LeBen.taxi-syntax-highlighting>`_
* `Vim plugin <https://github.com/schtibe/taxi.vim>`_ (features syntax highlighting, auto completion)
peprock 2.0.1
Foundational Python library
Requires Python: >=3.10
Keywords: peprock, datetime, dt, models, patterns, subclasses

# peprock
Foundational Python library

![PyPI - Python Version](https://img.shields.io/pypi/pyversions/peprock)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![codecov](https://codecov.io/gh/Ponte-Energy-Partners/peprock/branch/main/graph/badge.svg?token=LWI96U2WSI)](https://codecov.io/gh/Ponte-Energy-Partners/peprock)
[![test](https://github.com/Ponte-Energy-Partners/peprock/actions/workflows/test.yml/badge.svg)](https://github.com/Ponte-Energy-Partners/peprock/actions/workflows/test.yml)
[![PyPI - Version](https://img.shields.io/pypi/v/peprock)](https://pypi.python.org/pypi/peprock)

**peprock** is a collection of versatile Python libraries, provided as namespace packages:

-   **[peprock.dt][]**: Date/time and related models and helpers.
-   **[peprock.models][]**: General purpose model classes.
-   **[peprock.patterns][]**: Reusable software design patterns.
-   **[peprock.subclasses][]**: Class hierarchy helpers.

  [peprock.dt]: https://api.peprock.ponte.energy/dt/index.html
  [peprock.models]: https://api.peprock.ponte.energy/models/index.html
  [peprock.patterns]: https://api.peprock.ponte.energy/patterns/index.html
  [peprock.subclasses]: https://api.peprock.ponte.energy/subclasses/index.html

Full API documentation is published to [api.peprock.ponte.energy][].

  [api.peprock.ponte.energy]: https://api.peprock.ponte.energy
utcp-gql 1.1.0
UTCP communication protocol plugin for GraphQL.
Requires Python: >=3.10


# UTCP GraphQL Communication Protocol Plugin

This plugin integrates GraphQL as a UTCP 1.0 communication protocol and call template. It supports discovery via schema introspection, authenticated calls, and header handling.

## Getting Started

### Installation

```bash
pip install gql
```

### Registration

```python
import utcp_gql
utcp_gql.register()
```

## How To Use

- Ensure the plugin is imported and registered: `import utcp_gql; utcp_gql.register()`.
- Add a manual in your client config:
  ```json
  {
    "name": "my_graph",
    "call_template_type": "graphql",
    "url": "https://your.graphql/endpoint",
    "operation_type": "query",
    "headers": { "x-client": "utcp" },
    "header_fields": ["x-session-id"]
  }
  ```
- Call a tool:
  ```python
  await client.call_tool("my_graph.someQuery", {"id": "123", "x-session-id": "abc"})
  ```

## Notes

- Tool names are prefixed by the manual name (e.g., `my_graph.someQuery`).
- Headers merge static `headers` plus whitelisted dynamic fields from `header_fields`.
- Supported auth: API key, Basic auth, OAuth2 (client-credentials).
- Security: only `https://` or `http://localhost`/`http://127.0.0.1` endpoints.

For UTCP core docs, see https://github.com/universal-tool-calling-protocol/python-utcp.
pyvat-with-checksums 0.1.0
A Python package for validating VAT numbers.
Requires Python: >=3.8

# PyVAT with Checksums

[![PyPI](https://img.shields.io/pypi/v/pyvat-with-checksums.svg)](https://pypi.org/project/pyvat-with-checksums/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A robust and accurate VAT number validation library for Python.

## Why PyVAT with Checksums?

Most VAT validation libraries check if the string starts with the correct country code and has the correct length. **That is not enough.**

**PyVAT with Checksums** goes deeper to ensure data integrity:

- 🧮 **Real Checksum Validation**: We don't just count digits. We implement the official algorithms defined in the European Commission's [VIES VAT Validation Routines](https://taxation-customs.ec.europa.eu/document/download/d416448b-e055-472d-b0e0-4ffc07a7a407_en) specifications (Modulus 11, Modulus 97, etc.) to verify the number is genuinely valid.
- 🛡️ **Stop Bad Data**: Prevent typos and fake numbers from entering your system. A number can look right but be mathematically impossible—we catch that.
- ⚡ **Zero External Dependencies**: Lightweight and fast, perfect for high-throughput applications.

## Features

- ✅ **Mathematical Verification**: Implements complex checksum algorithms for supported countries.
- 🌐 **Multi-Country Support**: Validates VAT numbers for all EU countries and many others (UK, Switzerland, Norway, Russia, etc.).
- 🔍 **Format Checking**: Validates structure, length, and allowed characters (numeric vs alphanumeric).
- 📦 **Modern Python**: Fully typed and compatible with modern Python versions.

## Installation

```bash
pip install pyvat-with-checksums
```

Or using uv:

```bash
uv add pyvat-with-checksums
```

## Usage

Import the validator and the countries you want to check against.

```python
from pyvat_with_checksums import check_vat, belgium, austria

# 1. Valid VAT number (Belgium)
result = check_vat('BE0411905847', [belgium])
print(result.is_valid)
# Output: True
print(result.country.name)
# Output: 'Belgium'

# 2. Invalid Checksum (Looks like a valid format, but fails math check)
# This would pass a simple regex check, but fails here!
result = check_vat('BE0411905848', [belgium])
print(result.is_valid)
# Output: False

# 3. Check against multiple countries
result = check_vat('ATU12345678', [belgium, austria])
if result.is_valid:
    print(f"Valid VAT for {result.country.name}")
```

## Supported Countries

Supports a wide range of countries, including but not limited to:

- 🇪🇺 **European Union**: Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden.
- 🌍 **Non-EU**: United Kingdom, Switzerland, Norway, Russia, Serbia, Brazil.

## Development

To run tests locally:

```bash
make test
```

To run linting checks:

```bash
make lint
```