{ "info": { "author": "Ryota Suzuki", "author_email": "ryouta_suzuki@yahoo.co.jp", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# daisy\n\nThin wrapper of [luigi](https://github.com/spotify/luigi) for utility.\n\n# Features\n\n## Formatted local targets\n\nClasses inheriting `daisy.FormattedLocalTargetBase` is provided\nfor dumping and loading objects by one-liner.\n\n``` python\nimport daisy\nimport pandas as pd\n\ndf = pd.DataFrame({\"a\": [1,2,3], \"b\": [4,5,6]})\ndf\n# =>\n# a b\n# 0 1 4\n# 1 2 5\n# 2 3 6\n\ntarg = daisy.CsvTarget(\"./output.csv\")\n\n# dumping\ntarg.dump(df)\n\n# loading\ndf2 = targ.load()\n\ndf2\n# =>\n# a b\n# 0 1 4\n# 1 2 5\n# 2 3 6\n\n# `daisy.FormattedLocalTargetBase` also inherits `luigi.LocalTaget`\n# so that original api is also enabled.\nwith targ.open(\"r\") as fd:\n s = fd.read()\n```\n\n## Default output for task\n\n`daisy.Task` inherits `luigi.Task` and provides default `output` features.\n\nBy setting file extension via `ext` attribute,\ndaisy automatically configure corresponding `FormattedLocalTarget` with default file name.\n\n\n### Single output\n\n``` python\nclass TaskA(daisy.Task):\n param1 = daisy.Parameter()\n ext = \"csv\"\n```\n\nis equivalent to:\n\n``` python\nclass TaskA(luigi.Task):\n param1 = luigi.Parameter()\n\n def output(self):\n return daisy.CsvTarget(\"./data/TaskA/TaskA(param1={}).csv\".format(self.param1))\n```\n\n\n### Multiple outputs\n\n``` python\nclass TaskA(daisy.Task):\n param1 = daisy.Parameter()\n\n ext = {\n \"vectors\": \"npy\",\n \"metadata\": \"json\"\n }\n```\n\nis equivalent to:\n\n``` python\nclass TaskA(luigi.Task):\n param1 = luigi.Parameter()\n\n def output(self):\n return {\n \"vectors\": daisy.NpyTarget(\"./data/TaskA/TaskA(param1={}).npy\".format(self.param1)),\n \"metadata\": daisy.JsonTarget(\"./data/TaskA/TaskA(param1={}).json\".format(self.param1))\n }\n```\n\nAvailable extension and file types are as follows:\n\n| Target class | Object type | extension |\n| --- | --- | --- |\n| `CsvTarget` | `pandas.DataFrame` | `csv` |\n| `NpyTarget` | `numpy.ndarray` | `npy` |\n| `JsonTarget` | `dict` | `json` |\n| `PickleTarget` | `object` | `pkl` `pickle` |\n| `FeatherTarget` | `pandas.DataFrame` | `feather` |\n\nview [source code](./daisy/formatted_target.py) for detail.\n\n\n## Configuration\n\nFor configuration, edit `[daisy]` section of `luigi.cfg`.\n\n``` INI\n[daisy]\n\n# default output directory\ndata_dir = luigi.Parameter(\"./data\")\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nunukim/daisy", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "luigi-daisy", "package_url": "https://pypi.org/project/luigi-daisy/", "platform": "", "project_url": "https://pypi.org/project/luigi-daisy/", "project_urls": { "Homepage": "https://github.com/nunukim/daisy" }, "release_url": "https://pypi.org/project/luigi-daisy/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "Utility wrapper of luigi", "version": "0.0.3" }, "last_serial": 5011515, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ecbf611451e22d81507fa9cd3105f83d", "sha256": "629854483b072bdd7bb003590d72280577cf5179f76c89339c2fcaefde194802" }, "downloads": -1, "filename": "luigi-daisy-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ecbf611451e22d81507fa9cd3105f83d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3035, "upload_time": "2019-03-06T09:03:31", "url": "https://files.pythonhosted.org/packages/8a/09/d103c79af8a97aeacedb46b0b1714d589cc2c584a38cc96eff77712b8963/luigi-daisy-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d86424346ec78377e8b4ab77a787e199", "sha256": "9889eb91a01e349982ef0e84772b135b02a0d4bd7c626c85d96068ee3fdb5ec7" }, "downloads": -1, "filename": "luigi-daisy-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d86424346ec78377e8b4ab77a787e199", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3016, "upload_time": "2019-03-06T09:21:57", "url": "https://files.pythonhosted.org/packages/5a/5e/35e9313e6765a28822ee8600910c8e7860794444ebfd55662d2d4dc15d8d/luigi-daisy-0.0.2.tar.gz" } ], "0.0.2.dev0": [ { "comment_text": "", "digests": { "md5": "e06d8b8ae48d89b65787081eb26ded74", "sha256": "59b19294dcdfa8df55f40bbaf310cf0eb0be0ed12ddf15407ed0d10b3eec4481" }, "downloads": -1, "filename": "luigi-daisy-0.0.2.dev0.tar.gz", "has_sig": false, "md5_digest": "e06d8b8ae48d89b65787081eb26ded74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3038, "upload_time": "2019-03-06T09:12:16", "url": "https://files.pythonhosted.org/packages/d3/82/29d10f970898747d7145aaad27bfa004da84f027118bad25b899f981b5b0/luigi-daisy-0.0.2.dev0.tar.gz" } ], "0.0.2.dev1": [ { "comment_text": "", "digests": { "md5": "f94df7682e1a8ee5f199d7789a2c4541", "sha256": "1c50bb0bf358f753bc65e0cc99e33a2cd68dba814312c0b702ed03213c718b73" }, "downloads": -1, "filename": "luigi-daisy-0.0.2.dev1.tar.gz", "has_sig": false, "md5_digest": "f94df7682e1a8ee5f199d7789a2c4541", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3022, "upload_time": "2019-03-06T09:20:16", "url": "https://files.pythonhosted.org/packages/c1/fa/4cb4116879bf0fa908b2c83740eb47914796f64ecafe650574492fd47acc/luigi-daisy-0.0.2.dev1.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "29406d5f79066f6d064a7badc152c7e1", "sha256": "b01e0d6a81f6a6952a4f702e206573066b95bd1dcdaca6af7fe7dd03f165277f" }, "downloads": -1, "filename": "luigi-daisy-0.0.3.tar.gz", "has_sig": false, "md5_digest": "29406d5f79066f6d064a7badc152c7e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3995, "upload_time": "2019-04-01T05:19:04", "url": "https://files.pythonhosted.org/packages/01/45/d67645f4ffcb2d73acd8c6b0e54b31dfd1ca957a0d7b33562ec7c17c8d65/luigi-daisy-0.0.3.tar.gz" } ], "0.0.dev0": [ { "comment_text": "", "digests": { "md5": "c60bbd6cd16eb67a2e5f4dcffa173b42", "sha256": "8c1c6502614763db3d513a7496d7b984cfd2cce413ffcb6d2c787623a7e00e59" }, "downloads": -1, "filename": "luigi-daisy-0.0.dev0.tar.gz", "has_sig": false, "md5_digest": "c60bbd6cd16eb67a2e5f4dcffa173b42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3023, "upload_time": "2019-03-06T08:59:25", "url": "https://files.pythonhosted.org/packages/e6/52/ce84746fed6c9f247bada887437629c1bb7cc55ac71a3d2fd37cc5fc726a/luigi-daisy-0.0.dev0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "29406d5f79066f6d064a7badc152c7e1", "sha256": "b01e0d6a81f6a6952a4f702e206573066b95bd1dcdaca6af7fe7dd03f165277f" }, "downloads": -1, "filename": "luigi-daisy-0.0.3.tar.gz", "has_sig": false, "md5_digest": "29406d5f79066f6d064a7badc152c7e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3995, "upload_time": "2019-04-01T05:19:04", "url": "https://files.pythonhosted.org/packages/01/45/d67645f4ffcb2d73acd8c6b0e54b31dfd1ca957a0d7b33562ec7c17c8d65/luigi-daisy-0.0.3.tar.gz" } ] }