tonykipDeveloper Relations @Streamlit


Announcing the Streamlit Connections Hackathon :tada:

Copy of Streamlit Connections Contest (1)1200×1200 60 KB

Configuring data connections can be one of the most frustrating and time-consuming parts of building robust Streamlit apps. You have to locate and install external packages, determine the best way to securely manage your credentials, and figure out how to retrieve the data you need in the desired format.

Fortunately, with our recent release of st.experimental_connection, you can easily connect your Streamlit apps to data and APIs in just four lines of code. Check out our blog post 9, demo app 3, and docs 2 to learn more about this powerful feature.

Our development team has included several built-in connections to this feature. These include SQLConnection, which connects to a SQL database using a SQLAlchemy Engine, and SnowparkConnection, which connects to Snowpark. Additionally, our team has built connections for Google Sheets 1 and cloud or local files via fsspec.

However, the possibilities for st.experimental_connection are not limited to these sources. This feature can be used to connect to any data source or API. To create new connections, you can build a connection class that extends the built-in ExperimentalBaseConnection and returns the underlying connection object.

The Streamlit Connections Hackathon challenges you to build a connection for any data source or API and develop a demo app to showcase its functionality. Building a connection for a data source or API that you frequently use with Streamlit will save time and lines of code, making your Streamlit apps even more efficient. Additionally, if you submit a functional connection and demo app, you’ll receive a Streamlit hoodie as a reward.

Judging & Prize :gift:

  • The contest will begin today (July 21st, 2023) and the submission deadline is August 4th, 2023!
  • Every entrant who submits a functional Connection and demo app will receive a Streamlit hoodie!
    • A functional Connection is one that:
      • Connects to a data source or API (other than SQLAlchemy, Snowpark, Google Sheets, and fsspec-compatible data sources like AWS S3, GCP, …).
      • Follow our connection-building best practices 3 and include:
        • A _connect() method to set up and return the underlying connection object
        • A way to retrieve the underlying connection object (such as a cursor() method)
        • Convenience methods — at a minimum, a query() method wrapped in @st.cache_data
    • A functional demo app is one that:
      • Showcases the functionality of your Connection (i.e. retrieves data or information from your data source or API of choice)
      • Is hosted publicly on Community Cloud 1
      • Doesn’t hit an error when we try it out
  • Five winners will be announced on Friday, August 11th. Their Connections will be featured in our docs and highlighted on our social media.

Submission :checkered_flag:

  • To enter, complete this form 6, and don’t forget to include the following:
    • The link to your Connection’s GitHub repository
    • The link to your demo app hosted on Community Cloud
    • Your Twitter handle so we can tag you if you win
    • Your mailing address so we can send you a Streamlit hoodie

Resources for building your connector :toolbox:

A few ideas to get you started :smiley:

  • Looking for data sources or APIs to connect to? Here are a few ideas to get you started:
    • Vector databases such as:
      • Pinecone
      • Weaviate
      • Chroma
      • Qdrant
    • MongoDB
    • Supabase
    • Firestore
    • CouchDB
    • HBase
    • Twitter API
    • Facebook Graph API
    • OpenWeatherMap API

Good luck and happy Streamlit-ing! :balloon:

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.