Workspace Factory CLI for initializing standard workspace folders in /workspaces/ and generating an introspective WorkspaceManager class in /src/.
Project description
mulch — Workspace Factory CLI
mulch is a lightweight, project-agnostic CLI tool to scaffold and generate workspace directories
for intentional, usable Python projects. It bootstraps a standardized workspace folder structure, an introspective templated WorkspaceManager, and other key files inside both your source directory and your workspaces directory.
Set up new projects easily with workspace scaffolding and source-code templating.
Key feature: Benefit from introspective directory getters and file getters in the WorkspaceManager class, dictated by mulch-scaffold.json and protected by mulch.lock.
Set up new projects easily with workspace scaffolding and source-code templating.
Key feature: Benefit from introspective directory getters and file getters in the WorkspaceManager class, dictated by mulch-scaffold.json and protected by mulch.lock.
Features
- Initialize workspaces with a consistent scaffold defined by
mulch-scaffold.json - Create a
default-workspace.tomlto track the active workspace - Easily installable and runnable via
pipx - Uses a Pythonic
/package-root/src/pacakge-name/paradigm - Enforces a separation of source code and workspace files, with workspace files organized into
/package-root/workspaces/your-special-workspace/structure.
Installation
pipx (recommended)
pipx install mulch
Install Mulch as a right-click item in the context menu:
git clone
git clone https://github.com/city-of-memphis/mulch.git
cd mulch
poetry install
poetry build
pipx install dist/mulch-*-py3-none-any.whl
Usage
# Generated a fresh mulch-scaffold.json file, to edit before running 'mulch init'.
mulch file
# Initialize workspace named 'default' in the current directory
mulch init
# Initialize workspace named 'workspace1' in ./myproject
mulch init ./myproject --name workspace1
# Initialize workspace named 'workspace1' in the current directory
mulch init --name workspace1
# Skip creating default-workspace.toml
mulch init ./myproject --name workspace1 --no-set-default
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mulch-0.2.0.tar.gz.
File metadata
- Download URL: mulch-0.2.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
042f8c5be30ab655da2a0280442ce34fd31463fc7a0628018d942b7b99555f0a
|
|
| MD5 |
3570c183a6f88384edd09c606a754963
|
|
| BLAKE2b-256 |
f8cfe7d9cbc5085b2515b38effa01ec7b348d1aef0b7476f6f905cdec56f8953
|
File details
Details for the file mulch-0.2.0-py3-none-any.whl.
File metadata
- Download URL: mulch-0.2.0-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
789944cf63c360bb8b2d52b0bab2b641b1dfc71b99abbccf760001e3c6d20a6d
|
|
| MD5 |
cb0164102579f5fcd972a048866e7ef9
|
|
| BLAKE2b-256 |
1e61b87602b6e549fd47c711c186a9f13ec0015f1c029cac117de6fd433a8239
|