{ "info": { "author": "Robert Doiel, Thomas E Morrell", "author_email": "rsdoiel@caltech.edu, tmorrell@caltech.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows :: Windows 10", "Operating System :: POSIX :: Linux", "Programming Language :: Other", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering" ], "description": "\n\n# py_dataset [![DOI](https://data.caltech.edu/badge/175684474.svg)](https://data.caltech.edu/badge/latestdoi/175684474)\n\npy_dataset is a Python wrapper for the [dataset](https://github.com/caltechlibrary/dataset) \ncommand line tool, Go package, and C shared library for working with \n[JSON](https://en.wikipedia.org/wiki/JSON) objects as collections. \nCollections can be stored on disc or in \nCloud Storage. JSON objects are stored in collections as \nplain UTF-8 text. This means the objects can be accessed with common \nUnix text processing tools as well as most programming languages.\n\nThis package wraps all [dataset](docs/dataset.html) operations such \nas initialization of collections, creation, \nreading, updating and deleting JSON objects in the collection. Some of \nits enhanced features include the ability to generate data \n[frames](docs/frame.html) as well as the ability to \nimport and export JSON objects to and from CSV files and Google Sheets.\n\n## Install\n\nAvailable via pip `pip install py_dataset` or by downloading this repo and\ntyping `python setup.py install`. This repo includes dataset shared C libraries\ncompiled for Windows, Mac, and Linux and the appripriate library will be used\nautomatically.\n\n## Features\n\n[dataset](docs/dataset) supports \n\n- Basic storage actions ([create](docs/create.html), [read](docs/read.html), [update](docs/update.html) and [delete](docs/delete.html))\n- listing of collection [keys](docs/keys.html) (including filtering and sorting)\n- import/export of [CSV](how-to/working-with-csv.html) files and [Google Sheets](how-to/working-with-gsheets.html)\n- An experimental full text [search](how-to/indexing-and-search.html) interface based on [Blevesearch](https://blevesearch.com)\n- The ability to reshape data by performing simple object [joins](docs/join.html)\n- The ability to create data [grids](docs/grid.html) and [frames](docs/frame.html) from collections based \n on keys lists and [dot paths](docs/dotpath.html) into the JSON objects stored\n\n### Limitations of _dataset_\n\n_dataset_ has many limitations, some are listed below\n\n- it is not a multi-process, multi-user data store (it's files on \"disc\" without locking)\n- it is not a replacement for a repository management system\n- it is not a general purpose database system\n- it does not supply version control on collections or objects\n\n## Tutorial\n\nThis module provides the functionality of the _dataset_ command line tool as a Python 3.6 module.\nOnce installed try out the following commands to see if everything is in order (or to get familier with\n_dataset_).\n\nThe \"#\" comments don't have to be typed in, they are there to explain the commands as your type them.\nStart the tour by launching Python3 in interactive mode.\n\n```shell\n python3\n```\n\nThen run the following Python commands.\n\n```python\n from py_dataset import dataset\n # Almost all the commands require the collection_name as first paramter, we're storing that name in c_name for convience.\n c_name = \"a_tour_of_dataset.ds\"\n\n # Let's create our a dataset collection. We use the method called 'init' it returns True or False\n dataset.init(c_name)\n\n # Let's check our collection to see if it is OK\n dataset.status(c_name)\n\n # Let's count the records in our collection (should be zero)\n cnt = dataset.count(c_name)\n print(cnt)\n\n # Let's read all the keys in the collection (should be an empty list)\n keys = dataset.keys(c_name)\n print(keys)\n\n # Now let's add a record to our collection. To create a record we need to know\n # this collection name (e.g. c_name), the key (most be string) and have a record (i.e. a dict literal or variable)\n key = \"one\"\n record = {\"one\": 1}\n ok = dataset.create(c_name, key, record)\n # If ok is False we can check the last error message with the 'error_message' method\n if ok == False:\n print(dataset.error_message())\n\n # Let's count and list the keys in our collection, we should see a count of '1' and a key of 'one'\n dataset.count(c_name)\n keys = dataset.keys(c_name)\n print(keys)\n\n # We can read the record we stored using the 'read' method.\n new_record = dataset.read(c_name, key)\n print(new_record)\n\n # Let's modify new_record and update the record in our collection\n new_record[\"two\"] = 2\n ok = dataset.update(c_name, key, new_record)\n if ok == False:\n print(dataset.error_message())\n\n # Let's print out the record we stored using read method\n print(dataset.read(c_name, key)\n\n # Finally we can remove (delete) a record from our collection\n ok = dataset.delete(c_name, key)\n if ok == False:\n print(dataset.error_message())\n\n # We should not have a count of Zero records\n cnt = dataset.count(c_name)\n print(cnt)\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/caltechlibrary/py_dataset/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/caltechlibrary/py_dataset", "keywords": "GitHub,metadata,data,software,json", "license": "https://data.caltech.edu/license", "maintainer": "", "maintainer_email": "", "name": "py-dataset", "package_url": "https://pypi.org/project/py-dataset/", "platform": "", "project_url": "https://pypi.org/project/py-dataset/", "project_urls": { "Download": "https://github.com/caltechlibrary/py_dataset/releases", "Homepage": "https://github.com/caltechlibrary/py_dataset" }, "release_url": "https://pypi.org/project/py-dataset/0.0.68/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "A command line tool for working with JSON documents on local disc, in an S3 bucket or on Google Sheets/Cloud Storage", "version": "0.0.68" }, "last_serial": 5557982, "releases": { "0.0.59": [ { "comment_text": "", "digests": { "md5": "02fce807316221caab950765453573e4", "sha256": "e25a98656bed6825e18c810da4cee2b8a293270c9f51fa905cff3c9d3820820f" }, "downloads": -1, "filename": "py_dataset-0.0.59-py3-none-any.whl", "has_sig": false, "md5_digest": "02fce807316221caab950765453573e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 40216718, "upload_time": "2019-04-29T19:31:14", "url": "https://files.pythonhosted.org/packages/82/7b/5c3d238627b6183a6591f8c296099813cc33e97d5eeace1ed30d069c7234/py_dataset-0.0.59-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ab994086c659589b59fb2cba9314d83", "sha256": "c1663e379fa784a8d93f1b087826518082235fe986a42c7a9da0914663f2f0e5" }, "downloads": -1, "filename": "py_dataset-0.0.59.tar.gz", "has_sig": false, "md5_digest": "6ab994086c659589b59fb2cba9314d83", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 39923258, "upload_time": "2019-04-29T19:31:23", "url": "https://files.pythonhosted.org/packages/13/d9/f5176929cf90a3318ce53fcb21158ef8d6b41f9fd901fc4c7d39f30f0499/py_dataset-0.0.59.tar.gz" } ], "0.0.60": [ { "comment_text": "", "digests": { "md5": "1c3a6b98b2b2038138270b9d01e45d77", "sha256": "56563e0e48e1a9c7b076efa46f97bc4e3bfe7e513794c5345849001799fea22e" }, "downloads": -1, "filename": "py_dataset-0.0.60-py3-none-any.whl", "has_sig": false, "md5_digest": "1c3a6b98b2b2038138270b9d01e45d77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 40304284, "upload_time": "2019-05-06T21:26:53", "url": "https://files.pythonhosted.org/packages/0d/c7/79d2358a2b65c36edc7b8878bb3908062bef403f8b35ef02306df43a6e3e/py_dataset-0.0.60-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ce2c658d3b6a354cfefa4b1e6a40548", "sha256": "07397793b4b32914704f8d12a7e720197d43659720b36c4bedc44791b25b7767" }, "downloads": -1, "filename": "py_dataset-0.0.60.tar.gz", "has_sig": false, "md5_digest": "3ce2c658d3b6a354cfefa4b1e6a40548", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 40015307, "upload_time": "2019-05-06T21:27:00", "url": "https://files.pythonhosted.org/packages/8e/39/e88cc3355eb9da90246f70ca7896eec7e551395bd9111b0135555bdb1069/py_dataset-0.0.60.tar.gz" } ], "0.0.67": [ { "comment_text": "", "digests": { "md5": "fad7f9a2b9e8039a68219643a4236f6b", "sha256": "8a49464fe6d61e4e5a812c2b071921bafa45b397a47ba2d881cf384e83f87fc7" }, "downloads": -1, "filename": "py_dataset-0.0.67-py3-none-any.whl", "has_sig": false, "md5_digest": "fad7f9a2b9e8039a68219643a4236f6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 27139603, "upload_time": "2019-07-16T18:38:24", "url": "https://files.pythonhosted.org/packages/25/23/301fcdfb943fad85f2c4dc30b53f1880cf3efb929e3cba47bc4c9b5f9a8b/py_dataset-0.0.67-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37b6a25bf097c2763bdf50a252f61f22", "sha256": "b9cec7b221b892463566f34720cd2c10036f93a4b8ca7eb5907fdb265888f655" }, "downloads": -1, "filename": "py_dataset-0.0.67.tar.gz", "has_sig": false, "md5_digest": "37b6a25bf097c2763bdf50a252f61f22", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 26933355, "upload_time": "2019-07-16T18:38:31", "url": "https://files.pythonhosted.org/packages/af/e0/886d07233cab6aa6416778e1421870ebd6fa2b26f7ef625826c759787e98/py_dataset-0.0.67.tar.gz" } ], "0.0.68": [ { "comment_text": "", "digests": { "md5": "30858cd6594d042ccd220d4a448247f6", "sha256": "8404d125f5a8509e44210348e470b86adbd43381a8388f33dc96697a6767ba48" }, "downloads": -1, "filename": "py_dataset-0.0.68-py3-none-any.whl", "has_sig": false, "md5_digest": "30858cd6594d042ccd220d4a448247f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 31417330, "upload_time": "2019-07-19T18:34:42", "url": "https://files.pythonhosted.org/packages/b2/14/989b657990f2188f8a129ba01c5619f5f4f8b7d64198ed91ccc8a326eb1d/py_dataset-0.0.68-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc6e24332702cfd4de8f126f05ac32e5", "sha256": "378c94a1c90167b0454d28fb18822a6bd8fcf1f46a07ca63d36729d449dc9a37" }, "downloads": -1, "filename": "py_dataset-0.0.68.tar.gz", "has_sig": false, "md5_digest": "cc6e24332702cfd4de8f126f05ac32e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 31199691, "upload_time": "2019-07-19T18:34:50", "url": "https://files.pythonhosted.org/packages/f4/4a/861d90d8adc2ce40aaa4b7c8d1e0d3a5f275e9eaffb25e63739a408315ef/py_dataset-0.0.68.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "30858cd6594d042ccd220d4a448247f6", "sha256": "8404d125f5a8509e44210348e470b86adbd43381a8388f33dc96697a6767ba48" }, "downloads": -1, "filename": "py_dataset-0.0.68-py3-none-any.whl", "has_sig": false, "md5_digest": "30858cd6594d042ccd220d4a448247f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 31417330, "upload_time": "2019-07-19T18:34:42", "url": "https://files.pythonhosted.org/packages/b2/14/989b657990f2188f8a129ba01c5619f5f4f8b7d64198ed91ccc8a326eb1d/py_dataset-0.0.68-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc6e24332702cfd4de8f126f05ac32e5", "sha256": "378c94a1c90167b0454d28fb18822a6bd8fcf1f46a07ca63d36729d449dc9a37" }, "downloads": -1, "filename": "py_dataset-0.0.68.tar.gz", "has_sig": false, "md5_digest": "cc6e24332702cfd4de8f126f05ac32e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 31199691, "upload_time": "2019-07-19T18:34:50", "url": "https://files.pythonhosted.org/packages/f4/4a/861d90d8adc2ce40aaa4b7c8d1e0d3a5f275e9eaffb25e63739a408315ef/py_dataset-0.0.68.tar.gz" } ] }