Skip to content

Commit ca8b772

Browse files
committed
refactor: reorganize quickstart sample into a modular structure with a runner script and snippet class
1 parent 27f296e commit ca8b772

File tree

4 files changed

+47
-26
lines changed

4 files changed

+47
-26
lines changed

packages/google-cloud-spanner-dbapi-driver/samples/quickstart.py

Lines changed: 0 additions & 26 deletions
This file was deleted.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Copyright 2026 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
from snippets.quickstart import Quickstart
16+
17+
connection_string = (
18+
"projects/my-project/instances/my-instance/databases/my-database"
19+
"?autoConfigEmulator=true"
20+
)
21+
22+
Quickstart.run(connection_string)

packages/google-cloud-spanner-dbapi-driver/samples/snippets/__init__.py

Whitespace-only changes.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright 2026 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
from google.cloud.spanner_driver import connect
16+
17+
class Quickstart:
18+
19+
def run(connection_string: str):
20+
with connect(connection_string) as connection:
21+
with connection.cursor() as cursor:
22+
cursor.execute("SELECT 'Hello World' as Message")
23+
row = cursor.fetchone()
24+
print(f"Greeting from Spanner: {row[0]}")
25+

0 commit comments

Comments
 (0)