Skip to content

Commit

Permalink
Merge pull request #197 from NREL/develop
Browse files Browse the repository at this point in the history
  • Loading branch information
MatthewSteen authored Jan 4, 2023
2 parents 1045e33 + 25a234c commit 74f7988
Show file tree
Hide file tree
Showing 24 changed files with 47,662 additions and 1,544 deletions.
4 changes: 4 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[run]
omit =
tests/*
setup.py
53 changes: 53 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: continuous deployment

on:
pull_request:
branches:
- develop
- main
release:

jobs:

build:
name: build distribution for Python
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: snok/install-poetry@v1

- name: build
run: poetry build

publish:
name: publish distribution
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: snok/install-poetry@v1

- name: build
run: poetry build

- name: publish distribution 📦 to Test PyPI
if: ${{ github.base_ref == 'main' }}
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
repository_url: https://test.pypi.org/legacy/
skip_existing: true

- name: publish distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
python_version: ${{ matrix.python-version }}
pypi_token: ${{ secrets.PYPI_API_TOKEN }}
5 changes: 4 additions & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@ jobs:
run: poetry run pytest tests/integration

- name: Codecov
uses: codecov/codecov-action@v2.1.0
uses: codecov/codecov-action@v3.1.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml

style:
runs-on: ubuntu-latest
Expand Down
30 changes: 23 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,41 @@



# Distribution / packaging
dist/



# Unit test / coverage reports
.coverage
coverage.xml



# Jupyter Book documentation
# documentation
docs/_build/
docs/reference/apidoc/_autosummary



# Jupyter Notebook
*.ipynb_checkpoints
*.db

# local configs
configs.py

# logs
**/BuildingMOTIF.log

buildingmotif-app/node_modules/
# Environments
# .env
.venv
# env/
# venv/
# ENV/
# env.bak/
# venv.bak/



