Guide · June 7, 2025

Deploy a Python App for Internal Company Use (Company Email Only)

Deploy a Flask, FastAPI, or Python script to a company-gated URL in 30 seconds. No AWS, no IT ticket, no auth code to write.


You built a Python app — Flask, FastAPI, a Streamlit dashboard, or a plain script. You want to share it with your team without making it public and without spending a week setting up auth.

This is especially common for data science and ML teams who build internal tools in Python: report generators, data validators, model UIs, automation scripts.

The fastest path: Workshop

npm install -g @getworkshop/cli
workshop login
cd your-python-project
workshop init
workshop deploy

During workshop init, Workshop detects Python and asks for your entry command:

Flask

gunicorn app:app --bind 0.0.0.0:$PORT

FastAPI

uvicorn main:app --host 0.0.0.0 --port $PORT

Plain Python script (one-time run)

python main.py

Choose Company domain access mode. Workshop handles authentication — your Python app just receives authenticated requests.

Dependencies

Workshop installs your requirements.txt automatically inside the container. You don't need to pre-install anything. Just make sure your requirements.txt is in the project root:

flask>=3.0
gunicorn>=23.0
pandas>=2.0
openai>=1.0

Environment variables and API keys

workshop secret set OPENAI_API_KEY=sk-...
workshop secret set SUPABASE_URL=https://...
workshop secret set SUPABASE_KEY=...

Your Python app reads them via os.environ as normal. They're encrypted at rest and injected at container startup.

Scheduled Python scripts

If your app is a scheduled task rather than a web server:

{
  "name": "weekly-report",
  "runtime": "python",
  "entry_cmd": "python generate_report.py",
  "cron": "0 8 * * 1"
}

This runs every Monday at 8am. Failure emails you. Logs are in your Workshop dashboard.

Common use cases

Try Workshop

Deploy your internal app in 30 seconds.

Free for one app. No credit card required.

npm install -g @getworkshop/cli && workshop deploy

Get early access → getworkshop.io

Related

Deploy Your Claude Code App So Your Team Can Use It
Run workshop deploy and get a URL only your @company.com coworkers can open. No IT ticket, no Vercel enterprise plan. Free for one app.
How to Deploy a Vibe-Coded App Internally (Without Making It Public)
You built it with Claude Code or Cursor. Now your team needs to use it — without it being on the public internet. Here's the 30-second path.
Deploy a Flask App for Internal Company Use (Company Email Only)
How to deploy a Flask or FastAPI app so only @yourcompany.com employees can access it — without IT, without AWS, in 30 seconds.