recce-nightly 1.15.0.20250806__py3-none-any.whl → 1.26.0.20251124__py3-none-any.whl
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/VERSION +1 -1
- recce/__init__.py +5 -0
- recce/adapter/dbt_adapter/__init__.py +12 -3
- recce/artifact.py +74 -1
- recce/cli.py +642 -101
- recce/config.py +2 -2
- recce/connect_to_cloud.py +1 -1
- recce/core.py +2 -2
- recce/data/404.html +1 -1
- recce/data/__next.__PAGE__.txt +10 -0
- recce/data/__next._full.txt +23 -0
- recce/data/__next._head.txt +8 -0
- recce/data/__next._index.txt +8 -0
- recce/data/__next._tree.txt +5 -0
- recce/data/_next/static/52aV_JrNUZU6dMFgvTQEO/_buildManifest.js +11 -0
- recce/data/_next/static/52aV_JrNUZU6dMFgvTQEO/_clientMiddlewareManifest.json +1 -0
- recce/data/_next/static/chunks/02b996c7f6a29a06.js +4 -0
- recce/data/_next/static/chunks/19c10d219a6a21ff.js +1 -0
- recce/data/_next/static/chunks/2df9ec28a061971d.js +11 -0
- recce/data/_next/static/chunks/3098c987393bda15.js +1 -0
- recce/data/_next/static/chunks/393dc43e483f717a.css +2 -0
- recce/data/_next/static/chunks/399e8d91a7e45073.js +2 -0
- recce/data/_next/static/chunks/4d0186f631230245.js +1 -0
- recce/data/_next/static/chunks/5794ba9e10a9c060.js +11 -0
- recce/data/_next/static/chunks/715761c929a3f28b.js +110 -0
- recce/data/_next/static/chunks/71f88fcc615bf282.js +1 -0
- recce/data/_next/static/chunks/80d2a95eaf1201ea.js +1 -0
- recce/data/_next/static/chunks/9979c6109bbbee35.js +1 -0
- recce/data/_next/static/chunks/99d638224186c118.js +1 -0
- recce/data/_next/static/chunks/d003eb36240e92f3.js +1 -0
- recce/data/_next/static/chunks/d3167cdfec4fc351.js +1 -0
- recce/data/_next/static/chunks/e124bccf574a3361.css +1 -0
- recce/data/_next/static/chunks/f40141db1bdb46f0.css +6 -0
- recce/data/_next/static/chunks/fcc53a88741a52f9.js +1 -0
- recce/data/_next/static/chunks/turbopack-b1920d28cfb1f28d.js +3 -0
- recce/data/_next/static/media/favicon.a8d38d84.ico +0 -0
- recce/data/_next/static/media/montserrat-cyrillic-800-normal.d80d830d.woff2 +0 -0
- recce/data/_next/static/media/{montserrat-cyrillic-800-normal.bd5c9f50.woff → montserrat-cyrillic-800-normal.f9d58125.woff} +0 -0
- recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.076c2a93.woff2 +0 -0
- recce/data/_next/static/media/montserrat-latin-800-normal.cde454cc.woff2 +0 -0
- recce/data/_next/static/media/{montserrat-latin-800-normal.fc315020.woff → montserrat-latin-800-normal.d5761935.woff} +0 -0
- recce/data/_next/static/media/montserrat-latin-ext-800-normal.40ec0659.woff2 +0 -0
- recce/data/_next/static/media/{montserrat-latin-ext-800-normal.2e5381b2.woff → montserrat-latin-ext-800-normal.b671449b.woff} +0 -0
- recce/data/_next/static/media/{montserrat-vietnamese-800-normal.20c545e6.woff → montserrat-vietnamese-800-normal.9f7b8541.woff} +0 -0
- recce/data/_next/static/media/montserrat-vietnamese-800-normal.f9eb854e.woff2 +0 -0
- recce/data/_not-found/__next._full.txt +17 -0
- recce/data/_not-found/__next._head.txt +8 -0
- recce/data/_not-found/__next._index.txt +8 -0
- recce/data/_not-found/__next._not-found.__PAGE__.txt +5 -0
- recce/data/_not-found/__next._not-found.txt +4 -0
- recce/data/_not-found/__next._tree.txt +3 -0
- recce/data/_not-found.html +1 -0
- recce/data/_not-found.txt +17 -0
- recce/data/index.html +1 -1
- recce/data/index.txt +21 -23
- recce/event/__init__.py +9 -8
- recce/event/collector.py +3 -1
- recce/event/track.py +10 -0
- recce/github.py +1 -1
- recce/mcp_server.py +716 -0
- recce/models/types.py +35 -2
- recce/pull_request.py +1 -1
- recce/run.py +2 -2
- recce/server.py +105 -3
- recce/state/__init__.py +31 -0
- recce/state/cloud.py +632 -0
- recce/state/const.py +26 -0
- recce/state/local.py +56 -0
- recce/state/state.py +119 -0
- recce/state/state_loader.py +174 -0
- recce/summary.py +21 -1
- recce/tasks/dataframe.py +63 -1
- recce/tasks/rowcount.py +4 -1
- recce/tasks/schema.py +4 -1
- recce/util/api_token.py +9 -2
- recce/util/breaking.py +1 -1
- recce/util/io.py +2 -2
- recce/util/lineage.py +14 -18
- recce/util/recce_cloud.py +187 -7
- recce/yaml/__init__.py +2 -2
- recce_cloud/__init__.py +24 -0
- recce_cloud/api/__init__.py +17 -0
- recce_cloud/api/base.py +111 -0
- recce_cloud/api/client.py +150 -0
- recce_cloud/api/exceptions.py +26 -0
- recce_cloud/api/factory.py +63 -0
- recce_cloud/api/github.py +76 -0
- recce_cloud/api/gitlab.py +82 -0
- recce_cloud/artifact.py +57 -0
- recce_cloud/ci_providers/__init__.py +9 -0
- recce_cloud/ci_providers/base.py +82 -0
- recce_cloud/ci_providers/detector.py +147 -0
- recce_cloud/ci_providers/github_actions.py +136 -0
- recce_cloud/ci_providers/gitlab_ci.py +130 -0
- recce_cloud/cli.py +245 -0
- recce_cloud/upload.py +214 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/METADATA +54 -28
- recce_nightly-1.26.0.20251124.dist-info/RECORD +180 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/top_level.txt +1 -0
- tests/adapter/dbt_adapter/test_dbt_cll.py +4 -2
- tests/recce_cloud/__init__.py +0 -0
- tests/recce_cloud/test_ci_providers.py +351 -0
- tests/recce_cloud/test_cli.py +372 -0
- tests/recce_cloud/test_client.py +273 -0
- tests/recce_cloud/test_platform_clients.py +333 -0
- tests/test_cli.py +106 -3
- tests/test_cli_mcp_optional.py +45 -0
- tests/test_cloud_listing_cli.py +324 -0
- tests/test_core.py +147 -0
- tests/test_mcp_server.py +332 -0
- tests/test_server.py +6 -6
- tests/test_summary.py +14 -6
- recce/data/_next/static/Q_5ThPsmamd4VAGXuqwgi/_buildManifest.js +0 -1
- recce/data/_next/static/chunks/0376eeba-3db2196398d62270.js +0 -1
- recce/data/_next/static/chunks/068b80ea-833a129468ee1622.js +0 -1
- recce/data/_next/static/chunks/0ddaf06c-c7961285f66460f6.js +0 -1
- recce/data/_next/static/chunks/1268aea1-6dc1251c01bd724b.js +0 -54
- recce/data/_next/static/chunks/12f8fac4-16838e42d28d45c3.js +0 -1
- recce/data/_next/static/chunks/235b8375-8c84c51d7bd4f6aa.js +0 -1
- recce/data/_next/static/chunks/2541941f-2cd3a7c2d629bd33.js +0 -1
- recce/data/_next/static/chunks/273-f3fa401bd2b6fc91.js +0 -10
- recce/data/_next/static/chunks/2fc37c1e-910deebeb3d77c90.js +0 -1
- recce/data/_next/static/chunks/338-2e7eed5135c64550.js +0 -30
- recce/data/_next/static/chunks/367-ab8b16dd5f8586ca.js +0 -1
- recce/data/_next/static/chunks/3a92ee20-0400ffe460c7c803.js +0 -1
- recce/data/_next/static/chunks/62446465-423c03bb8c1f59b6.js +0 -1
- recce/data/_next/static/chunks/6af7f9e9-60aa8706f49dae45.js +0 -1
- recce/data/_next/static/chunks/6cf54382-49d52ae6e564e2ac.js +0 -1
- recce/data/_next/static/chunks/6dc81886-78e2efe4538794ae.js +0 -1
- recce/data/_next/static/chunks/715e4acc-9e2e6df4eb3809d1.js +0 -1
- recce/data/_next/static/chunks/72-181b430654230f0e.js +0 -1
- recce/data/_next/static/chunks/786-774e3e3ed70a41b3.js +0 -1
- recce/data/_next/static/chunks/8d700b6a.7fe2c8c3f4e333a6.js +0 -1
- recce/data/_next/static/chunks/a69d64b4-d6890125a87b0aba.js +0 -1
- recce/data/_next/static/chunks/ae307f12-01100009689ace61.js +0 -1
- recce/data/_next/static/chunks/app/_not-found/page-c7ef8ed6dc07aaeb.js +0 -1
- recce/data/_next/static/chunks/app/layout-744f0a78e9e50e60.js +0 -1
- recce/data/_next/static/chunks/app/page-e8f798c2ae3f59c2.js +0 -1
- recce/data/_next/static/chunks/c0015c5c-82c219792582c104.js +0 -1
- recce/data/_next/static/chunks/d90cfbaa-e7d779b3912afeec.js +0 -1
- recce/data/_next/static/chunks/e07c302e-cd170429646873e1.js +0 -1
- recce/data/_next/static/chunks/fa5fb511-15fb438349ad5b97.js +0 -1
- recce/data/_next/static/chunks/framework-7950757d31580329.js +0 -1
- recce/data/_next/static/chunks/main-app-4df79eb11c34d43c.js +0 -1
- recce/data/_next/static/chunks/main-cd6c104af638214a.js +0 -1
- recce/data/_next/static/chunks/pages/_app-73008661edbd5e05.js +0 -1
- recce/data/_next/static/chunks/pages/_error-cf8bbdc3cf76c83f.js +0 -1
- recce/data/_next/static/chunks/webpack-84df6dd5ae3cf908.js +0 -1
- recce/data/_next/static/css/188a3a1687e2a064.css +0 -1
- recce/data/_next/static/css/8edca58d4abcf908.css +0 -14
- recce/data/_next/static/css/abdb9814a3dd18bb.css +0 -1
- recce/data/_next/static/css/c21263c1520b615b.css +0 -1
- recce/data/_next/static/media/montserrat-cyrillic-800-normal.22628180.woff2 +0 -0
- recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.94a63aea.woff2 +0 -0
- recce/data/_next/static/media/montserrat-latin-800-normal.6f8fa298.woff2 +0 -0
- recce/data/_next/static/media/montserrat-latin-ext-800-normal.013b84f9.woff2 +0 -0
- recce/data/_next/static/media/montserrat-vietnamese-800-normal.c0035377.woff2 +0 -0
- recce/state.py +0 -865
- recce_nightly-1.15.0.20250806.dist-info/RECORD +0 -156
- tests/test_state.py +0 -134
- /recce/data/_next/static/{Q_5ThPsmamd4VAGXuqwgi → 52aV_JrNUZU6dMFgvTQEO}/_ssgManifest.js +0 -0
- /recce/data/_next/static/chunks/{polyfills-42372ed130431b0a.js → a6dad97d9634a72d.js} +0 -0
- /recce/data/_next/static/media/{montserrat-cyrillic-ext-800-normal.e6e0d8d0.woff → montserrat-cyrillic-ext-800-normal.a4fa76b5.woff} +0 -0
- /recce/data/_next/static/media/{reload-image.79aabb7d.svg → reload-image.7aa931c7.svg} +0 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/WHEEL +0 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/entry_points.txt +0 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
recce/VERSION,sha256=2gbmGA9KaqkXYb0qlt1UNtgNELv9cMySpsggk5bEDYY,16
|
|
2
|
-
recce/__init__.py,sha256=yNb0QT-yoStex0VZALNJvUwtPLommoVCStcow31guqo,2392
|
|
3
|
-
recce/artifact.py,sha256=ds0erp0-gGnH4Nx2vvapWR02pX8FmKQcqcd6QGqiVPw,6536
|
|
4
|
-
recce/cli.py,sha256=nF29mB5hk-nLmabKEZ3V86s7XHxipvgKOSnSH_RqYNM,44276
|
|
5
|
-
recce/config.py,sha256=A4CbKcIdwQ4A9Q2ba4riHUshVQw1D-qDelMOdlt2khU,4661
|
|
6
|
-
recce/connect_to_cloud.py,sha256=_SkX2pdyXa9FNyaHvItyYVPF2nZxy2JnCyd_o_psh2Y,4750
|
|
7
|
-
recce/core.py,sha256=MtBWxemvCQDdUITwkU2JyuQYqcjlA0a76M8Kg53ECxQ,10754
|
|
8
|
-
recce/diff.py,sha256=L2_bzQ3__PO-0aeir8PHF8FvSOUmQ8WcDXgML1-mHdY,748
|
|
9
|
-
recce/exceptions.py,sha256=SclQ678GrHGjw7p_ZFJ3vZaL_yMU5xABeIAm2u_W2bk,592
|
|
10
|
-
recce/git.py,sha256=8Eg-6NzL-KjA3rT-ibbAyaCwGlzV0JqH3yGikrJNMDA,2344
|
|
11
|
-
recce/github.py,sha256=PEpM6ZRiinsPbXSWj4aJCKbZrN1jUXzpzAfJq_CGah4,7420
|
|
12
|
-
recce/pull_request.py,sha256=aW0B1NE2LUKTam1S4TQ7smXB9KLE1DV8GnyBqNXA6j8,3832
|
|
13
|
-
recce/run.py,sha256=PNafwUUJdIG8b1o0y1QuvjACpA3E-5a3keH45CrWHN0,14044
|
|
14
|
-
recce/server.py,sha256=qW81QRZVYEfeDT0n6FwsN9TGhzk6-Zx2mPUjjy01DRM,22473
|
|
15
|
-
recce/state.py,sha256=p4CBneaat-OFwhABfj_zG6n0mPGzrYE-F5xi28Cnzuc,34069
|
|
16
|
-
recce/summary.py,sha256=Mbxvxr9KazR5o9icqhhjiGHsoAiWxQU4PdN7HytBJ1c,19154
|
|
17
|
-
recce/adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
recce/adapter/base.py,sha256=T_JNeLHgiHSaegw-DbrvHOaYjMyZcjj2Qtg5cWh_fco,3548
|
|
19
|
-
recce/adapter/sqlmesh_adapter.py,sha256=IU3N-F6ToDoO7_bV5vsG8pmTuDcbFtewTIuCxedTaRM,5046
|
|
20
|
-
recce/adapter/dbt_adapter/__init__.py,sha256=C5xRPDs3q86CMgewa0HTKayJc3d5KkQ1cqYN8s0nKno,66822
|
|
21
|
-
recce/adapter/dbt_adapter/dbt_version.py,sha256=M7aedZIWslXnJsryK8Ki4OL_t2oAKxy4uE2pRwfWIkk,1228
|
|
22
|
-
recce/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
recce/apis/check_api.py,sha256=KMCXSMl1qqzx2jQgRqCrD4j_cY3EHBbM3H2-t-6saAU,6227
|
|
24
|
-
recce/apis/check_func.py,sha256=gktbCcyk3WGvWRJJ-wDnwv7NrIny2nTHWLl1-kdiVRo,4183
|
|
25
|
-
recce/apis/run_api.py,sha256=eOaxOxXDkH59uqGCd4blld7edavUx7JU_DCd2WAYrL8,3416
|
|
26
|
-
recce/apis/run_func.py,sha256=6wC8TDU-h7TLr2VZH7HNsWaUVlQ9HBN5N_dwqfi4lMY,7440
|
|
27
|
-
recce/data/404.html,sha256=S-_AXWfwuh6NYtL9PSFUpV0XkCuJbH6QAWFIS6pl8iE,59079
|
|
28
|
-
recce/data/auth_callback.html,sha256=H-XfdlAFiw5VU2RpKBVQbwh1AIqJrPHrFA0S09nNJZA,94779
|
|
29
|
-
recce/data/favicon.ico,sha256=B2mBumUOnzvUrXrqNkrc5QfdDXjzEXRcWkWur0fJ6sM,2565
|
|
30
|
-
recce/data/index.html,sha256=QbiYbIeNTDxgL6NDf2U-3vC4HpRtIiPGf7en6ii66KM,77443
|
|
31
|
-
recce/data/index.txt,sha256=VLeUYGy_QtxIcM6TIbFzbRz_Lq0Z01PH0osmoluZ6fI,6403
|
|
32
|
-
recce/data/_next/static/Q_5ThPsmamd4VAGXuqwgi/_buildManifest.js,sha256=xih3ZGwUimzWECoZJsiH_MfTi3cNvK2DbJ_VXPRZHWY,544
|
|
33
|
-
recce/data/_next/static/Q_5ThPsmamd4VAGXuqwgi/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
|
34
|
-
recce/data/_next/static/chunks/0376eeba-3db2196398d62270.js,sha256=ef3PXUZocFm_JH0fYU_EfcaLKov9vMUhrat1YvV-IIU,80953
|
|
35
|
-
recce/data/_next/static/chunks/068b80ea-833a129468ee1622.js,sha256=LrX07Wm6qBJ1uVFYOIkium2ZZ7TkhoCzaz5F_D5P-sM,4627
|
|
36
|
-
recce/data/_next/static/chunks/0ddaf06c-c7961285f66460f6.js,sha256=rY2q_JCikDHZGB8z6nHMV7TON5MlsD4B2zxkj_9DFkE,697
|
|
37
|
-
recce/data/_next/static/chunks/1268aea1-6dc1251c01bd724b.js,sha256=o2kP28fiIxMMpjU4S_PbKzQyLCofztY5NuKb3dE95Js,81786
|
|
38
|
-
recce/data/_next/static/chunks/12f8fac4-16838e42d28d45c3.js,sha256=v1Bc31aD0IOpfixlIyQgOkteLw4ZCwYttEg37O8CdQk,152794
|
|
39
|
-
recce/data/_next/static/chunks/235b8375-8c84c51d7bd4f6aa.js,sha256=CuHpoYgoktXz63qQW5XLGJdY1Cq0-ZJqk3LTmVOe2ug,1682
|
|
40
|
-
recce/data/_next/static/chunks/2541941f-2cd3a7c2d629bd33.js,sha256=03PEb_eExziXtGvmd8-QLru-pPbrkJZh2dj3JR1VZx0,689
|
|
41
|
-
recce/data/_next/static/chunks/273-f3fa401bd2b6fc91.js,sha256=HopLAKoEGP0dFN57b_41PkPqWAdxDAGzXPrVB0tHSt4,1277071
|
|
42
|
-
recce/data/_next/static/chunks/2fc37c1e-910deebeb3d77c90.js,sha256=npExGSkJthgMbnqcvsiEb9b8aCCf7EQLWu1Io-6By0U,3836
|
|
43
|
-
recce/data/_next/static/chunks/338-2e7eed5135c64550.js,sha256=0MRikUq4wS_iboITYISGCEWffqgtIr95bvSA_gVx5KY,264552
|
|
44
|
-
recce/data/_next/static/chunks/367-ab8b16dd5f8586ca.js,sha256=ij9VwVffJpkXU2-XwXW1SVA2LTLVoyoyAGyoVqUv0XU,84641
|
|
45
|
-
recce/data/_next/static/chunks/3a92ee20-0400ffe460c7c803.js,sha256=wI3cuxjDqcE8hRKMg29Mt2dl16jcQ6lBr4JYcLk3_IU,177908
|
|
46
|
-
recce/data/_next/static/chunks/62446465-423c03bb8c1f59b6.js,sha256=xiGo3FRqRpbbBqPwj2UV2zXSfCAPA35TRbyA77kiNMY,2622
|
|
47
|
-
recce/data/_next/static/chunks/6af7f9e9-60aa8706f49dae45.js,sha256=bLrPO62eNT0ez4mooE8DDJITbbm_v6kFB_t8e5hlhx8,767
|
|
48
|
-
recce/data/_next/static/chunks/6cf54382-49d52ae6e564e2ac.js,sha256=5v9VAkSAZMKNXwaGWjMAkkuP8YKP79F-y6c7RA4U_wE,8973
|
|
49
|
-
recce/data/_next/static/chunks/6dc81886-78e2efe4538794ae.js,sha256=IM7QQ9wo-m0E1H1X7mrvEzSFUwm90eJzaom1QIDa_6M,69715
|
|
50
|
-
recce/data/_next/static/chunks/715e4acc-9e2e6df4eb3809d1.js,sha256=Oc4RwCTpratqwzi7e5BvF5UIB_kC1foA4F4DKFuigMc,867
|
|
51
|
-
recce/data/_next/static/chunks/72-181b430654230f0e.js,sha256=1U7NpDH1sUKrXLx8XebUVjJY9MBy2VDOEf4Z0iY2Ck4,166422
|
|
52
|
-
recce/data/_next/static/chunks/786-774e3e3ed70a41b3.js,sha256=ylQ9e5VQSdHyrOZdJsXSycnJL5ZxcAQ3uv5peMz-EQo,11654
|
|
53
|
-
recce/data/_next/static/chunks/8d700b6a.7fe2c8c3f4e333a6.js,sha256=drJF3LrBc6gwgD-Yj_rRz-Ap5Cf0_XH7w6HTEwZhcrU,120029
|
|
54
|
-
recce/data/_next/static/chunks/a69d64b4-d6890125a87b0aba.js,sha256=M75FwsnNr_AA9jDad2sHuXK9WZxgvN10xCMcn9gRIHU,172734
|
|
55
|
-
recce/data/_next/static/chunks/ae307f12-01100009689ace61.js,sha256=-5FIEA3ucphP6IGvMeJkSXJ4jxnxJ-jPuuNl1isHn48,211281
|
|
56
|
-
recce/data/_next/static/chunks/c0015c5c-82c219792582c104.js,sha256=39vsBp9YjOMCTy1IehEBh7UCxYbzeh07NQcifOqMV2g,481
|
|
57
|
-
recce/data/_next/static/chunks/d90cfbaa-e7d779b3912afeec.js,sha256=fEHB0fWh_Fl1TlK7NaBe11fokveLejfj4R3yOfhrAVQ,1909
|
|
58
|
-
recce/data/_next/static/chunks/e07c302e-cd170429646873e1.js,sha256=0uUFHO2Mm5q2SWTHTC5loXxKoWuwOwIvt2sAyH_Rj0c,555
|
|
59
|
-
recce/data/_next/static/chunks/fa5fb511-15fb438349ad5b97.js,sha256=UaaRM07bG8X9-E08mxaKLCA98d3V3OP8MqFOvZlBFjc,8899
|
|
60
|
-
recce/data/_next/static/chunks/framework-7950757d31580329.js,sha256=WJSQaB_D-Qck95sQYmkMg3clAB7GfsgPYVAmEmOMkrk,182740
|
|
61
|
-
recce/data/_next/static/chunks/main-app-4df79eb11c34d43c.js,sha256=3QIEMM6pO9b9MvW7xK4Toukx48-I-X1-0eqc4Bv7YaY,567
|
|
62
|
-
recce/data/_next/static/chunks/main-cd6c104af638214a.js,sha256=pYGvgDmnAThczzBHShkI4dMuXUSZnzq6TIkW4ZI-61U,117829
|
|
63
|
-
recce/data/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
|
64
|
-
recce/data/_next/static/chunks/webpack-84df6dd5ae3cf908.js,sha256=_FsecrHvMVA-0EfxZv-v8svx7W50DkEH-jb1NbVSSlU,3580
|
|
65
|
-
recce/data/_next/static/chunks/app/layout-744f0a78e9e50e60.js,sha256=C1sJ1DG8RYccuG-VVTUBO-mmSjiOvJPdxqS9z0maJLk,1410
|
|
66
|
-
recce/data/_next/static/chunks/app/page-e8f798c2ae3f59c2.js,sha256=5zckfX5OoWAY3HAqSLKdawS1XgWiWkbFLvbwP02LDs4,166586
|
|
67
|
-
recce/data/_next/static/chunks/app/_not-found/page-c7ef8ed6dc07aaeb.js,sha256=1FE2NEJaSY3ZE8PzMkICM5FcbAbGa8K5ee0ucm2gNfU,2673
|
|
68
|
-
recce/data/_next/static/chunks/pages/_app-73008661edbd5e05.js,sha256=wV9XbJ2FbdpnEztEcX5YE7ecw4ec7LPp2fYhOnLbcoo,240
|
|
69
|
-
recce/data/_next/static/chunks/pages/_error-cf8bbdc3cf76c83f.js,sha256=k0UKnF-ueCkgYTKsUejnYmf31Stt9q5mOjX66XWVqrY,217
|
|
70
|
-
recce/data/_next/static/css/188a3a1687e2a064.css,sha256=fKJMV0A2hM3cjuRmNhx2V_IL8SPaEsfucP-1sc0QVy4,12258
|
|
71
|
-
recce/data/_next/static/css/8edca58d4abcf908.css,sha256=Ab-wk7RhsXgiX5fkJsrCJ-EVvrS1hZtOFpI0uZQSgL0,8093
|
|
72
|
-
recce/data/_next/static/css/abdb9814a3dd18bb.css,sha256=Do5x9FJaOIe-pSBlbk_PP7PQAYFbDXTTl_0PWY4cnBM,1327
|
|
73
|
-
recce/data/_next/static/css/c21263c1520b615b.css,sha256=2TrfHvYUzCBJKLdPzYN6hOAg1n8CoOsJFo36LJPQbOI,13037
|
|
74
|
-
recce/data/_next/static/media/montserrat-cyrillic-800-normal.22628180.woff2,sha256=P5Sx5PNkdTlDYzAdulW_OPRfMokDLi6XTpmS8KJSRoI,11148
|
|
75
|
-
recce/data/_next/static/media/montserrat-cyrillic-800-normal.bd5c9f50.woff,sha256=PFm1Nwt11gmigNvVqPOoDbUFo70fZzUfyZ9S_5f8AnE,10920
|
|
76
|
-
recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.94a63aea.woff2,sha256=qHQDcPj9VkK-6sE5nxIKvejtNLo5RwBULzyH9nZsEwo,12052
|
|
77
|
-
recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.e6e0d8d0.woff,sha256=lpODDPTBtDBAla5_gN_MO8RAFRT1bUJQ1XsBGNN3LHA,12036
|
|
78
|
-
recce/data/_next/static/media/montserrat-latin-800-normal.6f8fa298.woff2,sha256=Tyiv8SvOCaTmT_S2FaOZ5FuZz52F1aVV9hzIfrI7sEI,19036
|
|
79
|
-
recce/data/_next/static/media/montserrat-latin-800-normal.fc315020.woff,sha256=Hgj7H-0GgOWQTmq6qCLtwYYQWBZPUP9-DIrF0NJQ2dE,20696
|
|
80
|
-
recce/data/_next/static/media/montserrat-latin-ext-800-normal.013b84f9.woff2,sha256=tOnyR2cgiUm1cKtlrN9CY6FzD2yAMBe90slHKC0cBms,33776
|
|
81
|
-
recce/data/_next/static/media/montserrat-latin-ext-800-normal.2e5381b2.woff,sha256=5IGjXSVdJCIHAJI-R0Qf6XEufetEiQ-5GOY9UuhbtmQ,41700
|
|
82
|
-
recce/data/_next/static/media/montserrat-vietnamese-800-normal.20c545e6.woff,sha256=U5YlWNp5ytuS5tfT8Tt07U5xG3Qs0b2ze6vPx2KKG4s,7328
|
|
83
|
-
recce/data/_next/static/media/montserrat-vietnamese-800-normal.c0035377.woff2,sha256=bnmP7vEVe-4gLSDBsmKqD-SATv6-Pg-pxnTpSj7BCeI,7948
|
|
84
|
-
recce/data/_next/static/media/reload-image.79aabb7d.svg,sha256=l-jdOsD0OBCpFrVYh1ubO8oajafPuPNs6MYnbanO7K0,840
|
|
85
|
-
recce/data/imgs/reload-image.svg,sha256=l-jdOsD0OBCpFrVYh1ubO8oajafPuPNs6MYnbanO7K0,840
|
|
86
|
-
recce/data/imgs/feedback/thumbs-down.png,sha256=q9KVIbaZku1TWkYHuleYlO-b6HsTApYh3St5xNHMGMg,10695
|
|
87
|
-
recce/data/imgs/feedback/thumbs-up.png,sha256=VF3BH8bmYEqcSsMDJO57xMqW4t6crCXUXaMlOPgI_OE,10556
|
|
88
|
-
recce/data/logo/recce-logo-white.png,sha256=y3re8iEucJnMUkAkRS2CjWHTlOydyvgWdWjuQKcXDbk,46923
|
|
89
|
-
recce/event/CONFIG,sha256=w8_AVcNu_JF-t8lNmjOqtsXbeOawMzpEhkISaMlm-iU,48
|
|
90
|
-
recce/event/SENTRY_DNS,sha256=nWXZevLC4qDScvNtjs329X13oxqvtFI_Kiu6cfCDOBA,83
|
|
91
|
-
recce/event/__init__.py,sha256=q82uD7GvAvp9nknyrOC2E-OtGsk0x-aM_rWEqzpkEgY,8613
|
|
92
|
-
recce/event/collector.py,sha256=Tqe5nMAMvDveaJ1_AfGaq23y5ccoRqhIC1-fTdVZAVg,5720
|
|
93
|
-
recce/event/track.py,sha256=xDyDWblhR6mp0tezEYhkA0aOyZLqXBpJyHZwhI2xhU8,4803
|
|
94
|
-
recce/models/__init__.py,sha256=F7cgALtdWnwv37R0eEgKZ_yBsMwxWnUfo3jAZ3u6qyU,209
|
|
95
|
-
recce/models/check.py,sha256=jjR1SGyczjrqyK-0Zas6ikLIGSgVp54lvfcQA19AniI,1588
|
|
96
|
-
recce/models/run.py,sha256=QK2gvOWvko9YYhd2NLs3BPt5l4MSCZGwpzTAiqx9zJw,1161
|
|
97
|
-
recce/models/types.py,sha256=9ReOyIv3rUD3_cIQfB9Rplb0L2YQuZr4kS9Zai30nB8,5234
|
|
98
|
-
recce/tasks/__init__.py,sha256=b553AtDHjYROgmMePv_Hv_X3fjh4iEn11gzzpUJz6_o,610
|
|
99
|
-
recce/tasks/core.py,sha256=JFYa1CfgOiRPQ7KVTwMuxJjhMB-pvCwB-xezVt-h3RU,4080
|
|
100
|
-
recce/tasks/dataframe.py,sha256=03UBWwt0DFTXlaEOtnV5i_mxdRKD7UbRayewEL2Ub48,3650
|
|
101
|
-
recce/tasks/histogram.py,sha256=SMdSznzrBdAFvAbhsoUGAK9o0QUMYy00IVbamUVTpBk,13601
|
|
102
|
-
recce/tasks/lineage.py,sha256=_PbY0ZkDr620U8V2olqoX_T9XA0-G8ILt_6m1Q5TfBs,541
|
|
103
|
-
recce/tasks/profile.py,sha256=gMgms9qvdDsihh2aSC6LvCm9ggah4Oq3xjvmCh_exrU,11352
|
|
104
|
-
recce/tasks/query.py,sha256=k3y_IK1_3D2j4Scw-70ccDjVMa-Oe9jqxlDyLHfjagw,12790
|
|
105
|
-
recce/tasks/rowcount.py,sha256=DIC17VUKtGhEHz6lW4VFLHyD6F4e4QV0i_Dsz4HAv1w,9750
|
|
106
|
-
recce/tasks/schema.py,sha256=HHrSvhd_ZJdrNj2QKi9W8vmig0NuYci5cgsKFvp2bu4,2274
|
|
107
|
-
recce/tasks/top_k.py,sha256=vY3VCBmg61E8I4V-9-hJOv5RCYCmhxl6sHiKR9Zv7eE,5521
|
|
108
|
-
recce/tasks/valuediff.py,sha256=QLv0zgM9pWibvjyfZHjkpGopY9qqlpU0-WdFB109MUQ,16418
|
|
109
|
-
recce/util/__init__.py,sha256=cDvL3WT32cJR9CUPIJmibwJoyYcB3ZaKBFbOZDyvqP8,95
|
|
110
|
-
recce/util/api_token.py,sha256=NE8lIFcr2GZ6ft4FS3zcsbvZaFdBF-e-fMYAYL2PDkM,2938
|
|
111
|
-
recce/util/breaking.py,sha256=ajCOWMR8Qw492wCiuz5_DKqpI3uoj_qHuJjvelEoSkw,13068
|
|
112
|
-
recce/util/cache.py,sha256=QB6wzxe0M3jNTwP0M27Ys8F2hF-oda4-LyXXG9THuZQ,646
|
|
113
|
-
recce/util/cll.py,sha256=p8BrsG_1Lm-jXO8n4ulUgFw13C4mN0WjCXZbihDxQrs,13253
|
|
114
|
-
recce/util/io.py,sha256=fNiIafNxPlTF6NNXlugzeJjfVGGrP3RXb39ERzRWD3Q,3459
|
|
115
|
-
recce/util/lineage.py,sha256=6N1oTP39NNUBLhpT8xQPNRP04Smzn9IQiQGRXoOQeoo,2355
|
|
116
|
-
recce/util/logger.py,sha256=6UgLFkRiur9jJfu2ZRdo4LUvMw4f75V-l-1HT1-sgKo,747
|
|
117
|
-
recce/util/onboarding_state.py,sha256=kwFirKlfXdl5WFkR_nmilqGKFyELNcSPMqYq-by35fk,1991
|
|
118
|
-
recce/util/perf_tracking.py,sha256=FjhrdbbXIgybxS_oPpFsJ9VUDR93d7bUs8VNNqpXNxw,2483
|
|
119
|
-
recce/util/pydantic_model.py,sha256=KumKuyCjbTzEMsKLE4-b-eZfp0gLhYDdmVtw1-hxiJw,587
|
|
120
|
-
recce/util/recce_cloud.py,sha256=mqZn63Fh1kZaT0L6AR9K4yqTnGpZBGEWGBHFapLmS_w,9882
|
|
121
|
-
recce/util/singleton.py,sha256=1cU99I0f9tjuMQLMJyLsK1oK3fZJMsO5-TbRHAMXqds,627
|
|
122
|
-
recce/yaml/__init__.py,sha256=EgXYlFeJZchatUClRDXbIC5Oqb2_nBvB2NqItYVihio,1292
|
|
123
|
-
recce_nightly-1.15.0.20250806.dist-info/licenses/LICENSE,sha256=CQjjMy9aYPhfe8xG_bcpIfKtNkdxLZ5IOb8oPygtUhY,11343
|
|
124
|
-
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
|
-
tests/test_cli.py,sha256=_ikuZW4bYEGyj5A_V7nDSyBa1tVZqc0TVm-TJ0rEYVo,5467
|
|
126
|
-
tests/test_config.py,sha256=ODDFe_XF6gphmSmmc422dGLBaCCmG-IjDzTkD5SJsJE,1557
|
|
127
|
-
tests/test_connect_to_cloud.py,sha256=b2fgV8L1iQBdEwh6RumMsIIyYg7GtMOMRz1dvE3WRPg,3059
|
|
128
|
-
tests/test_core.py,sha256=7NKQc_8Krjsp3imMMmXHV6hQ7Kvw8QGE2nVtigebZYE,735
|
|
129
|
-
tests/test_dbt.py,sha256=VzXvdoJNwwEmKNhJJDNB1N_qZYwp1aoJQ1sLcoyRBmk,1316
|
|
130
|
-
tests/test_pull_request.py,sha256=HmZo5MoDaoKSgPwbLxJ3Ur3ajZ7IxhkzJxaOmhg6bwE,3562
|
|
131
|
-
tests/test_server.py,sha256=l2EDIonpDU3CzuCpZSXTCyH_X32xdscSz-bdNSuTkjA,3397
|
|
132
|
-
tests/test_state.py,sha256=phSYlyxTx2Sq0K8DXUrfaO5Jc7lgZeeWNNtc9JD3fYc,4988
|
|
133
|
-
tests/test_summary.py,sha256=D0WvAkdO-vzGcvholH2rfS1wTxUXjVHwWm59fWy45eA,2876
|
|
134
|
-
tests/adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
135
|
-
tests/adapter/dbt_adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
136
|
-
tests/adapter/dbt_adapter/conftest.py,sha256=WlMVytJcyfLJlMBeYhpk8Q-nyCDR9x_7qgsy6Uh9ECw,386
|
|
137
|
-
tests/adapter/dbt_adapter/dbt_test_helper.py,sha256=o_7m0cnVeGwPwEFXBCx3Me5QqLzQMOBR3dXD-MS2eaM,10406
|
|
138
|
-
tests/adapter/dbt_adapter/test_dbt_adapter.py,sha256=Y5TSlqkXGjJC6hC7YYs45bnRht5aou_KLjPMjpAGxNM,830
|
|
139
|
-
tests/adapter/dbt_adapter/test_dbt_cll.py,sha256=IGufMSjGWEoMlna29U1qeEMFaxvlDueMCQoCPuSZ3_I,28642
|
|
140
|
-
tests/adapter/dbt_adapter/test_selector.py,sha256=uKFm0QxrxG-xyUEXGobCMueCRUssgnZMyo-S1Nlk3_s,6856
|
|
141
|
-
tests/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
|
-
tests/tasks/conftest.py,sha256=lyZFx4jEY3To3xVhfMQ-G45egYOCttKN2lxeyExACkY,157
|
|
143
|
-
tests/tasks/test_histogram.py,sha256=g69R2Ljvcd8RQTnq7EMZEa93_1vVWNe4ZLg990rWuyA,4088
|
|
144
|
-
tests/tasks/test_lineage.py,sha256=HODSP2_uSu98e4jV-t9TIOSrln_5mXd-6baKv9aEmws,1095
|
|
145
|
-
tests/tasks/test_preset_checks.py,sha256=fAro5kAv67YiXgRFj7hDAgZEd8fVSHW_VTapVDq4G04,1457
|
|
146
|
-
tests/tasks/test_profile.py,sha256=yDavc2-8AneOtkkPGCHJM0QUEYq6S8lJpQbQsJVfa_k,10233
|
|
147
|
-
tests/tasks/test_query.py,sha256=EkldbvckZkTOlm9b3y9zLzGIhlo1RShSsv-ycCjDHrg,4218
|
|
148
|
-
tests/tasks/test_row_count.py,sha256=21PaP2aq-x8-pqwzWHRT1sixhQ8g3CQNRWOZTTmbK0s,3151
|
|
149
|
-
tests/tasks/test_schema.py,sha256=7ds4Vx8ixaiIWDR49Lvjem4xlPkRP1cXazDRY3roUak,3121
|
|
150
|
-
tests/tasks/test_top_k.py,sha256=YR_GS__DJsbDlQVaEEdJvNQ3fh1VmV5Nb3G7lb0r6YM,1779
|
|
151
|
-
tests/tasks/test_valuediff.py,sha256=_xQJGgxsXoy2NYk_Z6Hsw2FlVh6zk2nN_iUueyRN1e8,2046
|
|
152
|
-
recce_nightly-1.15.0.20250806.dist-info/METADATA,sha256=hdvIwinTDWuzfZpoxipWkfBK6W8gOlsMBcgJk_LE1qE,9366
|
|
153
|
-
recce_nightly-1.15.0.20250806.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
154
|
-
recce_nightly-1.15.0.20250806.dist-info/entry_points.txt,sha256=oqoY_IiwIqXbgrIsPnlqUqao2eiIeP2dprowkOlmeyg,40
|
|
155
|
-
recce_nightly-1.15.0.20250806.dist-info/top_level.txt,sha256=6PKGVpf75idP0C6KEaldDzzZUauIxNu1ZDstau1pI4I,12
|
|
156
|
-
recce_nightly-1.15.0.20250806.dist-info/RECORD,,
|
tests/test_state.py
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
# add the RecceState test case
|
|
2
|
-
import os
|
|
3
|
-
import unittest
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
|
|
6
|
-
from recce.core import RecceContext
|
|
7
|
-
from recce.models import Check, Run
|
|
8
|
-
from recce.state import ArtifactsRoot, RecceState, RecceStateLoader
|
|
9
|
-
|
|
10
|
-
current_dir = os.path.dirname(os.path.abspath(__file__))
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class TestRecceState(unittest.TestCase):
|
|
14
|
-
def test_merge_checks(self):
|
|
15
|
-
check1 = Check(name="test1", description="", type="query")
|
|
16
|
-
check2 = Check(name="test2", description="", type="query", updated_at=datetime(2000, 1, 1))
|
|
17
|
-
check2_2 = Check(
|
|
18
|
-
name="test2_2", description="", type="query", updated_at=datetime(2020, 1, 1), check_id=check2.check_id
|
|
19
|
-
)
|
|
20
|
-
check3 = Check(name="test3", description="", type="query")
|
|
21
|
-
|
|
22
|
-
context = RecceContext()
|
|
23
|
-
state = RecceState(checks=[check1], runs=[])
|
|
24
|
-
context.import_state(state)
|
|
25
|
-
self.assertEqual(1, len(context.checks))
|
|
26
|
-
self.assertEqual(check1.name, context.checks[0].name)
|
|
27
|
-
|
|
28
|
-
context = RecceContext(checks=[check1, check2])
|
|
29
|
-
state = RecceState(checks=[check1, check2_2, check3], runs=[])
|
|
30
|
-
context.import_state(state)
|
|
31
|
-
self.assertEqual(3, len(context.checks))
|
|
32
|
-
self.assertEqual(check2_2.name, context.checks[1].name)
|
|
33
|
-
|
|
34
|
-
def test_merge_preset_checks(self):
|
|
35
|
-
check1 = Check(
|
|
36
|
-
name="test1",
|
|
37
|
-
description="test1",
|
|
38
|
-
type="query",
|
|
39
|
-
params=dict(foo="bar"),
|
|
40
|
-
updated_at=datetime(2000, 1, 1),
|
|
41
|
-
is_preset=True,
|
|
42
|
-
)
|
|
43
|
-
check2 = Check(
|
|
44
|
-
name="test2",
|
|
45
|
-
description="test2",
|
|
46
|
-
type="query",
|
|
47
|
-
params=dict(foo="bar"),
|
|
48
|
-
updated_at=datetime(2001, 1, 1),
|
|
49
|
-
is_preset=True,
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
context = RecceContext(checks=[check1])
|
|
53
|
-
state = RecceState(checks=[check2], runs=[])
|
|
54
|
-
context.import_state(state)
|
|
55
|
-
self.assertEqual(1, len(context.checks))
|
|
56
|
-
self.assertEqual(check2.name, context.checks[0].name)
|
|
57
|
-
|
|
58
|
-
context = RecceContext(checks=[check2])
|
|
59
|
-
state = RecceState(checks=[check1], runs=[])
|
|
60
|
-
context.import_state(state)
|
|
61
|
-
self.assertEqual(1, len(context.checks))
|
|
62
|
-
self.assertEqual(check2.name, context.checks[0].name)
|
|
63
|
-
|
|
64
|
-
def test_revert_checks(self):
|
|
65
|
-
check1 = Check(name="test1", description="", type="query")
|
|
66
|
-
check2 = Check(name="test2", description="", type="query")
|
|
67
|
-
check2_2 = Check(name="test2_2", description="", type="query", check_id=check2.check_id)
|
|
68
|
-
check3 = Check(name="test3", description="", type="query")
|
|
69
|
-
|
|
70
|
-
context = RecceContext(checks=[check1, check2])
|
|
71
|
-
state = RecceState(checks=[check2_2, check3], runs=[])
|
|
72
|
-
context.import_state(state, merge=False)
|
|
73
|
-
self.assertEqual(2, len(context.checks))
|
|
74
|
-
self.assertEqual(check2_2.name, context.checks[0].name)
|
|
75
|
-
|
|
76
|
-
def test_merge_runs(self):
|
|
77
|
-
run1 = Run(type="query")
|
|
78
|
-
run2 = Run(type="query")
|
|
79
|
-
run3 = Run(type="query")
|
|
80
|
-
|
|
81
|
-
context = RecceContext(runs=[])
|
|
82
|
-
state = RecceState(runs=[run1])
|
|
83
|
-
context.import_state(state)
|
|
84
|
-
self.assertEqual(1, len(context.runs))
|
|
85
|
-
|
|
86
|
-
context = RecceContext(runs=[run1, run2])
|
|
87
|
-
state = RecceState(runs=[run2, run3])
|
|
88
|
-
context.import_state(state)
|
|
89
|
-
self.assertEqual(3, len(context.runs))
|
|
90
|
-
|
|
91
|
-
def test_merge_dbt_artifacts(self):
|
|
92
|
-
import json
|
|
93
|
-
import os
|
|
94
|
-
|
|
95
|
-
with open(os.path.join(current_dir, "manifest.json"), "r") as f:
|
|
96
|
-
manifest = json.load(f)
|
|
97
|
-
manifest["metadata"]["generated_at"] = "2000-01-01T00:00:00Z"
|
|
98
|
-
artifacts = ArtifactsRoot(
|
|
99
|
-
base=dict(
|
|
100
|
-
manifest=manifest,
|
|
101
|
-
),
|
|
102
|
-
current=dict(
|
|
103
|
-
manifest=manifest,
|
|
104
|
-
),
|
|
105
|
-
)
|
|
106
|
-
|
|
107
|
-
from tests.adapter.dbt_adapter.dbt_test_helper import DbtTestHelper
|
|
108
|
-
|
|
109
|
-
adapter = DbtTestHelper().adapter
|
|
110
|
-
adapter.import_artifacts(artifacts)
|
|
111
|
-
self.assertNotEqual(adapter.base_manifest.metadata.invocation_id, manifest.get("metadata").get("invocation_id"))
|
|
112
|
-
|
|
113
|
-
manifest["metadata"]["generated_at"] = "2099-01-01T00:00:00Z"
|
|
114
|
-
adapter.import_artifacts(artifacts)
|
|
115
|
-
self.assertEqual(adapter.base_manifest.metadata.invocation_id, manifest.get("metadata").get("invocation_id"))
|
|
116
|
-
|
|
117
|
-
def test_state_loader(self):
|
|
118
|
-
# copy ./recce_state.json to temp and open
|
|
119
|
-
|
|
120
|
-
# use library to create a temp file in the context
|
|
121
|
-
import os
|
|
122
|
-
import shutil
|
|
123
|
-
import tempfile
|
|
124
|
-
|
|
125
|
-
with tempfile.NamedTemporaryFile() as f:
|
|
126
|
-
# copy ./recce_state.json to temp file
|
|
127
|
-
current_dir = os.path.dirname(os.path.abspath(__file__))
|
|
128
|
-
state_file = os.path.join(current_dir, "recce_state.json")
|
|
129
|
-
shutil.copy(state_file, f.name)
|
|
130
|
-
|
|
131
|
-
# load the state file
|
|
132
|
-
state_loader = RecceStateLoader(state_file=f.name)
|
|
133
|
-
state = state_loader.load()
|
|
134
|
-
assert len(state.runs) == 17
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|