semvec/pypi-packages huggingface dataset:
lfc-torque-airtable 0.1.3
Torque airtable connection for LFC

# lfc-torque-airtable python package

This is a standalone application that should be installed via:

```
$ pip install lfc-torque-airtable
```

## Usage from commandline

```
$ lfc-torque-airtable \
        --airtable-api-key <airtable_api_key> \
        --torque-endpoint <torque-endpoint> \
        --torque-user <torque-user> \
        --torque-password <torque-password \
        --dry-run \
        <competition_name> <application_number>
```

The options are:
* `airtable-api-key` - can be found opass at clients/lever-for-change/airtable
* `torque-endpoint` - usually https://torque.leverforchange.org/GlobalView
* `torque-user` - your username, or in the case of the extension, usually csv2wiki
* `torque-password` - the api key you use for torque
* `dry-run` - include when you want information about the push, rather than actuallypushing it
* `competition_name` - the competition shortname in torque
* `application_number` - the application number in torque

## Usage from inside python

```

from lfc_torque_airtable import torque_to_airtable
from torqueclient import Torque

torque = Torque(torque_endpoint, torque_user, torque_password)
converter = TorqueToAirtable(airtable_api_key, torque)
converter.dry_run = dry_run

converter.convert_proposal(competition, application_no)
```

Where the variables are the same as the options above
pytest-embedded-nuttx 2.6.0
Make pytest-embedded plugin work with NuttX.
Requires Python: >=3.10

### pytest-embedded-nuttx

Pytest embedded service for the NuttX project, compatible with Espressif devices.

Using the 'nuttx' service alongside 'serial' enables reading from and writing to the serial port, taking NuttShell into account when running programs and retrieving return codes.

The `nuttx` service provides basic serial communication and testing. Adding the 'esp' service enables further capabilities for Espressif devices, including flashing and device rebooting. Alternatively, using the 'qemu' service is also supported with NuttX
binaries.

Additional Features:

- `app`: Scans the NuttX binary directory to locate firmware and bootloader files.
- `serial`: Parses binary information and flashes the board. Requires the 'esp' service.
- `dut`: Sends commands to the device through the serial port. Requires the 'serial' service, 'esp' service for Espressif devices or 'qemu' service for emulation.
pytest-embedded-wokwi 2.6.0
Make pytest-embedded plugin work with the Wokwi CLI.
Requires Python: >=3.10

### pytest-embedded-wokwi

pytest-embedded service for running tests on [Wokwi](https://wokwi.com/ci) instead of the real target.

Wokwi supports most ESP32 targets, including: esp32, esp32s2, esp32s3, esp32c3, esp32c6, and esp32h2. In addition, it supports a [wide range of peripherals](https://docs.wokwi.com/getting-started/supported-hardware), including sensors, displays, motors, and debugging tools.

Running the tests with Wokwi requires an internet connection. Your firmware is uploaded to the Wokwi server for the duration of the simulation, but it is not saved on the server. On-premises Wokwi installations are available for enterprise customers.

#### Wokwi API Tokens

Before using this plugin, you need to create a free Wokwi account and [generate an API key](https://wokwi.com/dashboard/ci). You can then set the `WOKWI_CLI_TOKEN` environment variable to the API key.

Linux / Mac OS / WSL:

```bash
export WOKWI_CLI_TOKEN="your-api-key"
```

Windows PowerShell:

```powershell
$env:WOKWI_CLI_TOKEN="your-api-key"
```

#### Usage

To run your tests with Wokwi, make sure to specify the `wokwi` service when running pytest, e.g.:

```
pytest --embedded-services idf,wokwi
```

#### Writing Tests

When writing tests for your firmware, you can use the same pytest fixtures and assertions as you would for local testing. The main difference is that your tests will be executed in the Wokwi simulation environment and you have access to the Wokwi API for controlling the simulation through the `wokwi` fixture.

All interactions with the Wokwi simulation is through the `wokwi.client` - [wokwi-python-client](https://github.com/wokwi/wokwi-python-client)

For example, you can use `wokwi.client.set_control()` to control virtual components in the simulation, such as buttons, LEDs, and other peripherals.
Whole documentations can be found at [Wokwi Documentation](https://wokwi.github.io/wokwi-python-client/)

Button test:
```py
import logging
from pytest_embedded_wokwi import Wokwi
from pytest_embedded import Dut


def test_gpio(dut: Dut, wokwi: Wokwi):
    LOGGER = logging.getLogger(__name__)

    LOGGER.info("Waiting for Button test begin...")
    dut.expect_exact("Butston test")

    for i in range(3):
        LOGGER.info(f"Setting button pressed for {i + 1} seconds")
        wokwi.client.set_control("btn1", "pressed", 1)

        dut.expect_exact(f"Button pressed {i + 1} times")
        wokwi.client.set_control("btn1", "pressed", 0)
```
pytest-embedded-arduino 2.6.0
Make pytest-embedded plugin work with Arduino.
Requires Python: >=3.10

### pytest-embedded-arduino

pytest embedded service for Arduino project

Extra Functionalities:

```{eval-rst}
.. tabs::

   .. group-tab:: `pytest-embedded-serial-esp` activated

        - `app`: Parse Arduino's build directory and gather more information.
        - `serial`: Auto flash the built binary into the target board at the beginning when running test cases.

   .. group-tab:: `pytest-embedded-serial-esp` NOT activated

        - `app`: Parse Arduino's build directory and gather more information.
```
pytest-embedded-qemu 2.6.0
Make pytest-embedded plugin work with QEMU.
Requires Python: >=3.10

### pytest-embedded-qemu

pytest embedded service for running tests on QEMU instead of the real target.

Extra Functionalities:

```{eval-rst}
.. tabs::

   .. group-tab:: `pytest-embedded-idf` activated

        - `app`: create the qemu bootable image automatically by the built binaries.
        - `qemu`: enable the fixture
        - `dut`: duplicate the `qemu` output to `pexpect_proc`.

   .. group-tab:: `pytest-embedded-idf` NOT activated

        - `qemu`: enable the fixture
        - `dut`: duplicate the `qemu` output to `pexpect_proc`.
```
pytest-embedded-jtag 2.6.0
Make pytest-embedded plugin work with JTAG.
Requires Python: >=3.10

### pytest-embedded-jtag

pytest embedded service for openocd/gdb utilities

Extra Functionalities:

- `openocd`: enable the fixture
- `gdb`: enable the fixture
- `dut`: duplicate the `openocd` output and the `gdb` output to `dut.pexpect_proc`.
pytest-embedded-idf 2.6.0
Make pytest-embedded plugin work with ESP-IDF.
Requires Python: >=3.10

### pytest-embedded-idf

pytest embedded service for esp-idf project

Extra Functionalities:

```{eval-rst}
.. tabs::

   .. group-tab:: `pytest-embedded-serial-esp` activated

        - `app`: parse the built binary by idf rules and gather more information.
        - `serial`: auto flash the built binary into the target board at the beginning when running test cases.

   .. group-tab:: `pytest-embedded-serial-esp` NOT activated

        - `app`: parse the built binary by idf rules and gather more information.
```