{ "info": { "author": "Robert Williams", "author_email": "robertedwardwilliams@me.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# genealogy\n\nA package for recording genealogy in human and machine readable .json files. The .json file format has been chosen over the gedcom file format to enable better accessability and interoperability for the recorded data. The package will create .json records in the current working directory.\n\nDates are ISO format and require a year as the minumum. 'About' dates not accepted.\n\nRequires Python 3.7+.\n\n## Installation\n\n```\npip install genealogy\n```\n\n## Usage\n\nCreate a person\n\n```\n>>> p = genealogy.person()\n\n>>> p.create(fn=[\"Joe\"], ln=[\"BLOGGS\"], dob=\"1900-1-1\", pob=\"Town, County\")\n\n>>> p.print()\n{\n \"id\": \"a1b2c3\",\n \"last_names\": [\"BLOGGS\"],\n \"first_names\": [\"Joe\"],\n \"date_of_birth\": \"1900-1-1\",\n \"place_of_birth\": \"Town, County\",\n \"date_of_death\": null,\n \"place_of_death\": null,\n \"direct_relatives\": {\n \"ascendants\": [],\n \"descendants\": [],\n \"partners\": []\n },\n \"life_events\": [\n {\n \"start\": \"1900-1-1\",\n \"finish\": null,\n \"title\": \"Lifetime',\n \"description\": null,\n \"notes\": null,\n \"sources\": []\n }\n ]\n}\n\n>>> p.data['date_of_death'] = \"1970-1-1\"\n\n>>> p.save()\na1b2c3.json saved.\n```\n\n\nLoad a person\n\n```\n>>> p = genealogy.person(load='a1b2c3')\n\n>>> p.print()\n{\n \"id\": \"a1b2c3\",\n \"last_names\": [\"BLOGGS\"],\n \"first_names\": [\"Joe\"],\n \"date_of_birth\": \"1900-1-1\",\n \"place_of_birth\": \"Town, County\",\n \"date_of_death\": \"1970-1-1\",\n \"place_of_death\": null,\n \"direct_relatives\": {\n \"ascendants\": [],\n \"descendants\": [],\n \"partners\": []\n },\n \"life_events\": [\n {\n \"start\": \"1900-1-1\",\n \"finish\": null,\n \"title\": \"Lifetime',\n \"description\": null,\n \"notes\": null,\n \"sources\": []\n }\n ]\n}\n\n```\n\n\nAdd life event\n\n```\n>>> p = genealogy.person(load=\"a1b2c3\")\n\n>>> p.add_event(\n start=\"1900-1-1\",\n title=\"Birth\",\n description=\"Town, County\",\n notes=\"\",\n sources=[\n \"Birth Certificate of Joe BLOGGS dob 01/01/1900\"\n ])\n\n>>> p.save()\na1b2c3.json saved.\n\n>>> p.print()\n{\n \"id\": \"a1b2c3\",\n \"last_names\": [\"BLOGGS\"],\n \"first_names\": [\"Joe\"],\n \"date_of_birth\": \"1900-1-1\",\n \"place_of_birth\": \"Town, County\",\n \"date_of_death\": \"1970-1-1\",\n \"place_of_death\": null,\n \"direct_relatives\": {\n \"ascendants\": [],\n \"descendants\": [],\n \"partners\": []\n },\n \"life_events\": [\n {\n \"start\": \"1900-1-1\",\n \"finish\": null,\n \"title\": \"Lifetime',\n \"description\": null,\n \"notes\": null,\n \"sources\": []\n },\n {\n \"start\": \"1900-1-1\",\n \"finish\": null,\n title=\"Birth\",\n description=\"Town, County\",\n notes=\"\",\n \"sources\": [\n \"Birth Certificate of Joe BLOGGS dob 01/01/1900\"\n ]\n }\n ]\n}\n```\n\n\nEdit data\n\n```\n>>> p = genealogy.person(load=\"a1b2c3\")\n\n>>> p.data['life_events][0]\n{'start': None, 'finish': None, 'title': 'Lifetime', description': None, 'notes': None, 'sources': []}\n\n>>> p.data['life_events][0]['sources'].append(\"Birth Certificate of Joe BLOGGS dob 01/01/1900\")\n\n>>> p.save()\na1b2c3.json saved.\n\n>>> p.print()\n{\n \"id\": \"a1b2c3\",\n \"last_names\": [\"BLOGGS\"],\n \"first_names\": [\"Joe\"],\n \"date_of_birth\": \"1900-1-1\",\n \"place_of_birth\": \"Town, County\",\n \"date_of_death\": \"1970-1-1\",\n \"place_of_death\": null,\n \"direct_relatives\": {\n \"ascendants\": [],\n \"descendants\": [],\n \"partners\": []\n },\n \"life_events\": [\n {\n \"start\": \"1900-1-1\",\n \"finish\": null,\n \"title\": \"Lifetime\",\n \"description\": null,\n \"notes\": null,\n \"sources\": [\n \"Birth Certificate of Joe BLOGGS dob 01/01/1900\"\n ]\n },\n {\n \"start\": \"1900-1-1\",\n \"finish\": null,\n title=\"Birth\",\n description=\"Town, County\",\n notes=\"\",\n \"sources\": [\n \"Birth Certificate of Joe BLOGGS dob 01/01/1900\"\n ]\n }\n ]\n}\n```\n\n\nLink parent(s) and child\n\n```\n>>> genealogy.link_child(\n parents=[\"g4h5i6\", \"m7n8o9\"],\n child=\"a1b2c3\")\n\n>>> p = genealogy.person(load=\"a1b2c3\")\n\n>>> p.print()\n{\n \"id\": \"a1b2c3\",\n \"last_names\": [\"BLOGGS\"],\n \"first_names\": [\"Joe\"],\n \"date_of_birth\": \"1900-1-1\",\n \"place_of_birth\": \"Town, County\",\n \"date_of_death\": \"1970-1-1\",\n \"place_of_death\": null,\n \"direct_relatives\": {\n \"ascendants\": [\"g4h5i6\", \"m7n8o9\"],\n \"descendants\": [],\n \"partners\": []\n },\n \"life_events\": [\n {\n \"start\": \"1900-1-1\",\n \"finish\": null,\n \"title\": \"Lifetime\",\n \"description\": null,\n \"notes\": null,\n \"sources\": [\n \"Birth Certificate of Joe BLOGGS dob 01/01/1900\"\n ]\n },\n {\n \"start\": \"1900-1-1\",\n \"finish\": null,\n title=\"Birth\",\n description=\"Town, County\",\n notes=\"\",\n \"sources\": [\n \"Birth Certificate of Joe BLOGGS dob 01/01/1900\"\n ]\n }\n ]\n}\n\n```\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/kibaffo33/genealogy", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "genealogy", "package_url": "https://pypi.org/project/genealogy/", "platform": "", "project_url": "https://pypi.org/project/genealogy/", "project_urls": { "Homepage": "https://github.com/kibaffo33/genealogy" }, "release_url": "https://pypi.org/project/genealogy/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "A package for recording Genealogy.", "version": "0.0.3" }, "last_serial": 5380387, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "07b174ddfd3de81ecb6dfbfedf7e14d9", "sha256": "12bd59f64aece8cf4a9cdd53135b8ccfc9c833e4c59375df270fe8f0362db28d" }, "downloads": -1, "filename": "genealogy-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "07b174ddfd3de81ecb6dfbfedf7e14d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5091, "upload_time": "2019-05-09T12:09:53", "url": "https://files.pythonhosted.org/packages/f4/3d/2cb853eb6b9ee25714f1dd88c3b0c953f50fe0012eb43f7dac870dc5054c/genealogy-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10680afebe32a83a4125c196e5e73367", "sha256": "2702389421c61da23d77868734d1efd41ddb9f75155b0bb20d1d94fddf6beacb" }, "downloads": -1, "filename": "genealogy-0.0.1.tar.gz", "has_sig": false, "md5_digest": "10680afebe32a83a4125c196e5e73367", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4156, "upload_time": "2019-05-09T12:09:56", "url": "https://files.pythonhosted.org/packages/cc/6c/b27f221e71e5d72849ec8f2d0dc3a6bfdea5e542fab3e1b6c4774199fb48/genealogy-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "dc324c99e4b6e96d7bc7e23440375863", "sha256": "b1cdbdb9f7a8138d13346855b6c01a043b14129da0ef00a728ce3cc115641223" }, "downloads": -1, "filename": "genealogy-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dc324c99e4b6e96d7bc7e23440375863", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5288, "upload_time": "2019-05-13T20:59:03", "url": "https://files.pythonhosted.org/packages/34/bb/74b2a1bb4cacc7951aa8539aa0ce5767f8bc3d202f753aa9913688e2f56c/genealogy-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7df8d5e932128288aeffe9380ef9a80f", "sha256": "5a7a1cc12b3d0b57b0be1813218a86fee97b95f69ab1dd52ee5ff4959fe7e4ee" }, "downloads": -1, "filename": "genealogy-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7df8d5e932128288aeffe9380ef9a80f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4381, "upload_time": "2019-05-13T20:59:04", "url": "https://files.pythonhosted.org/packages/3c/8e/ddf3ab0ea7f15603355cd4e4efbc4bb65bd107bfe3a55dd7d672004233f5/genealogy-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a81b425038bc47f0323d43997e291aa5", "sha256": "cced91a032c086e3d8d453e91049c4ae05a5ac150ed63ea8e5a2d224221fb500" }, "downloads": -1, "filename": "genealogy-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a81b425038bc47f0323d43997e291aa5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4830, "upload_time": "2019-06-10T08:59:22", "url": "https://files.pythonhosted.org/packages/86/95/42598d99e45f23c7d1dae15eaad665b3273de5756d4061d7e48e6b7797ba/genealogy-0.0.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a81b425038bc47f0323d43997e291aa5", "sha256": "cced91a032c086e3d8d453e91049c4ae05a5ac150ed63ea8e5a2d224221fb500" }, "downloads": -1, "filename": "genealogy-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a81b425038bc47f0323d43997e291aa5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4830, "upload_time": "2019-06-10T08:59:22", "url": "https://files.pythonhosted.org/packages/86/95/42598d99e45f23c7d1dae15eaad665b3273de5756d4061d7e48e6b7797ba/genealogy-0.0.3-py3-none-any.whl" } ] }