Skip to main content

Python bindings for eulumdat photometric file parsing library

Project description

eulumdat

Python bindings for the eulumdat-rs Rust library.

Parse, write, and analyze EULUMDAT (LDT) and IES photometric files with high performance.

Installation

pip install eulumdat

Quick Start

import eulumdat

# Parse an LDT file
ldt = eulumdat.Eulumdat.from_file("luminaire.ldt")

# Access photometric data
print(f"Luminaire: {ldt.luminaire_name}")
print(f"Symmetry: {ldt.symmetry}")
print(f"Max intensity: {ldt.max_intensity()} cd/klm")
print(f"Total flux: {ldt.total_luminous_flux()} lm")

# Validate the data
for warning in ldt.validate():
    print(f"Warning [{warning.code}]: {warning.message}")

# Generate SVG diagrams
polar_svg = ldt.polar_svg(width=500, height=500)
butterfly_svg = ldt.butterfly_svg(width=500, height=400)
cartesian_svg = ldt.cartesian_svg(width=600, height=400)
heatmap_svg = ldt.heatmap_svg(width=700, height=500)

# Calculate BUG rating (IESNA TM-15-11)
rating = ldt.bug_rating()
print(f"BUG Rating: {rating}")  # e.g., "B2 U1 G3"

# Export to IES format
ies_content = ldt.to_ies()

IES Format Support

# Parse IES files
ldt = eulumdat.Eulumdat.parse_ies(ies_content)
# or from file
ldt = eulumdat.Eulumdat.from_ies_file("luminaire.ies")

# Export to IES
ies_output = ldt.to_ies()

Diagram Themes

# Light theme (default)
svg = ldt.polar_svg(theme=eulumdat.SvgTheme.Light)

# Dark theme
svg = ldt.polar_svg(theme=eulumdat.SvgTheme.Dark)

# CSS variables for dynamic theming
svg = ldt.polar_svg(theme=eulumdat.SvgTheme.CssVariables)

License

