diff --git a/README.md b/README.md index 7e4f0fe8f8..4e24352a2b 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 @@ -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//__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: