URBANopt CLI

An EnergyPlus- and OpenStudio-based simulation platform for district, campus, and neighborhood-scale energy modeling, including thermal and electrical analysis.
https://github.com/urbanopt/urbanopt-cli

Category: Consumption
Sub Category: Buildings and Heating

Keywords from Contributors

buildings

Last synced: about 3 hours ago
JSON representation

Repository metadata

URBANopt command line interface

README.md

CLI build status
Core-gem
Coverage Status
Geojson-gem
Coverage Status
Reopt-gem
Coverage Status
Reporting-gem
Coverage Status
RNM-gem
Coverage Status
Scenario-gem
Coverage Status
Example-project CI
Coverage Status

URBANopt CLI

This is the command line interface (CLI) for the URBANopt™ SDK.

Installation (Using Ruby)

Add this line to your application's Gemfile:

gem 'urbanopt-cli'

And then execute:

bundle

Or install it yourself with:

gem install urbanopt-cli

Installation (Using Installer)

The UrbanOpt installer is an alternate way to install the UrbanOpt CLI that also includes Ruby 2.7.2 and the OpenStudio SDK.
Below are installation instructions for each platform.

Linux (Ubuntu 18.04)

Download the .deb package.

sudo apt update
sudo apt install ./UrbanOptCLI-0.3.1.b6f118d506-Linux.deb

This will install to /usr/local/ directory.
e.g.
/usr/local/urbanopt-cli-0.13.0/

To run the UrbanOpt CLI, first run the setup-env.sh script that generates environmental variables and stores these in env_uo.sh in your home directory.

/usr/local/urbanopt-cli-0.13.0/setup-env.sh
. ~/.env_uo.sh

When launching new shell terminals run . ~/.env_uo.sh to setup the environment. 

Mac OSX (>= 10.12)

Download the .dmg package.

Use the GUI installer and choose a directory to install. Once installed, open a terminal and run the provided setup script.
The setup-env.sh generates env variables and stores them in a file .env_uo.sh in your home directory.

/Applications/UrbanOptCLI_0.13.0/setup-env.sh
. ~/.env_uo.sh

When launching new shell terminals run . ~/.env_uo.sh to setup the environment. 

Windows (64-bit Windows 7 – 10)

Download the .exe installer.

Use the GUI installer and choose a directory to install. Once installed, open a terminal (Powershell, Windows CMD and GitBash are supported) and run the provided setup script for that shell (below are the setup scripts for each respective shell environment).

Bash (or GitBash for Windows)

c:/urbanopt-cli-0.13.0/setup-env.sh
. ~/.env_uo.sh

Powershell or Command Prompt

c:\urbanopt-cli-0.13.0\setup-env.ps1
. ~\.env_uo.ps1

Windows Command Prompt

After the setup-env.ps1 script has been run:

"%HOMEPATH%/.env_uo.bat"

When launching new shell terminals run the correct environment config to setup the environment. 

Usage

For help text in your terminal, type:

uo --help

Create a project folder:

uo create --project-folder <FOLDERNAME>

Overwrite an existing project folder:

uo create --overwrite --project-folder <FOLDERNAME>

Create an empty project folder without the example files:

uo create --empty --project-folder <FOLDERNAME>

Create ScenarioFiles from a FeatureFile using MapperFiles:

uo create --scenario-file <FEATUREFILE>

Create a ScenarioFile using only a specific FEATURE_ID from a FEATUREFILE:

uo create --scenario-file <FEATUREFILE> --single-feature <FEATURE_ID>

Create a REopt ScenarioFile from an existing ScenarioFile:

uo create --reopt-scenario-file baseline_scenario.csv

Run URBANopt energy simulations for each feature in your scenario:

uo run --scenario <SCENARIOFILE> --feature <FEATUREFILE>

Run URBANopt energy simulations for each feature in your scenario, with REopt functionality included:

uo run --reopt --scenario <SCENARIOFILE> --feature <FEATUREFILE>

Post-process simulations for a full scenario:

uo process --<TYPE> --scenario <SCENARIOFILE> --feature <FEATUREFILE>
  • Valid TYPEs are: default, opendss, reopt-scenario, reopt-feature, reopt-resilience, disco

Delete a scenario you have already run:

uo delete --scenario <SCENARIOFILE>

Installed CLI version:

uo --version

Current Python Dependencies

Python dependencies are currently versioned as follows:

Python Package Version
urbanopt-ditto-reader 0.6.4
NREL-disco 0.5.1
geojson-modelica-translator 0.8.0
ThermalNetwork 0.3.0

Development

To install this gem onto your local machine, clone this repo and run bundle exec rake install. If you make changes to this repo, update the version number in lib/version.rb in your first commit. When ready to release, follow the documentation.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 975
Total Committers: 13
Avg Commits per committer: 75.0
Development Distribution Score (DDS): 0.712

Commits in past year: 132
Committers in past year: 5
Avg Commits per committer in past year: 26.4
Development Distribution Score (DDS) in past year: 0.697

Name Email Commits
Nathan Moore n****e@n****v 281
kflemin k****g@n****v 253
Tanushree t****n@n****v 207
tijcolem t****n@g****m 159
Jing Wang j****5@n****v 21
Rawad El Kontar r****r@n****v 19
Tarek Elgindy t****y@n****v 13
brianlball b****l@n****v 12
dependabot[bot] 4****] 4
TKwasnik t****k@g****m 3
Joe Robertson j****n@n****v 1
Ubuntu u****u@i****l 1
Ubuntu u****u@i****l 1

Committer domains:


Issue and Pull Request metadata

Last synced: 12 days ago

