semvec/pypi-packages huggingface dataset:
pygrib 2.1.8
Python module for reading/writing GRIB files
Requires Python: >=3.10

[![Install and Test Status](https://github.com/jswhit/pygrib/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/jswhit/pygrib/actions)
[![PyPI package](https://badge.fury.io/py/pygrib.svg)](http://python.org/pypi/pygrib)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pygrib/badges/version.svg)](https://anaconda.org/conda-forge/pygrib)
[![DOI](https://zenodo.org/badge/28599617.svg)](https://zenodo.org/badge/latestdoi/28599617)

Provides a high-level interface to the ECWMF [ECCODES](https://confluence.ecmwf.int/display/ECC) C library for reading GRIB files.
There are limited capabilities for writing GRIB files (you can modify the contents of an existing file, but you can't create one from scratch).  See the online docs for 
[example usage](https://jswhit.github.io/pygrib/api.html#example-usage).

Quickstart
==========

The easiest way to get everything installed is to use [pip](https://py.pypa.io):

```
pip install pygrib
```

You can also use [conda](https://docs.conda.io/en/latest/):

```
conda install -c conda-forge pygrib
```

Alternately, clone the github repo and run `pip install -e .` (after setting `$ECCCODES_DIR`)
where `$ECCODES_DIR` is the path to the directory containing `include/grib_api.h`
and `lib/libeccodes.so`. If `ECCODES_DIR` is not specified, a few common locations
such as `$CONDA_PREFIX,/usr,/usr/local,/opt/local` will be searched.

For full installation instructions and API documentation, see https://jswhit.github.io/pygrib.

Sample [IPython](http://ipython.org/) notebooks illustrating pygrib usage: 
* http://nbviewer.jupyter.org/gist/jswhit/8635665
* https://github.com/scollis/HRRR/blob/master/notebooks/HRRR%20Grib.ipynb

Questions or problems use https://github.com/jswhit/pygrib/issues
strongcoca 1.0
A package for simulating many-body interactions in nano and mesoscale systems.
Requires Python: >=3.9
Keywords: chemistry, physics, scientific

StrongCoCa
**********

**StrongCoca** is being developed as a sustainable, extensible,
flexible and computationally efficient package for simulating
coarse-grained many-body interactions in nano and mesoscale systems.
A detailed description of the functionality provided as well as tutorials can be found in the `user guide <https://strongcoca.materialsmodeling.org/>`_.

**StrongCoca** can be installed via `pip`::

    pip3 install strongcoca

[to be completed]


Development
-----------

The test suite is run using `pytest`::

  pytest tests/
structlint 0.2.1
Simple linter to enforce various aspects of source code structure.
Requires Python: <3.14,>=3.11

# structlint

Configurable development CLI that checks various aspects of architecture: method order, documentation, tests, and internal module dependency.

## Roadmap

1. ~~configuration tests (thorough)~~
1. remaining tests
    - ~~checks_test.py~~
    - ~~cli_test.py~~
    - ~~collection_test.py~~
    - ~~configuration_test.py~~
    - ~~logic_test.py~~
    - ~~reporting_test.py~~
    - ~~utils_test.py~~
1. configuration docs
1. add explicit mapping tables
1. update configuration tests
1. update configuration docs
1. code once-over
1. docs once-over
1. tests once-over
1. project infra overhaul
1. docs CI -> publish docs
1. publish package on pypi
1. add CLI package output to flake.nix
1. add to all projects and collect live-use feedback
1. version 0.3.0
1. share on reddit, get feedback
1. release 0.4.0
1. performance optimization
1. release 0.5.0
MLSaver 0.2.3
A simple ML model versioning tool

# MLSaver

**MLSaver** is a lightweight Python package that lets you version-control your machine learning models locally — similar to Git, but for ML experiments.

---

## ✨ Features
- Save trained models with simple commands  
- Load previous model versions instantly  
- List all saved versions  
- Delete unwanted versions  
- Works locally — no extra setup, no cloud required  

---

## 🧠 Installation
```bash
pip install MLSaver
```

## ⚙️ Methods

## Make an instance of MLSaver.
```python
saver = MLSaver()
```

| Method | Description | Example |
|--------|--------------|----------|
| `commit(model, "v1")` | Save a trained model with a version name. | `saver.commit(model, "v1")` |
| `checkout("v1")` | Load a previously saved model. | `model = saver.checkout("v1")` |
| `log()` | List all saved versions. | `saver.log()` |
| `delete("v1")` | Delete a saved version. | `saver.delete("v1")` |
| `rename("v1", "v1_fixed")` | Rename an existing version. | `saver.rename("v1", "v1_fixed")` |
| `info("v1")` | Show detailed info about a version (size, date, hyperparameters). | `saver.info("v1")` |
| `clear()` | Delete all saved versions (with confirmation). | `saver.clear()` |
ibuk-dl-uam 0.3
ownload books from libra.ibuk.pl, updated and modified for UAM Poznan auth system support
Requires Python: >=3.13

# IBUK Downloader

This script allows you to download books from the libra.ibuk.pl website and query book information from a given URL.

## Features

- Download books from libra.ibuk.pl.
- Query book information, including author, title, description, publisher, ISBN, pages, and index.
- Support for UAM (Uniwersytet Adama Miczkiewicza) authentication to access restricted content.

## Installation

```shell
pip install ibuk_dl_uam
```

## Usage

### Download a Book

To download a book, use the following command:

```shell
ibuk-dl download <URL>
```

You can specify the page count with the `--page-count` option (if not specified, will download every page) and the
output file with the `-o` or `--output` option. Use `-` as the output to print the book content to stdout. Add -v to
print progress information to the console.

If the book is behind HAN authentication, you can provide your username and password with the `-u` and `-p` options,
respectively.

Example:

```shell
ibuk-dl -v download --output "podstawy-teorii-obwodow-tom-2.html" -u 123123 -p password https://han.amu.edu.pl/han/ibuk-libra/https/libra.ibuk.pl/reader/podstawy-teorii-obwodow-tom-2-jerzy-osiowski-jerzy-szabatin-234596
```

More information about `download`:

```shell
ibuk-dl download --help
```

### Query Book Information

To query book information, use the following command:

```shell
ibuk-dl query <URL>
```

Example:

```shell
ibuk-dl -v query https://libra.ibuk.pl/reader/podstawy-teorii-obwodow-tom-2-jerzy-osiowski-jerzy-szabatin-234596
```

More information about `query`:

```shell
ibuk-dl query --help
```

## Export to PDF

This script will output HTML. If you want to have a PDF, you can use your browser's `Print -> Save to PDF` option.

## License

This script is provided under a MIT License. See [LICENSE](/LICENSE)

## Disclaimer

As stated in the license, I am not responsible for damage caused by the use of this program. Please respect the terms of
use of the libra.ibuk.pl website and any copyright or licensing agreements for the downloaded content. Downloading
and/or sharing copyrighted content may be considered illegal in your country.
torch-fps 0.2
Native PyTorch farthest point sampling for point cloud workloads
Requires Python: >=3.9

# torch-fps

Optimized standard farthest point sampling (FPS) for PyTorch written in C++.

```bash
pip install torch-fps
```
**Note**: Ensure gcc > 9 and < 14. Install might take a while since its building from source (to be fixed in future). 

## Usage

```python
import torch
from torch_fps import farthest_point_sampling, farthest_point_sampling_with_knn

# Create example inputs
points = torch.randn(4, 1000, 3)     # [B, N, D] - batch of point clouds
mask = torch.ones(4, 1000, dtype=torch.bool)  # [B, N] - valid point mask
K = 512  # Number of samples per batch (must be <= number of valid points)

# Perform farthest point sampling
idx = farthest_point_sampling(points, mask, K)  # [B, K] - selected point indices

# Use indices to gather sampled points
sampled_points = points.gather(1, idx.unsqueeze(-1).expand(-1, -1, 3))  # [B, K, D]

# Fused FPS + kNN: get centroids and their k nearest neighbors in one pass
centroid_idx, neighbor_idx = farthest_point_sampling_with_knn(
    points, mask, K=512, k_neighbors=32
)  # centroid_idx: [B, K], neighbor_idx: [B, K, k_neighbors]
```

## Performance

Benchmarked on AMD Threadripper 7970X and NVIDIA RTX 5090. Values show CPU / CUDA measurements. By default uses float32; override with `precision=` parameter.

**FPS:**

| B  | N    | K   | Baseline (ms)   | Optimized (ms) | Speedup        |
|---:|-----:|----:|----------------:|---------------:|---------------:|
| 4  | 100  | 20  | 0.42 / 1.39     | 0.05 / 0.24    | 8.05x / 5.83x  |
| 8  | 512  | 64  | 2.75 / 4.01     | 0.63 / 0.31    | 4.36x / 13.11x |
| 16 | 1024 | 128 | 34.52 / 7.78    | 4.54 / 0.45    | 7.61x / 17.34x |
| 32 | 2048 | 256 | 153.27 / 15.41  | 36.48 / 0.89   | 4.20x / 17.34x |

**FPS+kNN:**

| B  | N    | K   | k  | Baseline (ms)   | Optimized (ms) | Speedup        |
|---:|-----:|----:|---:|----------------:|---------------:|---------------:|
| 4  | 100  | 16  | 8  | 0.42 / 1.22     | 0.07 / 0.35    | 6.00x / 3.50x  |
| 8  | 512  | 64  | 16 | 4.14 / 4.43     | 2.01 / 1.25    | 2.06x / 3.55x  |
| 16 | 1024 | 128 | 16 | 38.37 / 8.02    | 11.69 / 2.34   | 3.28x / 3.43x  |
| 32 | 2048 | 256 | 16 | 177.50 / 16.62  | 78.47 / 4.94   | 2.26x / 3.36x  |