Skip to main content

A starter kit to quickly scaffold Django projects.

Project description

🛠️ my-django-starter

A command-line helper tool to quickly scaffold, configure, and run Django projects using a clean, pluggable step-based pipeline system.


📁 Project Structure


🧩 Core Components

✅ Step (base class)

  • Defined in: builder/base.py
  • Abstract class defining the execute(context) method.
  • All project steps inherit from this class.

✅ Concrete Steps

  • Examples: Banner, OSDetector, VenvCreator, DjangoInstaller, ServerRunner, etc.
  • Inherit from Step and implement execute().
  • Each step performs a single responsibility in the setup pipeline.

✅ Pipeline (composition)

  • Holds a list of Step instances.
  • Calls execute(context) for each step in sequence.
  • Handles exceptions gracefully and displays error messages using status_tag.

✅ main.py (orchestration)

  • Imports and arranges steps into a pipeline.
  • Calls pipeline.run() to execute all steps.
  • Optionally writes a .success_marker file after successful execution.

🔁 Relationships

Concept Description
Inheritance All steps inherit from Step.
Composition Pipeline is composed of multiple Step instances.
Reusability Steps are modular and easily swappable.

🚀 Usage

$ python3 main.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

my_django_starter-0.1.1.tar.gz (35.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

my_django_starter-0.1.1-py3-none-any.whl (57.8 kB view details)

Uploaded Python 3

File details

Details for the file my_django_starter-0.1.1.tar.gz.

File metadata

  • Download URL: my_django_starter-0.1.1.tar.gz
  • Upload date:
  • Size: 35.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for my_django_starter-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5ca68e12325e92934b1b7ee8f397d5c39dcb90a6fdacdf3ac044ac6804c42843
MD5 ebc69f7f943227b0c4b1eab1b994a093
BLAKE2b-256 cc25b74738ba62dc4186d04ad3ba7ec02e22374ebd848ac91677a246b685384e

See more details on using hashes here.

File details

Details for the file my_django_starter-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for my_django_starter-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7498243249e8f9e6f303b7f1cf064c6bdd2d482a86d0af67cd18bcd7d15a45b0
MD5 2ebf748174486405ed0f4a65def1c11c
BLAKE2b-256 b7395471cc922b6c619e16fd28b54bdd52b14c553a06d08b4863b4cad07826a1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page