{ "info": { "author": "micdmy", "author_email": "micdmy2@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "# MICSYNC - local discs synchronisation tool\nMicsync is a tool that provides easy management of data kept on the disc and its backup or backups.\nIt uses rsync for all file operations. Verbose option will show the exact rsync command used.\n\nmicsync on PyPi: [https://pypi.org/project/micsync/](https://pypi.org/project/micsync/)\n\n# Installation\nIf you are using pacman package manager (on Arch linux and derived systems), prefer installation with pacman over pip. If you install package with pip, pacman doesn't see it and it may lead to conflicts in future when installing or updating other packages.\n\n## Using git and makepkg (for pacman users)\n```bash\ngit clone https://github.com/micdmy/micsync.git\ncd micsync/archive-pkgbuild//\nmakepkg -sir\n```\nReplace `` with actual directory name.\n\nLearn more: [git clone](https://git-scm.com/docs/git-clone) [makepkg](https://wiki.archlinux.org/index.php/Makepkg)\n\n## Using pip\nAs root:\n```\n\tpip install micsync\n```\nLearn more: [python - installing packages](https://packaging.python.org/tutorials/installing-packages/)\n\n## Using git and python-setuptools\n```bash\ngit clone https://github.com/micdmy/micsync.git\ncd micsync/\n./build.sh\ncd output/offline-PKGBUILD/\ntar -xzf micsync*\ncd micsync*/\n```\n\nAs root:\n```bash\npython setup.py install --optimize=1\n```\n\n## Check if micsync was installed succesfully\n```bash\nmicsync --version\n```\n\n# How to use it\nMicsync allows to configure WORKING and BACKUP locations.\nLocation is a directory in filesystem and all subdirectories and files it contains.\n\nThere are two types of locations which serve different purposes:\n\n* WORKING location - examples of use\n - Location on disc that's backup can be kept in BACKUP.\n - Workplace from which some files/directories can be send to BACKUP.\n - Temporary cache for some data needed at the moment, that are kept on BACKUP all the time (i.e. when BACKUP is on external hard disc).\n\n* BACKUP location - examples of use\n - Can be used as backup copy of things in WORKING location.\n - Can be used as source of data for other BACKUPs (mirrors).\n - Data from BACKUP can be copied back to WORKING, or even override or remove data there.\n - BACKUP directories structure (tree, skeleton) can be copied (without files) to WORKING.\n\nAny number of WORKINGs can be linked with any number of BACKUPs.\nOne CONFIGURATION links together WORKINGs and BACKUPs.\nWORKINGs and BACKUPs in one CONFIGURATION cannot overlap (i.e. WORKING contains BACKUP).\n\nThere may be a lot of CONFIGURATIONs that don't influence each other.\nUser sets the CONFIGURATIONs up in \".micsync.json\" file located in user's home directory.\n\nExample of .micsync.json file:\n```json\n{\n \"configs\": [\n {\n \"name\": \"My first CONFIGURATION, it contains 1 WORKING and 1 BACKUP\",\n \"work\": [\n \t\"/home/example_user/some_dir/\"\n ],\n \"backup\": [\n \t\"/example/path/\"\n ]\n },\n {\n \"name\": \"My second CONFIGURATION, it contains 2 WORKINGs and 3 BACKUPs\",\n \"work\": [\n \t\"/home/example_user/some_dir/\",\n \t\"~/other/\"\n ],\n \"backup\": [\n \t\"/a/backup/\",\n \t\"./it/may/be/relative/path/\",\n \t\"~/my/third/backup/\"\n ]\n }\n ]\n}\n```\n\n## Command line interface\n\n### Command syntax\n```bash\nmicsync [options] \n```\n```bash\nmicsync \n```\n\n`` tells micsync what kind of the synchronization operation should be performed between locations.\nCurrently, there are 4 synchronization actions defined:\n* `--backup`\n* `--work`\n* `--transfer`\n* `--tree`\n\n`` are actions that don't perform any operations on files in defined locations:\n* `--version` - prints the program version\n\n`[options]` are specific for each action.\nThey are used, for example, to define what micsync do with modified files or if it can delete files.\n\n`` is a path or space-separated list of paths to directories or files that exist within some of defined configurations.\nAll of the given paths must be within defined configurations.\n\nIt doesn't matter if a path is in WORKING or BACKUP location. It doesn't influence the direction of copying.\nYou can tell micsync to, for example, do `--backup` operation, specifying path in BACKUP or in WORKING. In each case, copying from WORKING to BACKUP will be performed. The direction is defined by ``, not by ``.\n\n### Synchronization actions\n* `--backup`\n - Copies files and directories in `` from WORKING to all accessible BACKUPs.\n - Asks which WORKING to choose if many are accessible.\n - It never deletes anything in BACKUP. Lists new.\n - Lists modified and asks for confirmation.\n - Options: `-m -s -v`\n - Source: WORKING\n - Destination: all accessible BACKUPS\n\n* `--work`\n - Copies files and directories in `` from chosen BACKUP to chosen WORKING.\n - Asks which WORKING and/or BACKUP to choose if many are accessible.\n - Lists to-delete and asks for confirmation.\n - Lists modified and asks for confirmation.\n - Options: `-m -d -D -s -v`\n - Source: WORKING\n - Destination: BACKUP\n\n* `--transfer`\n - Copies files and directories from chosen src BACKUP to chosen dst BACKUP.\n - Asks to confirm or choose destination and source BACKUPS.\n - Lists to-delete and asks for confirmation.(Only if -d ? - TODO: check it)\n - Lists modified and asks for confirmation.\n - Options: `-m -d -D -s -v`\n - Source: BACKUP\n - Destination: BACKUP\n\n* `--tree`\n - Copy directories empty structure from backup to work and/or update existing.\n - Options: `-s -v`\n - Source: BACKUP\n - Destination: WORKING\n\n### Options for synchronization actions\nCopying options:\n\n* `-m` Copy modified (overwrite) without asking.\n* `-d` Delete files in dst if they don't exist in src. Ask before deleting.\n* `-D` Delete files in dst if they don't exist in src. Don't ask before deleting. If `-d` and `-D` specified, works as if only `-D` was specified.\n\nUser interface and verbosity options:\n\n* `-s` Suppress information about modifying directories.\n* `-v` Verbose mode. Shows rsync command used to perform synchronization. Asks before doing anything.\n\n# Bug reporting\nHave you found a bug? Please, report it [here](https://github.com/micdmy/micsync/issues).\n\n# Information for developers\nIf you are a developer and want to contribute to micsync, you're welcomed!\nDon't hesitate to contact the author if you have questions.\n\nRequired software:\n* `linux operating system`\n* `rsync`\n* `pacman`\n* `python >= 3.7` \n* `python-pip`\n* `python-pytest`\n* `python-wheel`\n* `twine`\n* `git`\n\n## Getting source code\n`git clone https://github.com/micdmy/micsync.git`\n\n## Workflow - development and testing on local machine\n1. Make the changes.\n2. Run `./build.sh` and see if there are any errors in output.\n3. Enter the directory with package for local (offline) installation: `cd output/offline-PKGBUILD/`\n4. Install with makepkg: `makepkg -sir`\n5. Run tests from main repository directory. See: [tests/README.md](https://github.com/micdmy/micsync/tree/master/tests/README.md).\n6. Do some manual tests.\n7. Commit/push changes.\n\n## Workflow - releasing version\n1. You're ready with 'development and testing on local machine'.\n2. Change version number in file [micsync/version.py](https://github.com/micdmy/micsync/tree/master/micsync/version.py).\n3. Clean previous build artifacts with `./clean.sh`.\n4. Run `./build.sh`. You will be warned that git tag is not updated. Ignore it, press `y` and enter. See if there are any errors in output.\n5. Run `./deploy-pip.sh`. `output/dist/micsync-0.0.4.dev0-py3-none-any.whl` and `output/dist/micsync-0.0.4.dev0.tar.gz` will be sent to `https://pypi.org/project/micsync/`. You will be asked for credentials.\n5. Run `./deploy-aur.sh`. PKGBUILD file will be added to `archive-pkgbuild//`.\n6. Stage `archive-pkgbuild/` and `micsync/version.py`.\n7. Commit, add tag `` and push with tags.\n\n## Workflow - testing released version\n1. Uninstall old version of micsync with pacman or pip.\n2. Install new version with pip. Run automatic tests. Make manual tests. Uninstall micsync.\n3. Install new version with pacman or makepkg. Run automatic tests. Make manual tests.\n\n## Project organization\nDirectory / File | In git repo | Purpose\n--------- | ---- | -------\n`./micsync/` | Yes. | Source code.\n`./micsync/version.py` | Yes | Contains version and program name. Version from this file is taken as program version by `build.sh`\n`.tests/` | Yes. | Automatic tests source code.\n`./archive-pk-pkgbuild/` | Yes. | Storage for PKGBUILD files for every version.\n`./output/` | No. | After build, contains all build artifacts. Removed with `clean.sh`\n`./output/offline-PKGBUILD/` | No. | After build, contains the packaged program and specially prepared PKGBUILD file for local (offline) installation.\n`./build.sh` | Yes. | Script that builds the program.\n`./clean.sh` | Yes. | Script that cleans the build artifacts.\n`./deploy-aur.sh` | Yes | Script that copies `output/PKGBUILD` to `archive-pkgbuild//`.\n`./deploy-pip.sh` | Yes | Script that sends new version to PyPi/[micsync](https://pypi.org/project/micsync/).\n`./micsync/version.py` | Yes | Contains version and program name. Version from this file is taken as program version by `build.sh`\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/micdmy/micsync/", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "micsync", "package_url": "https://pypi.org/project/micsync/", "platform": "", "project_url": "https://pypi.org/project/micsync/", "project_urls": { "Homepage": "https://github.com/micdmy/micsync/" }, "release_url": "https://pypi.org/project/micsync/0.0.4.dev1/", "requires_dist": null, "requires_python": ">=3.7", "summary": "Local data synchronization tool based on rsync.", "version": "0.0.4.dev1", "yanked": false, "yanked_reason": null }, "last_serial": 6991869, "releases": { "0.0.3.dev3": [ { "comment_text": "", "digests": { "md5": "8921ab56765fd4e9049d7f3d3fb1e053", "sha256": "35f5211dfd535cde609019de1ae2bbe6269af4c9249803d8d40efa6b81284f58" }, "downloads": -1, "filename": "micsync-0.0.3.dev3-py3-none-any.whl", "has_sig": false, "md5_digest": "8921ab56765fd4e9049d7f3d3fb1e053", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25117, "upload_time": "2019-10-27T09:16:54", "upload_time_iso_8601": "2019-10-27T09:16:54.144139Z", "url": "https://files.pythonhosted.org/packages/14/02/3a7d7264dcbf536b14bcfafed579487e9b2f23f0ee1d09cb9766b2230723/micsync-0.0.3.dev3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7fa65a44a462f4f497f29eb009076a9d", "sha256": "7ee39e42ea6f04fbf94761521f49a2c4baf2bc8195dec884b67c763bf7300dae" }, "downloads": -1, "filename": "micsync-0.0.3.dev3.tar.gz", "has_sig": false, "md5_digest": "7fa65a44a462f4f497f29eb009076a9d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 8760, "upload_time": "2019-10-27T09:16:56", "upload_time_iso_8601": "2019-10-27T09:16:56.702780Z", "url": "https://files.pythonhosted.org/packages/c9/6f/0eebc01961c0e239be74bd3424692c76b58875f3b9a7eed497343c79c237/micsync-0.0.3.dev3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3.dev4": [ { "comment_text": "", "digests": { "md5": "727ebff11ea0d6917598e173c0a229c0", "sha256": "617e356bb0de161db9f1b839bb3714aacf681590c69a74562a80b404e09517a7" }, "downloads": -1, "filename": "micsync-0.0.3.dev4-py3-none-any.whl", "has_sig": false, "md5_digest": "727ebff11ea0d6917598e173c0a229c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25118, "upload_time": "2019-10-27T09:21:59", "upload_time_iso_8601": "2019-10-27T09:21:59.227034Z", "url": "https://files.pythonhosted.org/packages/80/d8/14ee26cf6816acf40c9b3b6b54322adecdb751afbb77af3d26a0c379186c/micsync-0.0.3.dev4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e18c1121ed3595cfddcdc5d8ea5961f7", "sha256": "791ed7807c5d5aa116cc67d3ca4d8d250e5ba9a316dd18e588260c93959bbbec" }, "downloads": -1, "filename": "micsync-0.0.3.dev4.tar.gz", "has_sig": false, "md5_digest": "e18c1121ed3595cfddcdc5d8ea5961f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 8760, "upload_time": "2019-10-27T09:22:00", "upload_time_iso_8601": "2019-10-27T09:22:00.680686Z", "url": "https://files.pythonhosted.org/packages/35/d4/26b89d41d4f37385078a9ab473389803600946d93ef0259ec0a0182bdf52/micsync-0.0.3.dev4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3.dev5": [ { "comment_text": "", "digests": { "md5": "c1a288d439ecb84d4065421ddd4c6e3c", "sha256": "30be40c4f1e1b102e4f718fe17dd93abc3c81c815dbd8a58158bfd2406e79399" }, "downloads": -1, "filename": "micsync-0.0.3.dev5-py3-none-any.whl", "has_sig": false, "md5_digest": "c1a288d439ecb84d4065421ddd4c6e3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25118, "upload_time": "2019-10-27T09:36:38", "upload_time_iso_8601": "2019-10-27T09:36:38.468117Z", "url": "https://files.pythonhosted.org/packages/14/54/48314ddf6412ac034294fba9b9b33f5daa33ed579c859820e038d2e667f5/micsync-0.0.3.dev5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "51854cd7d22950400c17b10e78b52fe7", "sha256": "6b5f9b4d83fd3c57bea589fd2b00802e50ed97b62b360223ebc249d434a54dea" }, "downloads": -1, "filename": "micsync-0.0.3.dev5.tar.gz", "has_sig": false, "md5_digest": "51854cd7d22950400c17b10e78b52fe7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 8768, "upload_time": "2019-10-27T09:36:40", "upload_time_iso_8601": "2019-10-27T09:36:40.333361Z", "url": "https://files.pythonhosted.org/packages/f3/ab/7fdb43eb47fa7962c69d8f75e391e90b109db4af271257898934e940b7ee/micsync-0.0.3.dev5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3.dev6": [ { "comment_text": "", "digests": { "md5": "14d77624e312f1368ff332679b073972", "sha256": "4b4cfa960a45ebfe93c050e17a3ff40fa27959fe7d67a04525455dfa1444eaad" }, "downloads": -1, "filename": "micsync-0.0.3.dev6-py3-none-any.whl", "has_sig": false, "md5_digest": "14d77624e312f1368ff332679b073972", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25755, "upload_time": "2019-10-27T16:13:01", "upload_time_iso_8601": "2019-10-27T16:13:01.081411Z", "url": "https://files.pythonhosted.org/packages/61/bc/69b3d6161220e717a2b7c7320fbc2213847cbfae1f73823b6edb30102e95/micsync-0.0.3.dev6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e477b741e73486600733e23ffc108441", "sha256": "319b4a0c8c994cbae283156a3d7ead5611db1d6e8072455360fe61ac5935a03b" }, "downloads": -1, "filename": "micsync-0.0.3.dev6.tar.gz", "has_sig": false, "md5_digest": "e477b741e73486600733e23ffc108441", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 8884, "upload_time": "2019-10-27T16:13:03", "upload_time_iso_8601": "2019-10-27T16:13:03.134053Z", "url": "https://files.pythonhosted.org/packages/60/6d/dced4704f6e72fbc0a2c406eefd2aad79a2b9a8d97477cd3ed5097494d34/micsync-0.0.3.dev6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3.dev7": [ { "comment_text": "", "digests": { "md5": "c7c3feb6dad620bb13731698ce5c08f4", "sha256": "aa376f224c91561f44622d0ef4bd940e9985f6ba4992b7633e6af15362263c3b" }, "downloads": -1, "filename": "micsync-0.0.3.dev7-py3-none-any.whl", "has_sig": false, "md5_digest": "c7c3feb6dad620bb13731698ce5c08f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25757, "upload_time": "2019-11-09T11:39:59", "upload_time_iso_8601": "2019-11-09T11:39:59.165421Z", "url": "https://files.pythonhosted.org/packages/1b/51/52fcc1033c3a4fda23ed11496c6b25385a62c5d59df6452c7ee6dd1b2205/micsync-0.0.3.dev7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "01e821b6fc597abaa80f376e27e060d4", "sha256": "361309eb4ce5d04b3d89681e26e9502a9c8c6e1f8cafd8a7cc08329ee89b788b" }, "downloads": -1, "filename": "micsync-0.0.3.dev7.tar.gz", "has_sig": false, "md5_digest": "01e821b6fc597abaa80f376e27e060d4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 8880, "upload_time": "2019-11-09T11:40:01", "upload_time_iso_8601": "2019-11-09T11:40:01.175493Z", "url": "https://files.pythonhosted.org/packages/f5/ae/4b7cdeb07a32fe3ef095d3d670e84d2d143cf50b3c22948e21e8742f1561/micsync-0.0.3.dev7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3.dev8": [ { "comment_text": "", "digests": { "md5": "c6113a3e9f033b914428817cb1285325", "sha256": "4fc129553a9e94adc170e2bab4d15d1bb737a9f6f48858ff8e94b56114b9c3ef" }, "downloads": -1, "filename": "micsync-0.0.3.dev8-py3-none-any.whl", "has_sig": false, "md5_digest": "c6113a3e9f033b914428817cb1285325", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 25856, "upload_time": "2019-11-09T17:01:06", "upload_time_iso_8601": "2019-11-09T17:01:06.573375Z", "url": "https://files.pythonhosted.org/packages/c7/bd/c341cc4b81fc9c06fcbd28cb4c045604eca878ab83666d0ea522c681cd98/micsync-0.0.3.dev8-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "814ec0aead190b067f5ca5fe270b064e", "sha256": "37d3b8bc55072009636af67b6b306d3ab36691470ea6d8b1e8d55c1e61c010b7" }, "downloads": -1, "filename": "micsync-0.0.3.dev8.tar.gz", "has_sig": false, "md5_digest": "814ec0aead190b067f5ca5fe270b064e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 8960, "upload_time": "2019-11-09T17:01:08", "upload_time_iso_8601": "2019-11-09T17:01:08.783480Z", "url": "https://files.pythonhosted.org/packages/a1/c9/c07947fda47cb8d123482496fae1775678244919144d668b42515e7ccbbc/micsync-0.0.3.dev8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3.dev9": [ { "comment_text": "", "digests": { "md5": "1a15d082b3c823245f0fcf63b78b4c3c", "sha256": "65fac3a276b561a920e6be19e8089f34a8b7101386010e5b8e4330febad8f4c6" }, "downloads": -1, "filename": "micsync-0.0.3.dev9-py3-none-any.whl", "has_sig": false, "md5_digest": "1a15d082b3c823245f0fcf63b78b4c3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 25857, "upload_time": "2020-01-24T12:32:29", "upload_time_iso_8601": "2020-01-24T12:32:29.206174Z", "url": "https://files.pythonhosted.org/packages/14/21/5ce4428df41595df510ee11d247b7c862dda32690e5aa403352d5607cc23/micsync-0.0.3.dev9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "681d0c929bb7c4f1ab430faff014042c", "sha256": "98afe5d5b0309e6cf1d24c46961b78379a98a5ce816355479b5ad962d92c2f88" }, "downloads": -1, "filename": "micsync-0.0.3.dev9.tar.gz", "has_sig": false, "md5_digest": "681d0c929bb7c4f1ab430faff014042c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 8904, "upload_time": "2020-01-24T12:32:30", "upload_time_iso_8601": "2020-01-24T12:32:30.824399Z", "url": "https://files.pythonhosted.org/packages/66/e3/833233a5e72fed5452af236d236d87274dadf183e6ca1fa3e767d80295c9/micsync-0.0.3.dev9.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4.dev0": [ { "comment_text": "", "digests": { "md5": "f763d2fe10963ad59242212e13820f0f", "sha256": "298543b1d75f3e7f814c408377817a3ff43f667455ec2d9d8160e48d9e16fd42" }, "downloads": -1, "filename": "micsync-0.0.4.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "f763d2fe10963ad59242212e13820f0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 27691, "upload_time": "2020-04-04T10:10:13", "upload_time_iso_8601": "2020-04-04T10:10:13.269975Z", "url": "https://files.pythonhosted.org/packages/eb/6a/5e3c6ac0504910d491907104af1b6f0b3d5b5bd70b1acf79f47780dbc67f/micsync-0.0.4.dev0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5ce6b8f0a1e81bef95d01b2f840f0a94", "sha256": "b45623796dca5451814d2072d88f2dc30acf815f3a8356d27b4ac705995e4002" }, "downloads": -1, "filename": "micsync-0.0.4.dev0.tar.gz", "has_sig": false, "md5_digest": "5ce6b8f0a1e81bef95d01b2f840f0a94", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 11646, "upload_time": "2020-04-04T10:10:15", "upload_time_iso_8601": "2020-04-04T10:10:15.155062Z", "url": "https://files.pythonhosted.org/packages/ea/6f/005065a9f5663ad724418e5b5e6817919aee8301fae0f06f9308d5eec28a/micsync-0.0.4.dev0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4.dev1": [ { "comment_text": "", "digests": { "md5": "4ea04da5561931fd98c97be6db6bc7e0", "sha256": "0edff3062a63c87d0fe6bf7f926348b1d5c5def64f5cb11936b9d066dbd58240" }, "downloads": -1, "filename": "micsync-0.0.4.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "4ea04da5561931fd98c97be6db6bc7e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 28106, "upload_time": "2020-04-10T08:59:53", "upload_time_iso_8601": "2020-04-10T08:59:53.416827Z", "url": "https://files.pythonhosted.org/packages/7c/c1/d94d778171cdb1053115b3c13a406ea9119b9b97804adace57fee7ef82d4/micsync-0.0.4.dev1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ed9dc5eaa9ccc7fe7bc17bbe6c6992d9", "sha256": "07f1fd342a1a2acfa0f041dd87b328428ac3ec5c88c4d5ef666a60b42d66aaaf" }, "downloads": -1, "filename": "micsync-0.0.4.dev1.tar.gz", "has_sig": false, "md5_digest": "ed9dc5eaa9ccc7fe7bc17bbe6c6992d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 12131, "upload_time": "2020-04-10T08:59:55", "upload_time_iso_8601": "2020-04-10T08:59:55.364867Z", "url": "https://files.pythonhosted.org/packages/d1/12/ed2c26f8e36dd22d377c228523f77d6ff9fc7529f12e74fca5a605f8d1da/micsync-0.0.4.dev1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4ea04da5561931fd98c97be6db6bc7e0", "sha256": "0edff3062a63c87d0fe6bf7f926348b1d5c5def64f5cb11936b9d066dbd58240" }, "downloads": -1, "filename": "micsync-0.0.4.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "4ea04da5561931fd98c97be6db6bc7e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 28106, "upload_time": "2020-04-10T08:59:53", "upload_time_iso_8601": "2020-04-10T08:59:53.416827Z", "url": "https://files.pythonhosted.org/packages/7c/c1/d94d778171cdb1053115b3c13a406ea9119b9b97804adace57fee7ef82d4/micsync-0.0.4.dev1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ed9dc5eaa9ccc7fe7bc17bbe6c6992d9", "sha256": "07f1fd342a1a2acfa0f041dd87b328428ac3ec5c88c4d5ef666a60b42d66aaaf" }, "downloads": -1, "filename": "micsync-0.0.4.dev1.tar.gz", "has_sig": false, "md5_digest": "ed9dc5eaa9ccc7fe7bc17bbe6c6992d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 12131, "upload_time": "2020-04-10T08:59:55", "upload_time_iso_8601": "2020-04-10T08:59:55.364867Z", "url": "https://files.pythonhosted.org/packages/d1/12/ed2c26f8e36dd22d377c228523f77d6ff9fc7529f12e74fca5a605f8d1da/micsync-0.0.4.dev1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }