You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,12 @@
1
1
# Changelog
2
2
3
+
## v3.8.3 (2026-06-29)
4
+
5
+
### Updates
6
+
7
+
- Routed all binary downloads through `releases.stackql.io` (including macOS) and added a `pystackql/{version}` User-Agent so downloads can be identified
8
+
- Updated the test suite and test runners for Linux and Windows
PyStackQL - a Python wrapper for the [StackQL](https://stackql.io) query engine, which runs SQL against cloud and SaaS providers. Published to PyPI as `pystackql`.
4
+
5
+
## Layout
6
+
7
+
-`pystackql/core/` - main logic
8
+
-`stackql.py` - `StackQL` class, the primary public interface (`execute`, `executeStmt`, `executeQueriesAsync`, `properties`, `upgrade`, `test_connection`)
-`pystackql/__init__.py` - public API: `StackQL`, `StackqlMagic`, `StackqlServerMagic`
17
+
18
+
## Two execution modes
19
+
20
+
-**Local mode** (default): downloads/runs the stackql binary as a subprocess.
21
+
-**Server mode** (`server_mode=True`): connects to a running stackql server over the postgres wire protocol. `csv` output and several local-only options are unsupported here.
22
+
23
+
## Testing
24
+
25
+
Tests use the no-auth Homebrew provider and provider-agnostic literal queries (avoid adding auth-requiring tests).
- Server tests: start a server first (`stackql srv --pgsrv.address 127.0.0.1 --pgsrv.port 5466`), then `python run_server_tests.py`
29
+
- CI (`.github/workflows/test.yaml`) runs both across Linux/macOS/Windows and Python 3.9-3.13.
30
+
31
+
## Conventions
32
+
33
+
- Supports Python 3.9-3.13 on Windows, macOS, and Linux - keep changes cross-platform.
34
+
-`README.rst` is reStructuredText (the PyPI readme); docs in `docs/` build to ReadTheDocs from Sphinx-style docstrings. Update the `StackQL.__init__` docstring when changing constructor params.
35
+
- Bump `version` in `pyproject.toml` for releases; record changes in `CHANGELOG.md`.
0 commit comments