MIT OR Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eulumdat-0.2.2.tar.gz (107.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

eulumdat-0.2.2-cp314-cp314-win_amd64.whl (331.6 kB view details)

Uploaded CPython 3.14Windows x86-64

eulumdat-0.2.2-cp314-cp314-macosx_11_0_arm64.whl (442.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

eulumdat-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl (457.1 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

eulumdat-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl (672.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

eulumdat-0.2.2-cp313-cp313-musllinux_1_2_aarch64.whl (672.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

eulumdat-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (489.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

eulumdat-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl (672.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

eulumdat-0.2.2-cp312-cp312-musllinux_1_2_aarch64.whl (673.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

eulumdat-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (489.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

eulumdat-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl (666.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

eulumdat-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl (671.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

eulumdat-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (488.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

eulumdat-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl (666.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

eulumdat-0.2.2-cp310-cp310-musllinux_1_2_aarch64.whl (671.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

eulumdat-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (488.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

eulumdat-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl (668.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

eulumdat-0.2.2-cp39-cp39-musllinux_1_2_aarch64.whl (673.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

eulumdat-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (490.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

eulumdat-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (494.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file eulumdat-0.2.2.tar.gz.

File metadata

  • Download URL: eulumdat-0.2.2.tar.gz
  • Upload date:
  • Size: 107.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eulumdat-0.2.2.tar.gz
Algorithm Hash digest
SHA256 9df2b98c71133d53c9561066d2d9e78593ddf4e33be277554a62a0c3de0c6164
MD5 c696f07183c20d38caa11343255e8c46
BLAKE2b-256 7fe6f7bf7e083f8213f23db3ac1a35544a04bf1a568bb4e01a53a2b491db4d03

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2.tar.gz:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: eulumdat-0.2.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 331.6 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eulumdat-0.2.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f7b3a452cd5835efee136a201ea2d0c524b37a54a84b0a2623da617a99fde366
MD5 c22db33f964a8b03ea995b23dc49e392
BLAKE2b-256 7ff95b5af5eece81e552a06e3271140b8cf87bbb1682774be435052ac7d570cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp314-cp314-win_amd64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d97aafa0046990c5123b867e3c725aa1d554a69702ad30c443a9ea77f06b74e
MD5 ffbe7552c3a192aba54dd849d7e82c76
BLAKE2b-256 8de7c78d59347c5d2db0103b815e50174c600965f75016fa0aa4b9a677e92a66

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4351a715b87f60cbad170cbfc74fb22c55d564591b21fde464ea7baf1bdc373a
MD5 26ad170c8689ca15b781dfc2c7898107
BLAKE2b-256 d7600391c40d43fc8b22846c0c088f089033c97131e01cfe835ba029fcc75018

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 98dd2bb457de0fef72e02a8afcc43ef6036673f08e24db93e4021981aca8b047
MD5 ed07da456947bf73b2381558e8527775
BLAKE2b-256 30698d03b3f369ef69ca591e4047b6789a1baa6236c38ffa40dfaddaa8f36cef

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f1f71d523c55fb3051ea524e9d133bbc6a83bb22dfbebc9379d0aca2aba91399
MD5 39630006665b91362ae560e9dd8e15b0
BLAKE2b-256 33daf7168e3b67ad7da60bc03d85b03251d531e6e638c4738ca4800bef20ef08

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 069ddeea4c18e9458f67838ad4e83c7acc06b5fd1e8b8e5a150573e4c9d2ac4c
MD5 6b6b6faa77c4e43f0b16ec5aa04e2a89
BLAKE2b-256 e3fc5178112205c2a448f33adee1ea82a78ad046cacc82326900f9810b9e9bf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dbe2c30158d247fb2fdce21f75012e007225449a7d22d74c60f85e9b39e418c6
MD5 18db3242ffa4c6e09b819c83341039ba
BLAKE2b-256 53835621b598930aa173335c220e0aa72f5ded7ff45288d91d05927c658dc54d

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 51d48a6421ab3371d414045941192048b20a92f8d28e74803fed59cb930e4586
MD5 7021a3fbcd6a96eba57d852cc6921d73
BLAKE2b-256 b07d6999ac58e1069f70ad8ff000dc837a878e399db400b73611b26ec69e7386

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aabc30e8b1e2b44a589df3bff517ed1a7d9bd96cfe1ec82477c16f9baf75a265
MD5 b19d1a65be6cb167c7df66a31c7516d6
BLAKE2b-256 d455f4ea5f84ac5714edabc8d39b6ee85f2368ec7b4496fcf0c4ba8b880d8fe8

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b5fad42fd9d339556e09c1ea5403c457a16fae64fa37a5f0a6d01b1890f95f91
MD5 3f71c3da6fc674eb681c64d420d55f39
BLAKE2b-256 38a14ab5e172928f162d9deeb6fe659c0c9e64ce1e5ce22dc5e0b0b86ae78749

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ba435bbe53215386e210f53a7e5c033c1dd4c4f8e1cdbd6c4b8fbee29f4fe0f4
MD5 ae47f8435439428d9a02daea726ddbd7
BLAKE2b-256 a431bf70dde9868dc31f85c31549f6e0c341da2167979d9bff6ae3c106f76817

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b76eaba3811fced5d540e253064655ea5a3b4d9a85a18dd406e070d617ba9448
MD5 ca01ffe472ffae5094d4f3d9015f2996
BLAKE2b-256 f2bbe84d9da939ebeedc3913b9a7b7b1ab99ab9b3a823b31c9ec1f875f25f54e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 95d1f6883ef61ec62313d45712c3236aa44eccb62e2d2e3f25da1c5bba9117ce
MD5 2550a1cc2b5004789974a31177a17c4d
BLAKE2b-256 7428d88e1a619d4d458c81f17814d191893f813d278fd1e729e675058661d6c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bf40a002c9183730509367242bf53d1ca82e19129488a8b73844a577e4c1fde0
MD5 c778fe756f3c7943877e68be7d29cd89
BLAKE2b-256 9961919244a78d2042cc61c4e767bbbc39980f651c99ae9651ef4c4ce422784c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c9f396a2c8f978c1b46e88871f14c8f785bc01068ffe24a0916dad8e3bff9c96
MD5 cbc2538cf0b092edec4166c93081ca71
BLAKE2b-256 9591732e72b2299a144f7492f582f7197ff27235ece43c6893ac00ab7f4070fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 70c2494f373282ef193c867315c792525cdbc6b16be59db65c4a2637b21ff111
MD5 ad4200ae756abf74bea690e2052f8985
BLAKE2b-256 ea647b203cdc0bda692ac890a57fc77dad923e360e9f3799f083367fb691a0fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3751bd7448b0ab9f6d93950fb357b4f5c30df46e540db02e489c6642043cb7ea
MD5 8eaedd0236663b144cc201836a0cfbc5
BLAKE2b-256 d3657898c323db9bf2a702223d862c86d7e2e690d6da15e136ce10ea7ffd0c7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 095502665c71a3d7116e96723ee6ad3d34145eb99500c82d5f585017dc1c1ce9
MD5 04398e3b11e74799b8b305b2c7a42a21
BLAKE2b-256 0dbeb28023b9aa906c2515b82757770ab43b9ad28cfb7c1637d67018a87cb102

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eulumdat-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88726b42c4d5dc27c7e05a2c6f37a22639904cb5d842f60a9422e75e8e5fa812
MD5 4d77722b4c36df3c34aeb8862946e673
BLAKE2b-256 6d9d385108933067a6c54374da2389b8f452b5f94ecbfc86a91111a4a985af81

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python-publish.yml on holg/eulumdat-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page