Package: ezd
Easy DeploymentEasy deployment tool for Python application. There are mainly two parts:Create a virtual environment (Optional).Install your application as a service.Deploy your application with one command!InstallIt's recommended that you install this package in theGlobal Python Environment.pip install ezdOn Windows, be careful if you want to uninstall this package. Make sure all services created with this tool are removed.UsageConfig fileRunezd initto create a config file nameddeploy.json.{"env":{"name":"venv"},"service":{"name":"","cmd":[],"display":"","description":""}}A list of full parameters:ParameterTypeDescriptionWindowsLinuxenv.namestringThe name of virtual environment.:heavy_check_mark::heavy_check_mark:env.lookupstringOffline package lookup directory used by pip.:heavy_check_mark::heavy_check_mark:env.localstringA directory contains local package file.:heavy_check_mark::heavy_check_mark:env.requirementboolWhether to install dependencies inrequirements.txt. Default istrue.:heavy_check_mark::heavy_check_mark:service.namestringThe name of service.:heavy_check_mark::heavy_check_mark:service.cmdlist[string]The command line to be executed.:heavy_check_mark::heavy_check_mark:service.displaystringDisplay name of service.:heavy_check_mark::x:service.descriptionstringDescription of service.:heavy_check_mark::heavy_check_mark:service.startstringStart type of service (demand/auto/boot/disabled/system). Default isauto.:heavy_check_mark::heavy_check_mark:service.restartintRestart delay (seconds) when service failed. Default is30.:heavy_check_mark::heavy_check_mark:service.restart_policystringConfigures whether the service shall be restarted when the service exits. Default ison-failure.:x::heavy_check_mark:service.runtime_max_secintConfigures a maximum time for the service to run. Default is0.:x::heavy_check_mark:service.working_directorystringConfigures the working directory of the service. Default is..:heavy_check_mark::heavy_check_mark:service.depslist[string]Dependencies of service.:heavy_check_mark::heavy_check_mark:service.interactiveboolRun service in interactive mode. Default isfalse.:heavy_check_mark::x:service.userstringRun service with given user.:heavy_check_mark::heavy_check_mark:service.passwordstringPassword of the user.:heavy_check_mark::x:service.delayedboolDelayed start of service.:heavy_check_mark::x:CommandsRunezd -hto see all commands.usage: ezd [-h] command

Easy Deployment Tool

positional arguments:
  command          Command <init|deploy|install|uninstall|start|stop>

options:
  -h, --help       show this help message and exit
  --config CONFIG  config fileAvailable commands:CommandDescriptioninitCreate an example config filedeploy.json.deployCreate virtual environment and install dependencies.installInstall a service (Automatically rundeploycommand first).uninstallRemove service (Automatically runstopcommand first).startStart service.stopStop service.Update configUpgrade or install packagesIf you need to upgrade or install packages, just edit therequirements.txtfile and follow the steps below:Stop the serviceezdstopDeploy new packagesezddeployStart the serviceezdstartUpdate serviceIf you update the service settings of the config file, you mustuninstallthe old service first.Uninstall the serviceezduninstallInstall serviceezdinstallStart the serviceezdstartExamplesJupyter notebookCreate a newnbdirectory and start working in it.cdnbechonotebook>requirements.txt
ezdinitThedeploy.jsonfile looks like this:{"env":{"name":"venv"},"service":{"name":"notebook","cmd":["jupyter-notebook.exe"],"display":"Jupyter Notebook","description":"Jupyter Notebook Service"}}We are ready to deploy now.ezdinstall
ezdstartYou can now visithttp://localhost:8888/to confirm jupyter notebook is running.Ping testCreate a newpingtestdirectory and start working in it.cdpingtest
ezdinitFor non-python project, we can omit virtual environment since we don't need it. Thedeploy.jsonfile looks like this:{"service":{"name":"pingtest","cmd":["ping","-t","1.1.1.1"],"display":"Ping it","description":"A ping test service"}}Deploy now!ezdinstall
ezdstartLet's confirm ping is running:$tasklist|findstrPING
PING.EXE19564Services04,540K