Skip to main content

External tools for City Energy Analyst, mainly containing C++ components e.g. DAYSIM and CRAX

Project description

CEA External Tools

A standalone Python package containing compiled C++ tools for the City Energy Analyst (CEA).

This package provides pre-compiled binary executables for radiation calculations and urban energy modeling, including DAYSIM (daylighting simulation) and CRAX (City Radiation Accelerator).

By separating these computationally intensive C++ components into their own package, we enable faster CEA installations and reduce build complexity.

Installation

pip install cea-external-tools

Usage

import cea_external_tools

# Get path to binary tools
bin_path = cea_external_tools.get_bin_path()
print(f"External tools located at: {bin_path}")

Package Contents

This package includes compiled binaries for:

  • DAYSIM - Advanced daylighting simulation tools
  • CRAX - Fast urban radiation calculation engine

Development & Build Configuration

This directory contains the CMake configuration for building external tools required by the City Energy Analyst (CEA).

Structure

The build system has been modularized into separate configuration files:

  • CMakeLists.txt - Main build configuration file
  • DaysimConfig.cmake - DAYSIM-specific configuration and build logic
  • CraxConfig.cmake - CRAX-specific configuration and build logic

Components

DAYSIM

Daylighting simulation tool that provides various radiation calculation utilities.

Executables built:

  • ds_illum - Illuminance calculation
  • epw2wea - Weather file conversion
  • gen_dc - Daylight coefficient generation
  • oconv - Octree conversion
  • radfiles2daysim - Radiance file conversion
  • rtrace_dc - Ray tracing for daylight coefficients

CRAX

City Radiation Accelerator for fast urban radiation simulations.

Executables built:

  • radiation - Main radiation calculation engine
  • mesh-generation - 3D mesh generation utility

Build Options

You can control which components to build using CMake options:

# Build both components (default)
cmake -DBUILD_DAYSIM=ON -DBUILD_CRAX=ON ..

# Build only DAYSIM
cmake -DBUILD_DAYSIM=ON -DBUILD_CRAX=OFF ..

# Build only CRAX  
cmake -DBUILD_DAYSIM=OFF -DBUILD_CRAX=ON ..

CRAX-specific Options

CRAX has additional configuration options for Python wheel builds:

  • CRAX_USE_DYNAMIC_ARROW (default: ON) - Enable dynamic Arrow linking to save space in wheels
  • CRAX_USE_AUTOMATED_DEPENDENCIES (default: ON) - Use automated dependency fetching

Source Configuration

Both tools support local source directories or automatic fetching from GitHub:

DAYSIM

  • DAYSIM_SOURCE_DIR - Path to local DAYSIM source (default: ./daysim)
  • DAYSIM_GIT_REPOSITORY - Git repository URL (default: https://github.com/reyery/Daysim.git)
  • DAYSIM_GIT_TAG - Git tag/branch to use

CRAX

  • CRAX_SOURCE_DIR - Path to local CRAX source (default: ./crax)
  • CRAX_GIT_REPOSITORY - Git repository URL (default: https://github.com/wanglittlerain/CityRadiation-Accelerator-CRAX-V1.0.git)
  • CRAX_GIT_TAG - Git tag/branch to use

Installation

The built executables are installed to the CEA resources directory:

  • CRAX tools: cea_external_tools/bin

Build Targets

The build system includes a custom target cea_all that builds all required CEA components:

# Configure build
cmake -B build -S .

# Build all CEA targets (recommended)
cmake --build build --target cea_all

# Or build all targets
cmake --build build

# Install to CEA resources
cmake --install build

Compiler Warnings

The build system automatically suppresses common warnings for cleaner output:

  • GNU/Clang: Suppresses missing prototypes, unused variables, sign comparison, and deprecated declarations
  • MSVC: Suppresses warning C4127 to prevent build failures on Windows

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

cea_external_tools-0.2.0.tar.gz (54.7 kB view details)

Uploaded Source

Built Distributions

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

cea_external_tools-0.2.0-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

cea_external_tools-0.2.0-cp312-cp312-manylinux_2_39_x86_64.whl (28.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

cea_external_tools-0.2.0-cp312-cp312-macosx_15_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

cea_external_tools-0.2.0-cp312-cp312-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: cea_external_tools-0.2.0.tar.gz
  • Upload date:
  • Size: 54.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cea_external_tools-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e34d5ca72faad52a9cb010f04d956939b20afc7ea648c0c6e34939ee23362bd1
MD5 c1ba055ba14b2dd6a0412896fd5b831e
BLAKE2b-256 d9208582ef1eef728a212c007ea01ab90a5496372102f192cee1af8ca2e36649

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.2.0.tar.gz:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

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

File details

Details for the file cea_external_tools-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for cea_external_tools-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5dcbc0404a3a4e138dc4b89d560e9143687c0759182bba3b72a4ce2be4df5af2
MD5 e9934f21a4bc20493130a1dc3f7c65e7
BLAKE2b-256 11b619bfba71943c709be6975436c29dd7e8edfc77c7cc8d353160dba76728ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.2.0-cp312-cp312-win_amd64.whl:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

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

File details

Details for the file cea_external_tools-0.2.0-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for cea_external_tools-0.2.0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 087c62761f8d489696f4d4d2af5bb23f383118b5c285c8fe7c8d281a18cb5ec9
MD5 46f4899d746946a2e7846e12187f5cfe
BLAKE2b-256 e9a0214efa07adef4cbf29b1749cd9d3fa9ea1a5b315c9be77ab99976b6ac37f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.2.0-cp312-cp312-manylinux_2_39_x86_64.whl:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

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

File details

Details for the file cea_external_tools-0.2.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for cea_external_tools-0.2.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 f4560c13994d776522717500668860feb0d9dc0f4e0416a1cec9612e3101b3cc
MD5 b3e3646bc6547aa8961b3fb3e94bd5c4
BLAKE2b-256 7f0eb65edb5df3e868cca263183d94cd58dc77d8f884ccadd739ca2e06ed6a85

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.2.0-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

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

File details

Details for the file cea_external_tools-0.2.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for cea_external_tools-0.2.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d2356b927f9343e06784b252b41a51da357380cd963712b5feb9baf7988a1c5d
MD5 3073e32d4af08992e2ffff4f8056cd1b
BLAKE2b-256 88c903afefdc234c4b7d8ac4433b6615502f4eef98d369789be38b5d3491ee1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cea_external_tools-0.2.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build-external-tools.yml on architecture-building-systems/CityEnergyAnalyst

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