Skip to main content

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.

1

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.

2

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.

3

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.

4

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.

5

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
Choose Dev Launch
Most popular

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
Choose Dev Build

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
Choose Dev Team

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.

We support Python 3.10, 3.11, 3.12 and 3.13. You can select your Python version per environment from the portal or specify it in your runtime.txt. Switching versions takes effect on the next deploy without downtime.

Ready to deploy your python hosting app?

Tell us your stack and we will get you from repository to production — usually within a day.