{ "info": { "author": "Kenneth Reitz", "author_email": "me@kennethreitz.org", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n\n\n
\n\n

$ bake \u2014 a s\u263frangely familiar workflow utlity.            

\n
\n\n

~ under development ~  

\n\n
\n$ cat Bakefile $ bake install\ninstall: install/node install/python + Executing install/node:\n echo 'All ready!' | yarn install v1.17.3\ninstall/full: install/system install | info No lockfile found.\ninstall/python: @skip:key=Pipfile.lock | [1/4] Resolving packages...\n pipenv install | [2/4] Fetching packages...\ninstall/node: @skip:key=yarn.lock | [3/4] Linking dependencies...\n yarn install | [4/4] Building fresh packages...\ninstall/system: @confirm | success Saved lockfile.\n brew install pipenv yarn | Done in 0.05s.\n + Executing install/python:\npython/format: | Installing dependencies from \u2026\n black . + Executing install:\n | All ready!\nutils/argv: + Done.\n set -u && echo \"$HELLO: $@\" \n Rinse and repeat\u2026\nutils/deploy: @confirm:secure \n exit 0 \n
\n
\n

~ see bake's own Bakefile ~            

\n\n## What's in the oven?\n\n\n\n\n------------------\n\n### Automate Workflows \u2014 Bootstrap Development Environments \u2014 Commit The Tasks\n\n\nI love using `Makefile` for one-off **tasks** in projects.\n\nThe problem with doing this is that you can't use familiar bash\u2013isms when doing so, as **GNU Make** doesn't use the familiar **Bash** syntax, nor does it allow for simple ad\u2013hoc use of arbitrary scripting languages (e.g. **Python**).\n\n\nproject seeks to bridge all of these worlds into a single entrypoint \u2014\u00a0ideal for cross\u2013language repositories\n\n-------------------\n\n## Bootstraping `bake` \u2014                                          (for local development workflows)\n\n\n#### **Various `*`nix Distributions** (Python 3.6+):\n\nThe primary installation method of `bake`, today, is via `pip`:\n\n```console\n$ pip3 install bake-cli\nCollecting bake-cli\n\u2026\nSuccessfully installed bake-cli-0.2.0 delegator.py-0.1.1 pexpect-4.7.0 ptyprocess-0.6.0\n```\n\n\nThis will always work, but it will not be the default recommendation.\n\n#### MacOS (Previously known as OS X)\n\nInstallation of `bake` will (soon) be very easy, with Homebrew. The formula needs a subtle adjustment \u2014\u00a0if you want to help, [here's the repo](http://github.com/kennethreitz/homebrew--)!\n\n```console\n$ brew install kennethreitz/-/bake\n==> Installing bake from kennethreitz/-\n\u2026\n\ud83c\udf7a /usr/local/Cellar/bake/19-09-16: 1,563 files, 16.7MB, built in 11 seconds\n```\n\nHomebrew will be the primary installation target of `bake`.\n\n\u2728\ud83c\udf70\u2728\n\n## Bootstraping `bake` \u2014                                             (for production workflows)\n\n#### Containers! *e.g.* Docker.\n\nYou an also run `bake` via Docker! An official image has been made available [on DockerHub](https://cloud.docker.com/u/kennethreitz/repository/docker/kennethreitz/bake):\n\n```console\n$ docker run kennethreitz/bake Wed Sep 18 10:11:01 2019\nNo Bakefile found!\nUsage: [OPTIONS] [TASK] [ARGUMENTS]...\n\n $ bake \u2014 the strangely familiar task\u2013runner.\n\nOptions:\n -b, --bakefile PATH The Bakefile to use.\n -l, --list Lists available tasks (and their dependencies).\n -h, --help Show this message and exit.\n --allow TEXT Whitelist an environment variable for use.\n --no-deps Do not run dependent tasks.\n --yes Set medium\u2013security prompts to yes.\n --continue Continue, if a task fails.\n -i, --interactive Run in interactive mode.\n --insecure Inherit parent shell's environment variables.\n -s, --silent Reduce output.\n -e, --environ-json TEXT Provide environment variables via JSON.\n -j, --json Output in JSON format (stdout).\n```\n\n- **`Bakefile`** is expected to live at **`/app/Bakefile`**. \n- If you inherit from this image, **`ONBUILD`** directives will automatically copy your application code (build context) into the container, into **`/app`**.\n\n**Bonus Points**: this image is also [available on the GitHub Package Registry](https://github.com/kennethreitz/bake/packages/24444) (beta).\n\n---------------\n\n\n### Team & Workflow Management\n\nYou can use `bake` to bootstrap your team's development environments, ensuring a smooth and optimal workflow & local development experience.\n\nHere's an example, using the `Bakefile` provided above:\n\n```console\n$ bake install\n + Executing install/node:\n | yarn install v1.17.3\n | info No lockfile found.\n | [1/4] Resolving packages...\n | [2/4] Fetching packages...\n | [3/4] Linking dependencies...\n | [4/4] Building fresh packages...\n | success Saved lockfile.\n | Done in 0.05s.\n + Executing install/python:\n | Installing dependencies from Pipfile.lock (f10bb0)\u2026\n + Executing install:\n + Done.\n```\n\n### Skip Steps, Automatically\n\nBecause we configured `yarn.lock` and `Pipfile.lock` as cache keys,\nbake will automatically skip the configured steps\u2014 only running them\nwhen the files are changed!\n\nSo, let's run that command again :)\n\n```console\n$ bake install\n + Skipping install/node:\n + Skipping install/python.\n + Executing install:\n + Done.\n```\n\nNeat, eh?\n\n### Arguments & Parameters: Passing Values In\n\n```console\n$ bake utils/argv KEY=VALUES 1 2 3\n + Executing utils/argv:\n | VALUES: 1 2 3\n + Done.\n ```\n\n### (Optional) Non-Deterministic Confirmation Dialouges\n\n```console\n$ bake utils/deploy\n What is 10 times 2?: 7\nAborted.\n```\n\n---------------------\n\n\n### Community / Contrib\n\n- [Visual Studio Code Extension](https://marketplace.visualstudio.com/items?itemName=kennethreitz.bake) \u2014 highlights `Bakefile`\u2014 adequately.\n\n----------------------\n\n

 

\n\n

\n This open source software has been designed, for you, with much joy, by the hands of:\n

\n\n

 

\n\n

\n \n

\n\n

 

\n\n

\n \u263f\n

\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kennethreitz/bake", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "bake-cli-imports", "package_url": "https://pypi.org/project/bake-cli-imports/", "platform": "", "project_url": "https://pypi.org/project/bake-cli-imports/", "project_urls": { "Homepage": "https://github.com/kennethreitz/bake" }, "release_url": "https://pypi.org/project/bake-cli-imports/0.13.0/", "requires_dist": [ "click", "delegator.py", "pygments", "networkx", "colorama" ], "requires_python": ">=3.6.0", "summary": "The familar Make / Bash hybrid.", "version": "0.13.0" }, "last_serial": 5921287, "releases": { "0.13.0": [ { "comment_text": "", "digests": { "md5": "730bc15545a2f8d2bb887c109ca89dae", "sha256": "0386cbe3b9b3f5e76f9c2fef87419d1a192fef4005618c28281fd0e1e9a1465e" }, "downloads": -1, "filename": "bake_cli_imports-0.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "730bc15545a2f8d2bb887c109ca89dae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 21268, "upload_time": "2019-10-03T01:35:18", "url": "https://files.pythonhosted.org/packages/63/8d/043887cc1f687e8b1c31a1afeec0a5f9c5466c01437d98855623d88d1470/bake_cli_imports-0.13.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "730bc15545a2f8d2bb887c109ca89dae", "sha256": "0386cbe3b9b3f5e76f9c2fef87419d1a192fef4005618c28281fd0e1e9a1465e" }, "downloads": -1, "filename": "bake_cli_imports-0.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "730bc15545a2f8d2bb887c109ca89dae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 21268, "upload_time": "2019-10-03T01:35:18", "url": "https://files.pythonhosted.org/packages/63/8d/043887cc1f687e8b1c31a1afeec0a5f9c5466c01437d98855623d88d1470/bake_cli_imports-0.13.0-py3-none-any.whl" } ] }