Storing files to pass data between pages?

Hi everyone,

I’m new to building Streamlit apps and I’m currently working on an app that uses OpenAI APIs. My app prompts the user to enter their API key when they land on the main page, and then saves it in a credentials.json file. When the user navigates to another page (e.g. DALLE or GPT), the app reads the credentials from the file to make API calls.

I’m wondering if this is the correct way to build the app or if there’s a better approach. Also, what happens to the user’s credentials.json file when they leave the app? I assume it gets destroyed like any other user session data, but I want to be sure.

1 Like

There is an API for keeping session data. Files in the backend filesystem are not session data.

@Goyo Nice thanks I didn’t see the pages shared the same session.

For storing other data like photos generated from Dalle, can they be stored in streamlit? Meaning if I save a Pillow Image what would happen? I see there’s also options to use cloud storage, is it a better way of doing it or saving locally is fine too?

There is no unqualified better or worse. You need to balance the storage capacity, performance, reliability, cost, etc. of each available option and see how well it satisfies your requirements.

1 Like