Skip to main content

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.toml to 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

mulch-0.2.4.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

mulch-0.2.4-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file mulch-0.2.4.tar.gz.

File metadata

  • Download URL: mulch-0.2.4.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for mulch-0.2.4.tar.gz
Algorithm Hash digest
SHA256 26d6e42e2d13951b4e1027caf6d32d7ef2fd8bdeffd6a85e84c13dab55b76689
MD5 8c59aa8ad736a3559749ea2af2612ee0
BLAKE2b-256 5911a87894e3009ed8e4f8e9e5892c4b2fe776aa6af5df21dcc6f58df46d5f1b

See more details on using hashes here.

File details

Details for the file mulch-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: mulch-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for mulch-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7ce064997cb5a9a617881508811d69bfeadfa787661de4f21580c4eb8873368c
MD5 3b50b9055c0f6fe68eecfa8b3f8510b1
BLAKE2b-256 c7aba12f983416857cac217e7f30aeec5aba9158281aa3bbb05c38564441a410

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