Learn Python with a clean, simple project structure
A beginner-friendly Python starter kit for learning and practicing Python programming.
python-starter-kit/
├── starter_kit/ # Basic Python learning
│ ├── tests/ # Tests for operations
│ ├── examples/ # Example scripts
│ ├── operations.py
│ └── __init__.py
├── fastapi-starter/ # Full-stack FastAPI + React project
│ ├── backend/ # FastAPI REST API
│ ├── frontend/ # React + Tailwind Frontend
│ └── architecture/ # Specific architecture docs
├── architecture/ # General learning resources
│ ├── python-basics/ # Python fundamentals
│ └── fastapi-rest-api/ # FastAPI architecture
└── README.md # This file
# macOS/Linux
brew install uv
# Windows
powershell -c "irmo https://astral.sh/uv/install.ps1 | iex"# Navigate to starter kit
cd starter_kit
# Sync dependencies (uses UV)
uv sync
# Run an example
uv run examples/basic_operations.py# Import the functions
from starter_kit.operations import add, subtract, multiply, divide
# Use them
print(add(5, 3)) # Output: 8
print(multiply(4, 7)) # Output: 28operations.py- Basic math functions (add, subtract, multiply, divide)__init__.py- Makes it importable as a package
test_operations.py- Tests to make sure code works correctly- Run with:
uv run pytest
basic_operations.py- Shows how to use the functions
python-basics/- Visual guides explaining how Python executes codefastapi-rest-api/- FastAPI architecture and REST API concepts- Great for understanding what happens behind the scenes!
- Modern FastAPI REST API with clean architecture
- Routes → Controllers → Services → Helpers pattern
- External API integration examples
- Auto-generated API documentation
- See
fastapi-starter/README.mdfor details
- Read the architecture docs →
architecture/python-basics/index.md - Study the code →
starter_kit/operations.py - Run the example →
cd starter_kit && uv run examples/basic_operations.py - Try writing your own function → Add to
starter_kit/operations.py - Write tests → Add to
starter_kit/tests/test_operations.py
- Read FastAPI architecture →
architecture/fastapi-rest-api/index.md - Explore the project →
cd fastapi-starter - Run the Backend →
cd backend && uv run uvicorn app.main:app --reload - Run the Frontend →
cd frontend && npm run dev - Try the API docs → http://localhost:8000/docs
- Build your own features → Follow the patterns in
backend/app/routes/andfrontend/src/
✅ Project Organization - Clean folder structure
✅ Functions - Reusable code blocks
✅ Type Hints - def add(a: float, b: float) -> float:
✅ Docstrings - Document your code
✅ Testing - Make sure code works
✅ Imports - Use code from other files
✅ Virtual Environments - Isolated dependencies
✅ REST API - Modern web service architecture
✅ Async/Await - Non-blocking I/O operations
✅ Clean Architecture - Separation of concerns
✅ Auto Documentation - Swagger UI at /docs
✅ Type Safety - Pydantic validation
✅ External APIs - Integration examples
✅ UV Package Manager - Modern Python tooling
Simple Python package for learning fundamentals
Production-ready FastAPI application with React frontend:
- Backend: Health check, External API integration, Clean architecture
- Frontend: Modern React, Tailwind CSS, Redux/API integration
- Deployment: Ready for Render (see
backend/render.yaml) - Documentation: Auto-generated Swagger docs
# Navigate to starter kit
cd starter_kit
# Sync dependencies
uv sync
# Run example
uv run examples/basic_operations.py
# Run tests
uv run pytest
# Use Python interactive shell
uv run python
>>> from operations import add
>>> add(5, 3)
8# Navigate to backend
cd fastapi-starter/backend
# Install dependencies
uv sync
# Run development server
uv run uvicorn app.main:app --reload
# Navigate to frontend
cd ../frontend
# Install dependencies
npm install
# Run frontend
npm run devMIT License - see LICENSE file
Ragul P - @ragulpalanisamy
Happy Learning! 🚀