diff --git a/README.md b/README.md index bd7040e..47e176d 100644 --- a/README.md +++ b/README.md @@ -13,22 +13,21 @@ [![Charts](https://github.com/shBLOCK/spatium/actions/workflows/charts.yml/badge.svg)](https://github.com/shBLOCK/spatium/actions/workflows/charts.yml) ## ⚙️Main features -- Fast Pure Cython Implementation - - ~***20x*** speedup from pure python(3.12) impl on average - - Based on custom code generation - - Almost all static dispatch +- **Fast** Pure Cython Implementation + - ~***16x*** faster than pure python(3.12) implementation - Spatial Math - [Vector](https://github.com/shBLOCK/spatium/wiki#vectors) - Operators +, -, *, /, @(dot), ^(cross), |(distance) ... - - Fast (compile time) swizzling (e.g. `Vec3(1, 2, 3).zxy`) + - Fast (compile-time) swizzling (e.g. `Vec3(1, 2, 3).zxy`) - Flexible constructor (e.g. `Vec3(Vec2(1, 2), 3)`) - Iterating and unpacking (e.g. `x, y, z = Vec3(1, 2, 3)`) - Works with other libraries (pygame, numpy, ...) - Transform - [Transform2D](https://github.com/shBLOCK/spatium/wiki#transform2d) & [Transform3D](https://github.com/shBLOCK/spatium/wiki#transform3d) -- All floats are double-precision -- Full pythonic interface & GLSL-like API -- Stubs for better IDE support + - Double-precision floats +- Pythonic & GLSL-like interface +- Custom code generation + - IDE-friendly stubs Please refer to the [wiki](https://github.com/shBLOCK/spatium/wiki) for more details @@ -41,7 +40,7 @@ Please refer to the [wiki](https://github.com/shBLOCK/spatium/wiki) for more det Every swizzle pattern and constructor are implemented as individual methods and properties (For performance reasons).
As a result, code generation is required so that I don't have to maintain 50,000+ lines of code by hand...
Besides, it also handles vector classes of every dimension and type (e.g. Vec2 Vec3 Vec2i Vec3i) are generated from the same template, so a lot of repetitive code is avoided.
- There's also a stub generator. + There's also a stub generator that generates stub files from the cython code generated by codegen. ## Credits - This library is partially inspired by [Godot](https://godotengine.org/)'s math library. diff --git a/pyproject.toml b/pyproject.toml index 0bbb379..eef79ae 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ requires = ["setuptools", "cython"] [project] name = "spatium" -version = "1.5.4" +version = "1.5.5" description = "Spatium: a fast spatial math library" readme = "README.md" requires-python = ">= 3.9"