{"id":37148489,"url":"https://github.com/oscarzhao/launch","last_synced_at":"2026-01-14T17:32:17.160Z","repository":{"id":57599085,"uuid":"140961180","full_name":"oscarzhao/launch","owner":"oscarzhao","description":"A manager on command line apps on local dev machine","archived":false,"fork":false,"pushed_at":"2018-07-17T08:51:44.000Z","size":114,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-30T12:27:47.584Z","etag":null,"topics":["cmdline","tool"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oscarzhao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-14T16:29:45.000Z","updated_at":"2018-09-07T09:26:13.000Z","dependencies_parsed_at":"2022-09-26T19:53:00.713Z","dependency_job_id":null,"html_url":"https://github.com/oscarzhao/launch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oscarzhao/launch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarzhao%2Flaunch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarzhao%2Flaunch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarzhao%2Flaunch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarzhao%2Flaunch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oscarzhao","download_url":"https://codeload.github.com/oscarzhao/launch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarzhao%2Flaunch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28428320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T16:38:47.836Z","status":"ssl_error","status_checked_at":"2026-01-14T16:34:59.695Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmdline","tool"],"created_at":"2026-01-14T17:32:16.513Z","updated_at":"2026-01-14T17:32:17.156Z","avatar_url":"https://github.com/oscarzhao.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Launch\n\nLaunch is a manager on commandline apps, for example Elasticsearch, Spark, etc.\n\n### Why I wrote this tool?\n\nRecently I have been learning Collaborative Filtering implemented with Spark and ElasticSearch.\nThe [tutorial](https://github.com/IBM/elasticsearch-spark-recommender \"tutorial spark es\") requires a lot of preparations.\nIn my dev machine, I need to start ElasticSearch and Spark, and the Spark needs to be binded with jupyter notebook.\n\nHere are a few problems I encountered (under windows):\n\n1. Every time I start ElasticSearch, I need to `cd \u003csomepath\u003e/cf/elasticsearch-5.4.0/bin` directory, and run `elasticsearch.bat`\n2. As to Spark, `pyspark` is `\u003csomepath\u003e/cf/spark-2.3.1-bin-hadoop2.7/bin`, but I need to run it under code directory `\u003ccode path\u003e/elasticsearch-spark-recommender`\n3. As to Spark, I need to configure four environment variables (to bind with jupyter lab, etc.)\n4. As to Spark, it has some start args (need to include jar file to bind ES and Spark)\n\nWith `launch`, I can start with one command `launch pyspark` with the following setup:\n\n```{json}\n{\n    \"name\": \"pyspark\",\n    \"binaryPath\": \"D:/Software/cf/spark-2.3.1-bin-hadoop2.7/bin/pyspark.cmd\",\n    \"args\": [\"--driver-class-path\", \"../../elasticsearch-hadoop-5.4.0/dist/elasticsearch-spark-20_2.11-5.4.0.jar\"],\n    \"workingDir\": \"D:/code/src/github.com/IBM/elasticsearch-spark-recommender\",\n    \"env\": [\n        \"SPARK_HOME=D:/Software/cf/spark-2.3.1-bin-hadoop2.7\",\n        \"PYSPARK_DRIVER_PYTHON=jupyter\",\n        \"PYSPARK_DRIVER_PYTHON_OPTS=lab\",\n        \"PYSPARK_PYTHON=python\"\n    ]\n}\n```\n\n## Install\n\nInstall binary into `$GOPATH/bin` with `go install github.com/oscarzhao/launch`\n\n## Usage\n\nCurrently, `launch` only support one command (to start a command line process):\n\n```launch \u003cservice name\u003e```\n\nWhen you run this command, `luancher` would read `~/.launch/config.json` and register all commands in the config.  Then the command with name `\u003cservice name\u003e` would be run in the current shell window.\n\nSample config files can be found under directory `examples`.\n\n## Error check\n\nIf you encountered an error while running a command, can check `~/.launch/launch.log` for detailed error information.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscarzhao%2Flaunch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foscarzhao%2Flaunch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscarzhao%2Flaunch/lists"}