{
"info": {
"author": "Jackson Maxfield Brown",
"author_email": "jacksonb@alleninstitute.org",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: Free for non-commercial use",
"Natural Language :: English",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7"
],
"description": "# quilt3distribute\n\n[](https://github.com/AllenCellModeling/quilt3distribute/actions)\n[](https://AllenCellModeling.github.io/quilt3distribute)\n[](https://codecov.io/gh/AllenCellModeling/quilt3distribute)\n[](https://doi.org/10.5281/zenodo.3382259)\n
\n\n\n\nPeople commonly work with tabular datasets, people want to share their data, this makes that easier through Quilt3.\n\n---\n\n## Features\n* Automatically determines which files to upload based off CSV headers. (Explicit override available)\n* Simple interface for attaching metadata to each file based off the manifest contents.\n* Groups metadata for files that are referenced multiple times.\n* Validates and runs basic cleaning operations on your dataset manifest CSV.\n* Optionally add license details and usage instructions to your dataset README.\n* Parses README for any referenced files and packages them up as well.\n* Support for adding extra files not contained in the manifest.\n* Constructs an \"associates\" map that is placed into each files metadata for quick navigation around the package.\n* Enforces that the metadata attached to each file is standardized across the package for each file column.\n\n## Quick Start\nConstruct a csv (or pandas dataframe) dataset manifest ([Example](quilt3distribute/tests/data/example.csv)):\n\n| CellId | Structure | 2dReadPath | 3dReadPath |\n|--------|-----------|------------|------------|\n| 1 | lysosome | 2d/1.png | 3d/1.tiff |\n| 2 | laminb1 | 2d/2.png | 3d/2.tiff |\n| 3 | golgi | 2d/3.png | 3d/3.tiff |\n| 4 | myosin | 2d/4.png | 3d/4.tiff |\n\n```python\nfrom quilt3distribute import Dataset\n\n# Create the dataset\nds = Dataset(\n dataset=\"single_cell_examples.csv\",\n name=\"single_cell_examples\",\n package_owner=\"jacksonb\",\n readme_path=\"single_cell_examples.md\"\n)\n\n# Optionally add common additional requirements\nds.add_usage_doc(\"https://docs.quiltdata.com/walkthrough/reading-from-a-package\")\nds.add_license(\"https://www.allencell.org/terms-of-use.html\")\n\n# Optionally indicate column values to use for file metadata\nds.set_metadata_columns([\"CellId\", \"Structure\"])\n\n# Optionally rename the columns on the package level\nds.set_column_names_map({\n \"2dReadPath\": \"images_2d\",\n \"3dReadPath\": \"images_3d\"\n})\n\n# Distribute\npkg = ds.distribute(push_uri=\"s3://quilt-jacksonb\", message=\"Initial dataset example\")\n```\n\n***Returns:***\n```\n(remote Package)\n \u2514\u2500README.md\n \u2514\u2500images_2d\n \u2514\u250003cdf019_1.png\n \u2514\u2500148ddc09_2.png\n \u2514\u25002b2cf361_3.png\n \u2514\u2500312a0367_4.png\n \u2514\u2500images_3d\n \u2514\u2500a0ce6e01_1.tiff\n \u2514\u2500c360072c_2.tiff\n \u2514\u2500d9b55cba_3.tiff\n \u2514\u2500eb29e6b3_4.tiff\n \u2514\u2500metadata.csv\n \u2514\u2500referenced_files\n \u2514\u2500some_file_referenced_by_the_readme.png\n```\n\n***Example Metadata:***\n```python\npkg[\"images_2d\"][\"03cdf019_1.png\"].meta\n```\n```json\n{\n \"CellId\": 1,\n \"Structure\": \"lysosome\",\n \"associates\": {\n \"images_2d\": \"images_2d/03cdf019_1.png\",\n \"images_3d\": \"images_3d/a0ce6e01_1.tiff\"\n }\n}\n```\n\n## Installation\n**Stable Release:** `pip install quilt3distribute`
\n**Development Head:** `pip install git+https://github.com/AllenCellModeling/quilt3distribute.git`\n\n\n### Credits\n\nThis package was created with Cookiecutter. [Original repository](https://github.com/audreyr/cookiecutter)\n\n\n***Free software: Allen Institute Software License***\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/AllenCellModeling/quilt3distribute",
"keywords": "quilt3distribute",
"license": "Allen Institute Software License",
"maintainer": "",
"maintainer_email": "",
"name": "quilt3distribute",
"package_url": "https://pypi.org/project/quilt3distribute/",
"platform": "",
"project_url": "https://pypi.org/project/quilt3distribute/",
"project_urls": {
"Homepage": "https://github.com/AllenCellModeling/quilt3distribute"
},
"release_url": "https://pypi.org/project/quilt3distribute/0.1.4/",
"requires_dist": [
"markdown2 (>=2.3.7)",
"pandas",
"python-dateutil (==2.8.0)",
"quilt3 (>=3.1.5)",
"tabulate (>=0.8.3)",
"tqdm (>=4.32.1)",
"markdown2 (>=2.3.7) ; extra == 'all'",
"pandas ; extra == 'all'",
"python-dateutil (==2.8.0) ; extra == 'all'",
"quilt3 (>=3.1.5) ; extra == 'all'",
"tabulate (>=0.8.3) ; extra == 'all'",
"tqdm (>=4.32.1) ; extra == 'all'",
"codecov ; extra == 'all'",
"flake8 ; extra == 'all'",
"numpy ; extra == 'all'",
"pytest ; extra == 'all'",
"pytest-cov ; extra == 'all'",
"pytest-raises ; extra == 'all'",
"tifffile ; extra == 'all'",
"pytest-runner ; extra == 'all'",
"bumpversion (>=0.5.3) ; extra == 'all'",
"coverage (>=5.0a4) ; extra == 'all'",
"flake8 (>=3.7.7) ; extra == 'all'",
"ipython (>=7.5.0) ; extra == 'all'",
"m2r (>=0.2.1) ; extra == 'all'",
"pytest (>=4.3.0) ; extra == 'all'",
"pytest-cov (==2.6.1) ; extra == 'all'",
"pytest-raises (>=0.10) ; extra == 'all'",
"pytest-runner (>=4.4) ; extra == 'all'",
"Sphinx (>=2.0.0b1) ; extra == 'all'",
"sphinx-rtd-theme (>=0.1.4) ; extra == 'all'",
"tox (>=3.5.2) ; extra == 'all'",
"twine (>=1.13.0) ; extra == 'all'",
"wheel (>=0.33.1) ; extra == 'all'",
"altair ; extra == 'all'",
"jupyterlab ; extra == 'all'",
"matplotlib ; extra == 'all'",
"bumpversion (>=0.5.3) ; extra == 'dev'",
"coverage (>=5.0a4) ; extra == 'dev'",
"flake8 (>=3.7.7) ; extra == 'dev'",
"ipython (>=7.5.0) ; extra == 'dev'",
"m2r (>=0.2.1) ; extra == 'dev'",
"pytest (>=4.3.0) ; extra == 'dev'",
"pytest-cov (==2.6.1) ; extra == 'dev'",
"pytest-raises (>=0.10) ; extra == 'dev'",
"pytest-runner (>=4.4) ; extra == 'dev'",
"Sphinx (>=2.0.0b1) ; extra == 'dev'",
"sphinx-rtd-theme (>=0.1.4) ; extra == 'dev'",
"tox (>=3.5.2) ; extra == 'dev'",
"twine (>=1.13.0) ; extra == 'dev'",
"wheel (>=0.33.1) ; extra == 'dev'",
"altair ; extra == 'interactive'",
"jupyterlab ; extra == 'interactive'",
"matplotlib ; extra == 'interactive'",
"pytest-runner ; extra == 'setup'",
"codecov ; extra == 'test'",
"flake8 ; extra == 'test'",
"numpy ; extra == 'test'",
"pytest ; extra == 'test'",
"pytest-cov ; extra == 'test'",
"pytest-raises ; extra == 'test'",
"tifffile ; extra == 'test'"
],
"requires_python": ">=3.6",
"summary": "A small wrapper around quilt3 to make distributing manifest style datasets even easier.",
"version": "0.1.4",
"yanked": false,
"yanked_reason": null
},
"last_serial": 10704819,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "99451a78203e0f42a0a7f498a43d496b",
"sha256": "b96a92b4fb42ed8ba21511b8b627ed554633d0c91da0439b91ba2c74a72b16fd"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "99451a78203e0f42a0a7f498a43d496b",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 21749,
"upload_time": "2019-10-22T23:02:06",
"upload_time_iso_8601": "2019-10-22T23:02:06.784973Z",
"url": "https://files.pythonhosted.org/packages/14/87/e4a5836ee59b21e88461296f2421e8c11feafe8c35a176c91f88716307a8/quilt3distribute-0.1.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "565ca60916c99967f418aaf594aad87b",
"sha256": "15f91221a86a169fa3fed09f8634b5f9bb9155471217ab27b01f234323ca563d"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "565ca60916c99967f418aaf594aad87b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24707,
"upload_time": "2019-10-22T23:02:08",
"upload_time_iso_8601": "2019-10-22T23:02:08.996116Z",
"url": "https://files.pythonhosted.org/packages/a5/32/e6a19d836707bbcf8d1b802c56a526d72d498ccf26ef9454c7c69c4cee40/quilt3distribute-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "7fb1c32567b5655086721f26ff413d10",
"sha256": "cb5a1a03de795e63d852b8a7b6ed62f1bc4c07c51b0567bed2a5141358ce3bb1"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "7fb1c32567b5655086721f26ff413d10",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 21750,
"upload_time": "2019-10-24T18:03:04",
"upload_time_iso_8601": "2019-10-24T18:03:04.188640Z",
"url": "https://files.pythonhosted.org/packages/20/26/4e9291ad87d714043e1b535cfa23633fc858913925aad665362296dc9bdc/quilt3distribute-0.1.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "904bdbcb1b7cb4fc029e230093756b94",
"sha256": "c7b1cbe425317dbc049b9e0cb5ccfda752c5309805c518d4f683b892e0f7a1e8"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "904bdbcb1b7cb4fc029e230093756b94",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24482,
"upload_time": "2019-10-24T18:03:06",
"upload_time_iso_8601": "2019-10-24T18:03:06.065256Z",
"url": "https://files.pythonhosted.org/packages/c2/71/6a07fd3ede9a745c7b1534b5950715682ef1b8a6828938e6b40581b037f6/quilt3distribute-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "a0572b05b4c97af6ab0cf124d70ccaea",
"sha256": "f1c6b01d24ece4d0c5866402a14239bb238d57fe23d4e7c1475f9ef18f68e2a0"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "a0572b05b4c97af6ab0cf124d70ccaea",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 21810,
"upload_time": "2019-11-05T17:21:47",
"upload_time_iso_8601": "2019-11-05T17:21:47.228003Z",
"url": "https://files.pythonhosted.org/packages/26/03/0b5b09f391366794c34c0e974877a5e6ba1d51e3aa2d87942cb44f6e2425/quilt3distribute-0.1.2-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "379662d35492308153f9a4686a114f5f",
"sha256": "11711889aadb41fe20a8c06eefc0ef6123b5c08fe61e3c4dc613993e9a8c1e36"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "379662d35492308153f9a4686a114f5f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24576,
"upload_time": "2019-11-05T17:21:48",
"upload_time_iso_8601": "2019-11-05T17:21:48.474050Z",
"url": "https://files.pythonhosted.org/packages/67/0e/7018cb9972dab728aa3f0fffb46cd99d7b8e34f2f7d249aad46448996123/quilt3distribute-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "c36fcb3e9e0a9f85001f179788406268",
"sha256": "fc60168903a4700f2d482c143256a1283d6b9076d0e5e1d6265da95abe89032a"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c36fcb3e9e0a9f85001f179788406268",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 21810,
"upload_time": "2019-11-20T19:21:53",
"upload_time_iso_8601": "2019-11-20T19:21:53.772376Z",
"url": "https://files.pythonhosted.org/packages/d5/f5/e3724f22c92ed388366798118b704604e55487bb3b1404229ffaee41892a/quilt3distribute-0.1.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0d321466e6cada076481c4f432b60baa",
"sha256": "c439245dd447064bd8bcd0852a92adbff082e875e20f3f2ee84324184eab487a"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "0d321466e6cada076481c4f432b60baa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24582,
"upload_time": "2019-11-20T19:21:55",
"upload_time_iso_8601": "2019-11-20T19:21:55.379312Z",
"url": "https://files.pythonhosted.org/packages/e0/d2/b11cfce4a58608ed4e783a4ddba46a3bde2c5e33d03afb7163c8fdf787a3/quilt3distribute-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "c3ea9132fe3fe9e2d2a2660a0cd6a08f",
"sha256": "c8b0a40b0b4f44c9f109f4fbc6cbd11eaccebe4da21949403f3a2d04382aed15"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c3ea9132fe3fe9e2d2a2660a0cd6a08f",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 21843,
"upload_time": "2021-06-21T18:54:27",
"upload_time_iso_8601": "2021-06-21T18:54:27.335176Z",
"url": "https://files.pythonhosted.org/packages/1f/bb/7ab719fd92292cd44747738ba82de73cab94820fb2a27a97bdb92b252e22/quilt3distribute-0.1.4-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "2a3e5d75d90d59803ad3386a5d76a2be",
"sha256": "e97bd1556b3dfbf668e73c99d93d73ae78a44091b8b6fef07a3c7e87ceea023d"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "2a3e5d75d90d59803ad3386a5d76a2be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24677,
"upload_time": "2021-06-21T18:54:29",
"upload_time_iso_8601": "2021-06-21T18:54:29.029474Z",
"url": "https://files.pythonhosted.org/packages/9e/ae/39436d66dc04715ac52b6c3ded76fbb9afc5c7a51f22d156788ae940a05e/quilt3distribute-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "c3ea9132fe3fe9e2d2a2660a0cd6a08f",
"sha256": "c8b0a40b0b4f44c9f109f4fbc6cbd11eaccebe4da21949403f3a2d04382aed15"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c3ea9132fe3fe9e2d2a2660a0cd6a08f",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 21843,
"upload_time": "2021-06-21T18:54:27",
"upload_time_iso_8601": "2021-06-21T18:54:27.335176Z",
"url": "https://files.pythonhosted.org/packages/1f/bb/7ab719fd92292cd44747738ba82de73cab94820fb2a27a97bdb92b252e22/quilt3distribute-0.1.4-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "2a3e5d75d90d59803ad3386a5d76a2be",
"sha256": "e97bd1556b3dfbf668e73c99d93d73ae78a44091b8b6fef07a3c7e87ceea023d"
},
"downloads": -1,
"filename": "quilt3distribute-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "2a3e5d75d90d59803ad3386a5d76a2be",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24677,
"upload_time": "2021-06-21T18:54:29",
"upload_time_iso_8601": "2021-06-21T18:54:29.029474Z",
"url": "https://files.pythonhosted.org/packages/9e/ae/39436d66dc04715ac52b6c3ded76fbb9afc5c7a51f22d156788ae940a05e/quilt3distribute-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"vulnerabilities": []
}