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 CLI and context menu tool, with multiple directory scaffolding use cases. Developers will enjoy quickly standing up Python projects, and end users will enjoy right clicking in the file browser to set up file organization the same way every time, customizable to each directory.


Features

Key feature: Benefit from introspective directory getters and file getters in the WorkspaceManager class, dictated by mulch-scaffold.json and protected by manager.lock.

Key feature: The hidden .mulch folder can be leveraged for configuration as well as in --stealth mode, so that shared directories can be crisp while given you space to write analysis scripts.

More:

  • Easily installable and runnable via pipx
  • Enforces a separation of source code and workspace files.

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

The git source code includes .reg files which can be leveraged to register right-click commands with your context menu, to enjoy the full power of mulch in your file browser as a user-facing power tool.

Usage

# Set up a new directory, where you anticipate to organizing multiple projects
mkdir equipment-monitoring 
cd equipment-monitoring

# Generated a fresh .mulch\mulch-scaffold.json file, and edit the directory scaffold before running 'mulch init'.
mulch seed --edit

# Stealth mode, best for shared directories
mulch init --name bioreactor-1-team-analysis --stealth 

# Stanadard mode, best for Python developers
mulch init --name API01toAPI05  

Folder Stucture Options, using mulch init

Flag Workspace Location Source Location Goal
(none) workspaces/<name>/ src/<proj>/ Normal development use
--here ./<name>/ (none) Clean, user-facing
--bare workspaces/<name>/ (none) New workspace, no src impact
--stealth ./<name>/ .mulch/src/<proj>/ Play nice with shared dirs

I am really excited about mulch init --stealth for mixed use directories. Business and engineering users can organize projects in a shared drive like SharePoint, while a dev can run custom analysis scripts catered to each type of project.

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: mulch-0.2.7.tar.gz
  • Upload date:
  • Size: 18.3 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.7.tar.gz
Algorithm Hash digest
SHA256 1d80cb42a26122c6eb7ca038594deba2cc8797e9df9626cdb1dc18a8c6cbb203
MD5 53ddb5d501b2a0029262fb431e0fd106
BLAKE2b-256 6cc3886fae424cc110b39494106eb5232529a5a807dc4c31004142de63b22436

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mulch-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 25.6 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 dd0b6a33b1fa7cc45b1f12c1252538b1a9ffdd06fb082a463a2cedb1affb1d7a
MD5 9a8db25d679feb9a13ee74dfba3b2863
BLAKE2b-256 cf34f7a8d1715f2f1fcc96b6427327128ec60b92c398a8540f23b4f3a8566595

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