diff --git a/apps/www/_blog/2022-06-15-loading-data-supabase-python.mdx b/apps/www/_blog/2022-06-15-loading-data-supabase-python.mdx new file mode 100644 index 00000000000..daeb02c55ff --- /dev/null +++ b/apps/www/_blog/2022-06-15-loading-data-supabase-python.mdx @@ -0,0 +1,186 @@ +--- +title: Python data loading with Supabase +description: An example of how to load data to Supabase using the supabase-py +author: ant_wilson +image: python-1/python.jpg +thumb: python-1/python.jpg +tags: + - python + - open-source + - community +date: '2022-06-15' +toc_depth: 3 +--- + +Python is an excellent choice when it comes to playing with data. With a wide selection of libraries and built-in analytics tools, you can crunch data with ease, analyze even the most complex datasets, and visualize your results in beautiful charts and graphs. + +Supabase is backend-as-a-service built on top of PostgreSQL. It’s an excellent choice for building modern data-intensive apps. + +Thanks to our incredible community, Supabase now has a powerful and open source Python SDK. With Supabase and Python, you can automate tasks such as CRUD operations with only a few lines of code. This guide will first create a simple schema in Supabase, then we’ll use the Supabase Python SDK to show how you can load sample data. + +## Prerequisites + +Before we dive in, let’s look at some prerequisites you'll need: +- Python version > 3.7 + - The SDK only supports version > 3.7. You can download a supported Python version from here. +- Python virtual environment + - This is optional, but it will avoid issues of package dependencies and version conflicts. You can find the steps to create a virtual environment here. We will be using PyCharm to harness its venv creation capabilities. +- Faker python package + - We will be using the faker-commerce package from the Faker library in Python to generate realistic sample data. + + +## Loading data into Supabase using Python +Supabase is built for developers, and you can get started for free using your existing Github account. Once your Supabase account is set up, you will access the Supabase dashboard. From here, go to All Project > New Project. + +![screen shot of supabase dashboard](/images/blog/python-1/1.png) + +Give your project a name and set the database password. You can also choose the region and adjust the pricing plan based on the requirements of your project. + +![screen shot of supabase dashboard](/images/blog/python-1/2.png) + +Your project will spin up within 2 minutes. + +## Creating tables in Supabase + +In this example, we’ll be creating 2 tables in Supabase: +- Vendor (fields are vendor_name, vendor_location, and total_employees) +- Product (vendor_id as FK, product_name, price, and total orders) + +The database schema will look like the following: + +![screen shot of supabase dashboard](/images/blog/python-1/3.png) + +Let us now begin creating the tables. Once you create a project, you will need to go to Table Editor > New Table + +![screen shot of supabase dashboard](/images/blog/python-1/4.png) + +Now, you can create a table according to the defined schema. + +![screen shot of supabase dashboard](/images/blog/python-1/5.png) +Click on Save to create your vendor table. Similarly, create the product table. + +![screen shot of supabase dashboard](/images/blog/python-1/6.png) + +Before you click Save, you need to set up the foreign key relationship between the Product and Vendor table. To do this, select the button next to “vendor_id” + +![screen shot of supabase dashboard](/images/blog/python-1/7.png) +Select the vendor_id primary key from the “Vendor” table. + +![screen shot of supabase dashboard](/images/blog/python-1/8.png) + +Click on Save and you are good to go. You should now see the 2 tables under Table Editor. + +![screen shot of supabase dashboard](/images/blog/python-1/9.png) + +## Installing the Python SDK + +Once you have set up the tables and installed the prerequisites, you can now start playing around with the Python SDK. To install the SDK, run the following command: + +`pip3 install supabase` + +Ensure that you are running this inside your python virtual environment. This will take a few minutes to complete. + +## Using Supabase API keys + +The SDK authentication uses API keys pointing to a project URL. To find out your project URL and APIs, go to Settings > API. + +![screen shot of supabase dashboard](/images/blog/python-1/10.png) + +## Setting up the environment variables + +API credentials and project URL can be stored in environment variables. Setting the environment variables in bash/zsh is very simple. All we need to do is run: + +```bash +export = +``` + +So for our example we will set them up like this: + +```bash +export SUPABASE_URL=< URL>> +export SUPABASE_KEY=< anon public>> +export SUPABASE_SECRET_KEY=< service_role secret>> +``` + +## Inserting data into Supabase + +Here is a snippet of the code we will be using to insert random data into our tables: + +```python +import os +import json +from dotenv import load_dotenv +from supabase import create_client, Client +from faker import Faker +import faker_commerce + + +def add_entries_to_vendor_table(supabase, vendor_count): + fake = Faker() + foreign_key_list = [] + fake.add_provider(faker_commerce.Provider) + main_list = [] + for i in range(vendor_count): + value = {'vendor_name': fake.company(), 'total_employees': fake.random_int(40, 169), + 'vendor_location': fake.country()} + + main_list.append(value) + data = supabase.table('Vendor').insert(main_list).execute() + data_json = json.loads(data.json()) + data_entries = data_json['data'] + for i in range(len(data_entries)): + foreign_key_list.append(int(data_entries[i]['vendor_id'])) + return foreign_key_list + + +def add_entries_to_product_table(supabase, vendor_id): + fake = Faker() + fake.add_provider(faker_commerce.Provider) + main_list = [] + iterator = fake.random_int(1, 15) + for i in range(iterator): + value = {'vendor_id': vendor_id, 'product_name': fake.ecommerce_name(), + 'inventory_count': fake.random_int(1, 100), 'price': fake.random_int(45, 100)} + main_list.append(value) + data = supabase.table('Product').insert(main_list).execute() + + +def main(): + vendor_count = 10 + load_dotenv() + url: str = os.environ.get("SUPABASE_URL") + key: str = os.environ.get("SUPABASE_KEY") + supabase: Client = create_client(url, key) + fk_list = add_entries_to_vendor_table(supabase, vendor_count) + for i in range(len(fk_list)): + add_entries_to_product_table(supabase, fk_list[i]) + + +main() +``` + +To summarize what we have done using this code snippet: +- We have inserted 10 random vendors to the table. +- For each of the 10 vendors, we have inserted a number of different products + +## Reading the data stored in Supabase + +Data can also be viewed directly from the Supabase dashboard. To do this, go to `Table Editor > All tables` + +![screen shot of supabase dashboard](/images/blog/python-1/11.png) + +![screen shot of supabase dashboard](/images/blog/python-1/12.png) +Note: In case you cannot see any of the data, you should hit the Refresh button. + +## Conclusion +With Python, data loading into Supabase is easy. It just takes a few easy steps to get started with the Python SDK and Supabase. In the next part of this blog series, we will learn how to visualize the data that we just loaded into Supabase using Metabase. Stay tuned! + + +## Get started with Supabase + +- Start using Supabase today: **[app.supabase.com](https://app.supabase.com/)** +- Make sure to **[star us on GitHub](https://github.com/supabase/supabase)** +- Follow us **[on Twitter** +- Subscribe to our **[YouTube channel](https://www.youtube.com/c/supabase)** +- Become a **[sponsor](https://github.com/sponsors/supabase)** +- Join the **[team](https://about.supabase.com/careers)** diff --git a/apps/www/public/images/blog/python-1/1.png b/apps/www/public/images/blog/python-1/1.png new file mode 100644 index 00000000000..e6b2c9be634 Binary files /dev/null and b/apps/www/public/images/blog/python-1/1.png differ diff --git a/apps/www/public/images/blog/python-1/10.png b/apps/www/public/images/blog/python-1/10.png new file mode 100644 index 00000000000..18ccb842747 Binary files /dev/null and b/apps/www/public/images/blog/python-1/10.png differ diff --git a/apps/www/public/images/blog/python-1/11.png b/apps/www/public/images/blog/python-1/11.png new file mode 100644 index 00000000000..12219235ed7 Binary files /dev/null and b/apps/www/public/images/blog/python-1/11.png differ diff --git a/apps/www/public/images/blog/python-1/12.png b/apps/www/public/images/blog/python-1/12.png new file mode 100644 index 00000000000..3460641eafa Binary files /dev/null and b/apps/www/public/images/blog/python-1/12.png differ diff --git a/apps/www/public/images/blog/python-1/2.png b/apps/www/public/images/blog/python-1/2.png new file mode 100644 index 00000000000..dc753740752 Binary files /dev/null and b/apps/www/public/images/blog/python-1/2.png differ diff --git a/apps/www/public/images/blog/python-1/3.png b/apps/www/public/images/blog/python-1/3.png new file mode 100644 index 00000000000..87374ec221b Binary files /dev/null and b/apps/www/public/images/blog/python-1/3.png differ diff --git a/apps/www/public/images/blog/python-1/4.png b/apps/www/public/images/blog/python-1/4.png new file mode 100644 index 00000000000..06f751834cd Binary files /dev/null and b/apps/www/public/images/blog/python-1/4.png differ diff --git a/apps/www/public/images/blog/python-1/5.png b/apps/www/public/images/blog/python-1/5.png new file mode 100644 index 00000000000..5c337f0508f Binary files /dev/null and b/apps/www/public/images/blog/python-1/5.png differ diff --git a/apps/www/public/images/blog/python-1/6.png b/apps/www/public/images/blog/python-1/6.png new file mode 100644 index 00000000000..ce5e790bd1d Binary files /dev/null and b/apps/www/public/images/blog/python-1/6.png differ diff --git a/apps/www/public/images/blog/python-1/7.png b/apps/www/public/images/blog/python-1/7.png new file mode 100644 index 00000000000..575dfae0218 Binary files /dev/null and b/apps/www/public/images/blog/python-1/7.png differ diff --git a/apps/www/public/images/blog/python-1/8.png b/apps/www/public/images/blog/python-1/8.png new file mode 100644 index 00000000000..af2af99acbb Binary files /dev/null and b/apps/www/public/images/blog/python-1/8.png differ diff --git a/apps/www/public/images/blog/python-1/9.png b/apps/www/public/images/blog/python-1/9.png new file mode 100644 index 00000000000..d092465eb9e Binary files /dev/null and b/apps/www/public/images/blog/python-1/9.png differ diff --git a/apps/www/public/images/blog/python-1/python.jpg b/apps/www/public/images/blog/python-1/python.jpg new file mode 100644 index 00000000000..b23fbc3843a Binary files /dev/null and b/apps/www/public/images/blog/python-1/python.jpg differ diff --git a/apps/www/public/rss.xml b/apps/www/public/rss.xml index 1bc1d53b50f..8b4d04136c8 100644 --- a/apps/www/public/rss.xml +++ b/apps/www/public/rss.xml @@ -5,15 +5,23 @@ https://supabase.com Latest news from Supabase en - Tue, 31 May 2022 16:00:00 GMT + Tue, 14 Jun 2022 07:00:00 GMT + + https://supabase.com/blog/2022/06/15/loading-data-supabase-python + Python data loading with Supabase + https://supabase.com/blog/2022/06/15/loading-data-supabase-python + An example of how to load data to Supabase using the supabase-py + Tue, 14 Jun 2022 07:00:00 GMT + + https://supabase.com/blog/2022/06/07/beta-update-may-2022 Supabase Beta May 2022 https://supabase.com/blog/2022/06/07/beta-update-may-2022 Product and community updates including wildcard auth redirects, edge functions with webhooks, and Prometheus endpoints for everybody. - Tue, 31 May 2022 16:00:00 GMT + Tue, 31 May 2022 07:00:00 GMT @@ -21,7 +29,7 @@ How Mike Lyndon is using Supabase to accelerate development of AllPullTogether https://supabase.com/blog/2022/05/26/how-supabase-accelerates-development-of-all-pull-together Mike Lyndon is learning web development as he builds AllPullTogether, and Supabase is helping him accelerate what he can accomplish. - Wed, 25 May 2022 16:00:00 GMT + Wed, 25 May 2022 07:00:00 GMT @@ -29,7 +37,7 @@ Works With Supabase - announcing our Partner Gallery https://supabase.com/blog/2022/04/20/partner-gallery-works-with-supabase Introducing our Partner Gallery - open source and made with Supabase. - Tue, 19 Apr 2022 16:00:00 GMT + Tue, 19 Apr 2022 07:00:00 GMT @@ -37,7 +45,7 @@ Bring the Func Hackathon Winners 2022 https://supabase.com/blog/2022/04/18/bring-the-func-hackathon-winners Celebrating many amazing OSS Hackathon projects using GraphQL and Edge Functions. - Sun, 17 Apr 2022 16:00:00 GMT + Sun, 17 Apr 2022 07:00:00 GMT @@ -45,7 +53,7 @@ Supabase Beta March 2022 https://supabase.com/blog/2022/04/15/beta-update-march-2022 Functions, GraphQL, and much more. - Thu, 14 Apr 2022 16:00:00 GMT + Thu, 14 Apr 2022 07:00:00 GMT @@ -53,7 +61,7 @@ Supabrew - Never Code Thirsty https://supabase.com/blog/2022/04/01/supabrew A light and refreshing non-alcoholic beer for devs. - Thu, 31 Mar 2022 16:00:00 GMT + Fri, 01 Apr 2022 07:00:00 GMT @@ -61,7 +69,7 @@ Supabase Realtime, with Multiplayer Features https://supabase.com/blog/2022/04/01/supabase-realtime-with-multiplayer-features Today we're announced Realtime, with multiplayer features. Realtime enables broadcast, presence, and listening to database changes delivered over WebSockets. - Thu, 31 Mar 2022 16:00:00 GMT + Fri, 01 Apr 2022 07:00:00 GMT @@ -69,7 +77,7 @@ Hackathon: Bring the Func(🕺) https://supabase.com/blog/2022/04/01/hackathon-bring-the-func Build open-source projects with our latest features, win limited edition swag and plant a tree! - Thu, 31 Mar 2022 16:00:00 GMT + Fri, 01 Apr 2022 07:00:00 GMT @@ -77,7 +85,7 @@ Edge Functions are now available in Supabase https://supabase.com/blog/2022/03/31/supabase-edge-functions Today we're launching Edge Functions. Edge Functions let you execute Typescript code close to your users, no matter where they're located. - Wed, 30 Mar 2022 16:00:00 GMT + Wed, 30 Mar 2022 07:00:00 GMT @@ -85,7 +93,7 @@ Introducing Supabase Enterprise https://supabase.com/blog/2022/03/30/supabase-enterprise Today we are releasing Supabase Enterprise, a suite of features to scale your project. - Tue, 29 Mar 2022 16:00:00 GMT + Tue, 29 Mar 2022 07:00:00 GMT @@ -93,7 +101,7 @@ GraphQL is now available in Supabase https://supabase.com/blog/2022/03/29/graphql-now-available GraphQL support is now in general availability on the Supabase platform via our open source PostgreSQL extension, pg_graphql (beta). - Mon, 28 Mar 2022 16:00:00 GMT + Mon, 28 Mar 2022 07:00:00 GMT @@ -101,7 +109,7 @@ Community Day https://supabase.com/blog/2022/03/28/community-day Kicking off Launch Week IV with contributors, partners, and friends. - Sun, 27 Mar 2022 16:00:00 GMT + Sun, 27 Mar 2022 07:00:00 GMT @@ -109,7 +117,7 @@ Supabase Launch Week IV https://supabase.com/blog/2022/03/25/supabase-launch-week-four Launch Week 4: One new feature every day for an entire week. Starting Monday 28th March. - Thu, 24 Mar 2022 16:00:00 GMT + Thu, 24 Mar 2022 07:00:00 GMT @@ -117,7 +125,7 @@ Should I Open Source my Company? https://supabase.com/blog/2022/03/25/should-i-open-source-my-company The unexpected upsides of building in public - Thu, 24 Mar 2022 16:00:00 GMT + Thu, 24 Mar 2022 07:00:00 GMT @@ -125,7 +133,7 @@ Postgres Auditing in 150 lines of SQL https://supabase.com/blog/2022/03/08/audit PostgreSQL has a robust set of features which we can leverage to create a generic auditing solution in 150 lines of SQL. - Mon, 07 Mar 2022 16:00:00 GMT + Mon, 07 Mar 2022 08:00:00 GMT @@ -133,7 +141,7 @@ Supabase Beta January 2022 https://supabase.com/blog/2022/02/22/supabase-beta-january-2022 New auth providers, SMS providers, and new videos. - Mon, 21 Feb 2022 16:00:00 GMT + Mon, 21 Feb 2022 08:00:00 GMT @@ -141,7 +149,7 @@ Supabase Beta December 2021 https://supabase.com/blog/2022/01/20/supabase-beta-december-2021 New crypto extension, Postgres videos, and a bunch of cool integrations. - Wed, 19 Jan 2022 16:00:00 GMT + Wed, 19 Jan 2022 08:00:00 GMT @@ -149,7 +157,7 @@ Golden Kitty Awards Ceremony Watch Party with Supabase https://supabase.com/blog/2022/01/20/product-hunt-golden-kitty-awards-2021 Hang out with us while watching the Product Hunt Golden Kitty Awards Ceremony - Wed, 19 Jan 2022 16:00:00 GMT + Wed, 19 Jan 2022 08:00:00 GMT @@ -157,7 +165,7 @@ Holiday Hackdays Winners 2021 https://supabase.com/blog/2021/12/17/holiday-hackdays-winners-2021 Celebrating many amazing projects submitted to our Holiday Hackdays Hackathon. - Thu, 16 Dec 2021 16:00:00 GMT + Thu, 16 Dec 2021 08:00:00 GMT @@ -165,7 +173,7 @@ Supabase Beta November 2021: Launch Week Recap https://supabase.com/blog/2021/12/15/beta-november-2021-launch-week-recap We wrapped up November with Supabase's third Launch Week. Here's all the awesome stuff that got shipped ... - Tue, 14 Dec 2021 16:00:00 GMT + Tue, 14 Dec 2021 08:00:00 GMT @@ -173,7 +181,7 @@ Kicking off the Holiday Hackdays https://supabase.com/blog/2021/12/03/supabase-holiday-hackdays-hackathon Build cool stuff and celebrate open-source software with us during the Holiday Hackdays! - Thu, 02 Dec 2021 16:00:00 GMT + Thu, 02 Dec 2021 08:00:00 GMT @@ -181,7 +189,7 @@ pg_graphql: A GraphQL extension for PostgreSQL https://supabase.com/blog/2021/12/03/pg-graphql GraphQL support is in development for PostgreSQL + Supabase. - Thu, 02 Dec 2021 16:00:00 GMT + Thu, 02 Dec 2021 08:00:00 GMT @@ -189,7 +197,7 @@ Five more things https://supabase.com/blog/2021/12/03/launch-week-three-friday-five-more-things It's never just one more thing! - Thu, 02 Dec 2021 16:00:00 GMT + Thu, 02 Dec 2021 08:00:00 GMT @@ -197,7 +205,7 @@ Supabase acquires Logflare https://supabase.com/blog/2021/12/02/supabase-acquires-logflare Today, we're ecstatic to announce that Logflare is joining Supabase. - Wed, 01 Dec 2021 16:00:00 GMT + Wed, 01 Dec 2021 08:00:00 GMT @@ -205,7 +213,7 @@ Realtime Postgres RLS now available on Supabase https://supabase.com/blog/2021/12/01/realtime-row-level-security-in-postgresql Realtime database changes are now broadcast to authenticated users, respecting the same PostgreSQL policies that you use for Row Level Security. - Tue, 30 Nov 2021 16:00:00 GMT + Tue, 30 Nov 2021 08:00:00 GMT @@ -213,7 +221,7 @@ Supabase Studio https://supabase.com/blog/2021/11/30/supabase-studio The same Dashboard that you're using on our Platform is now available for local development and Self-Hosting. - Mon, 29 Nov 2021 16:00:00 GMT + Mon, 29 Nov 2021 08:00:00 GMT @@ -221,7 +229,7 @@ Community Day https://supabase.com/blog/2021/11/29/community-day Kicking off launch week by highlighting the communities around Supabase. - Sun, 28 Nov 2021 16:00:00 GMT + Sun, 28 Nov 2021 08:00:00 GMT @@ -229,7 +237,7 @@ New in PostgreSQL 14: What every developer should know https://supabase.com/blog/2021/11/28/whats-new-in-postgres-14 A quick look at some new features and functionality in PostgreSQL 14. - Sat, 27 Nov 2021 16:00:00 GMT + Sat, 27 Nov 2021 08:00:00 GMT @@ -237,7 +245,7 @@ PostgREST 9 https://supabase.com/blog/2021/11/28/postgrest-9 New features and updates in PostgREST version 9. - Fri, 26 Nov 2021 16:00:00 GMT + Fri, 26 Nov 2021 08:00:00 GMT @@ -245,7 +253,7 @@ Supabase Launch Week III: Holiday Special https://supabase.com/blog/2021/11/26/supabase-launch-week-the-trilogy Tis the season to be shipping. - Thu, 25 Nov 2021 16:00:00 GMT + Thu, 25 Nov 2021 08:00:00 GMT @@ -253,7 +261,7 @@ How we launch at Supabase https://supabase.com/blog/2021/11/26/supabase-how-we-launch The history and methodology of Supabase Launch Week. - Thu, 25 Nov 2021 16:00:00 GMT + Thu, 25 Nov 2021 08:00:00 GMT @@ -261,7 +269,7 @@ Supabase Beta October 2021 https://supabase.com/blog/2021/11/05/supabase-beta-october-2021 Three new Auth providers, multi-schema support, and we're gearing up for another Launch Week. - Sat, 06 Nov 2021 16:00:00 GMT + Sat, 06 Nov 2021 07:00:00 GMT @@ -269,7 +277,7 @@ Supabase $30m Series A https://supabase.com/blog/2021/10/28/supabase-series-a Supabase just raised $30M, bringing our total funding to $36M. - Wed, 27 Oct 2021 16:00:00 GMT + Wed, 27 Oct 2021 07:00:00 GMT @@ -277,7 +285,7 @@ Replenysh uses Supabase to implement OTP in less than 24-hours https://supabase.com/blog/2021/10/19/replenysh-time-to-value-in-less-than-24-hours Learn how Replenysh uses Supabase to power the circular economy, redefining how brands interact with their customers and products. - Mon, 18 Oct 2021 16:00:00 GMT + Mon, 18 Oct 2021 07:00:00 GMT @@ -285,7 +293,7 @@ Hacktoberfest Hackathon Winners 2021 https://supabase.com/blog/2021/10/14/hacktoberfest-hackathon-winners-2021 Celebrating many amazing projects submitted to our Hacktoberfest Hackathon. - Wed, 13 Oct 2021 16:00:00 GMT + Wed, 13 Oct 2021 07:00:00 GMT @@ -293,7 +301,7 @@ Supabase Beta Sept 2021 https://supabase.com/blog/2021/10/04/supabase-beta-sept-2021 Hackathon, Aborting request, UI updates, and now Hiring. - Sun, 03 Oct 2021 16:00:00 GMT + Sun, 03 Oct 2021 07:00:00 GMT @@ -301,7 +309,7 @@ Supabase Hacktoberfest Hackathon 2021 https://supabase.com/blog/2021/09/28/supabase-hacktoberfest-hackathon-2021 We're running another Supabase Hackathon during Hacktoberfest! - Mon, 27 Sep 2021 16:00:00 GMT + Mon, 27 Sep 2021 07:00:00 GMT @@ -309,7 +317,7 @@ Supabase Beta August 2021 https://supabase.com/blog/2021/09/10/supabase-beta-august-2021 Fundraising, Realtime Security, custom SMS templates, and deployments in South Korea. - Thu, 09 Sep 2021 16:00:00 GMT + Thu, 09 Sep 2021 07:00:00 GMT @@ -317,7 +325,7 @@ Supabase Beta July 2021 https://supabase.com/blog/2021/08/12/supabase-beta-july-2021 Discord Logins, Vercel Integration, Full text search, and OAuth guides. - Wed, 11 Aug 2021 16:00:00 GMT + Wed, 11 Aug 2021 07:00:00 GMT @@ -325,7 +333,7 @@ Open Source Hackathon Winners https://supabase.com/blog/2021/08/09/hackathon-winners Let the medal ceremony begin for the best projects submitted during the Supabase Hackathon. - Sun, 08 Aug 2021 16:00:00 GMT + Sun, 08 Aug 2021 07:00:00 GMT @@ -333,7 +341,7 @@ Supabase Swag Store https://supabase.com/blog/2021/07/30/supabase-swag-store Today we are officially launching the Supabase Swag Store. - Thu, 29 Jul 2021 16:00:00 GMT + Thu, 29 Jul 2021 07:00:00 GMT @@ -341,7 +349,7 @@ Updates for Supabase Functions https://supabase.com/blog/2021/07/30/supabase-functions-updates The question on everyone's mind - are we launching Supabase Functions? Well, it's complicated. - Thu, 29 Jul 2021 16:00:00 GMT + Thu, 29 Jul 2021 07:00:00 GMT @@ -349,7 +357,7 @@ The Supabase Hackathon https://supabase.com/blog/2021/07/30/1-the-supabase-hackathon A whole week of Hacking for Fun and Prizes. - Thu, 29 Jul 2021 16:00:00 GMT + Thu, 29 Jul 2021 07:00:00 GMT @@ -357,7 +365,7 @@ Supabase Reports and Metrics https://supabase.com/blog/2021/07/29/supabase-reports-and-metrics We're exposing a full set of metrics in your projects, so that you can build better (and faster) products for your users. - Wed, 28 Jul 2021 16:00:00 GMT + Wed, 28 Jul 2021 07:00:00 GMT @@ -365,7 +373,7 @@ Supabase Auth v2: Phone Auth now available https://supabase.com/blog/2021/07/28/supabase-auth-passwordless-sms-login Phone Auth is available today on all new and existing Supabase projects. - Tue, 27 Jul 2021 16:00:00 GMT + Tue, 27 Jul 2021 07:00:00 GMT @@ -373,7 +381,7 @@ Mobbin uses Supabase to authenticate 200,000 users https://supabase.com/blog/2021/07/28/mobbin-supabase-200000-users Learn how Mobbin migrated 200,000 users from Firebase for a better authentication experience. - Tue, 27 Jul 2021 16:00:00 GMT + Tue, 27 Jul 2021 07:00:00 GMT @@ -381,7 +389,7 @@ Supabase Storage now in Beta https://supabase.com/blog/2021/07/27/storage-beta Supabase Storage moves into Beta. - Mon, 26 Jul 2021 16:00:00 GMT + Mon, 26 Jul 2021 07:00:00 GMT @@ -389,7 +397,7 @@ Spot: a video sharing app built with Flutter https://supabase.com/blog/2021/07/27/spot-flutter-with-postgres Spot is a geolocation-based video-sharing app with some social networking features. - Mon, 26 Jul 2021 16:00:00 GMT + Mon, 26 Jul 2021 07:00:00 GMT @@ -397,7 +405,7 @@ Supabase is now on Postgres 13.3 https://supabase.com/blog/2021/07/26/supabase-postgres-13 From today, new Supabase projects will be on a version of Supabase Postgres that runs on Postgres 13.3. - Sun, 25 Jul 2021 16:00:00 GMT + Sun, 25 Jul 2021 07:00:00 GMT @@ -405,7 +413,7 @@ Supabase Community Day https://supabase.com/blog/2021/07/26/supabase-community-day Community Day - Sun, 25 Jul 2021 16:00:00 GMT + Sun, 25 Jul 2021 07:00:00 GMT @@ -413,7 +421,7 @@ Epsilon3 Self-Host Supabase To Revolutionize Space Operations https://supabase.com/blog/2021/07/26/epsilon3-self-hosting Learn how the team at Epsilon3 use Supabase to help teams execute secure and reliable operations in an industry that project spend runs into the billions. - Sun, 25 Jul 2021 16:00:00 GMT + Sun, 25 Jul 2021 07:00:00 GMT @@ -421,7 +429,7 @@ Supabase Launch Week II: The SQL https://supabase.com/blog/2021/07/22/supabase-launch-week-sql Five days of Supabase. Again. - Wed, 21 Jul 2021 16:00:00 GMT + Wed, 21 Jul 2021 07:00:00 GMT @@ -429,7 +437,7 @@ Protecting reserved roles with PostgreSQL Hooks https://supabase.com/blog/2021/07/01/roles-postgres-hooks Using Postgres Hooks to protect functionality in your Postgres database. - Thu, 01 Jul 2021 16:00:00 GMT + Thu, 01 Jul 2021 07:00:00 GMT @@ -437,7 +445,7 @@ Supabase Beta June 2021 https://supabase.com/blog/2021/07/02/supabase-beta-june-2021 Discord Logins, Vercel Integration, Full text search, and OAuth guides. - Tue, 01 Jun 2021 16:00:00 GMT + Tue, 01 Jun 2021 07:00:00 GMT @@ -445,7 +453,7 @@ Supabase Beta May 2021 https://supabase.com/blog/2021/06/02/supabase-beta-may-2021 Apple & Twitter Logins, Supabase Grid, Go & Swift Libraries. - Tue, 01 Jun 2021 16:00:00 GMT + Tue, 01 Jun 2021 07:00:00 GMT @@ -453,7 +461,7 @@ Supabase Beta April 2021 https://supabase.com/blog/2021/05/03/supabase-beta-april-2021 Supabase "gardening" - stability, security, and community support. - Tue, 04 May 2021 16:00:00 GMT + Tue, 04 May 2021 07:00:00 GMT @@ -461,7 +469,7 @@ Supabase Beta March 2021 https://supabase.com/blog/2021/04/06/supabase-beta-march-2021 Launch week, Storage, Supabase CLI, Connection Pooling, Supabase UI, and Pricing. - Mon, 05 Apr 2021 16:00:00 GMT + Mon, 05 Apr 2021 07:00:00 GMT @@ -469,7 +477,7 @@ Workflows are coming to Supabase https://supabase.com/blog/2021/04/02/supabase-workflows Functions are great, but you know what's better? - Thu, 01 Apr 2021 16:00:00 GMT + Thu, 01 Apr 2021 07:00:00 GMT @@ -477,7 +485,7 @@ PgBouncer is now available in Supabase https://supabase.com/blog/2021/04/02/supabase-pgbouncer Better support for Serverless and Postgres. - Thu, 01 Apr 2021 16:00:00 GMT + Thu, 01 Apr 2021 07:00:00 GMT @@ -485,7 +493,7 @@ Supabase Dot Com https://supabase.com/blog/2021/04/02/supabase-dot-com The Supabase Domain name is changing. - Thu, 01 Apr 2021 16:00:00 GMT + Thu, 01 Apr 2021 07:00:00 GMT @@ -493,7 +501,7 @@ Supabase Launches NFT Marketplace https://supabase.com/blog/2021/04/01/supabase-nft-marketplace A fully encrypted NFT platform to protect and transact your digital assets - Wed, 31 Mar 2021 16:00:00 GMT + Thu, 01 Apr 2021 07:00:00 GMT @@ -501,7 +509,7 @@ Supabase CLI https://supabase.com/blog/2021/03/31/supabase-cli Local development, database migrations, and self-hosting. - Tue, 30 Mar 2021 16:00:00 GMT + Wed, 31 Mar 2021 07:00:00 GMT @@ -509,7 +517,7 @@ Storage is now available in Supabase https://supabase.com/blog/2021/03/30/supabase-storage Launching Supabase Storage and how you can use it in your apps - Mon, 29 Mar 2021 16:00:00 GMT + Tue, 30 Mar 2021 07:00:00 GMT @@ -517,7 +525,7 @@ Supabase Beta Pricing https://supabase.com/blog/2021/03/29/pricing Supabase launches Beta pricing structure - Sun, 28 Mar 2021 16:00:00 GMT + Mon, 29 Mar 2021 07:00:00 GMT @@ -525,7 +533,7 @@ Launch week https://supabase.com/blog/2021/03/25/launch-week Five days of Supabase. - Wed, 24 Mar 2021 16:00:00 GMT + Wed, 24 Mar 2021 07:00:00 GMT @@ -533,7 +541,7 @@ Angels of Supabase https://supabase.com/blog/2021/03/25/angels-of-supabase Meet the investors of Supabase. - Wed, 24 Mar 2021 16:00:00 GMT + Wed, 24 Mar 2021 07:00:00 GMT @@ -541,7 +549,7 @@ Developers stay up to date with intheloop.dev https://supabase.com/blog/2021/03/22/In-The-Loop Learn why Kevin is building intheloop.dev with Supabase - Sun, 21 Mar 2021 16:00:00 GMT + Mon, 22 Mar 2021 07:00:00 GMT @@ -549,7 +557,7 @@ Using Supabase in Replit https://supabase.com/blog/2021/03/11/using-supabase-replit Free hosted relational database from within your node.js repl - Wed, 10 Mar 2021 16:00:00 GMT + Thu, 11 Mar 2021 08:00:00 GMT @@ -557,7 +565,7 @@ Toad, a link shortener with simple APIs for low-coders https://supabase.com/blog/2021/03/08/toad-a-link-shortener-with-simple-apis-for-low-coders An easy-to-use link shortening tool with simple APIs - Sun, 07 Mar 2021 16:00:00 GMT + Mon, 08 Mar 2021 08:00:00 GMT @@ -565,7 +573,7 @@ Postgres as a CRON Server https://supabase.com/blog/2021/03/05/postgres-as-a-cron-server Running repetitive tasks with your Postgres database. - Thu, 04 Mar 2021 16:00:00 GMT + Fri, 05 Mar 2021 08:00:00 GMT @@ -573,7 +581,7 @@ Supabase Beta February 2021 https://supabase.com/blog/2021/03/02/supabase-beta-february-2021 One year of building. - Mon, 01 Mar 2021 16:00:00 GMT + Tue, 02 Mar 2021 08:00:00 GMT @@ -581,7 +589,7 @@ Cracking PostgreSQL Interview Questions https://supabase.com/blog/2021/02/27/cracking-postgres-interview Understand the top PostgreSQL Interview Questions - Fri, 26 Feb 2021 16:00:00 GMT + Sat, 27 Feb 2021 08:00:00 GMT @@ -589,7 +597,7 @@ Roboflow.com choose Supabase to power Paint.wtf leaderboard https://supabase.com/blog/2021/02/09/case-study-roboflow Learn how Roboflow.com used Supabase to build their Paint.wtf leaderboard - Mon, 08 Feb 2021 16:00:00 GMT + Tue, 09 Feb 2021 08:00:00 GMT @@ -597,7 +605,7 @@ Supabase Beta January 2021 https://supabase.com/blog/2021/02/02/supabase-beta-january-2021 Eleven months of building. - Mon, 01 Feb 2021 16:00:00 GMT + Tue, 02 Feb 2021 08:00:00 GMT @@ -605,7 +613,7 @@ Supabase Beta December 2020 https://supabase.com/blog/2021/01/02/supabase-beta-december-2020 Ten months of building. - Fri, 01 Jan 2021 16:00:00 GMT + Sat, 02 Jan 2021 08:00:00 GMT @@ -613,7 +621,7 @@ Making the Supabase Dashboard Supa-fast https://supabase.com/blog/2020/12/13/supabase-dashboard-performance Improving the performance of the Supabase dashboard - Sat, 12 Dec 2020 16:00:00 GMT + Sun, 13 Dec 2020 08:00:00 GMT @@ -621,7 +629,7 @@ Supabase Partners With Strive School To Help Teach Open Source https://supabase.com/blog/2020/12/02/supabase-striveschool Supabase Partners With Strive School To Help Teach Open Source To The Next Generation Of Developers - Tue, 01 Dec 2020 16:00:00 GMT + Wed, 02 Dec 2020 08:00:00 GMT @@ -629,7 +637,7 @@ Xendit Built a Counter-Fraud Watchlist for the Fintech Industry https://supabase.com/blog/2020/12/02/case-study-xendit See how Xendit use Supabase to build a full-text search engine. - Tue, 01 Dec 2020 16:00:00 GMT + Wed, 02 Dec 2020 08:00:00 GMT @@ -637,7 +645,7 @@ TAYFA Built a No-Code Website Builder in Seven Days https://supabase.com/blog/2020/12/02/case-study-tayfa See how Tayfa went from idea to paying customer in less than 30 days. - Tue, 01 Dec 2020 16:00:00 GMT + Wed, 02 Dec 2020 08:00:00 GMT @@ -645,7 +653,7 @@ Monitoro Built a Web Crawler Handling Millions of API Requests https://supabase.com/blog/2020/12/02/case-study-monitoro See how Monitoro built an automated scraping platform using Supabase. - Tue, 01 Dec 2020 16:00:00 GMT + Wed, 02 Dec 2020 08:00:00 GMT @@ -653,7 +661,7 @@ Supabase Alpha November 2020 https://supabase.com/blog/2020/12/01/supabase-alpha-november-2020 Nine months of building. - Mon, 30 Nov 2020 16:00:00 GMT + Tue, 01 Dec 2020 08:00:00 GMT @@ -661,7 +669,7 @@ Postgres Views https://supabase.com/blog/2020/11/18/postgresql-views Creating and using a view in PostgreSQL. - Tue, 17 Nov 2020 16:00:00 GMT + Wed, 18 Nov 2020 08:00:00 GMT @@ -669,7 +677,7 @@ Supabase Alpha October 2020 https://supabase.com/blog/2020/11/02/supabase-alpha-october-2020 Eight months of building. - Sun, 01 Nov 2020 16:00:00 GMT + Mon, 02 Nov 2020 08:00:00 GMT @@ -677,7 +685,7 @@ Supabase.js 1.0 https://supabase.com/blog/2020/10/30/improved-dx We're releasing a new version of our Supabase client with some awesome new improvements. - Thu, 29 Oct 2020 16:00:00 GMT + Fri, 30 Oct 2020 07:00:00 GMT @@ -685,7 +693,7 @@ Supabase Alpha September 2020 https://supabase.com/blog/2020/10/03/supabase-alpha-september-2020 Seven months of building. - Fri, 02 Oct 2020 16:00:00 GMT + Sat, 03 Oct 2020 07:00:00 GMT @@ -693,7 +701,7 @@ Supabase Hacktoberfest 2020 https://supabase.com/blog/2020/09/11/supabase-hacktoberfest-2020 Join us for a celebration of open source software and learn how to contribute to Supabase. - Thu, 10 Sep 2020 16:00:00 GMT + Fri, 11 Sep 2020 07:00:00 GMT @@ -701,7 +709,7 @@ Supabase Alpha August 2020 https://supabase.com/blog/2020/09/03/supabase-alpha-august-2020 Six months of building - Wed, 02 Sep 2020 16:00:00 GMT + Thu, 03 Sep 2020 07:00:00 GMT @@ -709,7 +717,7 @@ Supabase Auth https://supabase.com/blog/2020/08/05/supabase-auth Authenticate and authorize your users with Supabase Auth - Tue, 04 Aug 2020 16:00:00 GMT + Wed, 05 Aug 2020 07:00:00 GMT @@ -717,7 +725,7 @@ Supabase Alpha July 2020 https://supabase.com/blog/2020/08/02/supabase-alpha-july-2020 Five months of building - Sat, 01 Aug 2020 16:00:00 GMT + Sun, 02 Aug 2020 07:00:00 GMT @@ -725,7 +733,7 @@ Continuous PostgreSQL Backups using WAL-G https://supabase.com/blog/2020/08/02/continuous-postgresql-backup-walg Have you ever wanted to restore your database's state to a particular moment in time? This post explains how, using WAL-G. - Sat, 01 Aug 2020 16:00:00 GMT + Sun, 02 Aug 2020 07:00:00 GMT @@ -733,7 +741,7 @@ Alpha Launch Postmortem https://supabase.com/blog/2020/07/10/alpha-launch-postmortem Everything that went wrong with Supabase's launch - Thu, 09 Jul 2020 16:00:00 GMT + Fri, 10 Jul 2020 07:00:00 GMT @@ -741,7 +749,7 @@ What are PostgreSQL Templates? https://supabase.com/blog/2020/07/09/postgresql-templates What are PostgreSQL templates and what are they used for? - Wed, 08 Jul 2020 16:00:00 GMT + Thu, 09 Jul 2020 07:00:00 GMT @@ -749,7 +757,7 @@ Physical vs Logical Backups in PostgreSQL https://supabase.com/blog/2020/07/17/postgresql-physical-logical-backups What are physical and logical backups in Postgres? - Mon, 06 Jul 2020 16:00:00 GMT + Tue, 07 Jul 2020 07:00:00 GMT @@ -757,7 +765,7 @@ Supabase Alpha June 2020 https://supabase.com/blog/2020/07/01/supabase-alpha-june-2020 Four months of building - Tue, 30 Jun 2020 16:00:00 GMT + Wed, 01 Jul 2020 07:00:00 GMT @@ -765,7 +773,7 @@ Steve Chavez has joined Supabase https://supabase.com/blog/2020/06/15/supabase-steve-chavez Steve joins Supabase to help build Auth. - Sun, 14 Jun 2020 16:00:00 GMT + Mon, 15 Jun 2020 07:00:00 GMT @@ -773,7 +781,7 @@ Supabase Alpha May 2020 https://supabase.com/blog/2020/06/01/supabase-alpha-may-2020 Three months of building - Sun, 31 May 2020 16:00:00 GMT + Mon, 01 Jun 2020 07:00:00 GMT @@ -781,7 +789,7 @@ Supabase Alpha April 2020 https://supabase.com/blog/2020/05/01/supabase-alpha-april-2020 Two months of building - Sun, 31 May 2020 16:00:00 GMT + Mon, 01 Jun 2020 07:00:00 GMT