Skip to main content

Creates Energy Reports from BMON Servers.

Project description

bmonreporter

This script creates the "Energy Reports" for BMON Building Monitoring applications. It is meant to be run periodically; it is currently run once per day at 3 am. The script is generally configured to store the final produced reports in an web-accessible AWS S3 bucket, which is then accessed by the BMON application to allow users to view the reports. The 'ENERGY_REPORTS_URL' in the BMON settings file points at the URL of the S3 bucket.

Reports are generated by running Jupyter Notebooks that produce the graphs, tables, and text that make up the report. Notebooks can be run at the "building" level or the "organziation" level. A Building notebook is run for every building on a BMON server. Organization notebooks are run for each Organization. The report notebooks are stored in Git repositories along with some additional configuration information that indicates which BMON sites to run reports against. Here is an example of a Git repository that contains suitable Jupyter Notebooks and configuration info.

The configuration of this bmonreporter script is done with a YAML configuration file, patterned after this sample configuration file. The main purpose of the configuration file is to identify the Git repositories containing Jupyter Notebooks to process. Multiple Git repositories can be processed by one run of bmonreporter.

bmonreporter runs with Python 3.7+ and is installed by:

pip install bmonreporter

The server where bmonreporter is installed must have all of the Python packages used by the Jupyter Notebooks that are processed from the targeted Git repositories. Also, reports produced by bmonreporter and the log files for the script are generally stored in AWS S3 buckets. So, the server must have suitable priveleges to write to those buckets. bmonreporter uses the AWS command line utility to store files into S3 buckets. This utility is installed when bmonreporter is installed, but the utility must be configured according to this page, and this configuration process will configure proper credentials for writing to S3 buckets. bmonreporter uses a profile named "bmonreporter", so that profile must be set up in the AWS config and credentials files.

Use of bmonreporter just involves running the script with a command line argument pointing to the configuration file:

bmonreporter <path to configuration file>

for example:

bmonreporter /home/joeuser/config.yaml

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

bmonreporter-1.0.2.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

bmonreporter-1.0.2-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file bmonreporter-1.0.2.tar.gz.

File metadata

  • Download URL: bmonreporter-1.0.2.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for bmonreporter-1.0.2.tar.gz
Algorithm Hash digest
SHA256 636d3351d7d18c2033192762351a73a429bb14ae7ebea4b53c4e2a97c051f931
MD5 fe3c2bcde0a531849a307b2e796a5de4
BLAKE2b-256 343a6a115ee60df8e95ed6579310a785d6b72fdb15e8656c4e80c6bd8950635d

See more details on using hashes here.

File details

Details for the file bmonreporter-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: bmonreporter-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for bmonreporter-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 31da9705bd0eec4b0794cb7d180d1e574fea622aa424996003a1183cdbc1b49c
MD5 e06108906aaf3a234df9b4e232c777bb
BLAKE2b-256 ff2e8c873a695f058a2ffe693dc07b827b4d2fcaa54e1a865c7232817850acbb

See more details on using hashes here.

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