Skip to content

Commit b433f32

Browse files
committed
docs: update installation instructions and dependencies
- Add `uv` installation method as recommended for ease of use - Clarify installation options for various features using `uv` and `pip` - Update feature-specific installation instructions in FAQ and advanced formats - Add DuckDB backend documentation to mkdocs navigation - Include `click` and `lxml` in `pyproject.toml` for interactive and all features These changes improve clarity and accessibility of installation instructions, making it easier for users to set up SQLstream with desired features.
1 parent fadb12a commit b433f32

7 files changed

Lines changed: 57 additions & 12 deletions

File tree

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,31 @@ $ sqlstream shell data.csv
4242

4343
## Installation
4444

45+
### Using [`uv`](https://docs.astral.sh/uv/#installation) (recommended)
46+
47+
**Basic (CSV only)**:
48+
```bash
49+
uv tool install sqlstream
50+
```
51+
52+
**All features**:
53+
```bash
54+
uv tool install "sqlstream[all]"
55+
```
56+
57+
**Multiple Sub Dependencies**:
58+
```bash
59+
uv tool install "sqlstream[interactive,pandas,s3,http,html,duckdb]"
60+
```
61+
62+
### Using `pip`
63+
4564
**Basic (CSV only)**:
4665
```bash
4766
pip install sqlstream
4867
```
4968

50-
**All features** (recommended):
69+
**All features**:
5170
```bash
5271
pip install "sqlstream[all]"
5372
```

docs/cli/interactive-mode.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ The interactive shell requires the `textual` library:
3030
# Install with CLI support
3131
pip install "sqlstream[cli]"
3232

33+
# Install full TUI
34+
pip install "sqlstream[interactive]"
35+
3336
# Or install all features
3437
pip install "sqlstream[all]"
3538
```

docs/faq.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,12 @@ pip install "sqlstream[all]"
212212
**By feature**:
213213
- `sqlstream[parquet]` - Parquet support (pyarrow)
214214
- `sqlstream[pandas]` - Pandas backend (pandas)
215+
- `sqlstream[duckdb]` - DuckDB backend (duckdb)
215216
- `sqlstream[s3]` - S3 support (s3fs)
216-
- `sqlstream[cli]` - Interactive shell (textual)
217+
- `sqlstream[cli]` - Basic CLI shell (click)
218+
- `sqlstream[interactive]` - Full blown TUI (textual)
217219
- `sqlstream[http]` - HTTP data sources (httpx)
220+
- `sqlstream[html]` - HTML parsing (lxml)
218221

219222
---
220223

@@ -371,7 +374,7 @@ SQLStream supports three execution backends:
371374

372375
### How do I use the DuckDB backend?
373376

374-
Install with `pip install duckdb` or `pip install "sqlstream[all]"`.
377+
Install with `pip install duckdb` or `pip install "sqlstream[duckdb]"`.
375378

376379
Then use it in your code:
377380
```python

docs/features/advanced-formats.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,10 +324,9 @@ reader.set_columns(['col1', 'col2'])
324324

325325
## Requirements
326326

327-
- **HTML Support**: Requires `pandas` and `lxml` or `html5lib`
327+
- **HTML Support**: Requires `pandas`, `bs4` and `lxml` or `html5lib`
328328
```bash
329-
pip install sqlstream[pandas]
330-
pip install lxml # or html5lib
329+
pip install sqlstream[html]
331330
```
332331

333332
- **Markdown Support**: No additional dependencies (built-in parser)

docs/index.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,22 +86,38 @@ $ sqlstream query "SELECT * FROM 's3://my-bucket/data.parquet' WHERE date > '202
8686

8787
## Installation
8888

89+
### Using [`uv`](https://docs.astral.sh/uv/#installation) (recommended)
90+
8991
=== "Basic (CSV only)"
9092

9193
```bash
92-
pip install sqlstream
94+
uv tool install sqlstream
95+
```
96+
97+
=== "With Parquet and Pandas support"
98+
99+
```bash
100+
uv tool install "sqlstream[parquet,pandas]"
101+
```
102+
103+
=== "All Features"
104+
105+
```bash
106+
uv tool install "sqlstream[all]"
93107
```
94108

95-
=== "With Parquet"
109+
=== "Multiple Sub Dependencies"
96110

97111
```bash
98-
pip install "sqlstream[parquet]"
112+
uv tool install "sqlstream[interactive,pandas,s3,http,html,duckdb]"
99113
```
100114

101-
=== "With Pandas (10-100x faster)"
115+
### Using `pip`
116+
117+
=== "Basic (CSV only)"
102118

103119
```bash
104-
pip install "sqlstream[pandas]"
120+
pip install sqlstream
105121
```
106122

107123
=== "All Features"

mkdocs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ nav:
9191
- JOIN Operations: features/joins.md
9292
- Aggregations: features/aggregations.md
9393
- Pandas Backend: features/pandas-backend.md
94+
- DuckDB Backend (Full SQL): features/duckdb-backend.md
9495
- Inline File Paths: features/inline-paths.md
9596
- CLI Reference:
9697
- Overview: cli/overview.md
@@ -110,6 +111,8 @@ nav:
110111
- Design Overview: architecture/design.md
111112
- Volcano Model: architecture/volcano-model.md
112113
- Optimizations: architecture/optimizations.md
114+
- FAQ: faq.md
115+
- Limitations: limitations.md
113116
- Contributing: contributing.md
114117

115118
extra:

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@ cli = [
3434
"textual>=0.40.0",
3535
]
3636
interactive = [
37+
"click>=8.0.0",
38+
"rich>=13.0.0",
3739
"textual>=0.40.0",
3840
"tree-sitter>=0.21.3",
3941
"tree-sitter-sql>=0.3.5",
40-
"rich>=13.0.0",
4142
]
4243
parquet = ["pyarrow>=10.0.0"]
4344
pandas = [
@@ -57,6 +58,7 @@ duckdb = [
5758
"duckdb>=1.0.0",
5859
]
5960
all = [
61+
"lxml>=4.8.0",
6062
"pandas>=2.0.0",
6163
"pyarrow>=14.0.0",
6264
"httpx>=0.27.0",

0 commit comments

Comments
 (0)