nao-core 0.0.38__py3-none-manylinux2014_aarch64.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.
Files changed (98) hide show
  1. nao_core/__init__.py +2 -0
  2. nao_core/__init__.py.bak +2 -0
  3. nao_core/bin/build-info.json +5 -0
  4. nao_core/bin/fastapi/main.py +268 -0
  5. nao_core/bin/fastapi/test_main.py +156 -0
  6. nao_core/bin/migrations-postgres/0000_user_auth_and_chat_tables.sql +98 -0
  7. nao_core/bin/migrations-postgres/0001_message_feedback.sql +9 -0
  8. nao_core/bin/migrations-postgres/0002_chat_message_stop_reason_and_error_message.sql +2 -0
  9. nao_core/bin/migrations-postgres/0003_handle_slack_with_thread.sql +2 -0
  10. nao_core/bin/migrations-postgres/0004_input_and_output_tokens.sql +8 -0
  11. nao_core/bin/migrations-postgres/0005_add_project_tables.sql +39 -0
  12. nao_core/bin/migrations-postgres/0006_llm_model_ids.sql +4 -0
  13. nao_core/bin/migrations-postgres/0007_chat_message_llm_info.sql +2 -0
  14. nao_core/bin/migrations-postgres/meta/0000_snapshot.json +707 -0
  15. nao_core/bin/migrations-postgres/meta/0001_snapshot.json +766 -0
  16. nao_core/bin/migrations-postgres/meta/0002_snapshot.json +778 -0
  17. nao_core/bin/migrations-postgres/meta/0003_snapshot.json +799 -0
  18. nao_core/bin/migrations-postgres/meta/0004_snapshot.json +847 -0
  19. nao_core/bin/migrations-postgres/meta/0005_snapshot.json +1129 -0
  20. nao_core/bin/migrations-postgres/meta/0006_snapshot.json +1141 -0
  21. nao_core/bin/migrations-postgres/meta/_journal.json +62 -0
  22. nao_core/bin/migrations-sqlite/0000_user_auth_and_chat_tables.sql +98 -0
  23. nao_core/bin/migrations-sqlite/0001_message_feedback.sql +8 -0
  24. nao_core/bin/migrations-sqlite/0002_chat_message_stop_reason_and_error_message.sql +2 -0
  25. nao_core/bin/migrations-sqlite/0003_handle_slack_with_thread.sql +2 -0
  26. nao_core/bin/migrations-sqlite/0004_input_and_output_tokens.sql +8 -0
  27. nao_core/bin/migrations-sqlite/0005_add_project_tables.sql +38 -0
  28. nao_core/bin/migrations-sqlite/0006_llm_model_ids.sql +4 -0
  29. nao_core/bin/migrations-sqlite/0007_chat_message_llm_info.sql +2 -0
  30. nao_core/bin/migrations-sqlite/meta/0000_snapshot.json +674 -0
  31. nao_core/bin/migrations-sqlite/meta/0001_snapshot.json +735 -0
  32. nao_core/bin/migrations-sqlite/meta/0002_snapshot.json +749 -0
  33. nao_core/bin/migrations-sqlite/meta/0003_snapshot.json +763 -0
  34. nao_core/bin/migrations-sqlite/meta/0004_snapshot.json +819 -0
  35. nao_core/bin/migrations-sqlite/meta/0005_snapshot.json +1086 -0
  36. nao_core/bin/migrations-sqlite/meta/0006_snapshot.json +1100 -0
  37. nao_core/bin/migrations-sqlite/meta/_journal.json +62 -0
  38. nao_core/bin/nao-chat-server +0 -0
  39. nao_core/bin/public/assets/code-block-F6WJLWQG-CV0uOmNJ.js +153 -0
  40. nao_core/bin/public/assets/index-DcbndLHo.css +1 -0
  41. nao_core/bin/public/assets/index-t1hZI3nl.js +560 -0
  42. nao_core/bin/public/favicon.ico +0 -0
  43. nao_core/bin/public/index.html +18 -0
  44. nao_core/bin/rg +0 -0
  45. nao_core/commands/__init__.py +6 -0
  46. nao_core/commands/chat.py +225 -0
  47. nao_core/commands/debug.py +158 -0
  48. nao_core/commands/init.py +358 -0
  49. nao_core/commands/sync/__init__.py +124 -0
  50. nao_core/commands/sync/accessors.py +290 -0
  51. nao_core/commands/sync/cleanup.py +156 -0
  52. nao_core/commands/sync/providers/__init__.py +32 -0
  53. nao_core/commands/sync/providers/base.py +113 -0
  54. nao_core/commands/sync/providers/databases/__init__.py +17 -0
  55. nao_core/commands/sync/providers/databases/bigquery.py +79 -0
  56. nao_core/commands/sync/providers/databases/databricks.py +79 -0
  57. nao_core/commands/sync/providers/databases/duckdb.py +78 -0
  58. nao_core/commands/sync/providers/databases/postgres.py +79 -0
  59. nao_core/commands/sync/providers/databases/provider.py +129 -0
  60. nao_core/commands/sync/providers/databases/snowflake.py +79 -0
  61. nao_core/commands/sync/providers/notion/__init__.py +5 -0
  62. nao_core/commands/sync/providers/notion/provider.py +205 -0
  63. nao_core/commands/sync/providers/repositories/__init__.py +5 -0
  64. nao_core/commands/sync/providers/repositories/provider.py +134 -0
  65. nao_core/commands/sync/registry.py +23 -0
  66. nao_core/config/__init__.py +30 -0
  67. nao_core/config/base.py +100 -0
  68. nao_core/config/databases/__init__.py +55 -0
  69. nao_core/config/databases/base.py +85 -0
  70. nao_core/config/databases/bigquery.py +99 -0
  71. nao_core/config/databases/databricks.py +79 -0
  72. nao_core/config/databases/duckdb.py +41 -0
  73. nao_core/config/databases/postgres.py +83 -0
  74. nao_core/config/databases/snowflake.py +125 -0
  75. nao_core/config/exceptions.py +7 -0
  76. nao_core/config/llm/__init__.py +19 -0
  77. nao_core/config/notion/__init__.py +8 -0
  78. nao_core/config/repos/__init__.py +3 -0
  79. nao_core/config/repos/base.py +11 -0
  80. nao_core/config/slack/__init__.py +12 -0
  81. nao_core/context/__init__.py +54 -0
  82. nao_core/context/base.py +57 -0
  83. nao_core/context/git.py +177 -0
  84. nao_core/context/local.py +59 -0
  85. nao_core/main.py +13 -0
  86. nao_core/templates/__init__.py +41 -0
  87. nao_core/templates/context.py +193 -0
  88. nao_core/templates/defaults/databases/columns.md.j2 +23 -0
  89. nao_core/templates/defaults/databases/description.md.j2 +32 -0
  90. nao_core/templates/defaults/databases/preview.md.j2 +22 -0
  91. nao_core/templates/defaults/databases/profiling.md.j2 +34 -0
  92. nao_core/templates/engine.py +133 -0
  93. nao_core/templates/render.py +196 -0
  94. nao_core-0.0.38.dist-info/METADATA +150 -0
  95. nao_core-0.0.38.dist-info/RECORD +98 -0
  96. nao_core-0.0.38.dist-info/WHEEL +4 -0
  97. nao_core-0.0.38.dist-info/entry_points.txt +2 -0
  98. nao_core-0.0.38.dist-info/licenses/LICENSE +22 -0
