Metadata-Version: 2.4
Name: keino
Version: 1.0.3
Summary: Useful tools and utilities I use for scientific programming
Author-email: Dan Crawford <daniel.j.crawford@jyu.fi>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://git.sr.ht/~dcrawford/keino
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: <3.15,>=3.8
Description-Content-Type: text/markdown
License-File: GPLv3.txt
License-File: AGPL.txt
Requires-Dist: scipy<1.18,>=1.6.0
Requires-Dist: numpy<2.5,>=1.19.0
Dynamic: license-file

# keino

Useful tools and utilities I use for scientific programming.

# Installation

`pip install keino`, or clone this repo, cd into and `pip install .` to run the master version.

# Summary of utilities

* `Params`: Handy class for containing parameters.
* `RoundedPolygon`: Matplotlib patch object corresponding to a rectangle with rounded corners.
* `add_colourbar`: Create a matplotlib colourbar, with the orientation, scale, and position tunable.
* `build_axes_grid`: Create a grid of matplotlib axes, with the spacings, offsets, and aspect ratios tunable.
* `colours`: Various colourmaps and related utilities.
* `copy_artist`: Copy a matplotlib artist.
* `hash_dict`: Creates a unique hash for a dict
* `int_path`: Creates a list of indices between the given points.
* `kpath`: Discretises the Brillouin zone between certain momenta points.
* `ndindex`: Similar to numpy.ndindex, but allows also for specifying the lower as well as upper point of the iterators.
* `pprint`: Prints a matrix nicely in a Jupyter notebook.
* `vectorize_parallel`: Decorator which allows a function to take vector arguments, and also enables parallel processing with caching to disk.
* `versioned_import`: Allows for importing a library function, with a particular version enforced.

# Licences

rounded_polygon.py: CC BY-SA 4.0

vectorize_parallel.py: AGPL v2

All other code: GPL v3+
