{ "info": { "author": "John Andersen", "author_email": "john.s.andersen@intel.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "# DFFML Features For Git Version Control\n\nGit features scrape data from Git repositories.\n\n## Demo\n\n![Demo](https://github.com/intel/dffml/raw/master/docs/images/commits_demo.gif)\n\n## Usage\n\nScrape lines of comments to lines of code ratio, diversity of authorship, number\nof commits, number of authors, and frequency of release data for a given Git\nrepo.\n\n```console\nexport OPIMPS=\"group_by quarters_back_to_date check_if_valid_git_repository_URL clone_git_repo git_repo_default_branch git_repo_checkout git_repo_commit_from_date git_repo_author_lines_for_dates work git_repo_release lines_of_code_by_language lines_of_code_to_comments git_commits count_authors cleanup_git_repo\"\ndffml operations repo \\\n -log debug \\\n -keys https://github.com/intel/dffml \\\n -repo-def URL \\\n -remap \\\n group_by.cloc=cloc \\\n group_by.release=release \\\n group_by.work=work \\\n group_by.commits=commits \\\n group_by.authors=authors \\\n group_by.relase=release \\\n -dff-memory-operation-network-ops $OPIMPS \\\n -dff-memory-opimp-network-opimps $OPIMPS \\\n -inputs \\\n {0,1,2,3,4,5,6,7,8,9}=quarter \\\n \"'2019-03-29 13:24'=quarter_start_date\" \\\n True=no_git_branch_given \\\n -output-specs '{\n \"cloc\": {\n \"group\": \"quarter\",\n \"by\": \"language_to_comment_ratio\",\n \"fill\": 0\n },\n \"authors\": {\n \"group\": \"quarter\",\n \"by\": \"author_count\",\n \"fill\": 0\n },\n \"work\": {\n \"group\": \"quarter\",\n \"by\": \"work_spread\",\n \"fill\": 0\n },\n \"release\": {\n \"group\": \"quarter\",\n \"by\": \"release_within_period\",\n \"fill\": False\n },\n \"commits\": {\n \"group\": \"quarter\",\n \"by\": \"commit_count\",\n \"fill\": 0\n }\n }=group_by_spec'\n```\n\n## TODO\n\n- Transforms\n - Take data of one defintion and label it as another definition.\n```json\n{\n \"defintions\": {},\n \"operations\": {},\n \"transforms\": {\n \"quarter_date_to_git_date\": {\n \"quarter_date\": [\"git_date\"]\n },\n \"thing_to_other_data_types\": {\n \"thing\": [\"first_data_type\", \"second_data_type\"]\n },\n },\n}\n```\n\n## License\n\nDFFML DFFML Features For Git Version Control are distributed under the\n[MIT License](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/intel/dffml/blob/master/feature/git/README.md", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "dffml-feature-git", "package_url": "https://pypi.org/project/dffml-feature-git/", "platform": "", "project_url": "https://pypi.org/project/dffml-feature-git/", "project_urls": { "Homepage": "https://github.com/intel/dffml/blob/master/feature/git/README.md" }, "release_url": "https://pypi.org/project/dffml-feature-git/0.3.0.post0/", "requires_dist": [ "dffml (>=0.4.0)", "python-dateutil (>=2.7.3)" ], "requires_python": "", "summary": "", "version": "0.3.0.post0", "yanked": false, "yanked_reason": null }, "last_serial": 10602741, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "50fef2866189e9db8b08160a6291a8dc", "sha256": "29c1f346bdc726014cdaddc2332c67ef2a19b127a05ab4764ba5c80c1eaea649" }, "downloads": -1, "filename": "dffml_feature_git-0.1.0.tar.gz", "has_sig": false, "md5_digest": "50fef2866189e9db8b08160a6291a8dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9846, "upload_time": "2019-03-08T17:32:38", "upload_time_iso_8601": "2019-03-08T17:32:38.834213Z", "url": "https://files.pythonhosted.org/packages/ac/2c/60ac1da741c1f23bf3ea82d5e3b8757bc10a762456a683e7ec8dc5ea899f/dffml_feature_git-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9330e0f7727adf1a2c4a11f0a9a91995", "sha256": "aebfdcf4e365de4acf31b98be246c26b8ae3dc31e62df80c59a2519f71399941" }, "downloads": -1, "filename": "dffml_feature_git-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9330e0f7727adf1a2c4a11f0a9a91995", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9882, "upload_time": "2019-03-08T17:41:52", "upload_time_iso_8601": "2019-03-08T17:41:52.464552Z", "url": "https://files.pythonhosted.org/packages/bd/ce/05c3a2155259aed7e6b7ab1f22d538542805c2dd6f87e634b3d92df4c3b5/dffml_feature_git-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2a35c4d02ec157fb57e3ff48f5097378", "sha256": "ba5b743793f3b0bad1c476c7ca64529f3f81234fa36dbe06c3ff63b84dd702fc" }, "downloads": -1, "filename": "dffml_feature_git-0.1.2.tar.gz", "has_sig": false, "md5_digest": "2a35c4d02ec157fb57e3ff48f5097378", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9882, "upload_time": "2019-03-08T17:46:53", "upload_time_iso_8601": "2019-03-08T17:46:53.646370Z", "url": "https://files.pythonhosted.org/packages/2e/a3/8e3b5ae686799273d5cf1f0de4a9ef5261bd6185c5a5cd3063705c531a3f/dffml_feature_git-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "75b25cc740176579bb85fd203192ddaa", "sha256": "723b4794df00017b40aa0c09e9fc5449ea8556ea099fd0293ad66bf4d50111f7" }, "downloads": -1, "filename": "dffml_feature_git-0.1.3.tar.gz", "has_sig": false, "md5_digest": "75b25cc740176579bb85fd203192ddaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15808, "upload_time": "2019-03-29T21:07:00", "upload_time_iso_8601": "2019-03-29T21:07:00.561681Z", "url": "https://files.pythonhosted.org/packages/17/39/69e0e13106643758c6db280956d057f436d2e2f1bfda25a96b9565605fa9/dffml_feature_git-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4c368676a9c04eecb234a6affe9571dd", "sha256": "e4e74797de5558ca084ce2af88d67b1f0bd98ae33566d2421e641a29561c1dc5" }, "downloads": -1, "filename": "dffml_feature_git-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4c368676a9c04eecb234a6affe9571dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9507, "upload_time": "2019-05-23T17:47:16", "upload_time_iso_8601": "2019-05-23T17:47:16.958593Z", "url": "https://files.pythonhosted.org/packages/26/71/1786007bfe9eec5f43959a0fdf4a8c6be6e87c09e11791a5b1ed7ef02021/dffml_feature_git-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "9d45302f00cbf23b45473d5b5bdc2e18", "sha256": "b52d433836c5e6291d394b58cd9d2690384040f298a7985402c3c213b47b36a2" }, "downloads": -1, "filename": "dffml_feature_git-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9d45302f00cbf23b45473d5b5bdc2e18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9370, "upload_time": "2019-10-26T21:02:29", "upload_time_iso_8601": "2019-10-26T21:02:29.327092Z", "url": "https://files.pythonhosted.org/packages/2e/a5/a3bfc60088bba2645334b5f61bae03021867b8b90a1d7684a295fcb496e3/dffml_feature_git-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "730290ef63d8ed6d46f6265dd6902dbf", "sha256": "a035600b8fd4b764f26455171528744e55afd115a8adb7eae336b2f53ef4cfad" }, "downloads": -1, "filename": "dffml_feature_git-0.2.2.tar.gz", "has_sig": false, "md5_digest": "730290ef63d8ed6d46f6265dd6902dbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9399, "upload_time": "2019-12-12T08:50:02", "upload_time_iso_8601": "2019-12-12T08:50:02.802793Z", "url": "https://files.pythonhosted.org/packages/b2/76/817eaa8ba4b040176599515790c47fb7d89386affe761564fbf077cb18a8/dffml_feature_git-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "d00fc0ab13c8702f6fd1a46a006b3eb4", "sha256": "6681cda6bd74d1badf84277cc41091f09d95988676405df756eab8de4abf9552" }, "downloads": -1, "filename": "dffml_feature_git-0.2.3.tar.gz", "has_sig": false, "md5_digest": "d00fc0ab13c8702f6fd1a46a006b3eb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9345, "upload_time": "2020-02-13T22:38:40", "upload_time_iso_8601": "2020-02-13T22:38:40.265931Z", "url": "https://files.pythonhosted.org/packages/19/d9/84f6497528b9197062078f54a40ceaf420ad1acd46be125479fe8e2f4579/dffml_feature_git-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "56e462f085cd6e48881734577d5f7c32", "sha256": "cee2ab05c88e29c6b1c499257f363f38bb1377ed7036bff8e077cc6e224bb7d4" }, "downloads": -1, "filename": "dffml_feature_git-0.2.4.tar.gz", "has_sig": false, "md5_digest": "56e462f085cd6e48881734577d5f7c32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9345, "upload_time": "2020-03-02T21:23:29", "upload_time_iso_8601": "2020-03-02T21:23:29.532319Z", "url": "https://files.pythonhosted.org/packages/dd/45/fdb94bb76cebd59bd213b6bf0e9720144bee2d058ca5b94e42fa04c80751/dffml_feature_git-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "f380707a88b073dd1088840abc69b5a9", "sha256": "2ee685127a9df3c07c1331caf5305fab5f0f730f106998b0e37f62a56b53eeac" }, "downloads": -1, "filename": "dffml_feature_git-0.2.5.tar.gz", "has_sig": false, "md5_digest": "f380707a88b073dd1088840abc69b5a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9350, "upload_time": "2020-03-10T23:00:41", "upload_time_iso_8601": "2020-03-10T23:00:41.264959Z", "url": "https://files.pythonhosted.org/packages/c9/6b/8450f2cf42d47d8b4d1c9ee2f76f4261314afc541601f6fd89f115c6096f/dffml_feature_git-0.2.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "e983858810250d1acf26d6386be77194", "sha256": "ed11bed3ece56e4bb7f184e75ee803162559e5e37a7284de28b1055680459823" }, "downloads": -1, "filename": "dffml_feature_git-0.2.6.tar.gz", "has_sig": false, "md5_digest": "e983858810250d1acf26d6386be77194", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9352, "upload_time": "2020-04-04T21:41:51", "upload_time_iso_8601": "2020-04-04T21:41:51.242410Z", "url": "https://files.pythonhosted.org/packages/b4/1e/2acf384a63987b194d676ec0f8dd5beac8211aef41e4213ffe26571534eb/dffml_feature_git-0.2.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "5ec421b070c4e1022e4c1eb26dd6bdd7", "sha256": "096b185b32a9dade22128e34f995abd8b79feffea8638a6d11fd632d6fe6ccfa" }, "downloads": -1, "filename": "dffml_feature_git-0.2.7.tar.gz", "has_sig": false, "md5_digest": "5ec421b070c4e1022e4c1eb26dd6bdd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9354, "upload_time": "2020-04-14T23:03:24", "upload_time_iso_8601": "2020-04-14T23:03:24.107205Z", "url": "https://files.pythonhosted.org/packages/8f/05/2bc7ca10dce58ec0986e559dc6d530550e77e1534f2bc1d8602fcad2e84f/dffml_feature_git-0.2.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1d807bd6e7a574f926d3300e30faa962", "sha256": "ab45ef0361c53c7101a362e7e9a3755edb6730ff6d0d233fed6032533c00a4f8" }, "downloads": -1, "filename": "dffml_feature_git-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1d807bd6e7a574f926d3300e30faa962", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11348, "upload_time": "2021-02-18T09:15:51", "upload_time_iso_8601": "2021-02-18T09:15:51.934794Z", "url": "https://files.pythonhosted.org/packages/68/5f/87f3ac8ff1a4b4b29412e7c5ab3f1e7cb8f78c6ae07be579289bc752399b/dffml_feature_git-0.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e37b89845b2edea1596c757e734d8cf3", "sha256": "0a86bf7da7fa466b3fc762e0b5965ec6a8dd5370e927aa19c186f25cdf242d3b" }, "downloads": -1, "filename": "dffml_feature_git-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e37b89845b2edea1596c757e734d8cf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10483, "upload_time": "2021-02-18T09:15:52", "upload_time_iso_8601": "2021-02-18T09:15:52.706652Z", "url": "https://files.pythonhosted.org/packages/44/86/56b91ec8ca914cc76f521c494a904bb9c6a1f9415e30e95331124b7d46f8/dffml_feature_git-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0.post0": [ { "comment_text": "", "digests": { "md5": "7505d952fed9dc0c2a51f3d4f40eb007", "sha256": "8473f37a8488406e45c9d8578b3a6d372756d44703e5cfad0a3894208ca44073" }, "downloads": -1, "filename": "dffml_feature_git-0.3.0.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "7505d952fed9dc0c2a51f3d4f40eb007", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11363, "upload_time": "2021-06-09T15:47:29", "upload_time_iso_8601": "2021-06-09T15:47:29.960793Z", "url": "https://files.pythonhosted.org/packages/ad/47/a534a7378402c31f12ef389ff3c03f300f5d3e2867b6a8c385049e75ca00/dffml_feature_git-0.3.0.post0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "79720bbf04ecd23923ca437aaec931fa", "sha256": "e1991683fe053d4caf3ee82a4fc764ee190db80ccc019038191d94dd9d23f5f3" }, "downloads": -1, "filename": "dffml_feature_git-0.3.0.post0.tar.gz", "has_sig": false, "md5_digest": "79720bbf04ecd23923ca437aaec931fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8892, "upload_time": "2021-06-09T15:47:32", "upload_time_iso_8601": "2021-06-09T15:47:32.219900Z", "url": "https://files.pythonhosted.org/packages/f3/d6/7a924dad029609d41f139c9f25100d37223e0c5475c0502aabcdfb91b330/dffml_feature_git-0.3.0.post0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7505d952fed9dc0c2a51f3d4f40eb007", "sha256": "8473f37a8488406e45c9d8578b3a6d372756d44703e5cfad0a3894208ca44073" }, "downloads": -1, "filename": "dffml_feature_git-0.3.0.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "7505d952fed9dc0c2a51f3d4f40eb007", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11363, "upload_time": "2021-06-09T15:47:29", "upload_time_iso_8601": "2021-06-09T15:47:29.960793Z", "url": "https://files.pythonhosted.org/packages/ad/47/a534a7378402c31f12ef389ff3c03f300f5d3e2867b6a8c385049e75ca00/dffml_feature_git-0.3.0.post0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "79720bbf04ecd23923ca437aaec931fa", "sha256": "e1991683fe053d4caf3ee82a4fc764ee190db80ccc019038191d94dd9d23f5f3" }, "downloads": -1, "filename": "dffml_feature_git-0.3.0.post0.tar.gz", "has_sig": false, "md5_digest": "79720bbf04ecd23923ca437aaec931fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8892, "upload_time": "2021-06-09T15:47:32", "upload_time_iso_8601": "2021-06-09T15:47:32.219900Z", "url": "https://files.pythonhosted.org/packages/f3/d6/7a924dad029609d41f139c9f25100d37223e0c5475c0502aabcdfb91b330/dffml_feature_git-0.3.0.post0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }