{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "Two-way synchronization between a folder and its ciphertext\n===========================================================\n\n.. image:: https://img.shields.io/pypi/v/syncrypto.svg\n :target: https://pypi.python.org/pypi/syncrypto/\n :alt: Latest Version\n\n.. image:: https://travis-ci.org/liangqing/syncrypto.svg?branch=master\n :target: https://travis-ci.org/liangqing/syncrypto\n :alt: Build And Test Status\n\n.. image:: https://codecov.io/github/liangqing/syncrypto/coverage.svg?branch=master\n :target: https://codecov.io/github/liangqing/syncrypto?branch=master\n :alt: Code Coverage\n\n.. image:: https://landscape.io/github/liangqing/syncrypto/master/landscape.svg?style=flat\n :target: https://landscape.io/github/liangqing/syncrypto/master\n :alt: Code Health\n\nIntroduction\n============\nYou can use ``syncrypto`` to encrypt a folder to another folder which contains the\ncorresponding encrypted content.\n\nThe most common scenario is\\:\n\n.. code-block:: text\n\n syncrypto syncrypto\n plaintext folder A <-------------> encrypted folder B <-----------> plaintext folder C\n in machine X in cloud storage in machine Y\n\nThe files in encrypted folder B are encrypted, so you can store it in any unsafe\nenvironment, such as cloud service(Dropbox/OneDrive), USB storage or any other\nstorage that you can not control.\n\nEach plaintext file has a corresponding encrypted file in the encrypted folder,\nso if you modify one file in plaintext folder, there will be only one file\nmodified in the encrypted folder after synchronization. This make sure the\nsynchronization only changes the necessary content in encrypted folder, and is\nvery useful for file based cloud storage service to synchronizing minimal contents.\n\n**The synchronization is two-way**, files not only syncing from plain text folder to\nencrypted folder, but also syncing from encrypted folder to plain text folder.\n``syncrypto`` will choose the newest file.\n\nIf conflict happens, ``syncrypto`` will rename the plaintext file(add 'conflict'\nword in it), and sync the encrypted file.\n\n``syncrypto`` never delete files, if files or folders should be deleted or over\nwritten by the syncing algorithm, ``syncrypto`` just move the files or folders\nto the trash, the trash in encrypted folder located at _syncrypto/trash,\nat .syncrypto/trash in plaintext folder. Files in encrypted folder's trash are\nalso encrypted. You can delete any files in trash in any time if you make sure\nthe files in it are useless.\n\n\nInstallation\n============\n\nSupport Platform\n----------------\n\n``syncrypto`` supports both python 2 and python 3, and is tested_ in\\:\n\n.. _tested: https://travis-ci.org/liangqing/syncrypto\n\n* python 2.6\n* python 2.7\n* python 3.3\n* python 3.4\n* python 3.5\n\nAnd support Linux, OS X, Windows operating systems\n\nInstall Dependencies\n--------------------\n\n**If you are using windows, just jump to next**\n\nBecause ``syncrypto`` rely on cryptography_ , so need to install some\ndependencies before install ``syncrypto``\\:\n\n.. _cryptography: https://github.com/pyca/cryptography\n\nFor Debian and Ubuntu, the following command will ensure that the required\ndependencies are installed\\:\n\n.. code-block::\n\n sudo apt-get install build-essential libssl-dev libffi-dev python-dev\n\n\nFor Fedora and RHEL-derivatives, the following command will ensure that the\nrequired dependencies are installed\\:\n\n.. code-block::\n\n sudo yum install gcc libffi-devel python-devel openssl-devel\n\nFor OS X, run\\:\n\n.. code-block::\n\n xcode-select --install\n\n\nInstall And Update By pip\n-------------------------\n\nAfter installing all dependencies, you can install ``syncrypto`` by pip_ \\:\n\n.. _pip: https://pip.pypa.io/en/latest/installing.html\n\n.. code-block::\n\n pip install syncrypto\n\nor update by\\:\n\n.. code-block::\n\n pip install -U syncrypto\n\nUsage\n=====\n\nSynchronization\n---------------\n\n.. code-block::\n\n syncrypto [encrypted folder] [plaintext folder]\n\nIt will prompt you to input a password, if the encrypted folder is empty,\nthe input password will be set to the encrypted folder, or it will be used\nto verify the password you set before (take it easy, ``syncrypto`` never store\nplaintext password)\n\nIf you don't want input password in interactive mode, you can use --password-file\noption\\:\n\n.. code-block::\n\n syncrypto [encrypted folder] [plaintext folder] --password-file [password file path]\n\nThe password file contains the password in it.\n\nNotice that the first argument is encrypted folder, and the second one is\nplaintext folder.\n\n\nAdd rule for Synchronization\n----------------------------\n\nSometimes, it is unnecessary to encrypt and sync some files\n(for example, some temporary files),\nif you want ignore these files, you can add rule\\:\n\n.. code-block::\n\n syncrypto [encrypted folder] [plaintext folder] --rule 'ignore: name match *.swp'\n\nthe command above ignores files which name matches \\*.swp\n\nYou can add rules multiple times\\:\n\n.. code-block::\n\n syncrypto [encrypted folder] [plaintext folder] --rule 'include: name eq README.md' --rule 'ignore: name match *.md'\n\nthe command above ignores files matching \"\\*.md\" but includes files named \"README.md\".\n\nThe rules are ordered, it means that the rules in front have higher priority than\nlater, if a rule matches, the matching process will returned immediately.\n\nYou can add rules in a file looks like\\:\n\n.. code-block::\n\n include: name eq README.md\n\n # ignore all markdown files, this is a comment\n ignore: name match *.md\n\nand use the rules by \"--rule-file\" option\\:\n\n.. code-block::\n\n syncrypto [encrypted folder] [plaintext folder] --rule-file [rule file path]\n\nthe default rule file path is \"[plaintext folder]/.syncrypto/rules\", so you can\nadd rules in \"[plaintext folder]/.syncrypto/rules\", and don't need specify the\n\"--rule-file\" option explicitly.\n\nIf you give some rules in command line, and write some rules in rule file at\nthe same time, the rules in command line will have higher priority than rules\nin file.\n\nThe format of a rule\\:\n\n.. code-block::\n\n [action]: [file attribute] [operand] [value]\n\n``action`` can be ``include``, ``exclude``, ``ignore``\n\n``include`` means the file matching the rule will syncing, ``exclude`` means the\nfile matching the rule will not syncing.\n\n``ignore`` equals ``exclude``.\n\n``syncrypto`` supports a lot of file attributes while matching rules, the complete\nlist is\\:\n\n* ``name``, the name of the file, include file extension.\n* ``path``, the relative path from the root of the plaintext folder.\n* ``size``, the size of the file\n* ``ctime``, the change time of the file, (in windows, it is creation time)\n* ``mtime``, the modification time of the file\n\noperands\\:\n\n* ``eq``, ``==``\n* ``gt``, ``>``\n* ``lt``, ``<``\n* ``gte``, ``>=``\n* ``lte``, ``<=``\n* ``ne``, ``!=``, ``<>``\n* ``match``, match by glob, for example, \"\\*.md\" matches all files end with \"md\"\n* ``regexp``, perform a regular expression match\n\nThe unit of value in ``size`` rules are \"byte\" by default, you can also use\n\"K\", \"M\" \"G\", for example specify the value \"2K\" means 2048 bytes\n\nThe format of value in ``ctime``, ``mtime`` is \"%Y-%m-%d %H:%M:%S\"\n\nEncrypt a file\n--------------\n\n.. code-block::\n\n syncrypto --encrypt-file [plaintext file path]\n\nThis command will encrypt the plaintext file to its parent folder with the filename\nadd a \"encrypted\" word\n\nYou can also specify the target encrypted file by --out-file option, such as\\:\n\n.. code-block::\n\n syncrypto --encrypt-file [plaintext file path] --out-file [encrypted file path]\n\nDecrypt a file\n--------------\n\n.. code-block::\n\n syncrypto --decrypt-file [encrypted file path]\n\nThis command will decrypt the encrypted file to **current working directory**\n\nYou can also specify the target plaintext file by --out-file option, such as\\:\n\n.. code-block::\n\n syncrypto --decrypt-file [encrypted file path] --out-file [plaintext file path]\n\n\nChange the password\n-------------------\n\n.. code-block::\n\n syncrypto --change-password [encrypted folder]\n\nChange the password of the encrypted folder, this will re-encrypt all files within\nthe encrypted folder\n\n\nShow the help\n-------------\n\n.. code-block::\n\n syncrypto -h\n\n\nLicense\n=======\n\nApache License, Version 2.0\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "syncrypto", "package_url": "https://pypi.org/project/syncrypto/", "platform": null, "project_url": "https://pypi.org/project/syncrypto/", "project_urls": null, "release_url": "https://pypi.org/project/syncrypto/0.4.2/", "requires_dist": null, "requires_python": "", "summary": "", "version": "0.4.2" }, "last_serial": 2233046, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "6732aa5a93bf996a6ca41da45d78c8bb", "sha256": "eb03f48f34c58420e3c96c96cb839a66f21cf0baefdeb3e2d087008357f99d79" }, "downloads": -1, "filename": "syncrypto-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "6732aa5a93bf996a6ca41da45d78c8bb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10641, "upload_time": "2015-08-20T15:53:03", "url": "https://files.pythonhosted.org/packages/31/34/618066bc469cb84ec783dff24b830e2e50781ec702f227a9e166be770415/syncrypto-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f33975d5c81e581b2edf83dad9ac4e04", "sha256": "1671d1ed692783210efd8ddadbdbe6e7ab69129891a7adfc553e006371a8e7d9" }, "downloads": -1, "filename": "syncrypto-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f33975d5c81e581b2edf83dad9ac4e04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8203, "upload_time": "2015-08-20T15:53:12", "url": "https://files.pythonhosted.org/packages/f7/97/602bbe5a3a372fc11d20151e72b4548e6eafd52c43873da47e5eb82f1bd7/syncrypto-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "53fa2e80b26a0181c9139bf1aacb4bbe", "sha256": "3b2b67e7f33a397db8d7e5c3656673265e47a55192104e19f4e039cd687578e2" }, "downloads": -1, "filename": "syncrypto-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "53fa2e80b26a0181c9139bf1aacb4bbe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13730, "upload_time": "2015-08-30T16:56:16", "url": "https://files.pythonhosted.org/packages/5a/da/eeb9fda6a2aa32389184c64af74fa68f6505b210109d3509928d950334e3/syncrypto-0.0.2-py2-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "53939acdb564da33a4496d8be8117370", "sha256": "5bf5f29c126c0fb34ed7f349cfa040a87b86e7aa8cb02905cfeda4ad43c00e10" }, "downloads": -1, "filename": "syncrypto-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "53939acdb564da33a4496d8be8117370", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13877, "upload_time": "2015-09-01T15:13:08", "url": "https://files.pythonhosted.org/packages/7c/85/21859ff6fbfdba72765da9752171f5ffc88035a6e85e5d73f752dceaec91/syncrypto-0.0.3-py2-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "b802371bed04df10ff6f40da0b505b09", "sha256": "f4b831b663d0bfc65efbc2656ca038259a1d3a3386139096eb8b70b401e68933" }, "downloads": -1, "filename": "syncrypto-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "b802371bed04df10ff6f40da0b505b09", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13879, "upload_time": "2015-09-01T15:39:06", "url": "https://files.pythonhosted.org/packages/57/82/087eedc16a0abda7a88e8d3f96e54bb9c8903a99bc88a9a96a96d7abd57e/syncrypto-0.0.4-py2-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "af65e9610e892e91057d8085d692ee1d", "sha256": "c20d43077677393c688ea0e26f356f79416f22b24875ef671a3ff75f1b6b08d9" }, "downloads": -1, "filename": "syncrypto-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "af65e9610e892e91057d8085d692ee1d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14037, "upload_time": "2015-09-02T00:42:53", "url": "https://files.pythonhosted.org/packages/bc/20/970fef7d87683663183033eaad809a58655b8884f3a29337e55eb83beba0/syncrypto-0.0.5-py2-none-any.whl" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "2a9d58fb7d1629a921a4d5aa0bae7b1a", "sha256": "214f1a1ecbe82a43828b7c71d5b7a08225fa16cf889b6649576c353ce37edb5d" }, "downloads": -1, "filename": "syncrypto-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "2a9d58fb7d1629a921a4d5aa0bae7b1a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14396, "upload_time": "2015-09-03T01:42:33", "url": "https://files.pythonhosted.org/packages/f9/d8/f7b3fedaec61f8368207297e0f1e14d13581e78f751c5285439a70408814/syncrypto-0.1.0-py2-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f94619d4c9e30d459ca9147179a5e2d8", "sha256": "539af11c97f9c18defd19b58b675ad82becbc40e60c740e2cfa79682364bbd60" }, "downloads": -1, "filename": "syncrypto-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f94619d4c9e30d459ca9147179a5e2d8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14405, "upload_time": "2015-09-03T03:16:49", "url": "https://files.pythonhosted.org/packages/d6/5a/b45096a006ca08b010e9ad2a731ce3f80aa70298e96faa9ac0e8c80f1a69/syncrypto-0.1.1-py2-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "789d148baa07aa6c0b5f025d88a60d90", "sha256": "3d78ae1c78db497ad4d50b9e955545de3ad6e84b63e99e1a14e239ef625171c3" }, "downloads": -1, "filename": "syncrypto-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "789d148baa07aa6c0b5f025d88a60d90", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14511, "upload_time": "2015-09-04T16:03:27", "url": "https://files.pythonhosted.org/packages/36/40/6f242313582796d2b5ecfc9b27ce2493d2797fcf09ffc4396ad744ef7947/syncrypto-0.1.2-py2-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c86bf9238f1b252ff22254c611252f55", "sha256": "9436f3d2a6af16c02e8e13e1991d6bdc0248d2db9729bcf29eb182377558669d" }, "downloads": -1, "filename": "syncrypto-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "c86bf9238f1b252ff22254c611252f55", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14542, "upload_time": "2015-09-04T16:10:47", "url": "https://files.pythonhosted.org/packages/09/40/67577a5365749e61b327ce68576f73e25954ac2893974d2c4b044d354a56/syncrypto-0.1.3-py2-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "df9cd630247de9e9d5869d643fa3a6af", "sha256": "630931847838ea390309c32169e1aec1dc7331d5b504a64690e5e50481cf6a48" }, "downloads": -1, "filename": "syncrypto-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df9cd630247de9e9d5869d643fa3a6af", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17874, "upload_time": "2015-09-10T15:29:43", "url": "https://files.pythonhosted.org/packages/ec/13/0583f4451e2d295c61eda39f133dd0d7e0af7b658cbca5df4431950cb901/syncrypto-0.1.4-py2.py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "aa35fa8fa1564a45b86417fd2e83e4cd", "sha256": "92c93c38f4e058ec63d014f86ec164e883a04d4ca357bc5a16af005422a62950" }, "downloads": -1, "filename": "syncrypto-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aa35fa8fa1564a45b86417fd2e83e4cd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18032, "upload_time": "2015-09-11T14:10:06", "url": "https://files.pythonhosted.org/packages/f1/97/d93d3d4fa6806aac0417b7a759fef75b5bd829ec7c1d308bbe256388d1d5/syncrypto-0.2.0-py2.py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "7739a22f1f0403fc998e439b40b9ad82", "sha256": "a1dbc5149bdc657b29e581c6aad348558d9b091421fe5b99549ffd39d577181f" }, "downloads": -1, "filename": "syncrypto-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7739a22f1f0403fc998e439b40b9ad82", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18045, "upload_time": "2015-09-11T14:47:52", "url": "https://files.pythonhosted.org/packages/12/4a/40de4d2e6cbfa6d923bf78892f6b3228cfecfa7c3b5ed49cda79ae238c87/syncrypto-0.2.1-py2.py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "5d13dacdddb97aaf08f8b9bf9a1e5cd0", "sha256": "89f42fc51abe9f1275576a7fa54388fcd9f3dac559d8781aa3b086dff327f702" }, "downloads": -1, "filename": "syncrypto-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d13dacdddb97aaf08f8b9bf9a1e5cd0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20629, "upload_time": "2015-09-13T19:11:44", "url": "https://files.pythonhosted.org/packages/c8/50/d16b02f74e8e9877316ca53b18ccd4931c709fe58d96afa0609d7123f87c/syncrypto-0.3.0-py2.py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "29c09c2dcd2893984bc5286b2a4f782d", "sha256": "0eba396d4fbebf7d1ff2e7b800700d4e50232e7c29a2992d6343077b02386472" }, "downloads": -1, "filename": "syncrypto-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "29c09c2dcd2893984bc5286b2a4f782d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20644, "upload_time": "2015-09-14T01:23:26", "url": "https://files.pythonhosted.org/packages/f2/52/eea7eb58263c909fb058274c3caed1556afc561ae1a635d70e6603d8c09a/syncrypto-0.3.1-py2.py3-none-any.whl" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "97a508e5cb02968680a804f462319866", "sha256": "4fd5f2bbe4610f9fcb527250ef7b6475d5d1cb4ad506eed2daca277438a09dd5" }, "downloads": -1, "filename": "syncrypto-0.3.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "97a508e5cb02968680a804f462319866", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22557, "upload_time": "2015-09-18T16:05:49", "url": "https://files.pythonhosted.org/packages/5c/99/69b3924f3bc1f5a591e83c45c860ff591aa8dd9690bb80608cd2697aeed3/syncrypto-0.3.10-py2.py3-none-any.whl" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "bda8fa55b66dd14eaf8dc3e506c36b90", "sha256": "ae61aec1830da2f31a4710ca6d2bfc123585391faddc7539f0f702c81ad1911d" }, "downloads": -1, "filename": "syncrypto-0.3.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bda8fa55b66dd14eaf8dc3e506c36b90", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23775, "upload_time": "2015-09-19T08:02:41", "url": "https://files.pythonhosted.org/packages/2e/e7/84952f65e06fb83e732c3b702647a09e5bcbc7b44365c04cbc89121fe1bb/syncrypto-0.3.11-py2.py3-none-any.whl" } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "3297b744f4533dc45420baaf953f90ba", "sha256": "0f155215770cbdf42f09b1ffcbc477ebfd6fda3e05b60c4509fa851c1f9a1d31" }, "downloads": -1, "filename": "syncrypto-0.3.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3297b744f4533dc45420baaf953f90ba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23770, "upload_time": "2015-09-19T08:16:28", "url": "https://files.pythonhosted.org/packages/f9/37/e6bdd279545a3e15f98079cd90c31a5cc63dfbbfea6615d45f12ae49d79b/syncrypto-0.3.12-py2.py3-none-any.whl" } ], "0.3.13": [ { "comment_text": "", "digests": { "md5": "28ea1f6751622870b1d14ced56978f80", "sha256": "8c469f153143790871d6878c4790270f58d3c64e447cb3de830637b6c4f33a90" }, "downloads": -1, "filename": "syncrypto-0.3.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "28ea1f6751622870b1d14ced56978f80", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23807, "upload_time": "2015-09-20T01:57:32", "url": "https://files.pythonhosted.org/packages/03/93/76740a4004f1dc472582491bacd65ae458b1314335b6f51eed4aa3292090/syncrypto-0.3.13-py2.py3-none-any.whl" } ], "0.3.14": [ { "comment_text": "", "digests": { "md5": "cc51eb449982a061df12bf3c7f14eaec", "sha256": "4e85177dd290eff4299f81f659924f2a203587974a3962e10ccd53c0babe999e" }, "downloads": -1, "filename": "syncrypto-0.3.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cc51eb449982a061df12bf3c7f14eaec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23850, "upload_time": "2015-09-20T06:22:49", "url": "https://files.pythonhosted.org/packages/40/b8/2a6752ee983a28b242b2a1a436d349e05a0a3e91f2620277d2180e0ab8d6/syncrypto-0.3.14-py2.py3-none-any.whl" } ], "0.3.15": [ { "comment_text": "", "digests": { "md5": "3d2486e9dc2047a2e12c032580f72857", "sha256": "772b2993c1c1d55fe4662225f089d319de4750afc51610f5d0bc658eea73afbf" }, "downloads": -1, "filename": "syncrypto-0.3.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d2486e9dc2047a2e12c032580f72857", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23891, "upload_time": "2015-09-20T11:07:50", "url": "https://files.pythonhosted.org/packages/3e/c4/c7ae1dc1871fb1cb3e9b692e8e661f87fbc3bb566b6b3f130f8da505486f/syncrypto-0.3.15-py2.py3-none-any.whl" } ], "0.3.16": [ { "comment_text": "", "digests": { "md5": "4c112957d960c25b18802ce3d1f66479", "sha256": "22e49bb917e84684b6cc97256e536bb170fd715e2d72cf0f4dab42d32aa10364" }, "downloads": -1, "filename": "syncrypto-0.3.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c112957d960c25b18802ce3d1f66479", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23895, "upload_time": "2015-09-20T11:19:12", "url": "https://files.pythonhosted.org/packages/fa/3b/57c6e078195537bb69b95ed8f028f53ff1fea0e832a31680b264bb6cb07f/syncrypto-0.3.16-py2.py3-none-any.whl" } ], "0.3.17": [ { "comment_text": "", "digests": { "md5": "2970d5452074d455f852e08a10c5d366", "sha256": "360628897cc63960ba1906a036cfdab493e5e2188a12304ba4c96c66a32d4d95" }, "downloads": -1, "filename": "syncrypto-0.3.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2970d5452074d455f852e08a10c5d366", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23981, "upload_time": "2015-09-20T12:27:29", "url": "https://files.pythonhosted.org/packages/d7/01/5bedea948bf3998d25e94085637594c571edb43f4ae1ed26db6751c739ab/syncrypto-0.3.17-py2.py3-none-any.whl" } ], "0.3.18": [ { "comment_text": "", "digests": { "md5": "98b0f77a430e89bababb05dbcdd92cac", "sha256": "bc782258c169d0edff98ab89d4dc4ac172ca0238cfe59e5063487f093804a337" }, "downloads": -1, "filename": "syncrypto-0.3.18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "98b0f77a430e89bababb05dbcdd92cac", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24001, "upload_time": "2015-09-20T12:33:04", "url": "https://files.pythonhosted.org/packages/ce/56/6dcf04f1b91cb40aefff05be1c2d060a9ea8a1dbd0e52afbfb984084ea84/syncrypto-0.3.18-py2.py3-none-any.whl" } ], "0.3.19": [ { "comment_text": "", "digests": { "md5": "a929357a9535f9368083255017896878", "sha256": "81b2c787dcd626bcb7caf5f5f7af3c89792624391def17a2bb5852c0a0bcf5a0" }, "downloads": -1, "filename": "syncrypto-0.3.19-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a929357a9535f9368083255017896878", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23997, "upload_time": "2015-09-20T12:43:01", "url": "https://files.pythonhosted.org/packages/82/5f/b65cd22f7037670f01fa755b5b24a92dfba5f5465cfa30fdac3a32ad2775/syncrypto-0.3.19-py2.py3-none-any.whl" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "b05743d003c51b1f96a88213e37a51e1", "sha256": "50dbc392ba6a879496fe62b985130c81765a918651e31cbf71e0e07a4d725ed8" }, "downloads": -1, "filename": "syncrypto-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b05743d003c51b1f96a88213e37a51e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22297, "upload_time": "2015-09-14T15:37:35", "url": "https://files.pythonhosted.org/packages/11/c3/82eaa73cdba05a40207cef1cfef8510cd68bf8dbd0aed8af1edca255ca5d/syncrypto-0.3.2-py2.py3-none-any.whl" } ], "0.3.20": [ { "comment_text": "", "digests": { "md5": "246633ec5a78217a3e1018405dcd8ce2", "sha256": "06153d352c9c69369439e9169abb93382c0594919f43bf8a379be061bc3ddeca" }, "downloads": -1, "filename": "syncrypto-0.3.20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "246633ec5a78217a3e1018405dcd8ce2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24035, "upload_time": "2015-09-20T12:56:57", "url": "https://files.pythonhosted.org/packages/25/44/3cf1569b1f8b3041c9487daff4f0130fcfef4f77941855c7f3538309f8f5/syncrypto-0.3.20-py2.py3-none-any.whl" } ], "0.3.21": [ { "comment_text": "", "digests": { "md5": "0528f7b482b48809d6d43eff96a667c3", "sha256": "2fd836974c8e33f433866e355f7c82b9e3a194d6068d479b81be27f0cb787511" }, "downloads": -1, "filename": "syncrypto-0.3.21-py2-none-any.whl", "has_sig": false, "md5_digest": "0528f7b482b48809d6d43eff96a667c3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 24094, "upload_time": "2015-09-21T15:17:59", "url": "https://files.pythonhosted.org/packages/1e/9c/3f824e3e8f880e07d849635cd892905502291e8a52c432a9f0bb2ef9c620/syncrypto-0.3.21-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e8cdffdd28b096f5b2bbe3a14e143d7", "sha256": "58d41f6cd35280bfbc875302cf98e62f3619f369d622264024cdcec8890f418b" }, "downloads": -1, "filename": "syncrypto-0.3.21-py3-none-any.whl", "has_sig": false, "md5_digest": "3e8cdffdd28b096f5b2bbe3a14e143d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24091, "upload_time": "2015-09-21T15:18:03", "url": "https://files.pythonhosted.org/packages/f8/b9/355771e15e0506c2ba22f1bcae7614bad11954dc59d6ce4dae4740a99cd0/syncrypto-0.3.21-py3-none-any.whl" } ], "0.3.22": [ { "comment_text": "", "digests": { "md5": "ca453a1bdb556265ed86cbf857919fd6", "sha256": "ad702518a41b3d76100e7898e119b87cbf3047eb20fbd32a8f4705b5330da5bc" }, "downloads": -1, "filename": "syncrypto-0.3.22-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ca453a1bdb556265ed86cbf857919fd6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24147, "upload_time": "2015-09-21T15:24:03", "url": "https://files.pythonhosted.org/packages/fa/ef/18286fb214fbcc829034aad20658c992d186a3d6665902d6e60158992355/syncrypto-0.3.22-py2.py3-none-any.whl" } ], "0.3.23": [ { "comment_text": "", "digests": { "md5": "03cc432499feff75cca1989c15fa16b0", "sha256": "931a5a67fe3b430751984568bd9e5481dbf51aae9ec0e7baae2b145a18d68c1a" }, "downloads": -1, "filename": "syncrypto-0.3.23-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03cc432499feff75cca1989c15fa16b0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24282, "upload_time": "2015-09-22T13:46:42", "url": "https://files.pythonhosted.org/packages/43/f3/4773e94650cfb4d2e55479bcaeb3f3dcc1987479c7548aacf93bc4e64912/syncrypto-0.3.23-py2.py3-none-any.whl" } ], "0.3.24": [ { "comment_text": "", "digests": { "md5": "4da24f2afb85598ab289b4167f2f3f24", "sha256": "0d229cbb6305ea2169bda36c8213feb1c95b2a80a5268a43f06e1bdf64133e8b" }, "downloads": -1, "filename": "syncrypto-0.3.24-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4da24f2afb85598ab289b4167f2f3f24", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24290, "upload_time": "2015-09-22T14:16:39", "url": "https://files.pythonhosted.org/packages/ad/42/4b609484c2719e33c7fcd9c2769c78dfcab6b71654cfba5aebf8cd0e91a1/syncrypto-0.3.24-py2.py3-none-any.whl" } ], "0.3.25": [ { "comment_text": "", "digests": { "md5": "0ee0eb201a9c38ad6790a2b54b69b140", "sha256": "42cc0b1a9d9d0d70dd48bb8f49a422043725cfff14bf95faf49da3acd7cf2486" }, "downloads": -1, "filename": "syncrypto-0.3.25-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0ee0eb201a9c38ad6790a2b54b69b140", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24292, "upload_time": "2015-09-23T13:08:24", "url": "https://files.pythonhosted.org/packages/7b/c1/61108343a5ae9f58c5692f4e23d4839ecedd3468f19e7eba4a22435bd1fc/syncrypto-0.3.25-py2.py3-none-any.whl" } ], "0.3.26": [ { "comment_text": "", "digests": { "md5": "674030c3013ad831263e7dadda243b14", "sha256": "7715b5a14ace8d0d12a168f38444d1b1328a27065c1fd0e01e04d967fee58840" }, "downloads": -1, "filename": "syncrypto-0.3.26-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "674030c3013ad831263e7dadda243b14", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24276, "upload_time": "2015-09-23T14:55:40", "url": "https://files.pythonhosted.org/packages/b9/c3/4118ae44513482451938963ad7a6658ae564a32ac5002e9214cd981ded10/syncrypto-0.3.26-py2.py3-none-any.whl" } ], "0.3.27": [ { "comment_text": "", "digests": { "md5": "18ee7e87efcb770d1beb57bd1ffb282d", "sha256": "459e14cc634277b182e262517f75f63369f771eac73fe9fa1f763bb4c077a929" }, "downloads": -1, "filename": "syncrypto-0.3.27-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "18ee7e87efcb770d1beb57bd1ffb282d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24345, "upload_time": "2015-09-25T13:20:41", "url": "https://files.pythonhosted.org/packages/ed/c8/6a06602ad0d1d08b9be8371c2d0459b17e00c7cdc69a239e30436ca5b77a/syncrypto-0.3.27-py2.py3-none-any.whl" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "4bf5dc59f861848f5f33cf82c0186dc3", "sha256": "3f39f34b9e53ac562b2ea8b1eca4218961a104c854695b76475abcb6f2c1b737" }, "downloads": -1, "filename": "syncrypto-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4bf5dc59f861848f5f33cf82c0186dc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22306, "upload_time": "2015-09-14T15:53:58", "url": "https://files.pythonhosted.org/packages/ba/11/9751235f01f9121531ab7f9f1a4757f70d1cdfb9e646906e4d1605e5951c/syncrypto-0.3.3-py2.py3-none-any.whl" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "053a5c1858d3791e1e8d702efc74c46a", "sha256": "2bc80ca48d844dd05271cbee49ddd6f865077689a468d9b70461121148213a9a" }, "downloads": -1, "filename": "syncrypto-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "053a5c1858d3791e1e8d702efc74c46a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22416, "upload_time": "2015-09-15T15:49:12", "url": "https://files.pythonhosted.org/packages/0d/d8/238662a630b158baf8c503d936573e1ecba019bca6c41d3031222e9d9c76/syncrypto-0.3.4-py2.py3-none-any.whl" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "0ab2c4912b3d62f573179e59c3412c4c", "sha256": "11fb4f23aec01560a319d14a81115a88eac65a7642f77530138076bd2c7c8513" }, "downloads": -1, "filename": "syncrypto-0.3.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0ab2c4912b3d62f573179e59c3412c4c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22412, "upload_time": "2015-09-15T16:02:36", "url": "https://files.pythonhosted.org/packages/c3/31/110217a03724770c5d9756b8f0339e091088f19fdd23a1501d5992014a39/syncrypto-0.3.5-py2.py3-none-any.whl" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "697a2cdee0b3f2959b2fb1d9c0226a9c", "sha256": "cf01db9fa69139088b9550e378e9d6deac8d9ef8ded35b40bea1c83b2f9b9379" }, "downloads": -1, "filename": "syncrypto-0.3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "697a2cdee0b3f2959b2fb1d9c0226a9c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22415, "upload_time": "2015-09-15T16:04:31", "url": "https://files.pythonhosted.org/packages/5a/65/10608139825e0d4928750095d5a1711df042cbe826b4565a8b7b21262353/syncrypto-0.3.6-py2.py3-none-any.whl" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "adb13f24a69cdb35b15861755dbc5615", "sha256": "28c8e031dc27cf498057b0b92909d3a259179fb28b63f5dfcd34ca8615fb1381" }, "downloads": -1, "filename": "syncrypto-0.3.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "adb13f24a69cdb35b15861755dbc5615", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22417, "upload_time": "2015-09-15T16:06:33", "url": "https://files.pythonhosted.org/packages/06/bb/4c4cc9fa9ff1e9a9c2a9605007ddf1d3b44cf2c71fc67eeeddec88b8d3cf/syncrypto-0.3.7-py2.py3-none-any.whl" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "233f5a847236c3d134192cda878e97e5", "sha256": "032ac77fc5abae5fae50011f492c2af86d33871bfcdf5caaa89ce1ad1b68124c" }, "downloads": -1, "filename": "syncrypto-0.3.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "233f5a847236c3d134192cda878e97e5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20093, "upload_time": "2015-09-17T12:45:45", "url": "https://files.pythonhosted.org/packages/86/3f/b86180130ba0a286df24d25e55ddabffb839e3f67cdbbada1a2db05785a3/syncrypto-0.3.8-py2.py3-none-any.whl" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "da80fb6591efcda18890a68aa7157db9", "sha256": "8485d5b836587a7e78d68e30261f5ee4f09f74198477d30b083ac0370397edf1" }, "downloads": -1, "filename": "syncrypto-0.3.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da80fb6591efcda18890a68aa7157db9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22416, "upload_time": "2015-09-17T12:46:25", "url": "https://files.pythonhosted.org/packages/3c/78/4c52049e19dc25ae2f7ba79a606bc08bb74cba982c4b58ce9733a749ef77/syncrypto-0.3.9-py2.py3-none-any.whl" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "78e719aec77572407c1a9c2da17e1090", "sha256": "03f5f35c906468aba04d54a7359152e99c85cd90f7a1cab00132815b4dccfaf9" }, "downloads": -1, "filename": "syncrypto-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78e719aec77572407c1a9c2da17e1090", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24447, "upload_time": "2016-06-04T09:45:15", "url": "https://files.pythonhosted.org/packages/d4/22/92be118f12575e83032b6c246c3a9dd514acc03cd51d8a164ac4c2a9307e/syncrypto-0.4.1-py2.py3-none-any.whl" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "b75af6cab0baddf13993863774bb01d5", "sha256": "affa2706a12e9fdb90b8b8d6daac594d79727b0ca49a92386d3947fa894ded19" }, "downloads": -1, "filename": "syncrypto-0.4.2.tar.gz", "has_sig": false, "md5_digest": "b75af6cab0baddf13993863774bb01d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16081, "upload_time": "2016-07-20T14:52:13", "url": "https://files.pythonhosted.org/packages/ba/6c/d19061ef4eb7050d37376640cc4dd749a67307b6608e5bf4d71fd2b36392/syncrypto-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b75af6cab0baddf13993863774bb01d5", "sha256": "affa2706a12e9fdb90b8b8d6daac594d79727b0ca49a92386d3947fa894ded19" }, "downloads": -1, "filename": "syncrypto-0.4.2.tar.gz", "has_sig": false, "md5_digest": "b75af6cab0baddf13993863774bb01d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16081, "upload_time": "2016-07-20T14:52:13", "url": "https://files.pythonhosted.org/packages/ba/6c/d19061ef4eb7050d37376640cc4dd749a67307b6608e5bf4d71fd2b36392/syncrypto-0.4.2.tar.gz" } ] }