Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 24 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,16 @@ Ruleset Checking Tool for ANSI/ASHRAE/IES Standard 90.1-2019 Appendix G
This package provides a reference implementation of a Ruleset Checking Tool (RCT) in support of ASHRAE Standard 229P. The RCT is not intended to be a normative part of the proposed standard, so use with Std 229P is optional. This RCT implementation is specific to ANSI/ASHRAE/IES Standard 90.1-2019 Appendix G and does not support any other rulesets. Final release of this package is dependent upon acceptance and publication of ASHRAE Standard 229P.

## Install it from PyPI

By default, the package includes the ASHRAE 90.1-2019 PRM ruleset.
```bash
pip install ruleset-checking-tool
```

To install additional rulesets, you can install them as optional dependencies. For example, to install the ASHRAE 90.1-2022 ruleset, you can run:
```bash
pip install ruleset-checking-tool[ashrae9012022]
```

## Usage

```py
Expand Down Expand Up @@ -113,17 +118,25 @@ The following provides some useful commands as you get started developing the RC
This package is developed using Poetry to manage packages during the build process. First, follow the instruction from [poetry](https://python-poetry.org/docs/) to install the package.
Any new dependencies that are added to the package must be included in the pyproject.toml. The package is currently being developed for Python 3.10. This version of Python must be installed on your machine for Poetry to work properly.

Now tests can be run by first installing dependencies and then running pytest.
1. `poetry install`
2. `poetry run pytest`
- To see a coverage report, use `poetry run pytest --cov`
- To have pytest watch for file changes, use `poetry run ptw`
By default, the RCT package includes the ASHRAE 90.1-2019 PRM ruleset.
`poetry install`

To install additional rulesets, you can install them as optional dependencies. For example, to install the ASHRAE 90.1-2022 ruleset, you can run:
`poetry install --extras ashrae9012022`

You can also install all available rulesets by running:
`poetry install --all-extras`

Now tests can be run by first installing dependencies and then running pytest.
`poetry run pytest`
- To see a coverage report, use `poetry run pytest --cov`
- To have pytest watch for file changes, use `poetry run ptw`

You can also package with poetry to test the CLI tool.
2. `poetry run rct229 test`
You can also package with poetry to test the CLI tool.
`poetry run rct229 test`

Run with example ASHRAE 90.1 2019 RPDs.
1. `poetry run rct229 evaluate -rs ashrae9012019 -f examples\chicago_demo\baseline_model.json -f examples\chicago_demo\proposed_model.json -f examples\chicago_demo\user_model.json -r ASHRAE9012019_DETAIL`
Run with example ASHRAE 90.1 2019 RPDs.
`poetry run rct229 evaluate -rs ashrae9012019 -f examples\chicago_demo\baseline_model.json -f examples\chicago_demo\proposed_model.json -f examples\chicago_demo\user_model.json -r ASHRAE9012019_DETAIL`


### Developer Notes
Expand Down Expand Up @@ -165,7 +178,7 @@ Before committing changes you should run the following commands from the `rulese
2. Add a new item to the `rules_dict` in the rulset's `rct229/rulesets/<RULESET>/__init__.py` file with the unique rule ID and desired rule section and number.
3. Create the new rule module in the ruleset directory following the typical procedure, but using the unique rule ID as the rule's class name.
```python
class PRM9012019Rule86h31(RuleDefinitionBase):
class PRM9012019Rule86h31(RuleDefinitionBase):
```

- For renumbering a rule to remain in the same section:
Expand Down
Loading