Phemeral
Concepts

Platform Overview

What Phemeral is and how its core concepts fit together.

Phemeral is a deployment platform for Python backends. It takes your source code, automatically detects your framework and dependencies, builds your application, and runs it on a lightweight virtual machine with a public URL.

How Phemeral Works

When you push code to a connected GitHub repository, Phemeral:

  1. Downloads the source code from your repository.
  2. Analyzes the project to detect the Python framework (FastAPI, Flask, or Django), package manager (uv, poetry, or pip), and application entry point.
  3. Builds your project
  4. Deploys the built project to the Phemeral cloud
  5. Assigns a public URL on .phemeral.app and serves traffic to your application.

Core Concepts

Phemeral is organized around three main concepts:

  • Projects — A project groups related environments together, connects to a single GitHub repository, and can define a project-level start command for new deployments.
  • Environments — An environment is a deployment target within a project (e.g. production, staging). Each environment has its own configuration, environment variables, and custom domains.
  • Deployments — A deployment is a specific version of your code running in an environment. Environments track a current deployment that receives live traffic.

How They Relate

Organization
└── Project (connected to a GitHub repository)
    ├── Environment: "Production" (branch: main)
    │   ├── Current Deployment → receives traffic
    │   └── Previous Deployments (history)
    ├── Environment: "Staging" (branch: pre-release)
    │   ├── Current Deployment → receives traffic
    │   └── Previous Deployments (history)
    └── Environment: "Development" (branch: fancy-feature-branch)
        ├── Current Deployment → receives traffic
        └── Previous Deployments (history)

An organization is the top-level container. It holds your team members, billing plan, and projects. When you create an account, an organization is created for you with a default project called Launchpad and three default environments: Production, Staging, and Development.

Supported Stack

Phemeral currently supports Python backends using:

CategorySupported Options
FrameworksFastAPI, Flask, Django
Package managersuv, poetry, pip (requirements.txt), or any pyproject.toml based package manager
Python versionsSpecified via .python-version file (defaults to 3.12 if unspecified)

See Supported Frameworks for details on how autodetection works.