A streamlit component that creates a user login form connected to a Supabase DB. It lets users create a new username and password, login to an existing account, or login as an anonymous guest.
Project description
:lock: st-login-form
A streamlit component that creates a user login form connected to a Supabase DB. It lets users create a new username and password, login to an existing account, or login as an anonymous guest.
The login form collapses after login to free screen-space.
:computer: Demo app
:construction: Installation
- Install
st-login-form
pip install st-login-form
- Create a Supabase project as mentioned here
- Create a table to store the usernames and passwords. The table name and column names can be as per your choice.
CREATE TABLE users (
username text not null default ''::text,
password text not null,
constraint users_pkey primary key (username),
constraint users_username_key unique (username),
constraint users_password_check check (
(
length(
trim(
both
from
password
)
) > 1
)
),
constraint users_username_check check (
(
length(
trim(
both
from
username
)
) > 1
)
)
) tablespace pg_default;
- Follow the rest of the steps from here to connect your Streamlit app to Supabase
:pen: Usage
login_form()
sets session_state["authenticated"]
to True
if the login is successful, session_state["username"]
to the username
or new or existing user, and to None
for guest login.
Returns supabase Client
instance.
import streamlit as st
from streamlit_login import login_form
client = login_form()
if st.session_state["authenticated"]:
if st.session_state["username"]:
st.success(f"Welcome {st.session_state['username']}")
else:
st.success("Welcome guest")
else:
st.error("Not authenticated")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for st_login_form-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10d4f6ef50c2dbef99dccf38b826d433b3189b9e8a2ae0f08bedd9d42deeec54 |
|
MD5 | 22fbb7903ba3089256ec56ea25d8c78b |
|
BLAKE2b-256 | e21aa52f31f0e9b98d2fd98cb3b105d7786a5d832c4b039ac93600f5d3b239b3 |