Metadata-Version: 2.4
Name: NREL-COMPASS
Version: 0.4.0
Summary: INFRA-COMPASS is a tool that leverages Large Language Models (LLMs) to create and maintain an inventory of state and local codes and ordinances applicable to energy infrastructure.
Author-email: Paul Pinchuk <ppinchuk@nrel.gov>, Guilherme Castelão <gpimenta@nrel.gov>
Maintainer-email: Paul Pinchuk <ppinchuk@nrel.gov>, Guilherme Castelão <gpimenta@nrel.gov>
License-Expression: BSD-3-Clause
Project-URL: homepage, https://github.com/NREL/COMPASS
Project-URL: documentation, https://nrel.github.io/COMPASS/
Project-URL: repository, https://github.com/NREL/COMPASS
Keywords: COMPASS,NREL,Ordinance,Database
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.12
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: click<9,>=8.1.7
Requires-Dist: langchain<0.4,>=0.3.7
Requires-Dist: networkx<4,>=3.4.2
Requires-Dist: nltk<4,>=3.9.1
Requires-Dist: nrel-elm<1,>=0.0.12
Requires-Dist: openai>=1.1.0
Requires-Dist: pandas<3,>=2.2.3
Requires-Dist: pyjson5<2,>=1.6.8
Requires-Dist: rich<14,>=13.9.4
Provides-Extra: ocr
Requires-Dist: pytesseract<0.4,>=0.3.13; extra == "ocr"
Provides-Extra: dev
Requires-Dist: jupyter<1.1,>=1.0.0; extra == "dev"
Requires-Dist: pipreqs<0.5,>=0.4.13; extra == "dev"
Requires-Dist: ruff<0.9,>=0.8.0; extra == "dev"
Requires-Dist: ruff-lsp<0.0.61,>=0.0.60; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest<9,>=8.3.3; extra == "test"
Requires-Dist: pytest-asyncio<0.26,>=0.25.2; extra == "test"
Requires-Dist: pytest-cases<4,>=3.8.6; extra == "test"
Requires-Dist: pytest-cov<7,>=6.0.0; extra == "test"
Requires-Dist: pytest-mock<4,>=3.14.0; extra == "test"
Requires-Dist: pytest-profiling<2,>=1.7.0; extra == "test"
Requires-Dist: pytest-xdist<4,>=3.6.1; extra == "test"
Requires-Dist: snakeviz<3,>=2.2.2; extra == "test"
Requires-Dist: tox<5,>=4.23.2; extra == "test"
Provides-Extra: doc
Requires-Dist: ghp-import>=2.1; extra == "doc"
Requires-Dist: make>=0.1; extra == "doc"
Requires-Dist: pydata-sphinx-theme<0.17,>=0.16.1; extra == "doc"
Requires-Dist: sphinx-click>=5.1; extra == "doc"
Requires-Dist: sphinx-copybutton>=0.5; extra == "doc"
Requires-Dist: sphinx-tabs>=3.4; extra == "doc"
Requires-Dist: sphinxcontrib-mermaid>=1.0.0; extra == "doc"
Provides-Extra: anthropic
Requires-Dist: anthropic<0.41,>=0.40.0; extra == "anthropic"
Requires-Dist: botocore<2,>=1.35.72; extra == "anthropic"
Requires-Dist: boto3<2,>=1.35.71; extra == "anthropic"
Provides-Extra: build
Requires-Dist: build<2,>=1.2.2; extra == "build"
Requires-Dist: pkginfo<2,>=1.12.1.2; extra == "build"
Requires-Dist: twine<7,>=6.1.0; extra == "build"
Dynamic: license-file

*******************************************************************************************
Infrastructure Continuous Ordinance Mapping for Planning and Siting Systems (INFRA-COMPASS)
*******************************************************************************************

|License| |PythonV| |PyPi| |Ruff| |Pixi| |SWR|

.. |PythonV| image:: https://badge.fury.io/py/NREL-COMPASS.svg
    :target: https://pypi.org/project/NREL-COMPASS/

.. |PyPi| image:: https://img.shields.io/pypi/pyversions/NREL-COMPASS.svg
    :target: https://pypi.org/project/NREL-COMPASS/

.. |Ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff

.. |License| image:: https://img.shields.io/badge/License-BSD_3--Clause-orange.svg
    :target: https://opensource.org/licenses/BSD-3-Clause

.. |Pixi| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/prefix-dev/pixi/main/assets/badge/v0.json
    :target: https://pixi.sh

.. |SWR| image:: https://img.shields.io/badge/SWR--25--62_-blue?label=NREL
    :alt: Static Badge

.. inclusion-intro


INFRA-COMPASS is an innovative software tool that harnesses the power of Large Language Models (LLMs)
to automate the compilation and continued maintenance of an inventory of state and local codes
and ordinances pertaining to energy infrastructure.


Installing INFRA-COMPASS
========================
The quickest way to install INFRA-COMPASS for users is from PyPi:

.. code-block:: bash

    pip install nrel-compass

If you would like to install and run INFRA-COMPASS from source, we recommend using `pixi <https://pixi.sh/latest/>`_:

.. code-block:: bash

    git clone git@github.com:NREL/COMPASS.git; cd COMPASS
    pixi run compass

Before performing any web searches (i.e. running the COMPASS pipeline), you will need to run the following command:

.. code-block:: shell

    rebrowser_playwright install

If you are using ``pixi``, don't forget to prefix this command with ``pixi run`` or initialize a shell using ``pixi shell``.
For detailed instructions, see the `installation documentation <https://nrel.github.io/COMPASS/misc/installation.html>`_.


Quickstart
==========
To run a quick INFRA-COMPASS demo, set up a personal OpenAI API key and run:

.. code-block:: shell

    pixi run openai-solar-demo <your API key>

This will run a full extraction pipeline for two counties using ``gpt-4o-mini`` (costs ~$0.35).
For more information on configuring an INFRA-COMPASS run, see the
`execution basics example <https://nrel.github.io/COMPASS/examples/execution_basics/README.html>`_.


Development
===========
Please see the `Development Guidelines <https://nrel.github.io/COMPASS/dev/index.html>`_
if you wish to contribute code to this repository.