@@ -0,0 +1,150 @@
1
+ Metadata-Version: 2.4
2
+ Name: nao-core
3
+ Version: 0.0.38
4
+ Summary: nao Core is your analytics context builder with the best chat interface.
5
+ Project-URL: Homepage, https://getnao.io
6
+ Project-URL: Repository, https://github.com/naolabs/chat
7
+ Author: nao Labs
8
+ License-Expression: Apache-2.0
9
+ License-File: LICENSE
10
+ Keywords: ai,analytics,chat
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Requires-Python: >=3.10
22
+ Requires-Dist: anthropic>=0.76.0
23
+ Requires-Dist: apscheduler>=3.10.0
24
+ Requires-Dist: cryptography>=46.0.3
25
+ Requires-Dist: cyclopts>=4.4.4
26
+ Requires-Dist: dotenv>=0.9.9
27
+ Requires-Dist: fastapi>=0.128.0
28
+ Requires-Dist: ibis-framework[bigquery,databricks,duckdb,postgres,snowflake]>=9.0.0
29
+ Requires-Dist: jinja2>=3.1.0
30
+ Requires-Dist: notion-client>=2.7.0
31
+ Requires-Dist: notion2md>=2.9.0
32
+ Requires-Dist: openai>=1.0.0
33
+ Requires-Dist: pydantic>=2.10.0
34
+ Requires-Dist: pytest>=9.0.2
35
+ Requires-Dist: python-dotenv>=1.2.1
36
+ Requires-Dist: pyyaml>=6.0.0
37
+ Requires-Dist: rich>=14.0.0
38
+ Requires-Dist: uvicorn>=0.40.0
39
+ Description-Content-Type: text/markdown
40
+
41
+ # nao CLI
42
+
43
+ Command-line interface for nao chat.
44
+
45
+ ## Installation
46
+
47
+ ```bash
48
+ pip install nao-core
49
+ ```
50
+
51
+ ## Usage
52
+
53
+ ```bash
54
+ nao --help
55
+ Usage: nao COMMAND
56
+
57
+ ╭─ Commands ────────────────────────────────────────────────────────────────╮
58
+ │ chat Start the nao chat UI. │
59
+ │ init Initialize a new nao project. │
60
+ │ --help (-h) Display this message and exit. │
61
+ │ --version Display application version. │
62
+ ╰───────────────────────────────────────────────────────────────────────────╯
63
+ ```
64
+
65
+ ### Initialize a new nao project
66
+
67
+ ```bash
68
+ nao init
69
+ ```
70
+
71
+ This will create a new nao project in the current directory. It will prompt you for a project name and ask you if you want to set up an LLM configuration.
72
+
73
+ ### Start the nao chat UI
74
+
75
+ ```bash
76
+ nao chat
77
+ ```
78
+
79
+ This will start the nao chat UI. It will open the chat interface in your browser at `http://localhost:5005`.
80
+
81
+ ### BigQuery service account permissions
82
+
83
+ When you connect BigQuery during `nao init`, the service account used by `credentials_path`/ADC must be able to list datasets and run read-only queries to generate docs. Grant the account:
84
+
85
+ - Project: `roles/bigquery.jobUser` (or `roles/bigquery.user`) so the CLI can submit queries
86
+ - Each dataset you sync: `roles/bigquery.dataViewer` (or higher) to read tables
87
+
88
+ The combination above mirrors the typical "BigQuery User" setup and is sufficient for nao's metadata and preview pulls.
89
+
90
+ ## Development
91
+
92
+ ### Building the package
93
+
94
+ ```bash
95
+ cd cli
96
+ python build.py --help
97
+ Usage: build.py [OPTIONS]
98
+
99
+ Build and package nao-core CLI.
100
+
101
+ ╭─ Commands ────────────────────────────────────────────────────────────────────────────────────────────────╮
102
+ │ --help (-h) Display this message and exit. │
103
+ │ --version Display application version. │
104
+ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯
105
+ ╭─ Parameters ──────────────────────────────────────────────────────────────────────────────────────────────╮
106
+ │ --force -f --no-force Force rebuild the server binary [default: False] │
107
+ │ --skip-server -s --no-skip-server Skip server build, only build Python package [default: False] │
108
+ │ --bump Bump version before building (patch, minor, major) [choices: patch, │
109
+ │ minor, major] │
110
+ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯
111
+ ```
112
+
113
+ This will:
114
+ 1. Build the frontend with Vite
115
+ 2. Compile the backend with Bun into a standalone binary
116
+ 3. Bundle everything into a Python wheel in `dist/`
117
+
118
+ Options:
119
+ - `--force` / `-f`: Force rebuild the server binary
120
+ - `--skip-server`: Skip server build, only build Python package
121
+ - `--bump`: Bump version before building (patch, minor, major)
122
+
123
+ ### Installing for development
124
+
125
+ ```bash
126
+ cd cli
127
+ pip install -e .
128
+ ```
129
+
130
+ ### Publishing to PyPI
131
+
132
+ ```bash
133
+ # Build first
134
+ python build.py
135
+
136
+ # Publish
137
+ uv publish dist/*
138
+ ```
139
+
140
+ ## Architecture
141
+
142
+ ```
143
+ nao chat (CLI command)
144
+ ↓ spawns
145
+ nao-chat-server (Bun-compiled binary)
146
+ ↓ serves
147
+ Backend API + Frontend Static Files
148
+
149
+ Browser at http://localhost:5005
150
+ ```
@@ -0,0 +1,98 @@
1
+ nao_core/__init__.py,sha256=0zgroqXqe70b0lSXRPZ4fJxuKTDZqfv197YnovcUPvc,46
2
+ nao_core/__init__.py.bak,sha256=AxPiV-1jOF0_qVAiAxgoG-Em3pF3WJxq2nogF8_M_IQ,46
3
+ nao_core/main.py,sha256=f00vLL4s2B2kCMa8y3lI56LX3TnUppWzYmqM6eOGomA,205
4
+ nao_core/bin/build-info.json,sha256=NNMmj2WYVYmuIfSbioHlVIlabTVFUiVS38UqpYo0KP8,137
5
+ nao_core/bin/nao-chat-server,sha256=aZ3Qyw4QrPsNA1Zyu0vSAWynwTwIzKJuP6uzyGutMJg,103006292
6
+ nao_core/bin/rg,sha256=IExdQz4nXujynxoipfucMqZn8oDwA6LgpQEa8SLY1vI,4774312
7
+ nao_core/bin/fastapi/main.py,sha256=VQ4gOxuta_PPwbLtji59qld9xEi3oe1gKBGxah12zEA,8368
8
+ nao_core/bin/fastapi/test_main.py,sha256=ewqfLNhtNC25F5YmtXNGXg3MOMBtbd-5aoHn2CVS9Kk,4286
9
+ nao_core/bin/migrations-postgres/0000_user_auth_and_chat_tables.sql,sha256=UEOxvNaQEKPeZimW-HgHmeCg_py2ToDZkxFXk2NoNSo,4601
10
+ nao_core/bin/migrations-postgres/0001_message_feedback.sql,sha256=OWSyDCABwM6xlnEc5sC34wXmml1RyhvCDRG4s_7KCU4,443
11
+ nao_core/bin/migrations-postgres/0002_chat_message_stop_reason_and_error_message.sql,sha256=QOp5LBcBQGRu-ocFoaaTZnH9qb-M9oU2OdK9MUOQx7Y,141
12
+ nao_core/bin/migrations-postgres/0003_handle_slack_with_thread.sql,sha256=4zGpAV9g58moMkMbLXHOd3Wc7PZN6K75ArVn85ys6FA,157
13
+ nao_core/bin/migrations-postgres/0004_input_and_output_tokens.sql,sha256=8Is8hwmNYL-dpY9rvCwJGKTxWOQL7T8s9UG4gGz6E0U,725
14
+ nao_core/bin/migrations-postgres/0005_add_project_tables.sql,sha256=FTRONXrk497TiplAkgznpISwkumb9Yg2YVqoCcG37E4,2312
15
+ nao_core/bin/migrations-postgres/0006_llm_model_ids.sql,sha256=7BA80N_EftlIlPGgnJkI9voNUkOa2Gu2GeRIF5AgVeI,426
16
+ nao_core/bin/migrations-postgres/0007_chat_message_llm_info.sql,sha256=jNPeSof6g9dfr0HBFwQM6LFZsqcLaAHFty3sWGfVNa4,142
17
+ nao_core/bin/migrations-postgres/meta/0000_snapshot.json,sha256=8bV8DQjaks4Id2aPPWbVcSb5xMhPKNf_V0loe01dnl8,17997
18
+ nao_core/bin/migrations-postgres/meta/0001_snapshot.json,sha256=oKRco0GEWSe6PXr1ghB5BfOseNpEA3nA_X_UMYdSpjY,19531
19
+ nao_core/bin/migrations-postgres/meta/0002_snapshot.json,sha256=P4RDY5FMgqMmrU-XHD6DkoOYE9uSyUkuXuo2YKqooMU,19841
20
+ nao_core/bin/migrations-postgres/meta/0003_snapshot.json,sha256=t2VF3EJ-B_c5nknL_vifUZ_MrtBbaC3vsxVtBZm7sZQ,20408
21
+ nao_core/bin/migrations-postgres/meta/0004_snapshot.json,sha256=AsFWH3Qt1Ws-nFdwc99ZUtZ8WEnvhpNkpY_4M9X4WY4,21796
22
+ nao_core/bin/migrations-postgres/meta/0005_snapshot.json,sha256=Jzzgd6eKeRvYO1E2HN599vOcuqR4jVlfK3QV1GOjsMY,29097
23
+ nao_core/bin/migrations-postgres/meta/0006_snapshot.json,sha256=xgQ4ScaZCciGW25BpUyXL0bTH-co3vujYcnOq0jC4Zo,29441
24
+ nao_core/bin/migrations-postgres/meta/_journal.json,sha256=24eFP5SRzi3bxdd4QTt8Oz9K3FchG14Jh1_07ftiIq4,1272
25
+ nao_core/bin/migrations-sqlite/0000_user_auth_and_chat_tables.sql,sha256=8H7o4sTEfnqYc_Ks-0MUu85C8zHe5Ot94g3mlW33eCs,4458
26
+ nao_core/bin/migrations-sqlite/0001_message_feedback.sql,sha256=4XGfvNu0UUSDtmyL3RzaI1h8hssX9rk3NlTfontI1EM,398
27
+ nao_core/bin/migrations-sqlite/0002_chat_message_stop_reason_and_error_message.sql,sha256=Jj0uz2OhzoTriT8sxhI-RPf2AAVMcNvKsFEjshrqavQ,127
28
+ nao_core/bin/migrations-sqlite/0003_handle_slack_with_thread.sql,sha256=-9bL-zvkesrKQapm2T1Ykmeyl5riwBQMqlLJzNKSa9w,138
29
+ nao_core/bin/migrations-sqlite/0004_input_and_output_tokens.sql,sha256=DzvwdOiDydmbm9z2dvuHgJ6juiyoKHs7I-3Ep_V2Iyk,669
30
+ nao_core/bin/migrations-sqlite/0005_add_project_tables.sql,sha256=DySckuy1U5n-woC3maVZvsFeUfOut8gHtmFTVFuF8wA,1949
31
+ nao_core/bin/migrations-sqlite/0006_llm_model_ids.sql,sha256=BfZOCxvQojn1vF4J4YxivQTepBt9zBjQscZ9hb-hcqc,356
32
+ nao_core/bin/migrations-sqlite/0007_chat_message_llm_info.sql,sha256=HnW5Vn5n8q0pLgPJy_5jA99ySBxk1I9_96TM2QoXSeY,128
33
+ nao_core/bin/migrations-sqlite/meta/0000_snapshot.json,sha256=tuziD4cmsnGH5Eq1p683ac1Q8R8DLuw_QLPZL_MG5X8,17872
34
+ nao_core/bin/migrations-sqlite/meta/0001_snapshot.json,sha256=M35-2dFnDVe4ZcNOXdrU9UAUpsVprzY-YOe09Qkv5Yw,19580
35
+ nao_core/bin/migrations-sqlite/meta/0002_snapshot.json,sha256=T_SJc8-7A2ocO7PXG_hWVO0EdQ8UjkJ3a5Q5yyIQVTY,19958
36
+ nao_core/bin/migrations-sqlite/meta/0003_snapshot.json,sha256=lpG5dT7MI5UETMXiHJpXNCb7n84gYSXnxdXo6JTmr8c,20336
37
+ nao_core/bin/migrations-sqlite/meta/0004_snapshot.json,sha256=GyI-SeZIvS42n4NRIjLoF2U2ryUkjp36JR8qOGsjoe8,21996
38
+ nao_core/bin/migrations-sqlite/meta/0005_snapshot.json,sha256=wIBjNu16lA5P9YW2Zc8YAphUO3f00yPKHBBInwoZXj8,29230
39
+ nao_core/bin/migrations-sqlite/meta/0006_snapshot.json,sha256=9v-hZTcY1F-ktMhvnIYiIzvj2hElYSvGy4a0uM_MHwE,29634
40
+ nao_core/bin/migrations-sqlite/meta/_journal.json,sha256=DreVznG6FOiC5slf0HbYtdEpOZMIfPakt7V2dY-2HjI,1268
41
+ nao_core/bin/public/favicon.ico,sha256=s-a2BQ71NeB_Y2uOC_EPF9isG5DavpF9GKwYgxNSOWk,15406
42
+ nao_core/bin/public/index.html,sha256=4eXxIV2OicQYmqlIDISGUS79qKq3sc9Cnzc7fG7vlZ8,670
43
+ nao_core/bin/public/assets/code-block-F6WJLWQG-CV0uOmNJ.js,sha256=ULxI6SXtA0gSZBJCLZhVPqCopWGv7xizkPBiwCnB6L0,173667
44
+ nao_core/bin/public/assets/index-DcbndLHo.css,sha256=ekTrmlZT0BxsEuhkpJMMgtoctFqgnObxRvgerRpTkoU,76988
45
+ nao_core/bin/public/assets/index-t1hZI3nl.js,sha256=5sVdvr1C-TaQRTkCYeDSzzEd3IxRLt9EEhmmlham7pA,3010796
46
+ nao_core/commands/__init__.py,sha256=rFCuUyA9wM4hS6CxCt2M_5W4VysyQXh6HkA_hyRCxPc,207
47
+ nao_core/commands/chat.py,sha256=vVzfgjNL7X77lHA2Mgj45U4uwe3mIZiZmideW6-oK_w,7968
48
+ nao_core/commands/debug.py,sha256=4sbKHH1uB1Syu9NuvapJfjIvmGncoKkGSrpH3ADNwG8,5539
49
+ nao_core/commands/init.py,sha256=hv_301LD8jXJwxtUfzZlfZmzGhN5y2HoPGwMNaK8NrM,11124
50
+ nao_core/commands/sync/__init__.py,sha256=_KF_djeAfhxRxGmnGHWu2VoDVJpDhJU8gunx0C9kviQ,4684
51
+ nao_core/commands/sync/accessors.py,sha256=HrlR2uDRNRk1hSszcq84d4jIcmzOpvFIP_L4xUMllcg,9200
52
+ nao_core/commands/sync/cleanup.py,sha256=jzHilC72Rb0Nzlr-7hcA8y8jiuAyBccizFXbtxfwym0,5260
53
+ nao_core/commands/sync/registry.py,sha256=0yExoePzNZ_T0AswEr49ztOyHWaruz63ifVSGj1baO8,728
54
+ nao_core/commands/sync/providers/__init__.py,sha256=hYcXdh-MdFX6vbkPBmMZeMJftrrrLF_-tdxIrFdPFvY,780
55
+ nao_core/commands/sync/providers/base.py,sha256=vkanbUasj5E3iiNpNVivy6WLkGeV0M4Il3dsZdYCPIk,3141
56
+ nao_core/commands/sync/providers/databases/__init__.py,sha256=sHAVnnKmkdTTkrdmTbOKTqWJgvUbvnyQx4Lm0s2L4wg,473
57
+ nao_core/commands/sync/providers/databases/bigquery.py,sha256=kZwd0G5qq9VGY82qvAwF9FklthODl55Zqfvuqza05kk,2364
58
+ nao_core/commands/sync/providers/databases/databricks.py,sha256=t5hb6RN5q4tnna0GtM6BhX8FGT0jMNPPYINhMuN4Xvw,2342
59
+ nao_core/commands/sync/providers/databases/duckdb.py,sha256=zawqolr8BS6PQ1MhP4YGZYDJjMl35PySLkeACBoabwQ,2288
60
+ nao_core/commands/sync/providers/databases/postgres.py,sha256=cEdLrRO8Fmk07l2f5Qd-lyHj1upIE70Wsajqugkoz-A,2348
61
+ nao_core/commands/sync/providers/databases/provider.py,sha256=lS7EsT3dC9MLlbjOlUPDO1g7GVci7T_74v7iUC3DiI8,4653
62
+ nao_core/commands/sync/providers/databases/snowflake.py,sha256=67Hn-cmmb_3J2Z0uTDsGfE7b2pc5-2nu_e-y2NHw88E,2339
63
+ nao_core/commands/sync/providers/notion/__init__.py,sha256=ORa6EaiKoQCTF0BS5IG7l6n1gzfivtOz8i_FuMt8IXw,151
64
+ nao_core/commands/sync/providers/notion/provider.py,sha256=4rI-R6qG5MUfKyEF523CcQb92Jq3uhI8hg1Hpmo4IqE,6906
65
+ nao_core/commands/sync/providers/repositories/__init__.py,sha256=rBUacZ3_PR_EonhaWoakDVA-Su-N3aJE8Pon0cFli8o,165
66
+ nao_core/commands/sync/providers/repositories/provider.py,sha256=8tMlggWPkq1iRCgTkkLQbYmNeTyEYxQi7gRSz8KeqcM,4096
67
+ nao_core/config/__init__.py,sha256=Aa2CYhoiRvWIDH01WAGYiLroNOT9_882phq1Qnp2FLM,600
68
+ nao_core/config/base.py,sha256=aDgJIB_VaXXw87scpcT_SL5_j-yEYdWpLeQcbJ29J1g,3815
69
+ nao_core/config/exceptions.py,sha256=Y23b_64sUUwabHr2GGBv5MkwK4OqxhZ791-pV49Gw7Q,128
70
+ nao_core/config/databases/__init__.py,sha256=sNOnOjxVv8EXwuzADW0zkKimktFbQGQVFyydyInmyD4,1712
71
+ nao_core/config/databases/base.py,sha256=vyZksRPSogm1ozJpPU6yC0pcK-WgZpXHfktWxIRx_7E,2513
72
+ nao_core/config/databases/bigquery.py,sha256=oknRctiq-up3vadWEDIoOUeN19jAI7FYvBxmtR1eSgs,3568
73
+ nao_core/config/databases/databricks.py,sha256=CV3dvOtI05zEz6pUX55pGFfS5AW0t9d_HE_grsXSBvc,2853
74
+ nao_core/config/databases/duckdb.py,sha256=g-N3792zSYDbx1YL_a2wC8C83gL5R2i_7xPjJvgatrk,1262
75
+ nao_core/config/databases/postgres.py,sha256=urJd1Y2Y_ebpUhNCcpJzq7I-gK3kEaPtdr9ENtf8afs,2583
76
+ nao_core/config/databases/snowflake.py,sha256=_G4ohfhnF_nL4eyefAegokEv7mpNHRkkYdjZAIHmOoc,4948
77
+ nao_core/config/llm/__init__.py,sha256=nFyagZo1ni7QyNfdPfIq4GiY7AcOwmrmyGg_5o9PB_s,417
78
+ nao_core/config/notion/__init__.py,sha256=fGmppi7WGXRkG4bShFHPrruFIORkxQnPGHS-rZde8a8,225
79
+ nao_core/config/repos/__init__.py,sha256=R3LyHr9JtQG0DQ5Ae7pD5vO-ZrChAth-U-dFPJ0fRQ4,55
80
+ nao_core/config/repos/base.py,sha256=kutfkSzOW2F2zFnD2vy69hjhsazV86-z-Mr2Nn8KBqU,353
81
+ nao_core/config/slack/__init__.py,sha256=VLovE8Dp8Sgv_1N-I3XEmlxPOVWk8QxATHp17cMdR-o,415
82
+ nao_core/context/__init__.py,sha256=MbpV3dN-vkVt46sJ0z5ZPDIa3MLdcgZZI3Dz-QZBRRc,1778
83
+ nao_core/context/base.py,sha256=O8a-wyAH92vFd7ywXOORqeTf_nX7Z9dBqi360omDMX0,1581
84
+ nao_core/context/git.py,sha256=uazl0Mq59XATNOKVAm8CoMrLVpGTzc4kFK0qIS5SOUY,5737
85
+ nao_core/context/local.py,sha256=o9ARiFEzUT_qB6mRNKBYauopHtam9UXzV2s3lo9yX6Y,1809
86
+ nao_core/templates/__init__.py,sha256=XW87sUWrR6oe2260utL78UJUNhNgW01m0AXlK8Etcdk,1183
87
+ nao_core/templates/context.py,sha256=CqtZ5V7Pku72GMzO9bevkemXEZt7G9LiC-ZrQUokd3w,5910
88
+ nao_core/templates/engine.py,sha256=wcRUe_QpaW4fCxFjGnphGOZbQQiYuKvzKJFWdoRLbfo,4540
89
+ nao_core/templates/render.py,sha256=mN5ZP4DpAq6E9-Y5c1mtZ9fXNr3oI5arzPyyIG2WwB8,5532
90
+ nao_core/templates/defaults/databases/columns.md.j2,sha256=1nyL9hIZm9EgGi-IraBKMfVCiHsIsUQES4hZzL_LB7Y,743
91
+ nao_core/templates/defaults/databases/description.md.j2,sha256=P0xPQBDtvFYVvcOmu4HionzZ4vmv4lPPIF5AhDBoEfc,823
92
+ nao_core/templates/defaults/databases/preview.md.j2,sha256=Jct8MkbMnIW5q6j5sY6HyOSv8wccP0gSTma63BoGLQ0,596
93
+ nao_core/templates/defaults/databases/profiling.md.j2,sha256=28nTVmuw3A514A69n0xPpuBMtGNX2ccHs9fgUFBu2Is,1320
94
+ nao_core-0.0.38.dist-info/METADATA,sha256=_UCknaDvaiwXNmMFReFaSrLFUtDAlQTg9ZwrW0LVYqc,6084
95
+ nao_core-0.0.38.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
96
+ nao_core-0.0.38.dist-info/entry_points.txt,sha256=SZakIiNybgS3pl_OEZVLyLSweadeBFoEMBECMoj9czY,42
97
+ nao_core-0.0.38.dist-info/licenses/LICENSE,sha256=rn5YtWB6E5hPQI49tCTNSyqlArWGsB6HzA5FfSbRHRs,1066
98
+ nao_core-0.0.38.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ nao = nao_core.main:app
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 nao Labs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+