LICENSE
README.md
pyproject.toml
src/sparkrules/__init__.py
src/sparkrules/py.typed
src/sparkrules.egg-info/PKG-INFO
src/sparkrules.egg-info/SOURCES.txt
src/sparkrules.egg-info/dependency_links.txt
src/sparkrules.egg-info/entry_points.txt
src/sparkrules.egg-info/requires.txt
src/sparkrules.egg-info/top_level.txt
src/sparkrules/ai/__init__.py
src/sparkrules/ai/openai_provider.py
src/sparkrules/ai/service.py
src/sparkrules/api/__init__.py
src/sparkrules/api/_http_deps.py
src/sparkrules/api/app.py
src/sparkrules/api/kie.py
src/sparkrules/api/rulepack.py
src/sparkrules/api/schemas.py
src/sparkrules/api/security.py
src/sparkrules/api/workbench_auth.py
src/sparkrules/api/static/workbench/favicon.ico
src/sparkrules/api/static/workbench/index.html
src/sparkrules/api/static/workbench/sample_facts.csv
src/sparkrules/api/static/workbench/sample_facts.json
src/sparkrules/api/static/workbench/sparkrules-logo.png
src/sparkrules/client/__init__.py
src/sparkrules/client/sdk.py
src/sparkrules/compiler/__init__.py
src/sparkrules/compiler/alpha_network.py
src/sparkrules/compiler/batcher.py
src/sparkrules/compiler/beta_join.py
src/sparkrules/compiler/classifier.py
src/sparkrules/compiler/closure.py
src/sparkrules/compiler/compiler.py
src/sparkrules/compiler/discrimination.py
src/sparkrules/compiler/evaluator.py
src/sparkrules/compiler/exceptions.py
src/sparkrules/compiler/rete.py
src/sparkrules/compiler/rulepack.py
src/sparkrules/compiler/safe_pickle.py
src/sparkrules/compiler/translator.py
src/sparkrules/compliance/__init__.py
src/sparkrules/compliance/action_sandbox.py
src/sparkrules/compliance/adverse_action.py
src/sparkrules/connect/__init__.py
src/sparkrules/connect/server.py
src/sparkrules/dmn/__init__.py
src/sparkrules/dmn/minimal_xml.py
src/sparkrules/dq/__init__.py
src/sparkrules/dq/engine.py
src/sparkrules/dq/profile.py
src/sparkrules/executor/__init__.py
src/sparkrules/executor/adverse_action.py
src/sparkrules/executor/agenda.py
src/sparkrules/executor/local_executor.py
src/sparkrules/executor/pandas_executor.py
src/sparkrules/executor/rule_executor.py
src/sparkrules/export/__init__.py
src/sparkrules/export/opa.py
src/sparkrules/governance/__init__.py
src/sparkrules/governance/deprecation.py
src/sparkrules/governance/promote_ops.py
src/sparkrules/governance/registry.py
src/sparkrules/ide/__init__.py
src/sparkrules/ide/lsp.py
src/sparkrules/integrations/__init__.py
src/sparkrules/integrations/feast_client.py
src/sparkrules/integrations/tecton_client.py
src/sparkrules/ioxls/__init__.py
src/sparkrules/ioxls/exporter.py
src/sparkrules/ioxls/importer.py
src/sparkrules/model/__init__.py
src/sparkrules/model/decision_table.py
src/sparkrules/model/rule.py
src/sparkrules/model/rule_template.py
src/sparkrules/native/__init__.py
src/sparkrules/native/ast_json.py
src/sparkrules/native/bridge.py
src/sparkrules/native/executor.py
src/sparkrules/obs/__init__.py
src/sparkrules/obs/health.py
src/sparkrules/obs/logging.py
src/sparkrules/obs/metrics.py
src/sparkrules/parser/__init__.py
src/sparkrules/parser/ast.py
src/sparkrules/parser/lexer.py
src/sparkrules/parser/parser.py
src/sparkrules/parser/printer.py
src/sparkrules/policy/__init__.py
src/sparkrules/policy/opa_client.py
src/sparkrules/policy/ranger_client.py
src/sparkrules/policy/ranger_compat.py
src/sparkrules/runtime/__init__.py
src/sparkrules/runtime/authoring.py
src/sparkrules/runtime/batch.py
src/sparkrules/runtime/cache.py
src/sparkrules/runtime/catalyst.py
src/sparkrules/runtime/chaos.py
src/sparkrules/runtime/config_contract.py
src/sparkrules/runtime/engine_metrics.py
src/sparkrules/runtime/export_service.py
src/sparkrules/runtime/fact_source.py
src/sparkrules/runtime/graph.py
src/sparkrules/runtime/iceberg_store.py
src/sparkrules/runtime/lineage.py
src/sparkrules/runtime/model.py
src/sparkrules/runtime/orchestration.py
src/sparkrules/runtime/perf.py
src/sparkrules/runtime/result_sink.py
src/sparkrules/runtime/rollout.py
src/sparkrules/runtime/rule_chain.py
src/sparkrules/runtime/stream_sink.py
src/sparkrules/runtime/streaming.py
src/sparkrules/runtime/two_pass.py
src/sparkrules/runtime/udf_registry.py
src/sparkrules/sim/__init__.py
src/sparkrules/sim/ab.py
src/sparkrules/sim/replay.py
src/sparkrules/sim/simulator.py
src/sparkrules/spark/__init__.py
src/sparkrules/spark/dataframe.py
src/sparkrules/spark/executor.py
src/sparkrules/store/__init__.py
src/sparkrules/store/backends.py
src/sparkrules/store/errors.py
src/sparkrules/store/iceberg_hydrating.py
src/sparkrules/store/metadata_store.py
src/sparkrules/store/pyiceberg_rule_sink.py
src/sparkrules/store/rule_serialization.py
src/sparkrules/store/sql_metadata.py
src/sparkrules/tools/__init__.py
src/sparkrules/tools/cli.py
src/sparkrules/tools/cost_estimate.py
src/sparkrules/tools/shadow_parity_gate.py
src/sparkrules/tools/smoke_drl.py
src/sparkrules/tools/stream_kafka_iceberg.py
src/sparkrules/transport/__init__.py
src/sparkrules/transport/broadcaster.py