# project
configs.py
buildingmotif-app/node_modules/
**/BuildingMOTIF.log
*.db
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ test:
format:
poetry run black .
poetry run isort .
poetry run pylama
poetry run pylama buildingmotif tests migrations buildingmotif-app
poetry run mypy buildingmotif/*.py tests/*.py migrations/*.py
31 changes: 16 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,29 @@

[![codecov](https://codecov.io/gh/NREL/BuildingMOTIF/branch/main/graph/badge.svg?token=HAFSYH45NX)](https://codecov.io/gh/NREL/BuildingMOTIF)
[![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://nrel.github.io/BuildingMOTIF/)
![PyPI](https://img.shields.io/pypi/v/buildingmotif)
![PyPI - Downloads](https://img.shields.io/pypi/dm/buildingmotif)

> *Enabling the enabling technology of semantic interoperability.*
Semantic Interoperability in buildings through standardized semantic metadata is crucial to unlocking the value of the abundant and diverse networked data in buildings, avoiding subsequent data incompatibility/interoperability issues, and paving the way for advanced building technologies like Automated Fault Detection and Diagnostics (AFDD), real-time energy optimization, other energy management information systems ([EMIS](https://www.energy.gov/eere/femp/what-are-energy-management-information-systems)), improved HVAC controls, and grid-interactive energy efficient building ([GEB](https://www.energy.gov/eere/buildings/grid-interactive-efficient-buildings)) technologies, all of which are needed to fully de-carbonize buildings. Utilizing the capabilities of [Semantic Web](https://www.w3.org/standards/semanticweb/), it is possible to standardize building metadata in structured, expressive, and machine-readable ways, but at the same time it is very important to make it easier to implement for field practitioners without advanced knowledge in computer science.
Semantic Interoperability in buildings through standardized semantic metadata is crucial in unlocking the value of the abundant and diverse networked data in buildings, avoiding subsequent data incompatibility/interoperability issues, and paving the way for advanced building technologies like Fault Detection and Diagnostics (FDD), real-time energy optimization, other energy management information systems ([EMIS](https://www.energy.gov/eere/femp/what-are-energy-management-information-systems)), improved HVAC controls, and grid-integrated energy efficient building ([GEB](https://www.energy.gov/eere/buildings/grid-interactive-efficient-buildings)) technologies, all of which are needed to fully de-carbonize buildings.

***Building Metadata OnTology Interoperability Framework (BuildingMOTIF)*** bridges that gap between theory and practice, by offering a toolset for building metadata creation, storage, visualization, and validation. It is offered in the form of an SDK with easy-to-use APIs that abstract the underlying complexities of [RDF](https://www.w3.org/RDF/) graphs, database management, [SHACL](https://www.w3.org/TR/shacl/) validation, and interoperability between different metadata schemas/ontologies. It also supports connectors for easier integration with existing metadata sources (e.g., Building Automation System data, design models, existing metadata models, etc.), which are available at different phases of the building life-cycle.
Utilizing the capabilities of [Semantic Web](https://www.w3.org/standards/semanticweb/), it is possible to standardize building metadata in structured, expressive, and machine-readable way, but at the same time it is very important to make it easier to implement for field practitioners without advanced knowledge in computer science. ***Building Metadata OnTology Interoperability Framework (BuildingMOTIF)*** bridges that gap between theory and practice, by offering a toolset for building metadata creation, storage, visualization, and validation. It is offered in the form of a SDK with easy-to-use APIs, which abstract the underlying complexities of [RDF](https://www.w3.org/RDF/) graphs, database management, [SHACL](https://www.w3.org/TR/shacl/) validation, and interoperability between different metadata schemas/ontologies. It also supports connectors for easier integration with existing metadata sources (e.g., Building Automation System data, design models, existing metadata models, etc.) which are available at different phases of the building life-cycle.

The objectives of the ***BuildingMOTIF*** toolset are the following:
1. lower costs, reduce installation time, and improve delivered quality of building controls and services for building owners and occupants
2. enable a simpler and more easily verifiable procurement process for products and services for building managers
3. open new business opportunities for service providers, by removing knowledge barriers for parties implementing building controls and services
The objectives of the ***BuildingMOTIF*** toolset are to (1) lower costs, reduce installation time, and improve delivered quality of building controls and services for building owners and occupants, (2) enable a simpler and more easily verifiable procurement process for products and services for building managers, and (3) open new business opportunities for service providers, by removing knowledge barriers for parties implementing building controls and services.

Currently, ***BuildingMOTIF*** is planned to support the [Brick Schema](https://brickschema.org/), [Project Haystack](https://project-haystack.org/), and the proposed [ASHRAE Standard 223P](https://www.ashrae.org/about/news/2018/ashrae-s-bacnet-committee-project-haystack-and-brick-schema-collaborating-to-provide-unified-data-semantic-modeling-solution), and to offer both a UI and underlying SDK with tutorials and reference documentation to be useful for different levels of expertise of users for maximum adoption.
Currently, ***BuildingMOTIF*** is planned to support [Brick](https://brickschema.org/) Schema, [Project Haystack](https://project-haystack.org/), and the upcoming [ASHRAE 223P](https://www.ashrae.org/about/news/2018/ashrae-s-bacnet-committee-project-haystack-and-brick-schema-collaborating-to-provide-unified-data-semantic-modeling-solution) standard, and to offer both UI and underlying SDK with tutorials and reference documentation to be useful for different levels of expertise of users for maximum adoption.

# Documentation

The documentation uses [Diataxis](https://diataxis.fr/) as a framework for its structure, which is organized into the following sections.
The documentation uses Diataxis[^1] as a framework for its structure, which is organized into the following sections.

[^1]: https://diataxis.fr/

## Reference

- [Developer Documentation](https://nrel.github.io/BuildingMOTIF/reference/developer_documentation.html)
- [Code Documentation](https://nrel.github.io/BuildingMOTIF/reference/apidoc/index.html)

## Tutorials

Expand All @@ -27,15 +33,10 @@ The documentation uses [Diataxis](https://diataxis.fr/) as a framework for its s
- [Model Correction](https://nrel.github.io/BuildingMOTIF/tutorials/model_correction.html)
- [Template Writing](https://nrel.github.io/BuildingMOTIF/tutorials/template_writing.html)

## How-to Guides
## Guides

🏗️ under construction

## Reference

- [Code Documentation](https://nrel.github.io/BuildingMOTIF/reference/apidoc/index.html)
- [Developer Documentation](https://nrel.github.io/BuildingMOTIF/reference/developer_documentation.html)

## Explanation

🏗️ under construction
🏗️ under construction
Loading

0 comments on commit 74f7988

Please sign in to comment.