Skip to main content

DV - Dimensional Variables

DV (DimensionalVariable) is a Python library for handling physical quantities with automatic unit checking and conversion. It is a wrapper library to the core Rust library, which contains all the logic. Read more about the project (including extra docs) at https://dv.alextac.com.

Features

  • Unit-safe math: Add, subtract, multiply, divide with automatic unit checking
  • Easy conversions: Convert between any compatible units
  • Comprehensive unit support: SI units, imperial units, and more
  • Type safety: Catch unit errors at runtime before they cause problems

Quick Example

from dv_py import DimensionalVariable as dv

# Create dimensioned variables
velocity = dv(10.0, "m/s")
time = dv(2.0, "s")

# Automatic dimensional analysis
distance = velocity * time
print(distance.value_in("m"))   # 20.0
print(distance.value_in("km"))  # 0.02

# Unit checking prevents errors
mass = dv(5.0, "kg")
distance + mass  # Raises DVError: incompatible units!

Installation

pip install dv_py

Documentation

Full documentation, examples, and guides at: https://dv.alextac.com

License

This project is licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2025 Alex Tacescu

Metadata

Release files for dv-py 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for dv-py 0.3.3
File
dv_py-0.3.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ ARMv7l Details
dv_py-0.3.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ ARM64 Details
dv_py-0.3.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ ARMv7l Details
dv_py-0.3.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ ARM64 Details
dv_py-0.3.3-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
dv_py-0.3.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
dv_py-0.3.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.8 abi3 Linux glibc 2.17+ ARMv7l Details
dv_py-0.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
dv_py-0.3.3-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.8 abi3 macOS 10.12+ x86-64, macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64) Details

Total release size: 2.5 MB

Release files / dv_py-0.3.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL dv_py-0.3.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 270.3 kB
Tags Linux glibc 2.17+ ARMv7l PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
91b8b9443b777c95a1af2cc952f15be9ce6281f0d89af47139d469b3eb3dd6e4
BLAKE2b-256 checksum
How to use checksums
6d557d48cb9481b68a63b8179d7bf2e86a7e91177401b7eb72d1d05ddf3407c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dv_py-0.3.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL dv_py-0.3.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 260.0 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.10 PyPy 3.10 7.3
SHA-256 checksum
How to use checksums
19ee14bfb96936cb69593f6fd48c83809fab97142bad5a8dffef804d0cd748e7
BLAKE2b-256 checksum
How to use checksums
ebc2c7f3e58ffb39c0cbc584cd247e98a4a44e19d305b61fd9aa7d8259dda12e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dv_py-0.3.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL dv_py-0.3.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 272.1 kB
Tags Linux glibc 2.17+ ARMv7l PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
7512bd7aa6281c2d8d4fb02b35dbfafdbf194ad336099dc2f3d7a7fb8e400bb1
BLAKE2b-256 checksum
How to use checksums
c7f959bcf9a47a7f86e961cf5d5b91627867fab3b12b74011ff005268055287d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dv_py-0.3.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL dv_py-0.3.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 261.0 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
0e69050e9692e521a627da03e9b2a07334a735b5c206912c099ce4ae87d85f3f
BLAKE2b-256 checksum
How to use checksums
05bda3f5a79b36ed206df0ae614cc137835d8c9d65dbe0df93aa42646a8ee93c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dv_py-0.3.3-cp38-abi3-win_amd64.whl

Download URL dv_py-0.3.3-cp38-abi3-win_amd64.whl
Size 175.8 kB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
776a97cf5f027f369c4454f050d1c4a143d6a904b1cf6c389395eb792a4eef7d
BLAKE2b-256 checksum
How to use checksums
c18d5e85e79a787732b0bd57c1cda26df3f5228b9916ea2fd70ddacfc5b1e7ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dv_py-0.3.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL dv_py-0.3.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 274.8 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
cc417b69061f4b74bdb9b9ba754730c3eb2059f766ac2e77cd7977d2195a8d08
BLAKE2b-256 checksum
How to use checksums
f059749ae053399479ac52df68d6725ccad454b24e78094e73e12f963f7eaace
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dv_py-0.3.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL dv_py-0.3.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 270.4 kB
Tags CPython 3.8 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
ad4fed313228ed8685efa990a16360fc9afd9691fef27518805f53384cb7c3f7
BLAKE2b-256 checksum
How to use checksums
fa814163886e07a84769486c18f192fd39592ffdd6496204c8bc3c7be127169d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dv_py-0.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL dv_py-0.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 260.3 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
8c90aa8674728443f795a25aa9e1a9e3d57e2db774e9c685aa8a40eaf7068268
BLAKE2b-256 checksum
How to use checksums
1ac6f18335a46f5aecb54375055b00e8730b7c7d5611f23aa87a4adfeec54126
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dv_py-0.3.3-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL dv_py-0.3.3-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 498.1 kB
Tags CPython 3.8 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3d0311bb3f8fd5eb280aa0a9b2c55bdbb71147a1c3a172e965728208eaa86c45
BLAKE2b-256 checksum
How to use checksums
7f77d955fe202d2c272e6a726a9e4af21fa0bb2b38090a057e85ae16b8fabed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for dv-py 0.3.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page