Developer hosting
Python Hosting on SteboHost
Python runtime with WSGI or ASGI deployment for Django, Flask, FastAPI and other Python frameworks.
- Git push to deploy
- Build & deploy logs
- Health checks
- One-click rollback
Python Hosting
Python hosting provides a managed runtime for web applications and APIs written in Python. The environment includes the Python interpreter, a virtualenv for dependency isolation, and a WSGI or ASGI server to handle incoming requests. SteboHost supports both synchronous frameworks like Django and Flask through Gunicorn, and asynchronous frameworks like FastAPI and Starlette through Uvicorn. This hosting is for developers building Django applications with full-stack features, FastAPI services with async database access, data science APIs wrapping pandas and NumPy, and machine learning model serving with Uvicorn workers. Whether you are running a single Flask microservice or a Django monolith with Celery workers and PostgreSQL, the environment is configured for the Python web stack rather than a generic CGI setup. What makes SteboHost different is that we detect your framework and dependency manager automatically. A requirements.txt triggers pip, a pyproject.toml triggers Poetry, and a Pipfile triggers Pipenv. Gunicorn and Uvicorn worker counts are pre-configured based on your plan resources, and Celery workers run as systemd-supervised processes alongside your web process — restarting within one second of a crash with cgroup memory limits enforced per plan. A managed PostgreSQL or MySQL database is provisioned per environment, with credentials generated, stored in the secrets vault and injected as encrypted environment variables. You do not need to write a Procfile or configure a WSGI entry point manually — we infer it from your project structure.
What is included
Everything you need to run and deploy
Each feature is part of the product — not an add-on or an upsell.
Python 3.12 runtime with virtualenv
WSGI deployment (Gunicorn) and ASGI deployment (Uvicorn)
systemd-supervised workers with one-second restart on crash
Managed PostgreSQL or MySQL database provisioned per environment
Daily automated database backups retained for 30 days
Automatic SSL on custom domains
Git-based deployment with build logs
Pip, Poetry or Pipenv dependency installation
One-click rollback to any previous release
Celery workers as systemd-supervised processes
WSGI (Gunicorn) and ASGI (Uvicorn) deployment
Python 3.10, 3.11, 3.12 and 3.13 support
Why Python Hosting
Why developers choose SteboHost for python hosting
Specific reasons — not generic marketing claims.
Framework auto-detection
We detect Django, Flask, FastAPI and other frameworks from your project structure and configure the correct WSGI or ASGI server automatically. You do not need to write a Procfile or specify a start command unless you want to override the defaults.
Dependency manager flexibility
We support pip with requirements.txt, Poetry with pyproject.toml and Pipenv with Pipfile. The correct tool is selected based on which file is present in your repository, and switching tools is as simple as committing the new lockfile.
Celery workers as systemd units
Celery workers run as systemd-supervised processes alongside your web process, restarting within one second of a crash with cgroup memory limits enforced per plan. Connect the broker via environment variables and scale the worker count independently of the web process, up to your plan's memory budget.
Managed database with credentials handled for you
A MySQL or PostgreSQL database is provisioned per environment — credentials are generated, stored in the secrets vault and injected as encrypted environment variables. Daily automated backups run at 02:00 with 30-day retention, and a snapshot is taken before every migration.
Async and sync support
Both WSGI (Gunicorn) and ASGI (Uvicorn) deployments are first-class. Django runs under Gunicorn with sync workers, FastAPI runs under Uvicorn with async workers, and you can switch the server type per environment as needed.
How it works
From repository to production in five steps
The deployment workflow, end to end — visible, automated and reversible.
Connect your repository
Link your GitHub, GitLab or Bitbucket repository. We detect your framework from the project structure — manage.py for Django, app.py for Flask, main.py for FastAPI — and configure the WSGI or ASGI server accordingly.
Install dependencies
We create a virtualenv and install dependencies using the tool detected from your lockfile: pip for requirements.txt, Poetry for pyproject.toml, Pipenv for Pipfile. Install logs stream in real time so you can catch version conflicts.
Run migrations and collect static
For Django projects, we run python manage.py migrate and collectstatic as part of the build. For other frameworks, custom build commands can be configured in the portal. Failed migrations halt the deploy.
Workers start under systemd
Gunicorn or Uvicorn workers start as systemd units with the count configured for your plan. Celery workers start alongside if detected. systemd supervises every process and restarts it within one second of a crash.
Traffic and rollback
The reverse proxy forwards traffic to your workers with SSL termination. If a release causes errors, click rollback and the previous release starts serving immediately without a rebuild or re-install.
Use cases
What people build with Python Hosting
Common workloads our customers run on this stack.
Django applications
Full-stack Django apps with ORM, admin, Celery workers and PostgreSQL. Migrations run automatically during the build, collectstatic prepares static files for cached delivery, and the admin panel is accessible at the standard /admin/ path.
FastAPI services
High-performance ASGI APIs with async database access and automatic OpenAPI docs. Uvicorn workers handle async request handling, and the auto-generated Swagger UI at /docs works out of the box without additional configuration.
Data science APIs
Flask or FastAPI endpoints wrapping pandas, NumPy and scikit-learn models. The virtualenv includes your scientific packages, and workers can be scaled to handle concurrent inference requests within your plan's memory limits.
Machine learning
Model serving with Uvicorn workers, batch processing and GPU options on request. Contact us for GPU-enabled environments if you need on-device inference for PyTorch or TensorFlow models in production.
Developer plans
Transparent pricing, honest limits
Every plan publishes its exact resources. No burst limits buried in a footnote.
Dev Launch
For side projects and portfolios
KES 19,188 /year
- 3 applications
- 10 GB storage
- 500 build minutes
- 2 environments
- Git deploy
- SSL included
Dev Build
For production apps with CI/CD
KES 35,988 /year
- 10 applications
- 30 GB storage
- 2,000 build minutes
- 5 environments
- Git deploy
- SSL included
- Staging + production
- Priority support
Dev Team
For teams and agencies
KES 71,988 /year
- 50 applications
- 100 GB storage
- 10,000 build minutes
- 20 environments
- Git deploy
- SSL included
- Staging + production
- Priority support
- Team collaboration
Performance
Built for speed, not benchmarks
Concrete performance guarantees — not vague promises.
Worker count tuning
Gunicorn and Uvicorn worker counts are configured based on your plan's CPU cores. Sync frameworks get 2N+1 workers; async frameworks get fewer workers with higher concurrency. You can override the count in the portal.
Redis for caching, queues and Celery
Redis is provisioned alongside your environment for caching, session storage and Celery broker use — each deployment gets its own ACL user and key prefix on a shared instance, so deployments cannot read each other's keys. Django's cache framework and Celery use it directly, reducing database load for repeated queries and session lookups.
CDN caching for static assets
Django static files collected by collectstatic and any static assets in your project are served through the built-in CDN cache. Fingerprinted assets get immutable cache headers and the cache is purged automatically on every deploy, offloading static requests from the Python workers.
Logs and metrics in the portal
Application logs stream from journald with level filters and keyword search, and CPU and memory metrics are collected every minute with sparklines in the portal. A health endpoint is polled every 60 seconds; if the application stops responding, systemd restarts the workers and alerts you.
Security
Security is included, not optional
SSL, isolation, backups and monitoring — on every plan.
Automatic SSL on all domains
Let's Encrypt certificates are provisioned and renewed automatically on every custom domain. The reverse proxy terminates SSL, so your Python application receives plain HTTP and does not need to manage certificate files.
Web application firewall with the OWASP Core Rule Set
Every deployment sits behind the built-in web application firewall running the OWASP Core Rule Set — SQL injection, XSS and brute-force protection in detection or prevention mode. Add per-deployment custom rules from the portal and review blocked requests in the firewall log. For DDoS absorption at the network edge, route your domain through Cloudflare.
Encrypted environment secrets
Database URLs, API keys and other secrets are stored encrypted in the secrets vault and injected as environment variables at runtime. Django reads them via os.environ or django-environ, and they are never written to disk in plaintext.
Isolated virtualenvs
Each environment runs in its own virtualenv with isolated Python packages. One application cannot import another's packages or access its files, even on shared plans. This prevents dependency conflicts and security cross-contamination.
Migration
Migrating to SteboHost
Move your existing application without downtime or data loss.
From Heroku or PythonAnywhere
If you are moving from Heroku or PythonAnywhere, your requirements.txt and runtime settings work as-is. Set your environment variables in the portal, connect your repository and push. We detect the framework and configure the server.
Import your existing database
Bring your data with you: upload MySQL dump files (.sql or .sql.gz) or PostgreSQL custom-format dumps (.dump) through the portal, up to your plan's import size limit. The import job restores into your managed database before you switch DNS.
Preview deployments with sanitised data
Push a feature branch to get an isolated preview deployment with its own database — a clone of the parent database with personally identifiable information sanitised by configurable rules. Validate Django or FastAPI changes against realistic data without exposing customer records.
Free migration support
Contact support@stebohost.com or call +254 703 610 464 for migration help at no extra cost. We assist with database import, environment variable setup and DNS cutover, and verify everything works before you cancel your old provider.
Python Hosting FAQ
Python Hosting questions, answered
The details that matter when choosing a hosting provider.
Other stacks
Explore more deployment targets
One workflow, six deployment targets. Connect your repo and ship.
Ready to deploy your python hosting app?
Tell us your stack and we will get you from repository to production — usually within a day.