Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/drake-rochelle/open-storefront/llms.txt

Use this file to discover all available pages before exploring further.

Open Storefront is distributed as a single Python script that you can run directly from the cloned repository, or as a standalone binary compiled with PyInstaller for machines that do not have Python installed. Both methods are described below. Choose the one that best fits your environment.

Installation Methods

Running from source is the simplest approach and works on any machine with Python 3 installed. No build step is required.1. Clone the repository
git clone https://github.com/drake-rochelle/open-storefront.git
cd open-storefront
If you prefer not to use Git, download the ZIP archive from github.com/drake-rochelle/open-storefront and extract it to a folder of your choice.2. Launch the client
python main.py
On some systems the Python 3 interpreter is invoked as python3:
python3 main.py
The client will print your download path, fetch the home storefront from Google Drive, and display the interactive menu. No further setup is needed.

System Requirements

RequirementDetails
Python versionPython 3.x (any recent 3.x release). Not required when using a pre-built binary.
Operating systemWindows, macOS, or Linux
Internet connectionRequired at runtime to fetch storefront.json manifests from Google Drive
Disk spaceNegligible for the script itself; varies based on content you download

Optional Configuration Files

These files are not required but let you customise the client’s behaviour. Place them in the same directory as main.py (or the compiled binary).
FilePurpose
download_path.txtOverride the default download location (your home directory). Paste the absolute path to your preferred folder on a single line. The placeholder value C:/Path/To/Custom/Download/Folder is ignored.
home.3sfOverride the default home storefront. Paste a Google Drive file ID on a single line to use a different storefront as your starting point.
inputPre-recorded input file for automation. Each line is replayed as a keystroke.
No pip install step is ever needed. Open Storefront uses only Python standard library modules: urllib.request, json, os, platform, pathlib, and sys. If Python 3 is installed, you can run the script immediately after cloning — nothing else is required.

Troubleshooting

Python has not been added to your system PATH. The quickest fix is to re-run the Python installer, check “Add Python to PATH” on the first screen, and then open a new terminal window.Alternatively, add the Python installation directory (e.g. C:\Users\YourName\AppData\Local\Programs\Python\Python3x\) and its Scripts sub-folder to your PATH environment variable manually via System Properties → Environment Variables.On macOS and Linux the interpreter is usually available as python3 — try that if python is not found.
storefront.json is not a file you need to provide — it is fetched automatically from Google Drive every time the client loads or navigates to a storefront. If the menu does not appear after Loading..., check the following:
  • Internet connection — the client requires outbound HTTPS access to drive.google.com.
  • Firewall or proxy — ensure that urllib.request (Python’s built-in HTTP client) is not being blocked by a corporate firewall or proxy. If you are behind a proxy, set the HTTPS_PROXY environment variable before running the script.
  • Google Drive availability — confirm that the target Google Drive file ID is correct and that the file is shared publicly (“Anyone with the link”).
By default, all files are saved under your home directory (~), organised into sub-folders defined by the storefront manifest. To change this, create a download_path.txt file in the same directory as main.py and write the full absolute path to your preferred download folder on a single line — for example:
D:\3DS Downloads
Make sure the value is not the placeholder C:/Path/To/Custom/Download/Folder, which the client ignores.

Build docs developers (and LLMs) love