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.1.tar.gz (105.9 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.1-cp314-cp314-win_amd64.whl (329.9 kB view details)

Uploaded CPython 3.14Windows x86-64

eulumdat-0.2.1-cp314-cp314-macosx_11_0_arm64.whl (440.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

eulumdat-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl (675.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

eulumdat-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl (675.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

eulumdat-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (492.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

eulumdat-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl (468.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

eulumdat-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl (675.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

eulumdat-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl (676.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

eulumdat-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (494.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

eulumdat-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl (668.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

eulumdat-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl (673.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

eulumdat-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (490.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

eulumdat-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl (669.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

eulumdat-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl (673.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

eulumdat-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (491.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

eulumdat-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl (670.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

eulumdat-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl (674.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

eulumdat-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (493.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

eulumdat-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (497.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: eulumdat-0.2.1.tar.gz
  • Upload date:
  • Size: 105.9 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.1.tar.gz
Algorithm Hash digest
SHA256 ddd41d13a9ee4b4faeafbca9a1e5495ebccb9c13ae18f4bd96b8e4c343027b26
MD5 7a114dd736211c33f9519058f0a000f2
BLAKE2b-256 47eb47f06aab86d71b604315ede06cee2ca1e7b7e0f9c0b19841a3f0f3c00261

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1.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.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: eulumdat-0.2.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 329.9 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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d67f3ee4737b60e91db410658c04088e0ece3397b9cd817a20c98d7d78731009
MD5 fa54cf952cb378ab9cd3b63d56e1ce0e
BLAKE2b-256 76685b8573ba5e058eea27ca26004abc708c37eb92d662b989fca9da7644b6dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2197e6c7bd3f76e1203055f3819176a86b2586d7ef71f3490e07ce5dc378738c
MD5 049004e010229eeb0394f90ccfbe8fd8
BLAKE2b-256 c3ff115bcfbd2095ce337a58e6e093a5c8f5fe01761166540315661ec38550db

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 87a8391a5f22052b6e3611aa748d019da673c2520c06c3ea9c40330bf6179b48
MD5 6daba48b419019b873350ec77408e54d
BLAKE2b-256 186f82bf7a90eb3fae35305169f6f9dfc4abacc31a0417493ff408aea798b0bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 96837bc4c20414ec34d51b88f36a3e6d9fced31116f187d65da5b5bdeb04c08d
MD5 df2fb2d68e28047fda17206b5f147d16
BLAKE2b-256 6305470333abb2ffff7e6a9dd1d9267a97f905f1eeeaa320295621103ece5c40

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb6a283bcadd8d94e95ffa3672d2947f3d27dfb40624fc2f8678b06586fdbf2f
MD5 04400dbf8f6828d187c4d693b57fd997
BLAKE2b-256 7361be3e4ea29294d0dab861ccbff8a050e9505bb9b1f6285c21853b7c445a4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b16176e84a0543c4e8c85ec1cdb79fefadd1037596f17dcc9c1915ab6e1b9059
MD5 37ed90f8a7931b986a2cdd5ff6b1230e
BLAKE2b-256 362327480f6d7f398f7d01b283f8d75f892cb98d04e22f1d604b635df2e42f2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-cp313-cp313-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.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 24f6aaba8ee166345ffabe4804523f05b8721d5d88c6412558a64f705d4da2e3
MD5 7dcd191ae849626f2edc9a4298f7493e
BLAKE2b-256 72d0e141ac4b203bb999d096e255372531f82a2c05b582c8f0e7f9d8562ae6fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8715cc47b325f3f6422915fd06ffad9ecc5714407b0ed2f57208e06a36186ccc
MD5 fa3f39db2f4c521f61be8d984a9f6959
BLAKE2b-256 001cb58d2495868e3f34a31c7379c55411559e0b45858fd248efba0e968d5267

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f1c1578e6a973ce7f8e9bc6796fccf131d23db0fa82d811216087e8fc88da6a9
MD5 211f0d7f941b59d82cae2e0c0b3e6d48
BLAKE2b-256 6c692e7fda44f8f9217af94f09c1bc33456db7c8028c08cc9dabc241156ea980

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 33905c70c435d38d79c90d176b46937a41e0d9fd3be420dbb52bc48635c2c21a
MD5 2040f2380d655946f3c20ce81f01412d
BLAKE2b-256 23bb0a3b5205da824edbe63a2770ba6dcbb48431dcd709bf87b42cc936982b88

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 50d1f2c0096286a59e4d41a9e6298e72ce4ebab45b244e5ef64561cc3e5f7e80
MD5 289bfd06cd6e1c5fd939b12ca9b5dc80
BLAKE2b-256 c672e32a9b799b1751fc715dc277f8bb4b7477143213e2822dc7b027623e79f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cf49c830baba6b4b186b92d95d263cf59f1f4c941e7325b74154073d977a8243
MD5 756400874579600b77a1fbeb5a5f87aa
BLAKE2b-256 ecbc2dea6a010c0531d849b228be67d1b8734294b44848498dc03b4e8d68d29c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ad24dc9dbe6299a3e19b59f93ad34d5203dd06fa6900d058c1eb5a4c66691202
MD5 6488893c2a5ce40143b1d9383d75c556
BLAKE2b-256 2363bd9f1bc6f7a004a487ae662d36919a4e2fba1b413f04210e7d8695f754d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c9e9412db53a4dbb7e1581669a889afc1f1c4335b654038e11a283da42b61a13
MD5 a1eec778c04046ac78543b8a8b5ce195
BLAKE2b-256 a9565c6b759724338021b682f876280c0de40a938c724ad99faf152d170791cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eef41dd67774bb75d5769ffb1a111461c56a8e460ac800931d76a3109dfd9767
MD5 6a4ce6b5ed734542b9e3eeffb87e755d
BLAKE2b-256 ff03b8e8407d6194d1726c33afdd349d70dd28e1388ae8fbbff8defcfc939cbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 92e0cd8d93887acb0acbd4bc4aff2dbd1dd71a2c0f0c5ef405e61db7e9796597
MD5 656b83b7b69bb39d40ec75a53f7bb5d5
BLAKE2b-256 1ec5b6f9099d9c46ee544a5699a9829acbbd695081958349b8cd24615fce52f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fc0ee248c395ae6ee5bf604a63a0ee37f02bb10aa603a8808451567a4aadb572
MD5 ae164eca3e9384bb7dc342b2e020f0f3
BLAKE2b-256 4b1941caf42c5daefb19e6b8e3c0b3be66c2bd32615a7f8e57a3f015b3d9debb

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ebeb50b2563ac632a89ce8476f8579a6b24976417b22206145932ea7a4a40029
MD5 633bedb696396a7e88924edc05a50fd9
BLAKE2b-256 ca93c124b6a1a497e9b51daf08fa539da33ebd947f9251df7e8bb2a55449a92d

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for eulumdat-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40f96c27548343d20541ec17b019d9afe877fca70334aec6a985649271d1d6fb
MD5 0de003440ad06c1c28051da45dc70933
BLAKE2b-256 f021b6af946a1a35785ccbd2013f2c76c432ed197c03456677c8c144d9379940

See more details on using hashes here.

Provenance

The following attestation bundles were made for eulumdat-0.2.1-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