Skip to main content

Workspace Factory CLI for initializing standard workspace folders

Project description

mulch — Workspace Factory CLI

mulch is a lightweight, project-agnostic CLI tool to scaffold and generate workspace directories for any Python project. It bootstraps a standardized workspace folder structure and configuration files inside your project 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.


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 organzied into /package-root/workspaces/your-special-workspace/ structure.

Installation

pipx (recommended)

pipx install mulch

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.1.31.tar.gz (11.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.1.31-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mulch-0.1.31.tar.gz
Algorithm Hash digest
SHA256 891b5a17a6aaa6f8fed0ce92c5b211623a96741f8d027a99b93a211be14ef4ed
MD5 b88f7f2607ca00e72ab1da010c4f63c3
BLAKE2b-256 20f40d56f259edb2cbc7029a50b42deba55f10f2c437bc94ae5851ae148d22f8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mulch-0.1.31-py3-none-any.whl
Algorithm Hash digest
SHA256 a8ed53b344151ded80fdb59e2c98ad25736819165c29680813436abff0b3eb46
MD5 851bf21e0d4fe84675dcc929907c5308
BLAKE2b-256 8ebb0a22441eeb42ffe39b8b90bfd8eff34bc6bf61860ee2c8345a595dbd0b6f

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