NoBS Python
- Focus on Business Logic
NoBS is tailored for common Python processes, letting you focus on business needs rather than infrastructure. No need to manage Docker, Terraform, or complex CI/CD pipelines.
- Dynamic Docker Management
NoBS manages Dockerfiles for you, dynamically adjusting based on your Python application's needs. No manual Dockerfile configuration required.
- Infrastructure as Python
Replace Terraform and other infrastructure-as-code solutions. NoBS understands the required resources directly from your Python project configuration.
- Simplified Secrets Management
Secure, type-safe secrets management built into the platform. Define and inject secrets directly through Python configuration without external tools.
Highlights
Project Definitions
Understand the core component of NoBS. The project definition.
Develop Locally
Understand how NoBS helps you develop locally, setting up a quicker development cycle.
Deploy to Production
Deploy your first FastAPI app to the cloud with NoBS
Get Started
This guide walks you through installing NoBS Python, initializing a project, and deploying your first service. At the end, you will have a functioning NoBS Python project that can run applications, jobs, and workers.
Requirements
Before installing NoBS Python, ensure that the following are available in your development environment:
- Python 3.9 or higher
- A container runtime such as Docker (required for building images)
- Access to a NoBS Python organization or deployment environment
If you do not yet have access, contact your NoBS Python administrator.
Installation
NoBS Python ships as a Python CLI package.
Install it using:
uv add nobs
To verify the installation:
nobs --version
Initializing a Project
A NoBS Python project is defined using a Project object in Python. Create a new directory and a Python file to contain your configuration:
my-project/
└── project.py
Inside project.py:
from nobs.models import Project
project = Project(
name="my-first-project",
)
This defines a minimal project without any applications yet.
Adding an Application
To deploy a basic FastAPI application, install FastAPI and define it:
uv add fastapi uvicorn
Example application (app.py):
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def hello():
return {"message": "Hello from NoBS Python"}
Update project.py to include the app:
from nobs.models import Project, FastAPIApp
from app import app
project = Project(
name="my-first-project",
server=FastAPIApp(app),
)
Spin up locally
To spin up the project with NoBS Python, run:
nobs up
This command will:
- Build your project environment using Docker
- Spin up the FastAPI server locally in development mode
- Expose the server to you in an easy to use manor