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.0.tar.gz (71.5 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.0-cp314-cp314-win_amd64.whl (309.5 kB view details)

Uploaded CPython 3.14Windows x86-64

eulumdat-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (417.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

eulumdat-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (649.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

eulumdat-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl (650.1 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

eulumdat-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (467.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

eulumdat-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl (441.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

eulumdat-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (648.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

eulumdat-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl (650.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

eulumdat-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (468.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

eulumdat-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (643.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

eulumdat-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl (648.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

eulumdat-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (465.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

eulumdat-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (643.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

eulumdat-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl (649.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

eulumdat-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

eulumdat-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (645.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

eulumdat-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl (651.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

eulumdat-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (468.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

eulumdat-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (473.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: eulumdat-0.2.0.tar.gz
  • Upload date:
  • Size: 71.5 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.0.tar.gz
Algorithm Hash digest
SHA256 c918008d986cb7a548e68eaeee4bae337304efa53dff1cfb9f02612073330880
MD5 5cb2615f9e0e5430f2d23c6ef50164ef
BLAKE2b-256 8677e4a510de30cf50e301e27b39350ebc1e51187304c6dc12f7048db3055310

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: eulumdat-0.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 309.5 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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 86c374b69012f0094d3e37fa7d9476849151fecce4da0546b9382b4ea7a09b2b
MD5 c91db2803463ec3ab83bae3548af0d61
BLAKE2b-256 0b6b008efaaedbe8acb406ff48182fc06feb4baa1d983a2fa8fbaa869c4730c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96cce4fc5e26cec23cbf755bcbc1528138d3603aaa23247f03208f42a54584f0
MD5 108155773f786405c597cebe28a1c310
BLAKE2b-256 8975592422faa8a7429bfa4018615f35429d9224442488138970f3f4aaccc256

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8b87fc38af0fa368025cb9f13a53165305e830dcc42c9b63ff2ffdc05c062c98
MD5 df3149ecc6fb5c8e58898918f867f23d
BLAKE2b-256 6de91cd77879cb3cee53960313cd8525db467d7e3be06487e32f8abbbe995a18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 06b022fe1e9657699d8cfc2cd448b4d31dd33d900b0e025b777959c08764375a
MD5 b0e55a64e8e1a5e85b177751933d6bed
BLAKE2b-256 1d6f762d0ade3ba3771a7df41192874b0b60f2c3185bb161490fbd2989270cc3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 83e1fe3f7026c0ac4fdb8b86845387136846c62ed2e1a9b0876bfd5815ccd1d4
MD5 c74c951c64be7111085fc3e1f33cca8f
BLAKE2b-256 50b10121bad55964d474d7d9c1920ec5d2cc824998a655cd4b70c5f4910ea2e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f530ffbe225cf65c83e77d4252915d061fcc8fd9fe889bac8c2770845141e5ba
MD5 5fd103db7738ad5c24b38b1e503c6aae
BLAKE2b-256 be832a0e264f480a672a1d2b59563690a8a739b7f72e114e437b6e4f1a89d367

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8a11a743ded22cc565f63c49f9190d0dfb4f5fcb213b06beff7a0cb96f3c4cb3
MD5 672806f7964355992025fa72902740ae
BLAKE2b-256 a3d3c8e0a68adc718f7f674f6ab08cf0ad2951c31c15bfc4718bdf00607bc44f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 04f092a9ebb9196f66b79a1d99593748072697b02b6d4ee4c2a478f89d8ef0f7
MD5 ff40549f2c4ce8c4534549e30b4cc7ae
BLAKE2b-256 decf601be688825ac227ae63690f500b08b42f1008f0631e3991d78574d4fd6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81d7d6d0a73d74d15bda951c44835fac8b7ab1eaf352abc6549c4080e9a7af29
MD5 f7f371502ff688475efbbb8275777313
BLAKE2b-256 c73046f6ab3d8fc58edbdcf99c09e74ad73e961e1282c5749a9bebd346ea7be2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 632d4179133b1e63504d309601e27b02cf5174ecfc2cca35f9360daa6d1698d1
MD5 6ad0a67a325976eaa1d8690890f32539
BLAKE2b-256 fc9b15be217d9c1707f2a6a4fc79b31445935f009d568504b04e4daf0536473c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b6e2fbc929b48656bb3c9bf029b0acb5ae0e091218df354bfe17a4054f97b4f1
MD5 01845a5c57ce86cc74754e804ef194a8
BLAKE2b-256 5e446725d229988d4e62768d59db5b2584dceb04acd7147e541c0c073d153ff7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2acecc6a244adfde6e7a648076978adbfc801cf7614bff10596f70152b653328
MD5 3601041fd2dd5df81c462305f7c8014e
BLAKE2b-256 3e3c459136a61e9edb56fdb9f8fc6e483b20fa40dc9809c453e426e0a97f59ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 58f05a2087d8c053e6879e02eca8f8ee632685e1e7c21419ca3742cb42a599f8
MD5 3729f51ed620609d89cd00cafd9e0065
BLAKE2b-256 460134b133241d8a4d362c6cd70e92f406e7d05efc5c9847f8f2a886d7785e7a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 63f969c14b4960e14085a981a995c2362b7053faa453e2f23e396f1056f35d26
MD5 bc62cf21eff9acc345f5a95003726be1
BLAKE2b-256 fccdbc44b0b4f41f17a08f4e5975cca2ea89d02cb96bf703685c31f439c28379

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 982dd27d2fd9ad0edaabf3a8ec26dc79757ac9183d2fd62f4593713f45d3baf0
MD5 7dd05b74a690f53875c8a9d0cdcffcbe
BLAKE2b-256 47cdd99f0d9e55ff2f0cafba601e7e8dce1d4511e2c95b8858d065a7f8fcb514

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cdf587149ba60ec3e506c84a1086c2e23f371b780b1a8ae5c6400c398abf21d6
MD5 34c708ea8b99e906bdb9ec5cded4d413
BLAKE2b-256 423d11aa7caa8e6a6ab12e0230330dce639c8066cb9d8f54fc5cef3c9d3d34d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 403504482bd7645c84c93706b555734c3bfff6678fa8d0139532cf9f22c553fd
MD5 b796f455d5cc645ff21d8ab1be857452
BLAKE2b-256 53d368c49357b737e41956fd248418ee467e2bebd306778e012ad96c571e1482

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff6787c68abd07e6ec51246b8d2422258b10011845461c892b3aa9115e3f9c9a
MD5 1ff51a21cbbe1428a4f5924e8846bafe
BLAKE2b-256 2e429b2d25a008a3cfabfc40a73ad8dedbdd94c23976aef9961217f65f36c37e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eulumdat-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f53c61d4ad54a98c598af715af6d0fea653ee9e6e66997e564676cda95020396
MD5 d1733c32fb8801cc9cc777cb0c882744
BLAKE2b-256 c0771b4ac9fc2878ec676b336262555a9b2e615e0f75d0d7c4319fa985b90d07

See more details on using hashes here.

Provenance

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