unitforge 0.3.19__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {unitforge-0.3.19 → unitforge-0.4.0}/.gitignore +1 -0
- unitforge-0.4.0/.gitlab-ci.yml +43 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/Cargo.lock +2 -2
- {unitforge-0.3.19 → unitforge-0.4.0}/Cargo.toml +2 -2
- {unitforge-0.3.19 → unitforge-0.4.0}/PKG-INFO +1 -1
- unitforge-0.4.0/install_hooks.sh +31 -0
- unitforge-0.4.0/python/unitforge/__init__.pyi +1776 -0
- unitforge-0.4.0/python/unitforge/py.typed +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/impl_macros.rs +128 -103
- unitforge-0.4.0/src/internal.rs +55 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/lib.rs +2 -7
- {unitforge-0.3.19 → unitforge-0.4.0}/src/prelude.rs +22 -4
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/angle.rs +4 -16
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities.template.rs +2 -5
- unitforge-0.4.0/test.sh +235 -0
- unitforge-0.4.0/tests/common/mod.rs +3 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/quantities.rs +0 -158
- unitforge-0.4.0/tests/quantity_core/construction.rs +37 -0
- unitforge-0.4.0/tests/quantity_core/enum_iter.rs +19 -0
- unitforge-0.4.0/tests/quantity_core/metadata.rs +80 -0
- unitforge-0.4.0/tests/quantity_core/normalization.rs +133 -0
- unitforge-0.4.0/tests/quantity_core/relations.rs +70 -0
- unitforge-0.4.0/tests/quantity_core/runtime_quantity.rs +191 -0
- unitforge-0.4.0/tests/quantity_core/scalar_edges.rs +42 -0
- unitforge-0.4.0/tests/quantity_core.rs +17 -0
- unitforge-0.4.0/tests/quantity_serde.rs +84 -0
- unitforge-0.4.0/tests/small_linalg_edge_cases.rs +69 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/unitforge_macros/Cargo.toml +1 -1
- {unitforge-0.3.19 → unitforge-0.4.0}/unitforge_macros/src/lib.rs +3 -3
- unitforge-0.3.19/.gitlab-ci.yml +0 -87
- unitforge-0.3.19/src/internal.rs +0 -16
- unitforge-0.3.19/src/tests/quantity_unit_tests.rs +0 -116
- unitforge-0.3.19/src/tests/serde_tests.rs +0 -63
- {unitforge-0.3.19 → unitforge-0.4.0}/Readme.md +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/Readme_py.md +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/pyproject.toml +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/python/unitforge/__init__.py +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/scripts/generate_python_stubs.py +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/acceleration.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/angular_acceleration.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/angular_velocity.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/area.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/area_of_moment.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/charge.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/compliance.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/density.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/distance.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/force.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/force_area.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/force_distance.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/force_div_distance_power_four.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/force_per_volume.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/force_stress.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/force_volume.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/inverse_angle.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/inverse_area.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/inverse_distance.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/inverse_stress.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/mass.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/mass_div_time_squared_volume.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/mass_per_distance.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/rotational_stiffness.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/stiffness.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/strain.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/stress.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/stress_squared.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/time.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/velocity.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/velocity_squared.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/voltage.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/quantities/volume.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/relations.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/small_linalg/bindings/matrix3_py.template.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/small_linalg/bindings/vector3_py.template.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/small_linalg/matrix2.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/small_linalg/matrix2x3.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/small_linalg/matrix3.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/small_linalg/matrix3x2.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/small_linalg/vector2.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/src/small_linalg/vector3.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/matrix2.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/matrix2x3.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/matrix3.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/matrix3x2.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/ndarray_dot.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/small_linalg_interfaces.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/test_quantities.py +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/test_small_linalg.py +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/typecheck/mypy_smoke.py +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/vector2.rs +0 -0
- {unitforge-0.3.19 → unitforge-0.4.0}/tests/vector3.rs +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
image: "rust:latest"
|
|
2
|
+
|
|
3
|
+
lint:
|
|
4
|
+
script:
|
|
5
|
+
- ./test.sh lint-base
|
|
6
|
+
allow_failure: true
|
|
7
|
+
|
|
8
|
+
lint_serde:
|
|
9
|
+
script:
|
|
10
|
+
- ./test.sh lint-serde
|
|
11
|
+
allow_failure: true
|
|
12
|
+
|
|
13
|
+
lint_strum:
|
|
14
|
+
script:
|
|
15
|
+
- ./test.sh lint-strum
|
|
16
|
+
allow_failure: true
|
|
17
|
+
|
|
18
|
+
lint_pyo3:
|
|
19
|
+
script:
|
|
20
|
+
- ./test.sh lint-pyo3
|
|
21
|
+
allow_failure: true
|
|
22
|
+
|
|
23
|
+
test:
|
|
24
|
+
script:
|
|
25
|
+
- ./test.sh test-base
|
|
26
|
+
|
|
27
|
+
test_serde:
|
|
28
|
+
script:
|
|
29
|
+
- ./test.sh test-serde
|
|
30
|
+
|
|
31
|
+
test_strum:
|
|
32
|
+
script:
|
|
33
|
+
- ./test.sh test-strum
|
|
34
|
+
|
|
35
|
+
test_pyo3:
|
|
36
|
+
script:
|
|
37
|
+
- apt-get update && apt-get install -y python3 python3-venv python3.13-dev
|
|
38
|
+
- ./test.sh test-pyo3
|
|
39
|
+
|
|
40
|
+
typecheck_pyo3_stubs:
|
|
41
|
+
script:
|
|
42
|
+
- apt-get update && apt-get install -y python3 python3-venv python3.13-dev
|
|
43
|
+
- ./test.sh typecheck-pyo3
|
|
@@ -369,7 +369,7 @@ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
|
|
|
369
369
|
|
|
370
370
|
[[package]]
|
|
371
371
|
name = "unitforge"
|
|
372
|
-
version = "0.
|
|
372
|
+
version = "0.4.0"
|
|
373
373
|
dependencies = [
|
|
374
374
|
"ndarray",
|
|
375
375
|
"num-traits",
|
|
@@ -384,7 +384,7 @@ dependencies = [
|
|
|
384
384
|
|
|
385
385
|
[[package]]
|
|
386
386
|
name = "unitforge_macros"
|
|
387
|
-
version = "0.
|
|
387
|
+
version = "0.4.0"
|
|
388
388
|
dependencies = [
|
|
389
389
|
"regex",
|
|
390
390
|
]
|
|
@@ -4,7 +4,7 @@ crate-type = ["cdylib", "rlib"]
|
|
|
4
4
|
|
|
5
5
|
[package]
|
|
6
6
|
name = "unitforge"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.4.0"
|
|
8
8
|
edition = "2021"
|
|
9
9
|
authors = ["Dr.Q team <info@askdrq.com>", "Henrik Stromberg <henrik@askdrq.com>"]
|
|
10
10
|
description = "A library for unit and quantity consistent computations in Rust"
|
|
@@ -23,7 +23,7 @@ pyo3 = { version = "0.26.0", features = ["extension-module", "auto-initialize",
|
|
|
23
23
|
numpy = { version = "0.26.0", optional = true }
|
|
24
24
|
strum = { version = "0.28.0", optional = true }
|
|
25
25
|
strum_macros = { version = "0.28.0", optional = true }
|
|
26
|
-
unitforge_macros = { version = "0.
|
|
26
|
+
unitforge_macros = { version = "0.4.0", path = "unitforge_macros" }
|
|
27
27
|
|
|
28
28
|
[features]
|
|
29
29
|
serde = ["dep:serde", "dep:serde_json", "ndarray/serde"]
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
|
+
HOOKS_DIR="$ROOT_DIR/.git/hooks"
|
|
7
|
+
HOOK_PATH="$HOOKS_DIR/pre-commit"
|
|
8
|
+
|
|
9
|
+
if [[ ! -d "$ROOT_DIR/.git" ]]; then
|
|
10
|
+
echo "Expected a Git repository at $ROOT_DIR/.git" >&2
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
mkdir -p "$HOOKS_DIR"
|
|
15
|
+
|
|
16
|
+
cat >"$HOOK_PATH" <<'EOF'
|
|
17
|
+
#!/usr/bin/env bash
|
|
18
|
+
|
|
19
|
+
set -euo pipefail
|
|
20
|
+
|
|
21
|
+
ROOT_DIR="$(git rev-parse --show-toplevel)"
|
|
22
|
+
cd "$ROOT_DIR"
|
|
23
|
+
|
|
24
|
+
echo "[pre-commit] Running ./test.sh all"
|
|
25
|
+
./test.sh all
|
|
26
|
+
EOF
|
|
27
|
+
|
|
28
|
+
chmod +x "$HOOK_PATH"
|
|
29
|
+
|
|
30
|
+
echo "Installed pre-commit hook at $HOOK_PATH"
|
|
31
|
+
echo "The hook runs ./test.sh all before each commit."
|