Total issues: 98
Total pull requests: 140
Average time to close issues: 9 months
Average time to close pull requests: 23 days
Total issue authors: 20
Total pull request authors: 7
Average comments per issue: 0.92
Average comments per pull request: 0.3
Merged pull request: 112
Bot issues: 0
Bot pull requests: 2

Past year issues: 7
Past year pull requests: 16
Past year average time to close issues: 3 months
Past year average time to close pull requests: 19 days
Past year issue authors: 5
Past year pull request authors: 3
Past year average comments per issue: 0.43
Past year average comments per pull request: 0.0
Past year merged pull request: 12
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/urbanopt/urbanopt-cli

Top Issue Authors

  • kflemin (36)
  • tanushree04 (19)
  • vtnate (15)
  • JingWang-CUB (6)
  • DavidGoldwasser (5)
  • Raul-Ciria-Aylagas (2)
  • glinn07 (2)
  • ShikangWen2000 (1)
  • BehnamMohseniGharyehsafa (1)
  • Francesca-urbanplanner (1)
  • rawadelkontar (1)
  • xixihaha1995 (1)
  • ruggieroguida (1)
  • rasayem-hash (1)
  • email2adithya (1)

Top Pull Request Authors

  • vtnate (73)
  • tijcolem (27)
  • kflemin (24)
  • tanushree04 (8)
  • rawadelkontar (5)
  • dependabot[bot] (2)
  • mitchute (1)

Top Issue Labels

  • bug (34)
  • enhancement (27)
  • dependencies (1)

Top Pull Request Labels

  • enhancement (25)
  • dependencies (14)
  • bug (14)
  • ignore-for-release (7)
  • Tests (4)
  • Work In Progress (3)
  • documentation (2)

Package metadata

gem.coop: urbanopt-cli

Interfacing with URBANopt

  • Homepage: https://docs.urbanopt.net/
  • Documentation: http://www.rubydoc.info/gems/urbanopt-cli/
  • Licenses: Nonstandard
  • Latest release: 1.2.0 (published 3 months ago)
  • Last Synced: 2026-05-11T12:05:52.619Z (2 days ago)
  • Versions: 45
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 68,777 Total
  • Rankings:
    • Dependent repos count: 0.0%
    • Dependent packages count: 0.0%
    • Average: 4.257%
    • Downloads: 12.771%
  • Maintainers (1)
rubygems.org: urbanopt-cli

Interfacing with URBANopt

  • Homepage: https://docs.urbanopt.net/
  • Documentation: http://www.rubydoc.info/gems/urbanopt-cli/
  • Licenses: Nonstandard
  • Latest release: 1.2.0 (published 3 months ago)
  • Last Synced: 2026-05-11T12:05:33.974Z (2 days ago)
  • Versions: 45
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 68,777 Total
  • Rankings:
    • Downloads: 14.771%
    • Dependent packages count: 15.551%
    • Forks count: 17.671%
    • Average: 18.556%
    • Dependent repos count: 21.776%
    • Stargazers count: 23.011%
  • Maintainers (1)

Dependencies

example_files/Gemfile rubygems
  • openstudio-calibration ~> 0.7.0
  • openstudio-calibration >= 0
  • openstudio-common-measures ~> 0.7.0
  • openstudio-common-measures >= 0
  • openstudio-ee ~> 0.7.0
  • openstudio-ee >= 0
  • openstudio-geb ~> 0.2.1
  • openstudio-geb >= 0
  • openstudio-load-flexibility-measures ~> 0.6.1
  • openstudio-load-flexibility-measures >= 0
  • openstudio-model-articulation ~> 0.7.0
  • openstudio-model-articulation >= 0
  • urbanopt-geojson >= 0
  • urbanopt-geojson ~> 0.9.0
  • urbanopt-reporting >= 0
  • urbanopt-reporting ~> 0.7.0
example_files/resources/hpxml-measures/Gemfile rubygems
  • minitest = 5.15
  • minitest-reporters >= 0
  • msgpack >= 0
  • oga >= 0
  • parallel >= 0
  • rake >= 0
  • rubyzip >= 0
  • simplecov >= 0
  • simplecov-html >= 0
example_files/resources/hpxml-measures/Gemfile.lock rubygems
  • ansi 1.5.0
  • ast 2.4.2
  • builder 3.2.4
  • docile 1.4.0
  • minitest 5.15.0
  • minitest-reporters 1.5.0
  • msgpack 1.5.2
  • oga 3.3
  • parallel 1.22.1
  • rake 13.0.6
  • ruby-ll 2.1.2
  • ruby-progressbar 1.11.0
  • rubyzip 2.3.2
  • simplecov 0.21.2
  • simplecov-html 0.12.3
  • simplecov_json_formatter 0.1.4
uo_cli.gemspec rubygems
  • bundler >= 2.1.0 development
  • rake ~> 13.0 development
  • rspec ~> 3.9 development
  • rubocop ~> 1.15.0 development
  • rubocop-checkstyle_formatter ~> 0.4.0 development
  • rubocop-performance ~> 1.11.3 development
  • simplecov ~> 0.18.2 development
  • simplecov-lcov ~> 0.8.0 development
  • optimist ~> 3
  • urbanopt-geojson ~> 0.9.0
  • urbanopt-reopt ~> 0.9.0
  • urbanopt-reporting ~> 0.7.0
  • urbanopt-rnm-us ~> 0.5.0
  • urbanopt-scenario ~> 0.9.0
.github/workflows/nightly_ci_build.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
Gemfile rubygems
  • addressable = 2.8.1
  • parser = 3.2.2.2

Score: 17.95208380485396