semvec/pypi-packages huggingface dataset:
lhachimi 0.1.261
A basic science package
Keywords: python, science, math, analysis, simplify science, programming

![Logo](https://drive.google.com/uc?id=1Ifnzt6ZbOUZU4Qm9USpHvYkbvbUrP9F9)

**Lhachimi Library** provides a collection of utility functions for various tasks, including mathematical operations, text formatting, and data manipulation.
inngest-encryption 0.1.0
Encryption for the Inngest SDK
Requires Python: >=3.9

# Inngest Python SDK: Encryption

This package provides encryption for the Inngest Python SDK.

## Usage

Setting encryption middleware on the client will turn on encryption for events and steps in all functions:

```py
import inngest
from inngest_encryption import EncryptionMiddleware

inngest.Inngest(
    name="my-app",
    encryption_key="my-encryption-key",
    middleware=[EncryptionMiddleware.factory("my-secret-key")],
)
```

When sending events or invoking functions, only the `encrypted` field will be encrypted:

```py
await step.send_event(
    "my-step",
    inngest.Event(
        data={
            # Everything in this field will be encrypted.
            "encrypted": {
                "phone": "867-5309",
            },

            # Not encrypted.
            "user_id": "abc123",
        },
        name="my-event",
    ),
)

await step.invoke(
    "invoke",
    function=child_fn_async,
    data={
        # Everything in this field will be encrypted.
        "encrypted": {
            "phone": "867-5309",
        },

        # Not encrypted.
        "user_id": "abc123",
    },
)
```

> [!NOTE]  
> Only a portion of the event data is encrypted because that allows for control flow settings (e.g. concurrency key) to work. Since the Inngest server receives encrypted data, it can't perform control flow on values that are encrypted.

The entire `step.run` output is encrypted:

```py
def _my_step() -> dict[str, object]:
    # Encrypted when sending back to the Inngest server.
    return {"msg": "hello"}

output = await step.run("my-step", _my_step)

# Decrypted within this function.
print(output)
```

## Key rotation

When rotating the encryption key, you may still have active functions runs whose data is encrypted with the old key. To decrypt these, you can use the `fallback_decryption_keys` option:

```py
inngest.Inngest(
    name="my-app",
    encryption_key="my-encryption-key",
    middleware=[
        EncryptionMiddleware.factory(
            "new-secret-key",
            fallback_decryption_keys=["old-secret-key"],
        ),
    ],
)
```

If decryption fails with the new key, the encryption middleware will fall back to the old key.
uchcharaka 1.1
Uchcharaka is designed to transcribe non-Indian languages into Indian scripts while closely preserving their native pronunciations. It offers three levels of transcription, ranging from low to high fidelity. The high-fidelity level retains as many non-Indic phonemes as possible, while the low-fidelity level captures only the essential phonetic elements. Currently, the tool supports English (US and UK), Spanish (Spain and Latin America), Portuguese (Brazil and Portual), Italian, German, and French.
Requires Python: >=3.8

Uchcharaka is designed to transcribe non-Indian languages into Indian scripts while closely preserving their native pronunciations. It offers three levels of transcription, ranging from low to high fidelity. The high-fidelity level retains as many non-Indic phonemes as possible, while the low-fidelity level captures only the essential phonetic elements. Currently, the tool supports English (US and UK), Spanish (Spain and Latin America), Portuguese (Brazil and Portual), Italian, German, and French.

Uchcharaka requires espeak-ng to be installed and available in the system path. Please install eSpeak NG (https://github.com/espeak-ng/espeak-ng) in your system before installing Uchcharaka.

You can read the usage instructions here (https://uchcharaka.aksharamukha.com/python).

The web interface is here: https://uchcharaka.aksharamukha.com
pyft232h 1.0.1
A SPI driver interface for ft232h with MPSSE
Requires Python: >=3.8
Keywords: ft232h, c232hm, spi_mpsse

# pyft232h

python based SPI driver for ft232h using mpsse mode. 


## Pre-Requisites

**ftd2xx** package must be installed. 
ftd2xx shall be installed using below command
> pip install ftd2xx


## Version Log

### ***V1.0.0***

1. SPI write/read with Half/Full duplex support using MPSSE
2. SPI MODE 0 alone is supported


## BUILD and INSTALL

This package can be build and installed locally.

### ***build the package***

> python -m build

### ***install package locally***

Install locally
> python setup.py install --user


## TESTS

tests directory has sample files to test the SPI over ft232h

### ***test_spi_fd.py***

This test file uses SPI full duplex mode. enables write and read both at a time.
> python tests/test_spi_fd.py

### ***test_spi_hd.py***

This test file uses SPI half duplex mode. Use write/read once at a time.
> python tests/test_spi_hd.py
invenio-utilities-tuw 2025.0.0
Some utilities for InvenioRDM.
Requires Python: >=3.9
Keywords: cli, invenio, tu wien, utilities

..
    Copyright (C) 2020 - 2021 TU Wien.

    Invenio-Utilities-TUW is free software; you can redistribute it and/or
    modify it under the terms of the MIT License; see LICENSE file for more
    details.

=======================
 Invenio-Utilities-TUW
=======================

.. image:: https://img.shields.io/github/tag/fair-data-austria/invenio-utilities-tuw.svg
        :target: https://github.com/fair-data-austria/invenio-utilities-tuw/releases

.. image:: https://img.shields.io/github/license/fair-data-austria/invenio-utilities-tuw.svg
        :target: https://github.com/fair-data-austria/invenio-utilities-tuw/blob/master/LICENSE

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black


Some CLI utilities (``invenio tuw ...``) for InvenioRDM of varying quality and usefulness.

Features:

* create, update and publish drafts and records
* list records and drafts accessible to certain users
* manage deposited files for drafts
* list registered users
* etc.
recipe-extractor-tools 0.0.2
Models and tools for a recipe extractors
Requires Python: >3.10
Keywords: recipe, models, ingredients, methods

# recipe_extractor_tools
## What is it?
This library is made to have some basic tools allowing you to manage scraping recipes on the back-end side. 
Originally, this was part of a [recipe scraping project](https://github.com/sebastienhamel/recipe_extractor), but you you can use it anyway you want. 

## What's in it?
### Details
In the context of scraping, this is the data found on the website you were scraping. This model includes meta-information about scraping and the recipes data found on the page.

### Recipes (details.data)
This field contains the recipe of the website scraped. 

### Ingredients (details.data.ingredients)
The ingredients field is an list of ingredients containing the name of the ingredient (ingredient.ingredient_name) and the quantity (ingredient.quantity_unit). Both are string. You should include the type of unit in the quantity_unit field for further analysis.

### Method (details.data.method)
The method field is a list of actions necessary to make the recipe. It contains the step number (method.step_number) and the instruction for the step (method.instruction). 
> Please be aware that this information is as is on the website and might not reflect how you want to analyze the data. For example, the instruction for a specific step might include two actions (preheat the oven and measure dry ingredients). You might want to normalize the data so the information used for further analysis.

### Listing
In the context of scraping, this is all the steps necessary to find the detail urls. In this tool, we must consider one table for the listing and each record will have it's own mode. Keep in mind that in the context of scraping, you want to have a preventative approach: **your script will fail**, that's a given. Dividing the listing in smaller modes will reduce the risk of losing data. 

The modes, in our case, are:
1. **CATEGORIES_LISTING**: the seeding of the start urls necessary to start the listing
2. **CATEGORIES_LISTING_PAGE**: each seperate page from the categories search
3. **RECIPE_LINKS**: the last listing mode; a detail link (this is a page where you can directly find the data you are scraping)
4. **RECIPE_DETAILS**: the data scraped from the details page


### Logger
Basic logging service using the loguru library.