{ "info": { "author": "Ken Kundert", "author_email": "postmortem@nurdletech.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "PostMortem: Generates Packets of Useful Information for Partners and Dependents to be Opened Upon Death\n=======================================================================================================\n\n| Version: 0.3.0\n| Released: 2019-04-28\n|\n\n*PostMortem* works with `Avendesora `_ to \nproduce packets of information for partners and dependents to help them carry on \nafter your death or incapacitation. Primarily *PostMortem* queries *Avendesora* \nto produce an encrypted document that contains information about all of your \nessential accounts including security credentials such as usernames and \npasscodes. It also can include related pre-prepared documents such as the legal \ndocuments that establish and control your estate.\n\nYour partners and dependents do not need *PostMortem* or *Avendesora* to access \ntheir documents, however they must be capable of using *GPG* and have a GPG \nencryption key. However, if they do use happen to use *Avendesora*, they can \nimport the accounts you shared with them directly into *Avendesora*.\n\nPlease report all bugs and suggestions to postmortem@nurdletech.com\n\nGetting Started\n---------------\n\nYou download and install *PostMortem* with::\n\n pip3 install --user postmortem\n\nOnce installed, you will need a configuration file. The file is: \n~/.config/postmortem/config and should contain the following fields.\n\nmy_gpg_ids:\n\n A string that contains an identifier for your GPG key. This could be your \n email address or a GPG ID. The output files will be encrypted with this key \n as well as the keys of the intended recipients.\n\nname_template:\n\n A python format string that specifies how the packet directory should be \n named. It can include two named parameters, *name* and *now*. *name* is the \n name of a recipient and now is and Arrow time object.\n\nrecipients:\n\n A dictionary of dictionary that contains preferences for each of the \n recipients.\n\nHere is an example config file::\n\n my_gpg_ids = 'odin@norse-gods.com'\n name_template = '{name}-{now:YYMMDD}'\n\n recipients = dict(\n frigg = dict(\n email = 'frigg@norse-gods.com',\n category = 'wife',\n extras = [\n '~/home/finances/estate\n ],\n networth = True,\n ),\n thor = dict(\n email = 'thor@norse-gods.com',\n category = 'kids',\n extras = [\n '~/home/finances/estate\n ],\n ),\n loki = dict(\n email = 'loki@norse-gods.com',\n category = 'kids',\n extras = [\n '~/home/finances/estate\n ],\n ),\n )\n\nTwo encrypted files are created for each recipient, one is an encrypted text \nfile that contains your account information, the other is an encrypted \nAvendesora account file. Both of these files contain the same information. Each \nrecipient should have an *email* or *gpg_id* that is associated with a known GPG \nkey. Each recipient should also belong to a category. Your Avendesora accounts \nare searched for a field named *postmortem_recipients*, which is a string or \nlist. The account is included in the packet if the recipients category is \ncontained in *postmortem_recipients*. *extras* is a list of files or \ndirectories that are also included in the packet. Finally, if *networth* is \nspecified and is True, then a networth summary is also included. *networth* may \nalso be a profile name for the networth command, in which case that profile is \nused. The networth command is available from `Cryptocurrency \n`_.\n\n\nRunning PostMortem\n------------------\n\nYou can generate a packet for a particular recipient using::\n\n postmortem thor\n\nThis creates the encrypted file that contains the packet. The packet can be \nextracted with::\n\n gpg -d -o thor-190101.tgz thor-190101.tgz.gpg\n tar zxf thor-190101.tgz\n\nor, in a single step using::\n\n gpg -d -o - thor-190101.tgz.gpg | tar zxf -\n\nYou can have *PostMortem* send the packet directly using email if *email* is \ngiven in the configuration file using::\n\n postmortem -s thor\n\nFinally, if you do not specify a recipient, packets are created for all known \nrecipients.\n\n\nImporting Accounts into Avendesora\n----------------------------------\n\nOnce you have extracted the files from a packet you will see a file named \n*avendesora_acounts.gpg*. This is an *Avendesora* accounts file. If you use \n*Avendesora* you can import the accounts using these two steps:\n\n1. Copy the file into your *Avendesora* accounts directory. You may rename the \n file, but keep the extension the same. For example::\n\n mv avendesora_acounts.gpg ~/.config/avendesora/parents.gpg\n\n2. Edit the *Avendesora* accounts file and add your new file to the \n *accounts_files* list::\n\n vi ~/.config/avendesora/accounts_files\n\nOnce you have done this you may find that there are conflicting names or aliases \nfor your *Avendesora* accounts. For example, if both you and your parents use \n*Nordea* bank, the name *nordea* might conflict. In this case you should adjust \nthe names and aliases used in your newly imported accounts file. None of the \nsecrets in the imported file are generated, and so change the account names in \nthis file will change the underlying secrets.", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/kenkundert/postmortem/tarball/master", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kenkundert/postmortem", "keywords": "postmortem", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "postmortem", "package_url": "https://pypi.org/project/postmortem/", "platform": "", "project_url": "https://pypi.org/project/postmortem/", "project_urls": { "Download": "https://github.com/kenkundert/postmortem/tarball/master", "Homepage": "https://github.com/kenkundert/postmortem" }, "release_url": "https://pypi.org/project/postmortem/0.3.0/", "requires_dist": null, "requires_python": ">=3.6", "summary": "Produces a package of information for dependents and partners to be opened upon death.", "version": "0.3.0" }, "last_serial": 5200943, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "0844bd18ee0accd8defd5918b0a2411b", "sha256": "6c670607db5d145cf2b2a973121e602aef04e992c3d11c00621a642a47a82eaa" }, "downloads": -1, "filename": "postmortem-0.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "0844bd18ee0accd8defd5918b0a2411b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6", "size": 8060, "upload_time": "2019-01-04T05:37:11", "url": "https://files.pythonhosted.org/packages/40/41/1beff6e74a0c5a010eea1bedb938e21d9ae5e2f492a7c1432d85cb777e92/postmortem-0.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8432532a7cada40fc9fc87a9e40ba95d", "sha256": "4fc489eeb18049c43e8a68ecac5c7c0583ef3eac126a4dfd1db3759dc3cfe09c" }, "downloads": -1, "filename": "postmortem-0.0.0.tar.gz", "has_sig": false, "md5_digest": "8432532a7cada40fc9fc87a9e40ba95d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5560, "upload_time": "2019-01-04T05:37:13", "url": "https://files.pythonhosted.org/packages/bd/0f/798674da7d3f0b8e9aef46a1ed5b231360faf2c3ae0ae176c1e97e03c8ac/postmortem-0.0.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "05dd878688f3324b99e3d77dc6c39912", "sha256": "3c477907e7735353ea301b506af2f4e314d334fccbbd3d9e55e795c5e5becc3e" }, "downloads": -1, "filename": "postmortem-0.2.0.tar.gz", "has_sig": false, "md5_digest": "05dd878688f3324b99e3d77dc6c39912", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5568, "upload_time": "2019-03-23T18:37:25", "url": "https://files.pythonhosted.org/packages/d8/8a/2a8e17646cb292e3c1c96e05cb143494c085402c837440774faf749e918d/postmortem-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "bd80330f4cb241231dcf36d56910ffad", "sha256": "21309db4df679d2888d6dab15bd13d30c0e27b31674e5e1e20519bb9c761db13" }, "downloads": -1, "filename": "postmortem-0.3.0.tar.gz", "has_sig": false, "md5_digest": "bd80330f4cb241231dcf36d56910ffad", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6962, "upload_time": "2019-04-28T22:23:58", "url": "https://files.pythonhosted.org/packages/99/f5/c79019bf7a71c7bbda0bdcadb7ec3761281c2955efca254fe932686d06cf/postmortem-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bd80330f4cb241231dcf36d56910ffad", "sha256": "21309db4df679d2888d6dab15bd13d30c0e27b31674e5e1e20519bb9c761db13" }, "downloads": -1, "filename": "postmortem-0.3.0.tar.gz", "has_sig": false, "md5_digest": "bd80330f4cb241231dcf36d56910ffad", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6962, "upload_time": "2019-04-28T22:23:58", "url": "https://files.pythonhosted.org/packages/99/f5/c79019bf7a71c7bbda0bdcadb7ec3761281c2955efca254fe932686d06cf/postmortem-0.3.0.tar.gz" } ] }