Skip to content

pythonph/pythonasia

Repository files navigation

PythonAsia 2026

Nurturing a community of care, compassion, and growth.
The same heart of PyCon APAC, now as PythonAsia.

PythonAsia 2026 is the official website for the PythonAsia conference, built with Django and featuring integration with Pretalx for event management.

🚀 Features

  • Modern Django Application: Built with Django 5.2+ and Python 3.13+
  • Responsive Design: Tailwind CSS with DaisyUI components for beautiful, mobile-first design
  • Pretalx Integration: Full integration with Pretalx for conference management
  • Production Ready: Configured for deployment on Render with PostgreSQL
  • Monitoring: Sentry integration for error tracking and performance monitoring
  • Static File Optimization: WhiteNoise for efficient static file serving

🏗️ Project Structure

pythonasia/ ├── app/ # Django applications │ ├── home/ # Home page and landing │ ├── presentations/ # Presentation management │ ├── speakers/ # Speaker profiles │ └── sponsors/ # Sponsor information ├── config/ # Django configuration ├── services/ # External service integrations │ └── pretalx_service.py # Pretalx API integration ├── static/ # Static assets (CSS, images) ├── templates/ # Django templates ├── src/ # Source CSS files └── deploy/ # Deployment scripts

🛠️ Technology Stack

  • Backend: Django 5.2+
  • Frontend: Tailwind CSS with DaisyUI
  • Database: PostgreSQL (production) / SQLite (development)
  • Deployment: Render
  • Monitoring: Sentry
  • Package Management: uv

🚀 Quick Start

Prerequisites

  • Python 3.13+
  • uv (recommended) or pip

Development Setup

  1. Clone the repository

    git clone <repository-url>cd pythonasia
  2. Install dependencies

    # Using uv (recommended) uv sync # Or using pip pip install -e .
  3. Set up the database

    make setup-db
  4. Set up Tailwind CSS

    make run-tailwind-setup
  5. Run the development server

    # With Tailwind watching for changes make run-server-tailwind # Or just Django make run

The application will be available at http://localhost:8000

Environment Variables

Create a .env file in the project root:

# Required for productionSECRET_KEY=your-secret-key-hereDEBUG=FalseAPP_ENV=productionDATABASE_URL=postgresql://user:password@host:port/database# OptionalSENTRY_DSN=your-sentry-dsnPRETALX__BASE_URL=https://your-pretalx-instance.comPRETALX__API_TOKEN=your-pretalx-api-token

🔧 Troubleshooting

Installation Issues with brotli or psycopg-binary

If you encounter build errors when installing dependencies (particularly with brotli or psycopg-binary), you may need to install system-level dependencies first:

sudo apt-get update && sudo apt-get install -y build-essential libpq-dev

This installs the necessary build tools and PostgreSQL development libraries required to compile these packages.

🎨 Frontend Development

This project uses Tailwind CSS with DaisyUI for styling:

# Watch for CSS changes make run-tailwind-watch # Build CSS for production make run-tailwind-build # Configure Tailwind make run-tailwind-config

🚀 Deployment

The application is configured for deployment on Render:

  1. Database: PostgreSQL (free tier)
  2. Web Service: Python runtime with automatic builds
  3. Static Files: Served via WhiteNoise

Manual Deployment

# Build static files make run-tailwind-build # Collect static files python manage.py collectstatic # Run migrations python manage.py migrate

🔧 Available Commands

# Development make run # Start Django development server make run-server-tailwind # Start server with Tailwind watching make setup-db # Create and run migrations# Code Quality make run-ruff # Run Ruff linting and formatting make run-pre-commit # Run pre-commit hooks# Tailwind CSS make run-tailwind-setup # Initial Tailwind setup make run-tailwind-watch # Watch for CSS changes make run-tailwind-build # Build CSS for production make run-tailwind-config # Configure Tailwind

📱 Pretalx Integration

The application integrates with Pretalx for conference management:

  • Event Information: Fetch event details
  • Submissions: Manage talk submissions
  • Speakers: Speaker profiles and information
  • Talks: Confirmed talks and schedules
  • Feedback: Submission feedback system

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run code quality checks: make run-ruff
  5. Submit a pull request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🏢 Organization

PythonAsia 2026 is co-organized by Python Philippines and the Python community across Asia.


For more information about PythonAsia 2026, visit pythonasia.python.ph

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •