semvec/pypi-packages huggingface dataset:
porgo 1.1.1
The portable universal library in global optimization.
License: MIT

# porgo

When I was researching a function without given all local minima, like the underlined function:

$$
f(x)=\sum_{i=1}^{n/2}(-13+x_{2i-1}+((5-x_{2i})x_{2i}-2)x_{2i})^2+(-29+x_{2i-1}+((x_{2i}+1)x_{2i}-14)x_{2i})^2.
$$

I used `optimtool.unconstrain` to search local minima, got an efficient experience about searching the nearest minimum point. Add a mechanism to jump out of the local area would increase the runtime of the whole script, so `porgo` is a new progam to accelerate to search global minima.

refer to test.py and the global minima of 4-dimensional $f(x)$ is (5, 4, 5, 4).

## glos

glos is the main runtime to serve as a global search class, users can run train_gen module with given cycles at any times until the function searching process converged.

init:
- objective_function: *Callable*, a high-dimensional function with convex, non-convex, and many local minima.
- bounds: *List[List[float]] | List[Tuple[float]]*, changes this value makes a significant influence of mini and fit_mini.
- mutation: *float=0.5*, increase this value makes the search radius larger.
- recombination: *float=0.9*, increase this value allows larger number of mutation.

rand_pop:
- population_size: *int=50*, randomly init the population (or called initial points) with shape at (population, dimension).
- verbose: *bool=False*, whether to output initial population when manually replace the random generated rule.

train_gen:
- cycles: *int=1000*, try to run several times (until converged) when give a smaller cycle number if search bounds is in large space.

result:
- minimum: *bool=False*, whether to output mini and fit_mini after first if struct was executed.
- verbose: *bool=False*, whether to output console information after search populations were updated (check self.mini and self.fit_mini, the top3 updated results are (self.mini, self.fit_mini) < (self.medi, self.fit_medi) < (self.maxi, self.fit_maxi)).

## reference

Storn, R and Price, K, Differential Evolution - a Simple and Efficient Heuristic for Global Optimization over Continuous Spaces, Journal of Global Optimization, 1997, 11, 341 - 359.

## LICENSE

[MIT LICENSE](./LICENSE)
groupenc 0.3.0
groupenc: Group Encryption Utilities
License: MIT
Keywords: groupenc encryption group vault offline

# groupenc: Group Encryption Utilities

Group Encryption utilities in Python, with a CLI.

# Installation

```bash
pip install groupenc
```

# Usage

## Bootstrap

To Bootstrap a vault, use:

```bash
groupenc bootstrap
```

It would typically create a file called `.groupenc.json` and a private key
/public key pair in `~/.groupenc_private` and `~/.groupenc_public`.

You can share your own identity with other people, so they
can induct you later:

```bash
groupenc id
```

It typically displays your public key.

## Secrets

To add a secret, use:

```bash
groupenc secret add --key password --value changeMe
```

To add a secret from a file, use:

```bash
groupenc secret add --key id_rsa_server --value @~/.ssh/id_rsa
```

To list secrets, use:

```bash
groupenc secret list
password
id_rsa_server
```

To display a secret, use:

```bash
groupenc secret show --key password
changeMe
```

To remove a secret, use:

```
groupenc secret remove --key password
```

## Induction

When you add someone else to the vault file, this process allows them to view secrets. To do that, an existing user
inducts them into the system.

```bash
groupenc induct --identity @~/other_id_rsa.pub
```

and then you transmit the new file across. They should be able to decode and view the secrets.

## Rotation

Sometimes, it is a good practice to rotate the encryption keys so people can't view updated secrets.

```bash
groupenc rotate
```

## Remove

When you want to remove people from a group, you simply remove them with a known public key, then rotate:

```
groupenc disown --identity @~/other_id_rsa.pub
groupenc rotate
```

Note that the secrets that they already have access to cannot be unshared/forgotten, so you should manually revoke their
accesses from any services. It is a good practice to share multiple vault files and induct people based on their actual
role/need to access.


## Running Unit Tests

```bash
pip install tox
tox
```

## Call for Testing Volunteers

The code was tested on Python 2.7, 3.8.

Please volunteer to test it and send in your patches (or) bug reports.
Design feedback always welcome.
whisper-turbo-mlx 0.0.3a0
Whisper Turbo in MLX
License: MIT
Requires Python: >=3.12.3

# WTM (Whisper Turbo MLX)

This repository provides a fast and lightweight implementation of the [Whisper](https://github.com/openai/whisper/discussions/2363) model using [MLX](https://github.com/ml-explore/mlx-examples/tree/main/whisper), all contained within a single file of under 300 lines, designed for efficient audio transcription.

![Alt text](https://raw.githubusercontent.com/JosefAlbers/whisper-turbo-mlx/main/assets/benchmark.png)

## Installation

```zsh
brew install ffmpeg
git clone https://github.com/JosefAlbers/whisper-turbo-mlx.git
cd whisper-turbo-mlx
pip install -e .
```

## Quick Start

To transcribe an audio file:

```zsh
wtm test.wav
```

To use the library in a Python script:

```python
>>> from whisper_turbo import transcribe
>>> transcribe('test.wav', any_lang=True)
```

## Quick Parameter

The `quick` parameter allows you to choose between two transcription methods: 

- **`quick=True`**: Utilizes a parallel processing method for faster transcription. This method may produce choppier output but is significantly quicker, ideal for situations where speed is a priority (e.g., for feeding the generated transcripts into an LLM to collect quick summaries on many audio recordings).
  
- **`quick=False`** (default): Engages a recurrent processing method that is slower but yields more faithful and coherent transcriptions (still faster than other reference implementations).

You can specify this parameter when calling the `transcribe` function:

```zsh
wtm --quick=True
```

```python
>>> transcribe('test.wav', quick=True)
```

## Acknowledgements

This project builds upon the reference [MLX implementation](https://github.com/ml-explore/mlx-examples/tree/main/whisper) of the Whisper model. Great thanks to the contributors of the MLX project for their exceptional work and inspiration.

## Contributing

Contributions are welcome! Feel free to submit issues or pull requests.