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
- Add comprehensive package description and key features to README
- Document optional dependencies with links to package websites
- Add Configuration, Result Formats, Management API sections
- Add Vector Store, Fusion SQL examples, and Advanced Options
- Update ibis extra to use ibis-framework[singlestoredb]
- Add development environment setup with uv to CONTRIBUTING
- Add version bumping and release process documentation
- Document management API test warnings and PyPI verification link
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@@ -4,6 +4,32 @@ Fork this repo and commit your changes to the forked repo.
4
4
From there make a Pull Request with your submission keeping the
5
5
following in mind:
6
6
7
+
## Setting up a development environment
8
+
9
+
Use [uv](https://docs.astral.sh/uv/) to create a virtual environment and install
10
+
development dependencies:
11
+
12
+
```bash
13
+
# Create and activate a virtual environment
14
+
uv venv
15
+
source .venv/bin/activate # On Windows: .venv\Scripts\activate
16
+
17
+
# Install the package with all development dependencies
18
+
uv pip install -e ".[dev]"
19
+
20
+
# Install pre-commit hooks (required for contributions)
21
+
pre-commit install
22
+
```
23
+
24
+
Alternatively, use standard pip:
25
+
26
+
```bash
27
+
python -m venv .venv
28
+
source .venv/bin/activate
29
+
pip install -e ".[dev]"
30
+
pre-commit install
31
+
```
32
+
7
33
## Pre-commit checks on the clone of this repo
8
34
9
35
The CI pipeline in this repo runs a bunch of validation checks and code
@@ -28,25 +54,11 @@ pre-commit run --all-files
28
54
### Prerequisites
29
55
30
56
Before running tests, ensure you have:
57
+
-**Development environment set up** (see above)
31
58
-**Docker installed and running** (for automatic test database management)
32
-
- Test dependencies installed: `pip install -e ".[test]"` or `pip install -e ".[dev]"` for all development dependencies
33
-
34
-
The `docker` Python package is required for the test framework to manage Docker containers automatically.
35
59
36
-
### Installation
37
-
38
-
To create a test environment:
39
-
```bash
40
-
pip install -e ".[dev]"# All development dependencies (recommended)
41
-
```
42
-
43
-
Or if you only need specific dependency groups:
44
-
```bash
45
-
pip install -e ".[test]"# Just testing dependencies
46
-
pip install -e ".[docs]"# Just documentation dependencies
47
-
pip install -e ".[build]"# Just build dependencies
48
-
pip install -e ".[examples]"# Just example/demo dependencies
49
-
```
60
+
The `docker` Python package (included in `[dev]` and `[test]` extras) is required
61
+
for the test framework to manage Docker containers automatically.
50
62
51
63
### Basic Testing
52
64
@@ -136,7 +148,7 @@ The following environment variables control test behavior:
136
148
137
149
-**`SINGLESTOREDB_PURE_PYTHON`**: Set to `1` to disable C acceleration and test in pure Python mode.
138
150
139
-
-**`SINGLESTOREDB_MANAGEMENT_TOKEN`**: Management API token for testing management features (mark tests with `@pytest.mark.management`).
151
+
-**`SINGLESTOREDB_MANAGEMENT_TOKEN`**: Management API token for testing management features. Get your API key from the [SingleStore Portal](https://portal.singlestore.com/). Tests marked with `@pytest.mark.management` will create and delete workspace groups/workspaces in your organization.
140
152
141
153
### Testing Best Practices
142
154
@@ -152,6 +164,10 @@ The following environment variables control test behavior:
152
164
```
153
165
154
166
3.**Management API tests**: These require a management token and are marked with `@pytest.mark.management`.
167
+
- Set `SINGLESTOREDB_MANAGEMENT_TOKEN` to your API key
168
+
-**Warning**: These tests create actual workspace groups and workspaces in the SingleStore Launchpad organization associated with your API key
169
+
- Resources are cleaned up after tests, but failed tests may leave orphaned resources
0 commit comments