semvec/pypi-packages huggingface dataset:
MiniballCpp 0.2.3
Smallest Enclosing Balls of Points

miniball
========

These are python bindings to Bernd Gärtners `miniball software`__.

Setup
-----

You can install *miniball* with:

.. code-block:: bash

   pip install MiniballCpp

There are wheels available for most platforms.

There is also a package for Arch Linux (that is not maintained by me!): https://aur.archlinux.org/packages/python-miniball/.

Example
-------

.. code-block:: python

   import math
   import random
   import miniball

   P = [(random.uniform(0, 100), random.uniform(0, 100)) for i in range(10000)]
   mb = miniball.Miniball(P)
   print('Center', mb.center())
   print('Radius', math.sqrt(mb.squared_radius()))

Notes
-----
This algorithm has some numerical challenges worth mentioning. The result may deviate from the optimal result by
10 times the machine epsilon and sometimes even more:

.. code-block:: python

   P = [(642123.5528970208, 5424489.146461355),
        (651592.349934072, 5424969.380667617),
        (642591.1068130962, 5425775.320365907),
        (646380.0282527813, 5418648.987550308),
        (648098.891235107, 5426586.3920675),
        (650011.5835629451, 5426132.820254512),
        (650297.6960375579, 5419125.777007122),
        (645249.2122321032, 5421055.739722816),
        (645333.9125837489, 5426228.852409409)]

   mb = miniball.Miniball(P)
   if not mb.is_valid():
       print('Possibly invalid!')
   print('Relative error', mb.relative_error())

If this is a problem for you, shifting the input towards (0,0) may help:

.. code-block:: python

   minx = min(P, key=lambda p: p[0])[0]
   miny = min(P, key=lambda p: p[1])[1]

   P = [(p[0] - minx, p[1] - miny) for p in P]

   mb = miniball.Miniball(P)
   if not mb.is_valid():
       print('Possibly invalid!')
   print('Relative error', mb.relative_error())

__ http://www.inf.ethz.ch/personal/gaertner/miniball.html
mpy3 1.1
Ultra-minimal command line mp3 player for windows/linux/mac

# mpy3 🐍
Ultra-minimal cli mp3 player

Want to play mp3 without distractions like GUIs, playlists or features? Look no further!

mpy3 is a very, very, veeerrry simple command line mp3 player that can be pip installed.

Navigate to a folder with mp3s in it (or in a subdirectory) using the command line and run:

```bash
$ mpy3
```

You should see something like this (and importantly hear music):

```bash
 >>  [1/12] Patricia Wolf - See-Through - 01 Woodland Encounter 00:02/06:07
```

That's basically it, stop playing with ctrl+c to exit the script, otherwise, it'll keep playing until it runs out of mp3s.

A few extra features. . . .

*Skip past some songs*
```bash
$ mpy3 --skip 3
  >>  [3/11] morimoto naoki - kotoba - 03 koyoi 00:00/03:21
```

*Shuffle everything in the folder*
```bash
$ mpy3 --shuffle
  >>  [1/11] wait what - the notorious xx - 07 everyday shelter -the notorious b.i.g. vs. the xx- 00:17/03:35
```

*Takes glob-like search strings to quickly filter for an album etc*
```bash
$ mpy3 --find Almanacs
  >>  [1/1] Almanacs - Templo Animal - Vol. 2 - 04 Starfields 00:02/06:08
```

That's literally everything you can do - enjoy!


# Installation / Dependencies

This whole tool is basically just a simple wrapper over the top of pygame's ability to read and play mp3s with typer.

It's only about 50 lines of code total, and most of the actual work is done by it's dependencies:
- Pygame
- Typer
- Rich

Installation is through pip:
```bash
pip install mpy3
```