Package: lunchbox
IntroductionLunchbox is a library of various tools for common python tasks.Seedocumentationfor details.InstallationPythonpip install lunchboxDockerInstalldocker-desktopdocker pull thenewflesh/lunchbox:latestDocker For DevelopersInstalldocker-desktopEnsure docker-desktop has at least 4 GB of memory allocated to it.git clone git@github.com:theNewFlesh/lunchbox.gitcd lunchboxchmod +x bin/lunchboxbin/lunchbox startThe service should take a few minutes to start up.Runbin/lunchbox --helpfor more help on the command line tool.Production CLILunchbox comes with a command line interface defined in command.py.Its usage pattern is:lunchbox COMMAND [ARGS] [-h --help]CommandsCommandDescriptionArgsslackPosts a slack message to a given channelurl, channel, messagebash-completionPrints BASH completion code to be written to a _lunchbox completion filezsh-completionPrints ZSH completion code to be written to a _lunchbox completion fileDevelopment CLIbin/lunchbox is a command line interface (defined in cli.py) that works with
any version of python 2.7 and above, as it has no dependencies.Its usage pattern is:bin/lunchbox COMMAND [-a --args]=ARGS [-h --help] [--dryrun]CommandsCommandDescriptionbuild-packageBuild production version of repo for publishingbuild-prodPublish pip package of repo to PyPibuild-publishRun production tests first then publish pip package of repo to PyPibuild-testBuild test version of repo for prod testingdocker-buildBuild image of lunchboxdocker-build-prodBuild production image of lunchboxdocker-containerDisplay the Docker container id of lunchboxdocker-coverageGenerate coverage report for lunchboxdocker-destroyShutdown lunchbox container and destroy its imagedocker-destroy-prodShutdown lunchbox production container and destroy its imagedocker-imageDisplay the Docker image id of lunchboxdocker-prodStart lunchbox production containerdocker-pushPush lunchbox production image to Dockerhubdocker-removeRemove lunchbox Docker imagedocker-restartRestart lunchbox containerdocker-startStart lunchbox containerdocker-stopStop lunchbox containerdocsGenerate sphinx documentationdocs-architectureGenerate architecture.svg diagram from all import statementsdocs-fullGenerate documentation, coverage report, diagram and codedocs-metricsGenerate code metrics report, plots and tableslibrary-addAdd a given package to a given dependency grouplibrary-graph-devGraph dependencies in dev environmentlibrary-graph-prodGraph dependencies in prod environmentlibrary-install-devInstall all dependencies into dev environmentlibrary-install-prodInstall all dependencies into prod environmentlibrary-list-devList packages in dev environmentlibrary-list-prodList packages in prod environmentlibrary-lock-devResolve dev.lock filelibrary-lock-prodResolve prod.lock filelibrary-removeRemove a given package from a given dependency grouplibrary-searchSearch for pip packageslibrary-sync-devSync dev environment with packages listed in dev.locklibrary-sync-prodSync prod environment with packages listed in prod.locklibrary-updateUpdate dev dependenciessession-labRun jupyter lab serversession-pythonRun python session with dev dependenciesstateState of lunchboxtest-coverageGenerate test coverage reporttest-devRun all teststest-fastTest all code excepts tests marked with SKIP_SLOWS_TESTS decoratortest-lintRun linting and type checkingtest-prodRun tests across all support python versionsversionFull resolution of repo: dependencies, linting, tests, docs, etcversion-bump-majorBump pyproject major versionversion-bump-minorBump pyproject minor versionversion-bump-patchBump pyproject patch versionzshRun ZSH session inside lunchbox containerzsh-completeGenerate oh-my-zsh completionszsh-rootRun ZSH session as root inside lunchbox containerFlagsShortLongDescription-a--argsAdditional arguments, this can generally be ignored-h--helpPrints command help message to stdout--dryrunPrints command that would otherwise be run to stdout