{ "info": { "author": "Bitergia", "author_email": "dizquierdo@bitergia.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Topic :: Software Development" ], "description": "# What is Ceres?\n\nCeres is a library that aims at dealing with data in general,\nand software development data in particular.\n\nThe initial goal of Ceres is to parse information in several ways\nfrom the [Perceval](https://github.com/grimoirelab/perceval) tool\nin the [GrimoireLab project](https://github.com/grimoirelab).\n\nHowever, the more code is added to this project, the more generic\nmethods are found to be useful in other areas of analysis.\n\nThe following are the areas of analysis that Ceres can help at:\n\n## Eventize\n\nThe 'eventizer' helps to split information coming from Perceval.\nIn short, Perceval produces JSON documents and those can be consumed\nby Ceres and by the 'eventizing' side of the library.\n\nBy 'eventizing', this means the process to parse a full Perceval JSON\ndocument and produce a Pandas DataFrame with certain amount of information.\n\nAs an example, a commit contains information about the commit itself, and\nthe files that were 'touched' at some point. Depending on the granularity\nof the analysis Ceres will work in the following way:\n\n* Granularity = 1: This is the first level and produces 1 to 1 relationship\n with the main items in the original data source. For example 1 commit would \n be just 1 row in the resultant dataframe. This would be a similar case for\n a code review process in Gerrit or in Bugzilla for tickets.\n* Granularity = 2: This is the second level and depends on the data source\n how in depth this goes. In the specific case of commits, this would return\n n rows in the dataframe. And there will be as many rows as files where \n 'touched' in the original data source.\n\n\n## Format\n\nThe format part of the library contains some utils that are useful for\nsome basic formatting actions such as having a whole column in the Pandas\ndataframe with the same string format.\n\nAnother example would be the use of the format utils to cast from string\nto date using datetuils and applying the method to a whole column of a \ngiven dataframe.\n\n## Filter\n\nThe filter utility basically removes rows based on certain values in\ncertain cells of a dataframe.\n\n## Data Enrich\n\nThis is the utility most context-related together with the eventizing\nactions. This will add or modify one or more columns in several ways.\n\nThere are several examples such as taking care of the surrogates enabling\nUTF8, adding new columns based on some actions on others, adding the gender\nof the name provided in another column, and others.\n\n\n# How can you help here?\n\nThis project is still quite new, and the development is really slow, so\nany extra hand would be really awesome, even giving directions, pieces\nof advice or feature requests :).\n\nAnd of course, using the software would be great!\n\n# Where to start?\n\nThe examples folder contains some of the clients I've used for some\nanalysis such as the gender analysis or to produce dataframes that help\nto understand the areas of the code where developers are working.\n\nThose are probably a good place to have a look at.", "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/chaoss/grimoirelab-cereslib", "keywords": "software development analytics", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "cereslib", "package_url": "https://pypi.org/project/cereslib/", "platform": "", "project_url": "https://pypi.org/project/cereslib/", "project_urls": { "Homepage": "https://github.com/chaoss/grimoirelab-cereslib" }, "release_url": "https://pypi.org/project/cereslib/0.1.8/", "requires_dist": null, "requires_python": "", "summary": "GrimoireLab: Unify, eventize and enrich information from Perceval", "version": "0.1.8" }, "last_serial": 5915049, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "91820f648d4eaaf10d342eb27e496cc0", "sha256": "84e28feabc2b10382f8a8399a3e5957044354453a4d2c7367814aef19bc11228" }, "downloads": -1, "filename": "cereslib-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "91820f648d4eaaf10d342eb27e496cc0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21836, "upload_time": "2018-02-19T16:50:02", "url": "https://files.pythonhosted.org/packages/33/16/a419b965b29c7f840ecbd46bdb3b24a28576f2e4593a723cc4a8a38a656d/cereslib-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9e45455475d53cad1c41d70023d8290", "sha256": "fb97dff218eeadeccbc5a9534f00f83deb874e9c59af19e88bf3900bbb9a6886" }, "downloads": -1, "filename": "cereslib-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d9e45455475d53cad1c41d70023d8290", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18539, "upload_time": "2018-02-19T16:50:04", "url": "https://files.pythonhosted.org/packages/46/7c/f896c6a245eead0b5f60848417b1543e88b99b493319754abc2adfc2ea22/cereslib-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0aafe038f7dc0222b0e7377d31db3027", "sha256": "5399d0930d23aa7f1ba723f72bfef75203687f7e0b45b6e82da8fd223632cbd8" }, "downloads": -1, "filename": "cereslib-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0aafe038f7dc0222b0e7377d31db3027", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22395, "upload_time": "2018-03-07T17:28:45", "url": "https://files.pythonhosted.org/packages/0b/8b/8a13837096a36a28c8de826ecb2db42b1e075b540c770ad2e3362bf88a0c/cereslib-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77c02ecf68e7c57ab09dfa34e74d4530", "sha256": "7600658901d46c313b859f3c3631b5c3d067604755da0aa87be5ff51d9b2acd8" }, "downloads": -1, "filename": "cereslib-0.1.1.tar.gz", "has_sig": false, "md5_digest": "77c02ecf68e7c57ab09dfa34e74d4530", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19525, "upload_time": "2018-03-07T17:28:46", "url": "https://files.pythonhosted.org/packages/d1/72/4ccb187e9a82291ba23875b7aff7e5a00776f74d8cdb85270a4b9235b413/cereslib-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7b59d97f30c78bbb483e9e2305a56f25", "sha256": "ad7d1837fc5fee8583140d40c55761f20b658fdcf0d3bb261cf484377ba12f55" }, "downloads": -1, "filename": "cereslib-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7b59d97f30c78bbb483e9e2305a56f25", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22399, "upload_time": "2018-03-22T23:17:51", "url": "https://files.pythonhosted.org/packages/74/70/32546962519d56baa50e9cd21cdbeb1b701fde89e5b350aecbf0e2097a71/cereslib-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44c263e384b830f26c586fef0d3e202e", "sha256": "ccf434747510337cd0a9c424d9e01594dfd13edb779952b66efb58fbfffd4a8e" }, "downloads": -1, "filename": "cereslib-0.1.2.tar.gz", "has_sig": false, "md5_digest": "44c263e384b830f26c586fef0d3e202e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19516, "upload_time": "2018-03-22T23:18:09", "url": "https://files.pythonhosted.org/packages/1e/c2/f48cd313d9720d160329fc99507f1d825fc986a15865fd376ede7eab60bf/cereslib-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "70dfacfe71e3a53f49cb7cf5e25d9a3c", "sha256": "d57417b3e8c3c4c8d83b5d0ddb8f5e735275c847af96b6e30ae3834a2ee35c3c" }, "downloads": -1, "filename": "cereslib-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "70dfacfe71e3a53f49cb7cf5e25d9a3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20102, "upload_time": "2018-04-08T12:11:14", "url": "https://files.pythonhosted.org/packages/46/91/206bc22324cc0fc9c3266dfc0d7649244d6289edca2c35d959835dd0e6c9/cereslib-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2195b026f7dccc3aab7fb8af504e6f52", "sha256": "64705d7a733516bd3c6a45f12cee5f6be77f6fdb7d86d5490c5358f248ab7332" }, "downloads": -1, "filename": "cereslib-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2195b026f7dccc3aab7fb8af504e6f52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19529, "upload_time": "2018-04-08T12:11:35", "url": "https://files.pythonhosted.org/packages/c9/23/03c1fd551a5c98314304793b0a302037f412e918edf44338e22b80a7f845/cereslib-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d0678bf4a198eb9ad713b3544cb7877c", "sha256": "c262efb0149bbe9cb48b1b9a6faf9bf8aea1a6f2afcbf5598c3f4630e832525c" }, "downloads": -1, "filename": "cereslib-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d0678bf4a198eb9ad713b3544cb7877c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20226, "upload_time": "2018-08-24T11:11:23", "url": "https://files.pythonhosted.org/packages/c0/29/39e1a1ff804ff36a062d40bb7872d99d16c974985c70452ee6a049155420/cereslib-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43dcddbae3523e93f3f0ac7c33863097", "sha256": "8231abb077b8ad2e52c3ec2dd7b07e8d822dbcd22497b57de81656514856d4f8" }, "downloads": -1, "filename": "cereslib-0.1.4.tar.gz", "has_sig": false, "md5_digest": "43dcddbae3523e93f3f0ac7c33863097", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19656, "upload_time": "2018-08-24T11:12:11", "url": "https://files.pythonhosted.org/packages/db/ed/75a4c555a30ac1c23cc003697b77fc4118f7725a7458ec2fd22e602c3d34/cereslib-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "806b303beb33379b41559b22f8cd91b1", "sha256": "1944cb788e96d969acc957f112359ca1d83c580839ad67789a6f8e8ff3821da7" }, "downloads": -1, "filename": "cereslib-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "806b303beb33379b41559b22f8cd91b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23040, "upload_time": "2018-11-21T22:33:41", "url": "https://files.pythonhosted.org/packages/99/ed/16b7e89429b989c07dae5f259ef51dd76d36e8c2adbe932fb54d47bfb687/cereslib-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ca2c368064a764624faac1fd073739e", "sha256": "3dd7344017d80ddab147849d1c1e115abdf7f41af4ea1fb8034d126d0d7aa3bd" }, "downloads": -1, "filename": "cereslib-0.1.5.tar.gz", "has_sig": false, "md5_digest": "1ca2c368064a764624faac1fd073739e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19679, "upload_time": "2018-11-21T22:33:48", "url": "https://files.pythonhosted.org/packages/90/7a/11cc150f7711b673db1eb90e5a8a56c2f786a47f6d729ac3b7ddec8704e9/cereslib-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "8ae5196f9a82ea53825f37af6ec72553", "sha256": "76ec0a45b74cc74195e7da77d4f6627cdc9ffeeb1592a3881eda6bb45f683e93" }, "downloads": -1, "filename": "cereslib-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8ae5196f9a82ea53825f37af6ec72553", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23067, "upload_time": "2019-01-15T08:21:34", "url": "https://files.pythonhosted.org/packages/23/7a/a676c5edfa8de8be66c126a6076fa96b7854f70af3dabd14a49d275a0ad0/cereslib-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d46c9b9df48d0bae4642f75bade566eb", "sha256": "d4a540125bd6214b9949cd017fada61fc0ed845a14a381b80ca48845807d693a" }, "downloads": -1, "filename": "cereslib-0.1.6.tar.gz", "has_sig": false, "md5_digest": "d46c9b9df48d0bae4642f75bade566eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19774, "upload_time": "2019-01-15T08:20:59", "url": "https://files.pythonhosted.org/packages/99/85/ab8643fea6d479c39a2ef5954e9015f7c2e4c9f78e61523ee3577c0c8301/cereslib-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "c180f560481b0539efe9162984a44de7", "sha256": "3cac9939f469625f46439d5e36220c930bb266edab0a5ce76730fad9d9c31672" }, "downloads": -1, "filename": "cereslib-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "c180f560481b0539efe9162984a44de7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23070, "upload_time": "2019-03-28T17:25:55", "url": "https://files.pythonhosted.org/packages/dd/d2/e3812413ef0c86188b35cd3dfbcc7afdd1d0c798f04e4dfe0da867fde8ab/cereslib-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a80ea3a6b3f13defd22d1f7148a57f74", "sha256": "ea5ab6c18db3d9288471a40271f1632f44291782d4ee99efd297f15c3f5db93f" }, "downloads": -1, "filename": "cereslib-0.1.7.tar.gz", "has_sig": false, "md5_digest": "a80ea3a6b3f13defd22d1f7148a57f74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18181, "upload_time": "2019-03-28T17:26:43", "url": "https://files.pythonhosted.org/packages/18/5f/3560255dd1aedc685bb669bb60523f90a515fbb3a8dd994c9917ac47d0ba/cereslib-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "69618d96ea785521c9eef69b70fb65a7", "sha256": "56da5f241764106eda4d9fefd642da729442cf257b074a6bf05070b7c7397b23" }, "downloads": -1, "filename": "cereslib-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "69618d96ea785521c9eef69b70fb65a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22975, "upload_time": "2019-10-01T21:29:12", "url": "https://files.pythonhosted.org/packages/33/e6/970ed798a1283da5bd67ea4d5dac3daa8d44ab6d4788846b6d47aa9bdba5/cereslib-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e11efa757576564c08cf490b755acfea", "sha256": "4e2b4f485c13da22922549282254e21a15bc179c423556977043130e97789bd4" }, "downloads": -1, "filename": "cereslib-0.1.8.tar.gz", "has_sig": false, "md5_digest": "e11efa757576564c08cf490b755acfea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17803, "upload_time": "2019-10-01T21:28:31", "url": "https://files.pythonhosted.org/packages/55/5c/fc966951c5860a17f21032bafcd71d4ce90ed6754bf2835203996b90df5e/cereslib-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "69618d96ea785521c9eef69b70fb65a7", "sha256": "56da5f241764106eda4d9fefd642da729442cf257b074a6bf05070b7c7397b23" }, "downloads": -1, "filename": "cereslib-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "69618d96ea785521c9eef69b70fb65a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22975, "upload_time": "2019-10-01T21:29:12", "url": "https://files.pythonhosted.org/packages/33/e6/970ed798a1283da5bd67ea4d5dac3daa8d44ab6d4788846b6d47aa9bdba5/cereslib-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e11efa757576564c08cf490b755acfea", "sha256": "4e2b4f485c13da22922549282254e21a15bc179c423556977043130e97789bd4" }, "downloads": -1, "filename": "cereslib-0.1.8.tar.gz", "has_sig": false, "md5_digest": "e11efa757576564c08cf490b755acfea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17803, "upload_time": "2019-10-01T21:28:31", "url": "https://files.pythonhosted.org/packages/55/5c/fc966951c5860a17f21032bafcd71d4ce90ed6754bf2835203996b90df5e/cereslib-0.1.8.tar.gz" } ] }