An open API service indexing awesome lists of open source software.

https://github.com/navapbc/strata-template-rules-engine-catala


https://github.com/navapbc/strata-template-rules-engine-catala

Last synced: 13 days ago
JSON representation

Awesome Lists containing this project

README

          


Nava Strata


Open source tools for every layer of government service delivery.


Strata is a gold-standard target architecture and suite of open-source tools that gives government agencies everything they need to run a modern service.



Nava Strata is released under the Apache 2.0 license


PRs welcome!


git commit activity


GitHub Downloads (all assets, all releases)

# Template Rules Engine (Catala)

## Overview

This is a template for creating a rules engine using [Catala](https://catala-lang.org/), a domain-specific language designed to faithfully translate legislative and regulatory texts into executable code. This template includes:

- Catala source files for encoding legislative rules with literate programming style
- Compilation pipeline from Catala to Python
- REST API for exposing compiled rules as endpoints
- Docker-based development environment with the Catala compiler pre-installed
- Thorough formatting & linting tools for the Python wrapper layer
- CI/CD workflow for linting, typechecking, and testing

The template application is intended to work with the infrastructure from [template-infra](https://github.com/navapbc/template-infra).

## Installation

To get started using the template application on your project:

1. [Install the nava-platform tool](https://github.com/navapbc/platform-cli).
2. Install template by running in your project's root:
```sh
nava-platform app install --template-uri https://github.com/navapbc/strata-template-rules-engine-catala .
```
3. Follow the steps in `/docs//getting-started.md` to set up the application locally.
4. Optional, if using the Platform infrastructure template: [Follow the steps in the `template-infra` README](https://github.com/navapbc/template-infra#installation) to set up the various pieces of your infrastructure.

## Testing Template Changes

To test template changes locally, install the application locally to a temporary directory to see changes and run tests.

1. [Install the nava-platform tool (if not already installed)](https://github.com/navapbc/platform-cli).
2. Install template by running in your project's root:
```sh
nava-platform app install --template-uri
```
Example:
```sh
nava-platform app install --template-uri /path/to/strata-template-rules-engine-catala /tmp/test-catala-project test-app
```
3. Follow instructions in the project to install and run Catala and Python tests

## License

This project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for details.

## Community

- [Code of Conduct](CODE_OF_CONDUCT.md)
- [Contributing Guidelines](CONTRIBUTING.md)
- [Security Policy](SECURITY.md)