{ "info": { "author": "Mark Perdue", "author_email": "markaperdue@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.0" ], "description": "# pyvesync [![build status](https://img.shields.io/pypi/v/pyvesync.svg)](https://pypi.python.org/pypi/pyvesync)\n\npyvesync is a library to manage VeSync compatible smart home devices.\n\n## Installation\n\nInstall the latest version from pip:\n\n```python\npip install pyvesync\n```\n\n## Supported Devices\n\n1. Etekcity Voltson Smart WiFi Outlet (7A model ESW01-USA)\n2. Etekcity Voltson Smart WiFi Outlet (10A model ESW01-EU)\n3. Etekcity Voltson Smart Wifi Outlet (10A model ESW03-USA)\n4. Etekcity Voltson Smart WiFi Outlet (15A model ESW15-USA)\n5. Etekcity Two Plug Outdoor Outlet (ESO15-TB) (Each plug is a separate object, energy readings are for both plugs combined)\n6. Etekcity Smart WiFi Light Switch (model ESWL01)\n7. Levoit Smart Wifi Air Purifier (LV-PUR131S)\n8. Etekcity Soft White Dimmable Smart Bulb (ESL100)\n\n## Usage\n\nTo start with the module:\n\n```python\nfrom pyvesync import VeSync\n\nmanager = VeSync(\"EMAIL\", \"PASSWORD\", time_zone=DEFAULT_TZ)\nmanager.login()\nmanager.update()\n\nmy_switch = manager.outlets[0]\n# Turn on the first switch\nmy_switch.turn_on()\n# Turn off the first switch\nmy_switch.turn_off()\n\n# Get energy usage data\nmanager.update_energy()\n\n# Display outlet device information\nfor device in manager.outlets:\n device.display()\n```\n\n## Configuration\n\nThe `time_zone` argument is optional but the specified time zone must match time zone in the tz database (IANNA Time Zone Database), see this link for reference:\n[tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).\nThe time zone determines how the energy history is generated for the smart outlets, i.e. for the week starts at 12:01AM Sunday morning at the specified time zone. If no time zone or an invalid time zone is entered the default is America/New_York\n\n```python\n#Devices are respectively located in their own lists that can be iterated over\nmanager.outlets = [VeSyncOutletObjects]\nmanager.switches = [VeSyncSwitchObjects]\nmanager.fans = [VeSyncFanObjects]\nmanger.bulbs = [VeSyncBulbObjects]\n```\n\nIf outlets are going to be continuously polled, a custom energy update interval can be set - The default is 6 hours (21600 seconds)\n```python\nmanager.energy_update_interval = time # time in seconds\n```\n\n ## Example Usage\n ### Get electricity metrics of outlets\n```python\nfor s in manager.outlets:\n s.update_energy(check_bypass=False) # Get energy history for each device\n```\n\n## API Details\n### Manager API\n\n`VeSync.get_devices()` - Returns a list of devices\n\n`VeSync.login()` - Uses class username and password to login to VeSync\n\n`VeSync.update()` - Fetch updated information about devices\n\n`VeSync.update_all_devices()` - Fetch details for all devices (run `VeSyncDevice.update()`)\n\n`VeSync.update_energy(bypass_check=False)` - Get energy history for all outlets - Builds week, month and year nested energy dictionary. Set `bypass_check=True` to disable the library from checking the update interval\n\n### Device API\n\n`VeSyncDevice.turn_on()` - Turn on the device\n\n`VeSyncDevice.turn_off()` - Turn off the device\n\n`VeSyncDevice.update()` - Fetch updated information about device\n\n`VeSyncDevice.active_time` - Return active time of the device in minutes\n\n`VeSyncDevice.get_config()` - Retrieve Configuration data such as firmware version for device and store in the `VeSyncDevice.config` dictionary\n\n`VeSyncDevice.firmware_update` - Return true if Firmware has update available. `VeSyncDevice.get_config()` must be called first\n\n### Outlet Specific Energy API\n\n`VeSyncOutlet.update_energy(bypass_check=False)` - Get outlet energy history - Builds week, month and year nested energy dictionary. Set `bypass_check=True` to disable the library from checking the update interval\n\n`VeSyncOutlet.energy_today` - Return current energy usage in kWh\n\n`VeSyncOutlet.power` - Return current power in watts of the device\n\n`VeSyncOutlet.voltage` - Return current voltage reading\n\n`VesyncOutlet.weekly_energy_total` - Return total energy reading for the past week in kWh, starts 12:01AM Sunday morning\n\n`VesyncOutlet.monthly_energy_total` - Return total energy reading for the past month in kWh\n\n`VesyncOutlet.yearly_energy_total` - Return total energy reading for the past year in kWh\n\n### Model ESW15-USA 15A/1800W API\nThe rectangular smart switch model supports some additional functionality on top of the regular api call\n\n`VeSyncOutlet.turn_on_nightlight()` - Turn on the nightlight\n\n`VeSyncOutlet.turn_off_nightlight()` - Turn off the nightlight\n\n### Air Purifier LV-PUR131S Functions\n\n`VeSyncFan.fan_level` - Return the level of the fan (1-3) or 0 for off\n\n`VeSyncFan.filter_life` - Return the percentage of filter life remaining\n\n`VeSyncFan.air_quality` - Return air quality reading\n\n`VeSyncFan.auto_mode()` - Change mode to auto\n\n`VeSyncFan.manual_mode()` - Change fan mode to manual with fan level 1\n\n`VeSyncFan.sleep_mode()` - Change fan mode to sleep \n\n`VeSyncFan.change_fan_speed(speed)` - Change fan speed with level 1, 2 or 3\n\n`VeSyncFan.screen_status` - Get Status of screen on/off\n\n### Smart Light Bulb API\n\n`VeSyncBulb.set_brightness(brightness)` - Set bulb brightness values from 1 - 100\n\n## Notes\n\nMore detailed data is available within the `VesyncOutlet` by inspecting the `VesyncOutlet.energy` dictionary.\n\nThe `VesyncOutlet.energy` object includes 3 nested dictionaries `week`, `month`, and `year` that contain detailed weekly, monthly and yearly data\n\n```python\nVesyncOutlet.energy['week']['energy_consumption_of_today']\nVesyncOutlet.energy['week']['cost_per_kwh'] \nVesyncOutlet.energy['week']['max_energy']\nVesyncOutlet.energy['week']['total_energy']\nVesyncOutlet.energy['week']['data'] # which itself is a list of values\n```\n\n## Integration with Home Assistant\n\nThis library is integrated with Home Assistant and documentation can be found at https://www.home-assistant.io/components/vesync/. The library version included with Home Assistant may lag behind development compared to this repository so those wanting to use the latest version can do the following to integrate with HA.\n\n1. Add a `custom_components` directory to your Home Assistant configuration directory\n2. Add a `vesync` directory as a directory within `custom_components`\n3. Add `switch.py` to the `vesync` directory\n4. Add `__init__.py` to the `vesync` directory\n5. Add `manifest.json` to the `vesync` directory\n6. Add the following config to your Home Assistant `configuration.yaml` file:\n```python\nvesync:\n username: VESYNC_USERNAME\n password: VESYNC_PASSWORD\n```\n\n7. Restart Home Assistant\n\nThe `custom_components` directory should include the following files:\n```bash\ncustom_components/vesync/__init__.py\ncustom_components/vesync/switch.py\ncustom_components/vesync/fan.py\ncustom_components/vesync/manifest.json\n```\n\nThe version of the library defined in `manifest.json` should now get loaded within Home Assistant.\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/markperdue/pyvesync", "keywords": "iot,vesync", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyvesync", "package_url": "https://pypi.org/project/pyvesync/", "platform": "", "project_url": "https://pypi.org/project/pyvesync/", "project_urls": { "Homepage": "https://github.com/markperdue/pyvesync" }, "release_url": "https://pypi.org/project/pyvesync/1.1.0/", "requires_dist": [ "requests (>=2.20.0)" ], "requires_python": "", "summary": "pyvesync is a library to manage Etekcity Switches", "version": "1.1.0" }, "last_serial": 5860120, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fd5d8cfcb1442a3ea028435570080c31", "sha256": "be25da77f5ee0b0a228f34ee077d883cc3619ad5cac21edc96327176d43cd38a" }, "downloads": -1, "filename": "pyvesync-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd5d8cfcb1442a3ea028435570080c31", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4796, "upload_time": "2018-03-09T00:08:06", "url": "https://files.pythonhosted.org/packages/ab/ea/95d48ccc0781221af87c8d45b9c7c5dd3fd2d499f7e52c5e5ab1e3ced3cf/pyvesync-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c809bee9479e8f30f46277ace623ef71", "sha256": "dd268a85a4d15b47f9c9c0702951c8a9e2f1817976fcc6ce9804fcb3f7290281" }, "downloads": -1, "filename": "pyvesync-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c809bee9479e8f30f46277ace623ef71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4103, "upload_time": "2018-03-09T00:08:08", "url": "https://files.pythonhosted.org/packages/ee/5b/b145ae47669ff2e61e436ab8d0a50fee851abac2e02f883b41601365cfae/pyvesync-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e3e54bce75d07cb16791b6a98798f45d", "sha256": "91ed9152611d20dd0088a5defdf7da9d75020ceccb207d84be0af31aacdc53a8" }, "downloads": -1, "filename": "pyvesync-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e3e54bce75d07cb16791b6a98798f45d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5771, "upload_time": "2018-03-09T04:45:41", "url": "https://files.pythonhosted.org/packages/8e/81/476ac059bc5141947901c8d197515f18672e99b53ee0f83f25fb06281058/pyvesync-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fef530294547b6ab29b43d879cae316c", "sha256": "c73bfb9726e61348eeecac412489ed7a0f5669bda730a6ed8611763df77499c5" }, "downloads": -1, "filename": "pyvesync-0.1.1.tar.gz", "has_sig": false, "md5_digest": "fef530294547b6ab29b43d879cae316c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4847, "upload_time": "2018-03-09T04:45:42", "url": "https://files.pythonhosted.org/packages/22/26/1e65a6f51742c40d7f6fec2ff1d6bdbaa6341512df5f041a863d32def9a6/pyvesync-0.1.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "b03d2e1cfa1978d4267656190b6eae44", "sha256": "2827377ab87a6e571738968cdc3afbb587cacccecf9d8a894aeb76a0f10f1a03" }, "downloads": -1, "filename": "pyvesync-1.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b03d2e1cfa1978d4267656190b6eae44", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21011, "upload_time": "2019-04-27T06:33:26", "url": "https://files.pythonhosted.org/packages/61/2f/b7384650da30f2a9c08a351f5be65f4d18900c67b47861adfa79988b0eff/pyvesync-1.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18327e4294103042d9d06c5c060720fc", "sha256": "4a3a678997f1c337b21d31085f60a45ea8e65d73ab2be87f74f68e36636f3a0d" }, "downloads": -1, "filename": "pyvesync-1.0.10.tar.gz", "has_sig": false, "md5_digest": "18327e4294103042d9d06c5c060720fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17793, "upload_time": "2019-04-27T06:33:29", "url": "https://files.pythonhosted.org/packages/30/aa/06b6f76781654d26864c84d2e7c00ad129e338bd505c9355ca4b54ec376a/pyvesync-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "a1a0055f6834b3137de44e6f80ea3e6a", "sha256": "05cf0c374f75ee1213f99f88a585e17d0d6db763abc8d194503c8a8a88515607" }, "downloads": -1, "filename": "pyvesync-1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1a0055f6834b3137de44e6f80ea3e6a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28896, "upload_time": "2019-07-02T04:31:04", "url": "https://files.pythonhosted.org/packages/b9/49/062f87f2c14ebe71defedd75e1190bc16d6b5ab96d7fd4d58d7b8a51b4e7/pyvesync-1.0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52e8f1cc498aedfc2802fb6a42033136", "sha256": "08ace404f86ed565339fa4cda7a5709a0cd52212c3759055d374e4537a96f73b" }, "downloads": -1, "filename": "pyvesync-1.0.11.tar.gz", "has_sig": false, "md5_digest": "52e8f1cc498aedfc2802fb6a42033136", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22474, "upload_time": "2019-07-02T04:31:06", "url": "https://files.pythonhosted.org/packages/74/48/2f85286c52482b572250983d75d5fb8ac9d9e48b92aac8bb47f35ccf27cb/pyvesync-1.0.11.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "a9b1e4ca6ac518008b2b5382816afd7b", "sha256": "2c05e1b3ba27e5f0f4c8903f3858c4d37ff3ee4c63a2e226678bca966eee2046" }, "downloads": -1, "filename": "pyvesync-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9b1e4ca6ac518008b2b5382816afd7b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6562, "upload_time": "2019-03-16T09:52:20", "url": "https://files.pythonhosted.org/packages/39/5d/e48c718d4f7611692229ef8f41cbc9d227f12e3162d2cb01d44c46471ca8/pyvesync-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54a66f1ae284128a8ee4fd40562307b6", "sha256": "0741d7433c4e12e0ba38009c1cf8c3ae4650d5f5c5c3a614e31bce19d410d832" }, "downloads": -1, "filename": "pyvesync-1.0.3.tar.gz", "has_sig": false, "md5_digest": "54a66f1ae284128a8ee4fd40562307b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7591, "upload_time": "2019-03-16T09:52:21", "url": "https://files.pythonhosted.org/packages/a9/14/4752e927e569b6bf176775b017ca0927e4c281746a1f8c1d7a36e9d778ea/pyvesync-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "0e377e44014639dd7a006a7a050f9821", "sha256": "a9f9e7e2d953ff9b91867578f22919d61214eadc8d6116176f4551d9a66b65db" }, "downloads": -1, "filename": "pyvesync-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e377e44014639dd7a006a7a050f9821", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9302, "upload_time": "2019-03-22T23:16:54", "url": "https://files.pythonhosted.org/packages/2b/f0/1ca4885542bf613c4e56aea7ae91ed3ec1b060d6b3d87bf2b698ca802894/pyvesync-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7c114f29b02527766afb1fb8d018f06", "sha256": "ced53a52fa10849cc28f39f95eb5bab953f9993daad65543f88ad26b063d2648" }, "downloads": -1, "filename": "pyvesync-1.0.4.tar.gz", "has_sig": false, "md5_digest": "d7c114f29b02527766afb1fb8d018f06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10186, "upload_time": "2019-03-22T23:16:55", "url": "https://files.pythonhosted.org/packages/d7/d5/8c53cff2ad55ca8c1b615d6e028d339a43ffe36c636a42643220cbe4dbdb/pyvesync-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "074ee24c4ec6f7540e02af9b845352a2", "sha256": "aa6fc56cfe0c17530450e8a892acfe12a9f48a4c9bc322e8581619bcd130bbd6" }, "downloads": -1, "filename": "pyvesync-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "074ee24c4ec6f7540e02af9b845352a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15837, "upload_time": "2019-04-16T02:46:20", "url": "https://files.pythonhosted.org/packages/ed/16/d3208a3524ecb2e06275460158650f8b0516aa49b539d55723fff36cec09/pyvesync-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "546070d9825548b4d6b09db6ca5d8b1d", "sha256": "5ca8edbcd23260c315db89ff112358d83edfca3520c1859b11b96fa4f92e03ba" }, "downloads": -1, "filename": "pyvesync-1.0.5.tar.gz", "has_sig": false, "md5_digest": "546070d9825548b4d6b09db6ca5d8b1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14285, "upload_time": "2019-04-16T02:46:21", "url": "https://files.pythonhosted.org/packages/09/a5/1fa99f50739a97484ad6b48bccc1293278165ea4b2f00c89a16d1a9a7ae7/pyvesync-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "ccf4596d45fcd3c54bd257da3ac858e3", "sha256": "2ca04c3c82f861e780c4c3c90c0c64a9b27502d9951789c727c15532dcc75b35" }, "downloads": -1, "filename": "pyvesync-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ccf4596d45fcd3c54bd257da3ac858e3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15881, "upload_time": "2019-04-16T03:23:23", "url": "https://files.pythonhosted.org/packages/d6/0c/c26cce69e9fcec96799d69314ffa9993c5c48ed921099adbe3259d704c3d/pyvesync-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96077cd6c7bc47bd3ace3fc9c49b6118", "sha256": "ef07a7b6da28bf3026bbf5195fcdd396f545119356ec3e16e63be42a3d6455cd" }, "downloads": -1, "filename": "pyvesync-1.0.6.tar.gz", "has_sig": false, "md5_digest": "96077cd6c7bc47bd3ace3fc9c49b6118", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14354, "upload_time": "2019-04-16T03:23:24", "url": "https://files.pythonhosted.org/packages/a6/6d/a849e39f476525d83d88b6d356bc508c4505cdeab8bc9ee930c1033510ba/pyvesync-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "78c9142b1253bee9fae2ce386673058e", "sha256": "ecc5c90ee0a4b676a33dda80305d3faa7be8150b20bfe670aea948c7acca0292" }, "downloads": -1, "filename": "pyvesync-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78c9142b1253bee9fae2ce386673058e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20882, "upload_time": "2019-04-27T03:38:35", "url": "https://files.pythonhosted.org/packages/99/55/c37692b495cf5ebff17051faa79be7fb2778c2e559e34b3aa12dc0cb3d78/pyvesync-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2475ee8f0a786da04415b72e27119e04", "sha256": "088e8cc27df828f44755bdc6ceff312103f9ef2273ed2432d906c1310c0af85b" }, "downloads": -1, "filename": "pyvesync-1.0.7.tar.gz", "has_sig": false, "md5_digest": "2475ee8f0a786da04415b72e27119e04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17676, "upload_time": "2019-04-27T03:38:37", "url": "https://files.pythonhosted.org/packages/9c/f6/1b5af1196ce1dc6f978a09cb1a680906d41a75c9b48fc260390c0af26041/pyvesync-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "51cc9f2a1a839cfec1eefd94dbbc57cd", "sha256": "2169bf3350efb8c23843bea56f4263638df4107ff66c1e6a25c0636f00e417c0" }, "downloads": -1, "filename": "pyvesync-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "51cc9f2a1a839cfec1eefd94dbbc57cd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20986, "upload_time": "2019-04-27T04:51:22", "url": "https://files.pythonhosted.org/packages/c4/28/a898419f284683eb335a1940af0ce0dcaedb099a6bbeb96073ba6b2b149b/pyvesync-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7881f8eef8d761c0d9ccfe1864462e47", "sha256": "2ecca106f3fe4b27444d65939d47cb82aeba5dfc9f2f4973613b97a9aad796ea" }, "downloads": -1, "filename": "pyvesync-1.0.8.tar.gz", "has_sig": false, "md5_digest": "7881f8eef8d761c0d9ccfe1864462e47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17783, "upload_time": "2019-04-27T04:51:23", "url": "https://files.pythonhosted.org/packages/ee/a1/96e926e7d458338b050e596ba29ea75d53b7da78aa7dae3f2e7b5b691889/pyvesync-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "d6b66f0af90637f30bdfaee9b2c06357", "sha256": "56e66268dc1889a1f41d5099500d7741a269874ba5adb851793989562e966740" }, "downloads": -1, "filename": "pyvesync-1.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d6b66f0af90637f30bdfaee9b2c06357", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20991, "upload_time": "2019-04-27T06:11:40", "url": "https://files.pythonhosted.org/packages/d3/79/aad4fd3f3464cd10931080e3feb6b608f6a4b323e4a0a6a285e899e37e73/pyvesync-1.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78ddefdddf306542bd48417be2df1fe6", "sha256": "d0f27e4b3f458ac1fe6f4aecd37a873b0e8808b8d97b493d51c72fdd11f3d2c4" }, "downloads": -1, "filename": "pyvesync-1.0.9.tar.gz", "has_sig": false, "md5_digest": "78ddefdddf306542bd48417be2df1fe6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17775, "upload_time": "2019-04-27T06:11:43", "url": "https://files.pythonhosted.org/packages/6a/ec/ad8100b8e2936b436413be54de5abe1bab0504c557c6322a75265cd95538/pyvesync-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c5dc9254886965e23da0713fffb8439f", "sha256": "5119a47fb37010e1ffe7d29638e04566044ef3f986e0b78d2879c8a6734bb250" }, "downloads": -1, "filename": "pyvesync-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5dc9254886965e23da0713fffb8439f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35815, "upload_time": "2019-07-15T04:43:13", "url": "https://files.pythonhosted.org/packages/eb/d6/ba226280db396889e6cfb5c4baa269aed8f6b809fbbf761e0637fba3fda5/pyvesync-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c51dd4e10cdff9cf8ce6e5681c282e8a", "sha256": "917445a19a889658832315e454d6562ae875c8666fc74fe688c105cb12f1852f" }, "downloads": -1, "filename": "pyvesync-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c51dd4e10cdff9cf8ce6e5681c282e8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27228, "upload_time": "2019-07-15T04:43:14", "url": "https://files.pythonhosted.org/packages/c9/ff/4058636a55150b961df07c83fe4dd4a7e62149fa68ecd755cde3b332a211/pyvesync-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c5dc9254886965e23da0713fffb8439f", "sha256": "5119a47fb37010e1ffe7d29638e04566044ef3f986e0b78d2879c8a6734bb250" }, "downloads": -1, "filename": "pyvesync-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5dc9254886965e23da0713fffb8439f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35815, "upload_time": "2019-07-15T04:43:13", "url": "https://files.pythonhosted.org/packages/eb/d6/ba226280db396889e6cfb5c4baa269aed8f6b809fbbf761e0637fba3fda5/pyvesync-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c51dd4e10cdff9cf8ce6e5681c282e8a", "sha256": "917445a19a889658832315e454d6562ae875c8666fc74fe688c105cb12f1852f" }, "downloads": -1, "filename": "pyvesync-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c51dd4e10cdff9cf8ce6e5681c282e8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27228, "upload_time": "2019-07-15T04:43:14", "url": "https://files.pythonhosted.org/packages/c9/ff/4058636a55150b961df07c83fe4dd4a7e62149fa68ecd755cde3b332a211/pyvesync-1.1.0.tar.gz" } ] }