Spaces:
Sleeping
Sleeping
File size: 2,457 Bytes
746d2f1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
---
title: Connections and databases
slug: /develop/api-reference/connections
---
# Connections and databases
## Setup your connection
<TileContainer>
<RefCard href="/develop/api-reference/connections/st.connection" size="half">
<Image pure alt="screenshot" src="/images/api/connection.svg" />
<h4>Create a connection</h4>
Connect to a data source or API
```python
conn = st.connection('pets_db', type='sql')
pet_owners = conn.query('select * from pet_owners')
st.dataframe(pet_owners)
```
</RefCard>
</TileContainer>
## Built-in connections
<TileContainer>
<RefCard href="/develop/api-reference/connections/st.connections.snowflakeconnection" size="half">
<Image pure alt="screenshot" src="/images/api/connections.SnowflakeConnection.svg" />
<h4>SnowflakeConnection</h4>
A connection to Snowflake.
```python
conn = st.connection('snowflake')
```
</RefCard>
<RefCard href="/develop/api-reference/connections/st.connections.sqlconnection" size="half">
<Image pure alt="screenshot" src="/images/api/connections.SQLConnection.svg" />
<h4>SQLConnection</h4>
A connection to a SQL database using SQLAlchemy.
```python
conn = st.connection('sql')
```
</RefCard>
</TileContainer>
## Third-party connections
<TileContainer>
<RefCard href="/develop/api-reference/connections/st.connections.baseconnection" size="half">
<h4>Connection base class</h4>
Build your own connection with `BaseConnection`.
```python
class MyConnection(BaseConnection[myconn.MyConnection]):
def _connect(self, **kwargs) -> MyConnection:
return myconn.connect(**self._secrets, **kwargs)
def query(self, query):
return self._instance.query(query)
```
</RefCard>
</TileContainer>
## Secrets
<TileContainer>
<RefCard href="/develop/api-reference/connections/st.secrets" size="half">
<h4>Secrets singleton</h4>
Access secrets from a local TOML file.
```python
key = st.secrets["OpenAI_key"]
```
</RefCard>
<RefCard href="/develop/api-reference/connections/secrets.toml" size="half">
<h4>Secrets file</h4>
Save your secrets in a per-project or per-profile TOML file.
```python
OpenAI_key = "<YOUR_SECRET_KEY>"
```
</RefCard>
</TileContainer>
## Deprecated classes
<TileContainer>
<RefCard href="/develop/api-reference/connections/st.connections.snowparkconnection" size="half" deprecated={true}>
<h4>SnowparkConnection</h4>
A connection to Snowflake.
```python
conn = st.connection("snowpark")
```
</RefCard>
</TileContainer>
|