Sidewinder

screenshot of Sidewinder
django

Django starter kit that focuses on good defaults, developer experience, and deployment. Updated for Django 5.2.

Overview

Sidewinder is an open-source Django starter kit designed to provide a smooth experience for developers from starting a new project to deploying it on a single Virtual Private Server (VPS). It focuses on good defaults, developer experience, and deployment. Sidewinder utilizes modern tools and libraries to enhance the development process.

Features

  • Modern Python dependency manager: Sidewinder uses Poetry to manage the application's virtual environment, simplifying the dependency management process.
  • Environment variable configuration: Instead of managing multiple configuration files, Sidewinder uses environment variables, making it easier to manage application configurations.
  • HTMX for modern frontends: Sidewinder utilizes HTMX, a library that enables seamless front-end interactions with the back-end, enhancing the user experience.
  • Email-based and 3rd party authentication: Sidewinder uses django-allauth to provide email-based and third-party authentication options.
  • Customizable User model: Sidewinder allows for ultimate flexibility by providing a custom User model.
  • Django REST Framework integration: Sidewinder includes Django REST Framework, offering modern API documentation, standardized error responses, and CORS configuration out of the box.
  • Huey task queue: Sidewinder includes the Huey task queue, allowing developers to handle background and periodic tasks efficiently.
  • State-of-the-art development tools: Sidewinder provides various development tools, including auto reloading, debugging and profiling tools, linters, and formatters, to enhance the development experience.
  • Structured logging: Sidewinder enables developers to log anything they want with structured logging, helping with debugging and monitoring.
  • Automated testing: With Sidewinder, developers can easily execute automated tests using the popular testing library pytest.
  • Efficient test fixtures: Sidewinder provides efficient ways to write test fixtures using factoryboy and Faker, speeding up the testing process.
  • Frontend end-to-end testing: Sidewinder allows developers to perform end-to-end testing of the frontend using Playwright, ensuring robustness and functionality.
  • Simple VPS deployment with Ansible: Sidewinder offers a "It just works" style deployment to a VPS using Ansible, simplifying the deployment process.
  • Customizable files: Sidewinder exposes all important files, allowing developers to customize and tailor the application to their needs.
django
Django

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. It follows the model-view-controller (MVC) architectural pattern, providing an extensive set of built-in tools and conventions to streamline the creation of robust and scalable web applications.