recce-nightly 0.60.0.20250331__tar.gz → 0.61.0.20250402__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of recce-nightly might be problematic. Click here for more details.
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/PKG-INFO +1 -1
- recce_nightly-0.61.0.20250402/recce/VERSION +1 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/adapter/dbt_adapter/__init__.py +3 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/apis/run_func.py +1 -1
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/cli.py +37 -1
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/core.py +6 -2
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/404.html +1 -1
- recce_nightly-0.61.0.20250402/recce/data/_next/static/chunks/app/page-35403e208468490c.js +1 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/index.html +2 -2
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/index.txt +2 -2
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/server.py +15 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce_nightly.egg-info/PKG-INFO +1 -1
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce_nightly.egg-info/SOURCES.txt +4 -4
- recce_nightly-0.60.0.20250331/recce/VERSION +0 -1
- recce_nightly-0.60.0.20250331/recce/data/_next/static/chunks/app/page-83e2b669452cc10f.js +0 -1
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/LICENSE +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/README.md +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/adapter/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/adapter/base.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/adapter/dbt_adapter/dbt_version.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/adapter/sqlmesh_adapter.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/apis/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/apis/check_api.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/apis/check_func.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/apis/run_api.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/artifact.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/config.py +0 -0
- {recce_nightly-0.60.0.20250331/recce/data/_next/static/y7jHVT0y3u90FrQ0YXigV → recce_nightly-0.61.0.20250402/recce/data/_next/static/6s0VXEhZ8lCaqRJRBRHag}/_buildManifest.js +0 -0
- {recce_nightly-0.60.0.20250331/recce/data/_next/static/y7jHVT0y3u90FrQ0YXigV → recce_nightly-0.61.0.20250402/recce/data/_next/static/6s0VXEhZ8lCaqRJRBRHag}/_ssgManifest.js +0 -0
- /recce_nightly-0.60.0.20250331/recce/data/_next/static/chunks/269-9a6f1447f09759ef.js → /recce_nightly-0.61.0.20250402/recce/data/_next/static/chunks/269-83bbdbcbd0cc1ddb.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/29e3cc0d-6e3b0cf904a6874d.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/36e1c10d-800596efe83e74a6.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/38610ee6-24a85e2dfb424ddb.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/3998a672-63fc54b2b517ee2b.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/450c323b-b36e745822edebe2.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/47d8844f-0516cea2ef568380.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/6dc81886-9871b611a22bd997.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/783-784ce10322400a48.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/7a8a3e83-dd26fafa0a7421e5.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/7f27ae6c-4ddea120696db611.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/9746af58-527fd8cbd2d17eee.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/a30376cd-1ad5a3f522da896c.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/app/_not-found/page-76f691066176b63a.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/app/layout-fdacc83a3bf974a3.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/b63b1b3f-fe714039749c1250.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/c132bf7d-4cb4c4a123e27340.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/c1ceaa8b-64142a5184f1b8b2.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/cd9f8d63-543677b0ef49da87.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/ce84277d-4bca7695ec1ada94.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/e24bf851-5db5db8459b0b291.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/fee69bc6-1df8306af9d11293.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/framework-ded83d71b51ce901.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/main-7183c49fe89a1f9b.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/main-app-cfd795a5fe58bf37.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/pages/_app-9f1049bbd7b90455.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/pages/_error-71ed60313c005df1.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/chunks/webpack-8a8709fe9d22c323.js +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/css/c9ecb46a4b21c126.css +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.22628180.woff2 +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-cyrillic-800-normal.31d693bb.woff +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.7e2c1e62.woff +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.94a63aea.woff2 +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-latin-800-normal.6f8fa298.woff2 +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-latin-800-normal.97e20d5e.woff +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.013b84f9.woff2 +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-latin-ext-800-normal.aff52ab0.woff +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.5f21869b.woff +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/_next/static/media/montserrat-vietnamese-800-normal.c0035377.woff2 +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/favicon.ico +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/imgs/feedback/thumbs-down.png +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/imgs/feedback/thumbs-up.png +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/data/logo/recce-logo-white.png +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/diff.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/event/CONFIG +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/event/SENTRY_DNS +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/event/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/event/collector.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/event/track.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/exceptions.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/git.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/github.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/models/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/models/check.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/models/run.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/models/types.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/pull_request.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/run.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/state.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/summary.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/core.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/dataframe.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/histogram.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/lineage.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/profile.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/query.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/rowcount.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/schema.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/top_k.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/tasks/valuediff.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/breaking.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/cache.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/cll.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/io.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/lineage.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/logger.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/pydantic_model.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/recce_cloud.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/util/singleton.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce/yaml/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce_nightly.egg-info/dependency_links.txt +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce_nightly.egg-info/entry_points.txt +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce_nightly.egg-info/requires.txt +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/recce_nightly.egg-info/top_level.txt +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/setup.cfg +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/setup.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/adapter/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/adapter/dbt_adapter/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/adapter/dbt_adapter/conftest.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/adapter/dbt_adapter/dbt_test_helper.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/adapter/dbt_adapter/test_dbt_cll.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/adapter/dbt_adapter/test_selector.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/__init__.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/conftest.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_histogram.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_lineage.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_preset_checks.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_profile.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_query.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_row_count.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_schema.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_top_k.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/tasks/test_valuediff.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/test_cli.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/test_config.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/test_core.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/test_dbt.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/test_pull_request.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/test_server.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/test_state.py +0 -0
- {recce_nightly-0.60.0.20250331 → recce_nightly-0.61.0.20250402}/tests/test_summary.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.61.0.20250402
|
|
@@ -901,6 +901,9 @@ class DbtAdapter(BaseAdapter):
|
|
|
901
901
|
# provide a manifest to speedup and not pollute the manifest
|
|
902
902
|
compiled_sql = self.generate_sql(raw_code, base=base, context=jinja_context, provided_manifest=manifest)
|
|
903
903
|
dialect = self.adapter.type()
|
|
904
|
+
# find adapter type from the manifest, otherwise we use the adapter type from the adapter
|
|
905
|
+
if self.get_manifest(base).metadata.adapter_type is not None:
|
|
906
|
+
dialect = self.get_manifest(base).metadata.adapter_type
|
|
904
907
|
column_lineage = cll(compiled_sql, schema=schema, dialect=dialect)
|
|
905
908
|
except RecceException:
|
|
906
909
|
# TODO: provide parsing error message if needed
|
|
@@ -180,7 +180,7 @@ def materialize_run_results(runs: List[Run], nodes: List[str] = None):
|
|
|
180
180
|
|
|
181
181
|
context = default_context()
|
|
182
182
|
if context:
|
|
183
|
-
mame_to_unique_id = context.build_name_to_unique_id_index()
|
|
183
|
+
mame_to_unique_id = context.build_name_to_unique_id_index(excluded_types={'semantic_model', 'metric'})
|
|
184
184
|
else:
|
|
185
185
|
mame_to_unique_id = {}
|
|
186
186
|
|
|
@@ -15,7 +15,7 @@ from recce.state import RecceStateLoader, RecceCloudStateManager
|
|
|
15
15
|
from recce.summary import generate_markdown_summary
|
|
16
16
|
from recce.util.logger import CustomFormatter
|
|
17
17
|
from recce.util.recce_cloud import RecceCloudException, get_recce_cloud_onboarding_state
|
|
18
|
-
from .core import RecceContext
|
|
18
|
+
from .core import RecceContext, set_default_context
|
|
19
19
|
from .event.track import TrackCommand
|
|
20
20
|
|
|
21
21
|
event.init()
|
|
@@ -751,5 +751,41 @@ def artifact(**kwargs):
|
|
|
751
751
|
return recce_ci_artifact(**kwargs)
|
|
752
752
|
|
|
753
753
|
|
|
754
|
+
@cli.command(hidden=True, cls=TrackCommand)
|
|
755
|
+
@click.argument('state_file', required=True)
|
|
756
|
+
@click.option('--host', default='localhost', show_default=True, help='The host to bind to.')
|
|
757
|
+
@click.option('--port', default=8000, show_default=True, help='The port to bind to.', type=int)
|
|
758
|
+
def read_only(host, port, state_file=None, **kwargs):
|
|
759
|
+
|
|
760
|
+
from .server import app, AppState
|
|
761
|
+
from rich.console import Console
|
|
762
|
+
|
|
763
|
+
console = Console()
|
|
764
|
+
handle_debug_flag(**kwargs)
|
|
765
|
+
is_review = True
|
|
766
|
+
is_cloud = False
|
|
767
|
+
cloud_options = None
|
|
768
|
+
flag = {
|
|
769
|
+
'read_only': True,
|
|
770
|
+
}
|
|
771
|
+
state_loader = create_state_loader(is_review, is_cloud, state_file, cloud_options)
|
|
772
|
+
|
|
773
|
+
if not state_loader.verify():
|
|
774
|
+
error, hint = state_loader.error_and_hint
|
|
775
|
+
console.print(f"[[red]Error[/red]] {error}")
|
|
776
|
+
console.print(f"{hint}")
|
|
777
|
+
exit(1)
|
|
778
|
+
|
|
779
|
+
result, message = RecceContext.verify_required_artifacts(**kwargs, review=is_review)
|
|
780
|
+
if not result:
|
|
781
|
+
console.print(f"[[red]Error[/red]] {message}")
|
|
782
|
+
exit(1)
|
|
783
|
+
|
|
784
|
+
app.state = AppState(state_loader=state_loader, kwargs=kwargs, flag=flag)
|
|
785
|
+
set_default_context(RecceContext.load(**kwargs, review=is_review, state_loader=state_loader))
|
|
786
|
+
|
|
787
|
+
uvicorn.run(app, host=host, port=port, lifespan='off')
|
|
788
|
+
|
|
789
|
+
|
|
754
790
|
if __name__ == "__main__":
|
|
755
791
|
cli()
|
|
@@ -3,7 +3,7 @@ import json
|
|
|
3
3
|
import logging
|
|
4
4
|
import os
|
|
5
5
|
from dataclasses import dataclass, field
|
|
6
|
-
from typing import Callable, Dict, Optional, List, Tuple
|
|
6
|
+
from typing import Callable, Dict, Optional, List, Tuple, Set
|
|
7
7
|
|
|
8
8
|
from recce.adapter.base import BaseAdapter
|
|
9
9
|
from recce.models import Check, Run
|
|
@@ -71,14 +71,18 @@ class RecceContext:
|
|
|
71
71
|
def get_lineage_diff(self) -> LineageDiff:
|
|
72
72
|
return self.adapter.get_lineage_diff()
|
|
73
73
|
|
|
74
|
-
def build_name_to_unique_id_index(self) -> Dict[str, str]:
|
|
74
|
+
def build_name_to_unique_id_index(self, excluded_types: Set = None) -> Dict[str, str]:
|
|
75
75
|
name_to_unique_id = {}
|
|
76
76
|
curr = self.get_lineage(base=False)
|
|
77
77
|
base = self.get_lineage(base=True)
|
|
78
78
|
|
|
79
79
|
for unique_id, node in curr['nodes'].items():
|
|
80
|
+
if excluded_types and node.get('resource_type') in excluded_types:
|
|
81
|
+
continue
|
|
80
82
|
name_to_unique_id[node['name']] = unique_id
|
|
81
83
|
for unique_id, node in base['nodes'].items():
|
|
84
|
+
if excluded_types and node.get('resource_type') in excluded_types:
|
|
85
|
+
continue
|
|
82
86
|
name_to_unique_id[node['name']] = unique_id
|
|
83
87
|
return name_to_unique_id
|
|
84
88
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8a8709fe9d22c323.js"/><script src="/_next/static/chunks/38610ee6-24a85e2dfb424ddb.js" async=""></script><script src="/_next/static/chunks/783-784ce10322400a48.js" async=""></script><script src="/_next/static/chunks/main-app-cfd795a5fe58bf37.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>recce</title><meta name="description" content="Recce: Data validation toolkit for comprehensive PR review"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-8a8709fe9d22c323.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:I[83798,[],\"\"]\n3:I[26375,[],\"\"]\n4:I[22587,[],\"\"]\na:I[114,[],\"\"]\n5:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n6:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n7:{\"display\":\"inline-block\"}\n8:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L1\",null,{\"buildId\":\"
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8a8709fe9d22c323.js"/><script src="/_next/static/chunks/38610ee6-24a85e2dfb424ddb.js" async=""></script><script src="/_next/static/chunks/783-784ce10322400a48.js" async=""></script><script src="/_next/static/chunks/main-app-cfd795a5fe58bf37.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>recce</title><meta name="description" content="Recce: Data validation toolkit for comprehensive PR review"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-8a8709fe9d22c323.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:I[83798,[],\"\"]\n3:I[26375,[],\"\"]\n4:I[22587,[],\"\"]\na:I[114,[],\"\"]\n5:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n6:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n7:{\"display\":\"inline-block\"}\n8:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L1\",null,{\"buildId\":\"6s0VXEhZ8lCaqRJRBRHag\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L2\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$5\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$6\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$8\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"recce\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Recce: Data validation toolkit for comprehensive PR review\"}]]\n2:null\n"])</script></body></html>
|