Skip to main content

OceanCrow_Scaffolder

A Python project scaffolding tool by Sheldon Kenny Salmon (@OceanCrowtt). Create professional Python projects with one command, including folder structure, virtual environment, Git repository, and template files.

Features

  • Creates a standardized project structure (src, tests, docs, private).
  • Sets up a virtual environment for each project.
  • Initializes a Git repository with a .gitignore.
  • Includes a start_project.bat (Windows) or start_project.sh (macOS/Linux) for one-click virtual environment activation.
  • Supports project types: basic (simple Python script), flask (web app), datascience (data analysis).
  • Updates projects with missing files using scaffold update.
  • Colorful, user-friendly console output.

Prerequisites

Before installing, ensure you have:

  1. Python 3.12+ (64-bit): Download from python.org.
    • Windows: Check "Add Python to PATH" during installation.
    • macOS/Linux: Python is often pre-installed; verify with python3 --version.
  2. Git: Download from git-scm.com.
    • Windows: Check "Add Git to PATH" during installation.
  3. Optional Tools (recommended):

Installation

Follow these steps to install and use OceanCrow_Scaffolder:

Step 1: Install Python

  1. Download and install Python 3.12+ from python.org.
  2. Verify installation:
    python --version # Windows
    python3 --version # macOS/Linux
    
    Expected: Python 3.12.x.

Step 2: Install Git

  1. Download and install Git from git-scm.com.
  2. Verify installation:
    git --version
    

Step 3: Install OceanCrow_Scaffolder

  1. Open a terminal (Command Prompt on Windows, Terminal on macOS/Linux).
  2. Install the package via pip:
    pip install OceanCrow_Scaffolder
    
  3. If you get a "pip is not recognized" error, use:
    python -m pip install OceanCrow_Scaffolder # Windows
    python3 -m pip install OceanCrow_Scaffolder # macOS/Linux
    

Step 4: Create a New Project

Run the scaffold command to create a project:

scaffold create MyProject --type basic
  • Options for --type: basic (default, simple script), flask (web app), datascience (data analysis).
  • Creates a project in ~/OC_Scaffold/Projects/MyProject (e.g., C:\Users\YourUsername\OC_Scaffold\Projects\MyProject).
  • Includes folders: src, tests, docs, private, env (virtual environment), .gitignore, requirements.txt, and commands.txt.

Step 5: Start Working

  1. Navigate to your project:
    cd ~/OC_Scaffold/Projects/MyProject
    
  2. Activate the virtual environment:
    • Windows:
      • Double-click start_project.bat in the project folder.
      • Or run:
        env\Scripts\activate
        
    • macOS/Linux:
      source env/bin/activate
      
  3. Install dependencies (if any):
    pip install -r requirements.txt
    
  4. Run the project:
    python src/main.py # basic
    python src/app.py # flask
    python src/notebook.py # datascience
    
  5. Close the terminal to deactivate the virtual environment (no need to run deactivate).

Step 6: Update a Project

To restore missing files or update dependencies:

scaffold update MyProject

Step 7: Check Version

scaffold version

Troubleshooting

  • "scaffold is not recognized":
    • Ensure the Python Scripts (Windows) or bin (macOS/Linux) directory is in your PATH:
      • Windows: Add C:\Program Files\Python312\Scripts (or equivalent) via sysdm.cpl > Advanced > Environment Variables > Path.
      • macOS/Linux: Add ~/.local/bin to PATH by editing ~/.bashrc or ~/.zshrc:
        export PATH="$PATH:$HOME/.local/bin"
        
    • Or use:
      python -m oceancrow_scaffolder create MyProject # Windows
      python3 -m oceancrow_scaffolder create MyProject # macOS/Linux
      
  • "Git not found": Install Git from git-scm.com.
  • Permission errors: Ensure you have write access to ~/OC_Scaffold (e.g., C:\Users\YourUsername\OC_Scaffold).
  • Need help? DM @OceanCrowtt on X for support.

Contributing

See docs/contribution.md in your project folder for guidelines.

License

MIT License. Copyright (c) 2025 Sheldon Kenny Salmon. See docs/LICENSE in your project folder.

Support

Love this tool? Follow @OceanCrowtt on X to support more projects or DM for custom coding solutions!

Release files for OceanCrow-Scaffolder 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for OceanCrow-Scaffolder 0.1.0
File Size Uploaded
oceancrow_scaffolder-0.1.0.tar.gz 10.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for OceanCrow-Scaffolder 0.1.0
File Interpreter ABI Platform
oceancrow_scaffolder-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.6 kB

Release files / oceancrow_scaffolder-0.1.0.tar.gz

Download URL oceancrow_scaffolder-0.1.0.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
62d1c00207e19f8d140d3ce922cbbe30c9f5c668695b18c0ad03af720d3aa7df
BLAKE2b-256 checksum
How to use checksums
eac9ba2cff4918ebdacb44c9d9961bc1a614e75ea65175992b9da61c8a938e46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / oceancrow_scaffolder-0.1.0-py3-none-any.whl

Download URL oceancrow_scaffolder-0.1.0-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47a8487be71e4351ca5848fc67457860c1546ccb6fff4516e10f8549eaafb267
BLAKE2b-256 checksum
How to use checksums
96238e1ceefa0db5e9147d5c4430a88ff54e638d8243fb2916ee5921607e7438
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page