2021-12-25T08:04:07,929 Created temporary directory: /tmp/pip-ephem-wheel-cache-d5gyix72 2021-12-25T08:04:07,934 Created temporary directory: /tmp/pip-req-tracker-zb1rbzrv 2021-12-25T08:04:07,935 Initialized build tracking at /tmp/pip-req-tracker-zb1rbzrv 2021-12-25T08:04:07,935 Created build tracker: /tmp/pip-req-tracker-zb1rbzrv 2021-12-25T08:04:07,936 Entered build tracker: /tmp/pip-req-tracker-zb1rbzrv 2021-12-25T08:04:07,937 Created temporary directory: /tmp/pip-wheel-ecq_x8vy 2021-12-25T08:04:08,007 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2021-12-25T08:04:08,012 2 location(s) to search for versions of apache-iotdb: 2021-12-25T08:04:08,012 * https://pypi.org/simple/apache-iotdb/ 2021-12-25T08:04:08,012 * https://www.piwheels.org/simple/apache-iotdb/ 2021-12-25T08:04:08,013 Fetching project page and analyzing links: https://pypi.org/simple/apache-iotdb/ 2021-12-25T08:04:08,015 Getting page https://pypi.org/simple/apache-iotdb/ 2021-12-25T08:04:08,018 Found index url https://pypi.org/simple 2021-12-25T08:04:08,257 Found link https://files.pythonhosted.org/packages/76/14/d01b6281df00530c69bc8eae2074b9970bbe865a5e971b5cd2019e8b8250/apache-iotdb-0.9.0.tar.gz#sha256=0f7f2ea82b2bdfd974c1757dd2b93ae96754bf5aeb56c895f08f7302e76977ad (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.9.0 2021-12-25T08:04:08,258 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/84/aa/fa9401ccadb89ddce7c2b8a03baee9dbb9913c52b5936d0ec7968cabf056/apache_iotdb-0.9.0-py3-none-any.whl#sha256=1feb6b731a9af26aac7a1e6fab74e85dd960562a1dca6e4c5c9d10234a570e82 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,260 Found link https://files.pythonhosted.org/packages/01/fa/e65db378e4d8e07322ec175f37568bceb55ebb3c8397fa7b48e9f087c451/apache-iotdb-0.9.2.tar.gz#sha256=e898a8c1a62493c0c7547f89fe15d39ccb76fc4a6468dbc0f5406e2229c5233d (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.9.2 2021-12-25T08:04:08,261 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/43/8d/72fa03325e9281b613a0eabae9cc7c606ce0e8952bee0c3ca855e4579a1d/apache_iotdb-0.9.2-py3-none-any.whl#sha256=29c5ad15a61ef6200bb3cff15abed66acf87abbbdedab496978a4ee8f731f82c (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,262 Found link https://files.pythonhosted.org/packages/34/95/030c2da665358de8ba950099b3b0397dca437fcde60d5d1730d0c451d5e3/apache-iotdb-0.9.3.tar.gz#sha256=5c17a131cc2485c1788a2d8a29ee850dabd9b16ada3f13996c8a07e11ae23df4 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.9.3 2021-12-25T08:04:08,262 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/5c/d4/2e329baab32ad93730ba4b79df9b91f1d55d0d37428a5dbbe2dd4c9f3a9d/apache_iotdb-0.9.3-py3-none-any.whl#sha256=4a589b5bbbdb8fdc9d1c91320a9a3480e41768cb590d82ab317dc62f57302d6c (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,264 Found link https://files.pythonhosted.org/packages/1d/dc/138e08717f8c2e0e238f35d39b34af6cfc1c7a1332b6aa4689750f4fda26/apache-iotdb-0.10.0.tar.gz#sha256=0c95e2ec5bc4e3338a83898a329ec9609681efbee26b000350d4ac08d564b91e (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.10.0 2021-12-25T08:04:08,264 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/c3/76/46884f04945b6f02bbec4e06d83fafc16f326ca0f9b35b8c0141018990c0/apache_iotdb-0.10.0-py3-none-any.whl#sha256=1607a07d9546fbd1e1239c5faed9a85a3a021e7ad3a389df3eeedcb95708c641 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,266 Found link https://files.pythonhosted.org/packages/f6/4d/b229b9f309431e8164c9cd893431009a57efcaa059f58c1091d222601da3/apache-iotdb-0.10.1.tar.gz#sha256=b3f1651a6b290220222d0eaf66955396e9c3ce17d01be6cd698d31e0e5feb51e (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.10.1 2021-12-25T08:04:08,266 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/d6/87/2e003dcf87ffa8e73f48a62a107b989967e906670d905a05ae1c1349f396/apache_iotdb-0.10.1-py3-none-any.whl#sha256=b4b13fa0d6ed86fbcc1231cad3d220ee81b38452e87fea655641720f803d4c1d (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,268 Found link https://files.pythonhosted.org/packages/16/8b/2ec65fa81d5961bd927c02d6a209490bf325b2a164506cd3b12e846d7061/apache-iotdb-0.11.0.tar.gz#sha256=a89a080bd084ab35e87c08660a1ce604c1857e3ffcf702d39540fb35366eabd8 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.11.0 2021-12-25T08:04:08,268 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/47/c8/047703f7e8125b15361c766b90c6f1cbdbf797f84803f38b1732c1a386cb/apache_iotdb-0.11.0-py3-none-any.whl#sha256=4771e87dd8d933815206c063014beff8eff4c8025353723ac67603f49a119224 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,270 Found link https://files.pythonhosted.org/packages/55/a1/ef100f67e0f26fbc1d19b84115b21de942e7b7e01803706d19f841ac06c1/apache-iotdb-0.11.1.tar.gz#sha256=d80bc159ae19e04d11f0a671061a19f640f95415d9c5f3c4073dd0645c365c44 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.11.1 2021-12-25T08:04:08,270 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/9f/9f/dce2d782c8b64700539039ef5d66f5f7a781689538c0a176cf56099ec9d1/apache_iotdb-0.11.1-py3-none-any.whl#sha256=317a24e4870d587820f8d5be294e2e9a6ad09f70566ce4380506085c47b2fc0a (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,271 Found link https://files.pythonhosted.org/packages/69/d5/f1b9ff293fe02eb1f1cb3cba13b5d9a4b547415ab0045b2a8a3612249e12/apache-iotdb-0.11.2.tar.gz#sha256=d6bf2cf44bf4f7a3c8093da17688ae28c2f2c24eafce6f2f062a01ebc68beae9 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.11.2 2021-12-25T08:04:08,272 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/2b/96/a5f0c63659cc8477c53d8a8321c07ea5a0bb2430abaaab477a6185bb43a1/apache_iotdb-0.11.2-py3-none-any.whl#sha256=762d5b0c5f82869237d5375d2a8774f99654c3b693d6f77bf6e9decc78b7fd5d (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,273 Found link https://files.pythonhosted.org/packages/7d/cf/0d672a828527f59cdc66c078b0b8e356ca0a3191224a4363ce2256337d1c/apache-iotdb-0.11.3.tar.gz#sha256=db3b395fd7c61e4d42a4d8dea8455f846055ca03eb67ed256d655eab20ce0369 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.11.3 2021-12-25T08:04:08,274 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/d2/c7/6709b26341e59788d05a297182aa3f96c692e85421c169f657e92c3b4765/apache_iotdb-0.11.3-py3-none-any.whl#sha256=55e9a0042694ba7fa482f733a1d548c0180bccf0e35e090b85d7b9050c95162b (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,275 Found link https://files.pythonhosted.org/packages/00/a1/5b1b8a2754f4b25420d9a4461b5e2b8573bb89b43054f9303ea0558df0de/apache-iotdb-0.11.4.tar.gz#sha256=83190c258ec5befef3d4efe23825b37855825de6f84ec5b759dd53bf614ae2ff (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.11.4 2021-12-25T08:04:08,276 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/48/f4/a21fd4495f93c428de788a477665f1815b257568469c38108666125fff4b/apache_iotdb-0.11.4-py3-none-any.whl#sha256=cf1ee85db62d31642b32742aba0a026a941b85cf4bb49ec48ef09b9e241f3bf5 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,277 Found link https://files.pythonhosted.org/packages/9e/16/bb2ef45f62e9866f1be97f04e2c581247d3b145e5d8a01b7c143023c6c45/apache-iotdb-0.12.0.tar.gz#sha256=b86ddbcf62a17f7ffdc924933f052d1d1c09b25cb0160d0ab1d0fecf8007b902 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.12.0 2021-12-25T08:04:08,278 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/93/32/e051c3ce387e54b1f036995e92ff352895cf01a51b170752e906a7d42364/apache_iotdb-0.12.0-py3-none-any.whl#sha256=061d9407266b9d100113fa2d11890a8d5d56f8b496305c5864f08a9af35fcc12 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,279 Found link https://files.pythonhosted.org/packages/20/0c/b39e9f362fb0a1a43cb0a05a5b2d9163815f0048575e0c071bbaa50070b8/apache-iotdb-0.12.1.tar.gz#sha256=2ff51551184706b690c91b2f24e4e10694ae486d46b1674b79e58ef2410b9f61 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.12.1 2021-12-25T08:04:08,280 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/55/cf/219a0c3cd17537cebf6e67deeaa77b57741c9b40bcddbb7f59ac9b828401/apache_iotdb-0.12.1-py3-none-any.whl#sha256=bc5ddc6b683bf26a0b9a8c47ada13d29918503664e9e1c3fdefae73121f3a327 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,281 Found link https://files.pythonhosted.org/packages/fd/64/d83ceaaab941dd78df38cd8c35d27028a27724c2535f0e6f01a48472aa28/apache-iotdb-0.12.2.tar.gz#sha256=530b328959f7b20d09f73682d68ecde5d6d58d1048b7d10f6a3846ed6ccef954 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.12.2 2021-12-25T08:04:08,282 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/0b/33/60af46cbc25d7ecf9722bf311295cb0acbf2841f6eb3e3af7433ac3e199d/apache_iotdb-0.12.2-py3-none-any.whl#sha256=4a8cbbf791710bbe1bd83f55b5a6209fed0c28bf1d297dc50df44b9b1662c5a0 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,283 Found link https://files.pythonhosted.org/packages/24/7c/81a9dcfd218d4654b03d9079578659d6201aa4f9e9ccba328c0742e8e9c1/apache-iotdb-0.12.3.tar.gz#sha256=5b73fcce1c33070e14f00d4708129320dbfcd7bd8b80fb82cd74a267457b81e0 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.12.3 2021-12-25T08:04:08,284 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/9f/ae/e79cef98fa20cf977ea22b065fcff8d7b976922dd281f4a74a02b1a72b41/apache_iotdb-0.12.3-py3-none-any.whl#sha256=724ff3ecb4762801cbc977ea4257586757943356bfa16fbfb4cc45ddcea06897 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,285 Found link https://files.pythonhosted.org/packages/9e/11/0d12f9b906b3aac1446c09e297bcdf3a0cdfb016aae1ec77effa214999de/apache-iotdb-0.12.4.tar.gz#sha256=01b1370a1816e5934dc6fd34606b9dfe63817c94d626069aff9102e6e6b77751 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.12.4 2021-12-25T08:04:08,285 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/2b/cb/34f5d9137086d912e4518d751eca1ac9a8b908706c4b3176ca32911fabd2/apache_iotdb-0.12.4-py3-none-any.whl#sha256=b5aa061943bf32b9d289ffcf15e5bad8abc8ef8ee7413e035014ec27b81ad11f (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,286 Fetching project page and analyzing links: https://www.piwheels.org/simple/apache-iotdb/ 2021-12-25T08:04:08,287 Getting page https://www.piwheels.org/simple/apache-iotdb/ 2021-12-25T08:04:08,289 Found index url https://www.piwheels.org/simple 2021-12-25T08:04:08,508 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.10.0-py3-none-any.whl#sha256=388ade65f63cb37eef343e4f294cf3488b79894ff8061a7d9b2bf42277ded9de (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,509 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.10.1-py3-none-any.whl#sha256=b4b13fa0d6ed86fbcc1231cad3d220ee81b38452e87fea655641720f803d4c1d (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,509 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.11.0-py3-none-any.whl#sha256=4771e87dd8d933815206c063014beff8eff4c8025353723ac67603f49a119224 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,510 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.11.1-py3-none-any.whl#sha256=317a24e4870d587820f8d5be294e2e9a6ad09f70566ce4380506085c47b2fc0a (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,510 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.11.2-py3-none-any.whl#sha256=762d5b0c5f82869237d5375d2a8774f99654c3b693d6f77bf6e9decc78b7fd5d (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,511 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.11.3-py3-none-any.whl#sha256=55e9a0042694ba7fa482f733a1d548c0180bccf0e35e090b85d7b9050c95162b (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,511 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.11.4-py3-none-any.whl#sha256=cf1ee85db62d31642b32742aba0a026a941b85cf4bb49ec48ef09b9e241f3bf5 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,512 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.12.0-py3-none-any.whl#sha256=061d9407266b9d100113fa2d11890a8d5d56f8b496305c5864f08a9af35fcc12 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,512 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.12.1-py3-none-any.whl#sha256=bc5ddc6b683bf26a0b9a8c47ada13d29918503664e9e1c3fdefae73121f3a327 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,513 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.12.2-py3-none-any.whl#sha256=bb7605db211272947ba451cdad35a2b4f554167361f0c08acedbfb0723ac7ab8 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,513 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.12.3-py3-none-any.whl#sha256=eb77b047b61a087b286e01afea6ee9761c9e687479a4e551be085d82612ed220 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,514 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.9.0-py3-none-any.whl#sha256=1feb6b731a9af26aac7a1e6fab74e85dd960562a1dca6e4c5c9d10234a570e82 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,514 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.9.2-py3-none-any.whl#sha256=b7fad95c7f041f18a621439aa3cd19fc79d76caa85a93967163566c10b7c6348 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,515 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.9.3-py3-none-any.whl#sha256=b535b53a5182dc94116e67edb4a34c1efb007574273e2ff4ad72ebc3b4634326 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2021-12-25T08:04:08,515 Skipping link: not a file: https://www.piwheels.org/simple/apache-iotdb/ 2021-12-25T08:04:08,516 Skipping link: not a file: https://pypi.org/simple/apache-iotdb/ 2021-12-25T08:04:08,552 Given no hashes to check 1 links for project 'apache-iotdb': discarding no candidates 2021-12-25T08:04:08,582 Collecting apache-iotdb==0.12.4 2021-12-25T08:04:08,585 Created temporary directory: /tmp/pip-unpack-2551d5bp 2021-12-25T08:04:08,801 Downloading apache-iotdb-0.12.4.tar.gz (44 kB) 2021-12-25T08:04:09,017 Added apache-iotdb==0.12.4 from https://files.pythonhosted.org/packages/9e/11/0d12f9b906b3aac1446c09e297bcdf3a0cdfb016aae1ec77effa214999de/apache-iotdb-0.12.4.tar.gz#sha256=01b1370a1816e5934dc6fd34606b9dfe63817c94d626069aff9102e6e6b77751 to build tracker '/tmp/pip-req-tracker-zb1rbzrv' 2021-12-25T08:04:09,026 Created temporary directory: /tmp/pip-build-env-c61axdh3 2021-12-25T08:04:09,040 Created temporary directory: /tmp/pip-standalone-pip-fbcpsigu 2021-12-25T08:04:10,762 Installing build dependencies: started 2021-12-25T08:04:10,763 Running command /usr/bin/python3 /tmp/pip-standalone-pip-fbcpsigu/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-c61axdh3/overlay --no-warn-script-location -v --no-binary apache-iotdb --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple --prefer-binary -- 'setuptools>=40.8.0' wheel 2021-12-25T08:04:18,622 Using pip 21.3.1 from /tmp/pip-standalone-pip-fbcpsigu/__env_pip__.zip/pip (python 3.7) 2021-12-25T08:04:19,410 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2021-12-25T08:04:24,156 Collecting setuptools>=40.8.0 2021-12-25T08:04:24,372 Using cached https://www.piwheels.org/simple/setuptools/setuptools-60.1.0-py3-none-any.whl (952 kB) 2021-12-25T08:04:25,105 Collecting wheel 2021-12-25T08:04:25,140 Using cached https://www.piwheels.org/simple/wheel/wheel-0.37.1-py2.py3-none-any.whl (35 kB) 2021-12-25T08:04:29,636 Installing collected packages: wheel, setuptools 2021-12-25T08:04:29,892 Creating /tmp/pip-build-env-c61axdh3/overlay/bin 2021-12-25T08:04:29,895 changing mode of /tmp/pip-build-env-c61axdh3/overlay/bin/wheel to 755 2021-12-25T08:04:32,968 Successfully installed setuptools-60.1.0 wheel-0.37.1 2021-12-25T08:04:33,522 Installing build dependencies: finished with status 'done' 2021-12-25T08:04:33,544 Getting requirements to build wheel: started 2021-12-25T08:04:33,545 Running command /usr/bin/python3 /usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp1q3mbge8 2021-12-25T08:04:35,183 2021-12-25T08:04:35,192 # Apache IoTDB 2021-12-25T08:04:35,193 [![Build Status](https://www.travis-ci.org/apache/iotdb.svg?branch=master)](https://www.travis-ci.org/apache/iotdb) 2021-12-25T08:04:35,193 [![codecov](https://codecov.io/gh/thulab/iotdb/branch/master/graph/badge.svg)](https://codecov.io/gh/thulab/iotdb) 2021-12-25T08:04:35,193 [![GitHub release](https://img.shields.io/github/release/apache/iotdb.svg)](https://github.com/apache/iotdb/releases) 2021-12-25T08:04:35,193 [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) 2021-12-25T08:04:35,194 ![](https://github-size-badge.herokuapp.com/apache/iotdb.svg) 2021-12-25T08:04:35,194 ![](https://img.shields.io/github/downloads/apache/iotdb/total.svg) 2021-12-25T08:04:35,194 ![](https://img.shields.io/badge/platform-win10%20%7C%20macox%20%7C%20linux-yellow.svg) 2021-12-25T08:04:35,195 ![](https://img.shields.io/badge/java--language-1.8-blue.svg) 2021-12-25T08:04:35,195 [![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/) 2021-12-25T08:04:35,196 Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for 2021-12-25T08:04:35,197 data management and analysis, deployable on the edge and the cloud. Due to its light-weight 2021-12-25T08:04:35,197 architecture, high performance and rich feature set together with its deep integration with 2021-12-25T08:04:35,198 Apache Hadoop, Spark and Flink, Apache IoTDB can meet the requirements of massive data storage, 2021-12-25T08:04:35,198 high-speed data ingestion and complex data analysis in the IoT industrial fields. 2021-12-25T08:04:35,199 # Apache IoTDB Python Client API 2021-12-25T08:04:35,200 Using the package, you can write data to IoTDB, read data from IoTDB and maintain the schema of IoTDB. 2021-12-25T08:04:35,201 ## Requirements 2021-12-25T08:04:35,202 You have to install thrift (>=0.13) before using the package. 2021-12-25T08:04:35,203 ## How to use (Example) 2021-12-25T08:04:35,203 First, download the package: `pip3 install apache-iotdb` 2021-12-25T08:04:35,204 You can get an example of using the package to read and write data at here: [Example](https://github.com/apache/iotdb/blob/rel/0.11/client-py/src/SessionExample.py) 2021-12-25T08:04:35,205 (you need to add `import iotdb` in the head of the file) 2021-12-25T08:04:35,206 Or: 2021-12-25T08:04:35,206 ```python 2021-12-25T08:04:35,207 from iotdb.Session import Session 2021-12-25T08:04:35,208 ip = "127.0.0.1" 2021-12-25T08:04:35,208 port_ = "6667" 2021-12-25T08:04:35,209 username_ = 'root' 2021-12-25T08:04:35,209 password_ = 'root' 2021-12-25T08:04:35,210 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:35,210 session.open(False) 2021-12-25T08:04:35,211 zone = session.get_time_zone() 2021-12-25T08:04:35,211 session.close() 2021-12-25T08:04:35,212 ``` 2021-12-25T08:04:35,213 ## IoTDB Testcontainer 2021-12-25T08:04:35,213 The Test Support is based on the lib `testcontainers` (https://testcontainers-python.readthedocs.io/en/latest/index.html) which you need to install in your project if you want to use the feature. 2021-12-25T08:04:35,214 To start (and stop) an IoTDB Database in a Docker container simply do: 2021-12-25T08:04:35,215 ``` 2021-12-25T08:04:35,215 class MyTestCase(unittest.TestCase): 2021-12-25T08:04:35,217 def test_something(self): 2021-12-25T08:04:35,217 with IoTDBContainer() as c: 2021-12-25T08:04:35,218 session = Session('localhost', c.get_exposed_port(6667), 'root', 'root') 2021-12-25T08:04:35,219 session.open(False) 2021-12-25T08:04:35,219 result = session.execute_query_statement("SHOW TIMESERIES") 2021-12-25T08:04:35,220 print(result) 2021-12-25T08:04:35,220 session.close() 2021-12-25T08:04:35,221 ``` 2021-12-25T08:04:35,221 by default it will load the image `apache/iotdb:latest`, if you want a specific version just pass it like e.g. `IoTDBContainer("apache/iotdb:0.10.0")` to get version `0.10.0` running. 2021-12-25T08:04:35,222 ## Pandas Support 2021-12-25T08:04:35,223 To easily transform a query result to a [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) 2021-12-25T08:04:35,223 the SessionDataSet has a method `.todf()` which consumes the dataset and transforms it to a pandas dataframe. 2021-12-25T08:04:35,224 Example: 2021-12-25T08:04:35,224 ```python 2021-12-25T08:04:35,225 from iotdb.Session import Session 2021-12-25T08:04:35,225 ip = "127.0.0.1" 2021-12-25T08:04:35,226 port_ = "6667" 2021-12-25T08:04:35,226 username_ = 'root' 2021-12-25T08:04:35,226 password_ = 'root' 2021-12-25T08:04:35,227 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:35,227 session.open(False) 2021-12-25T08:04:35,227 result = session.execute_query_statement("SELECT * FROM root.*") 2021-12-25T08:04:35,228 # Transform to Pandas Dataset 2021-12-25T08:04:35,228 df = result.todf() 2021-12-25T08:04:35,229 session.close() 2021-12-25T08:04:35,230 # Now you can work with the dataframe 2021-12-25T08:04:35,230 df = ... 2021-12-25T08:04:35,230 ``` 2021-12-25T08:04:35,231 ## Developers 2021-12-25T08:04:35,232 ### Introduction 2021-12-25T08:04:35,232 This is an example of how to connect to IoTDB with python, using the thrift rpc interfaces. Things 2021-12-25T08:04:35,232 are almost the same on Windows or Linux, but pay attention to the difference like path separator. 2021-12-25T08:04:35,233 ### Prerequisites 2021-12-25T08:04:35,233 python3.7 or later is preferred. 2021-12-25T08:04:35,234 You have to install Thrift (0.11.0 or later) to compile our thrift file into python code. Below is the official 2021-12-25T08:04:35,234 tutorial of installation, eventually, you should have a thrift executable. 2021-12-25T08:04:35,235 ``` 2021-12-25T08:04:35,235 http://thrift.apache.org/docs/install/ 2021-12-25T08:04:35,235 ``` 2021-12-25T08:04:35,236 Before starting you need to install `requirements_dev.txt` in your python environment, e.g. by calling 2021-12-25T08:04:35,236 ``` 2021-12-25T08:04:35,236 pip install -r requirements_dev.txt 2021-12-25T08:04:35,237 ``` 2021-12-25T08:04:35,237 ### Compile the thrift library and Debug 2021-12-25T08:04:35,238 In the root of IoTDB's source code folder, run `mvn clean generate-sources -pl client-py -am`. 2021-12-25T08:04:35,238 This will automatically delete and repopulate the folder `iotdb/thrift` with the generated thrift files. 2021-12-25T08:04:35,238 This folder is ignored from git and should **never be pushed to git!** 2021-12-25T08:04:35,239 **Notice** Do not upload `iotdb/thrift` to the git repo. 2021-12-25T08:04:35,240 ### Session Client & Example 2021-12-25T08:04:35,241 We packed up the Thrift interface in `client-py/src/iotdb/Session.py` (similar with its Java counterpart), also provided 2021-12-25T08:04:35,242 an example file `client-py/src/SessionExample.py` of how to use the session module. please read it carefully. 2021-12-25T08:04:35,243 Or, another simple example: 2021-12-25T08:04:35,243 ```python 2021-12-25T08:04:35,244 from iotdb.Session import Session 2021-12-25T08:04:35,244 ip = "127.0.0.1" 2021-12-25T08:04:35,244 port_ = "6667" 2021-12-25T08:04:35,245 username_ = 'root' 2021-12-25T08:04:35,245 password_ = 'root' 2021-12-25T08:04:35,245 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:35,246 session.open(False) 2021-12-25T08:04:35,246 zone = session.get_time_zone() 2021-12-25T08:04:35,246 session.close() 2021-12-25T08:04:35,246 ``` 2021-12-25T08:04:35,247 ### Tests 2021-12-25T08:04:35,248 Please add your custom tests in `tests` folder. 2021-12-25T08:04:35,248 To run all defined tests just type `pytest .` in the root folder. 2021-12-25T08:04:35,249 **Notice** Some tests need docker to be started on your system as a test instance is started in a docker container using [testcontainers](https://testcontainers-python.readthedocs.io/en/latest/index.html). 2021-12-25T08:04:35,250 ### Futher Tools 2021-12-25T08:04:35,251 [black](https://pypi.org/project/black/) and [flake8](https://pypi.org/project/flake8/) are installed for autoformatting and linting. 2021-12-25T08:04:35,251 Both can be run by `black .` or `flake8 .` respectively. 2021-12-25T08:04:35,253 ## Releasing 2021-12-25T08:04:35,254 To do a release just ensure that you have the right set of generated thrift files. 2021-12-25T08:04:35,254 Then run linting and auto-formatting. 2021-12-25T08:04:35,255 Then, ensure that all tests work (via `pytest .`). 2021-12-25T08:04:35,255 Then you are good to go to do a release! 2021-12-25T08:04:35,256 ### Preparing your environment 2021-12-25T08:04:35,257 First, install all necessary dev dependencies via `pip install -r requirements_dev.txt`. 2021-12-25T08:04:35,258 ### Doing the Release 2021-12-25T08:04:35,260 There is a convenient script `release.sh` to do all steps for a release. 2021-12-25T08:04:35,261 Namely, these are 2021-12-25T08:04:35,262 * Remove all transient directories from last release (if exists) 2021-12-25T08:04:35,263 * (Re-)generate all generated sources via mvn 2021-12-25T08:04:35,264 * Run Linting (flake8) 2021-12-25T08:04:35,264 * Run Tests via pytest 2021-12-25T08:04:35,265 * Build 2021-12-25T08:04:35,265 * Release to pypi 2021-12-25T08:04:35,266 running egg_info 2021-12-25T08:04:35,267 writing apache_iotdb.egg-info/PKG-INFO 2021-12-25T08:04:35,267 writing dependency_links to apache_iotdb.egg-info/dependency_links.txt 2021-12-25T08:04:35,268 writing requirements to apache_iotdb.egg-info/requires.txt 2021-12-25T08:04:35,268 writing top-level names to apache_iotdb.egg-info/top_level.txt 2021-12-25T08:04:35,268 reading manifest file 'apache_iotdb.egg-info/SOURCES.txt' 2021-12-25T08:04:35,269 adding license file 'LICENSE' 2021-12-25T08:04:35,269 writing manifest file 'apache_iotdb.egg-info/SOURCES.txt' 2021-12-25T08:04:35,270 Error processing line 1 of /tmp/pip-build-env-c61axdh3/overlay/lib/python3.7/site-packages/distutils-precedence.pth: 2021-12-25T08:04:35,270 Traceback (most recent call last): 2021-12-25T08:04:35,270 File "/usr/lib/python3.7/site.py", line 174, in addpackage 2021-12-25T08:04:35,271 exec(line) 2021-12-25T08:04:35,271 File "", line 1, in 2021-12-25T08:04:35,271 AttributeError: module '_distutils_hack' has no attribute 'ensure_shim' 2021-12-25T08:04:35,272 Remainder of file ignored 2021-12-25T08:04:35,272 /usr/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'website' 2021-12-25T08:04:35,273 warnings.warn(msg) 2021-12-25T08:04:35,347 Getting requirements to build wheel: finished with status 'done' 2021-12-25T08:04:35,364 Created temporary directory: /tmp/pip-modern-metadata-60f0zr62 2021-12-25T08:04:35,370 Preparing metadata (pyproject.toml): started 2021-12-25T08:04:35,371 Running command /usr/bin/python3 /usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpp65kyp6p 2021-12-25T08:04:36,934 2021-12-25T08:04:36,942 # Apache IoTDB 2021-12-25T08:04:36,943 [![Build Status](https://www.travis-ci.org/apache/iotdb.svg?branch=master)](https://www.travis-ci.org/apache/iotdb) 2021-12-25T08:04:36,943 [![codecov](https://codecov.io/gh/thulab/iotdb/branch/master/graph/badge.svg)](https://codecov.io/gh/thulab/iotdb) 2021-12-25T08:04:36,943 [![GitHub release](https://img.shields.io/github/release/apache/iotdb.svg)](https://github.com/apache/iotdb/releases) 2021-12-25T08:04:36,944 [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) 2021-12-25T08:04:36,944 ![](https://github-size-badge.herokuapp.com/apache/iotdb.svg) 2021-12-25T08:04:36,944 ![](https://img.shields.io/github/downloads/apache/iotdb/total.svg) 2021-12-25T08:04:36,945 ![](https://img.shields.io/badge/platform-win10%20%7C%20macox%20%7C%20linux-yellow.svg) 2021-12-25T08:04:36,945 ![](https://img.shields.io/badge/java--language-1.8-blue.svg) 2021-12-25T08:04:36,945 [![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/) 2021-12-25T08:04:36,946 Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for 2021-12-25T08:04:36,947 data management and analysis, deployable on the edge and the cloud. Due to its light-weight 2021-12-25T08:04:36,947 architecture, high performance and rich feature set together with its deep integration with 2021-12-25T08:04:36,947 Apache Hadoop, Spark and Flink, Apache IoTDB can meet the requirements of massive data storage, 2021-12-25T08:04:36,948 high-speed data ingestion and complex data analysis in the IoT industrial fields. 2021-12-25T08:04:36,948 # Apache IoTDB Python Client API 2021-12-25T08:04:36,949 Using the package, you can write data to IoTDB, read data from IoTDB and maintain the schema of IoTDB. 2021-12-25T08:04:36,950 ## Requirements 2021-12-25T08:04:36,950 You have to install thrift (>=0.13) before using the package. 2021-12-25T08:04:36,951 ## How to use (Example) 2021-12-25T08:04:36,952 First, download the package: `pip3 install apache-iotdb` 2021-12-25T08:04:36,952 You can get an example of using the package to read and write data at here: [Example](https://github.com/apache/iotdb/blob/rel/0.11/client-py/src/SessionExample.py) 2021-12-25T08:04:36,953 (you need to add `import iotdb` in the head of the file) 2021-12-25T08:04:36,953 Or: 2021-12-25T08:04:36,954 ```python 2021-12-25T08:04:36,954 from iotdb.Session import Session 2021-12-25T08:04:36,955 ip = "127.0.0.1" 2021-12-25T08:04:36,955 port_ = "6667" 2021-12-25T08:04:36,955 username_ = 'root' 2021-12-25T08:04:36,956 password_ = 'root' 2021-12-25T08:04:36,956 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:36,956 session.open(False) 2021-12-25T08:04:36,957 zone = session.get_time_zone() 2021-12-25T08:04:36,957 session.close() 2021-12-25T08:04:36,957 ``` 2021-12-25T08:04:36,958 ## IoTDB Testcontainer 2021-12-25T08:04:36,958 The Test Support is based on the lib `testcontainers` (https://testcontainers-python.readthedocs.io/en/latest/index.html) which you need to install in your project if you want to use the feature. 2021-12-25T08:04:36,959 To start (and stop) an IoTDB Database in a Docker container simply do: 2021-12-25T08:04:36,959 ``` 2021-12-25T08:04:36,960 class MyTestCase(unittest.TestCase): 2021-12-25T08:04:36,960 def test_something(self): 2021-12-25T08:04:36,960 with IoTDBContainer() as c: 2021-12-25T08:04:36,961 session = Session('localhost', c.get_exposed_port(6667), 'root', 'root') 2021-12-25T08:04:36,961 session.open(False) 2021-12-25T08:04:36,961 result = session.execute_query_statement("SHOW TIMESERIES") 2021-12-25T08:04:36,962 print(result) 2021-12-25T08:04:36,962 session.close() 2021-12-25T08:04:36,962 ``` 2021-12-25T08:04:36,963 by default it will load the image `apache/iotdb:latest`, if you want a specific version just pass it like e.g. `IoTDBContainer("apache/iotdb:0.10.0")` to get version `0.10.0` running. 2021-12-25T08:04:36,964 ## Pandas Support 2021-12-25T08:04:36,965 To easily transform a query result to a [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) 2021-12-25T08:04:36,965 the SessionDataSet has a method `.todf()` which consumes the dataset and transforms it to a pandas dataframe. 2021-12-25T08:04:36,966 Example: 2021-12-25T08:04:36,967 ```python 2021-12-25T08:04:36,968 from iotdb.Session import Session 2021-12-25T08:04:36,968 ip = "127.0.0.1" 2021-12-25T08:04:36,969 port_ = "6667" 2021-12-25T08:04:36,969 username_ = 'root' 2021-12-25T08:04:36,969 password_ = 'root' 2021-12-25T08:04:36,970 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:36,970 session.open(False) 2021-12-25T08:04:36,971 result = session.execute_query_statement("SELECT * FROM root.*") 2021-12-25T08:04:36,971 # Transform to Pandas Dataset 2021-12-25T08:04:36,972 df = result.todf() 2021-12-25T08:04:36,973 session.close() 2021-12-25T08:04:36,973 # Now you can work with the dataframe 2021-12-25T08:04:36,974 df = ... 2021-12-25T08:04:36,974 ``` 2021-12-25T08:04:36,975 ## Developers 2021-12-25T08:04:36,976 ### Introduction 2021-12-25T08:04:36,976 This is an example of how to connect to IoTDB with python, using the thrift rpc interfaces. Things 2021-12-25T08:04:36,977 are almost the same on Windows or Linux, but pay attention to the difference like path separator. 2021-12-25T08:04:36,977 ### Prerequisites 2021-12-25T08:04:36,978 python3.7 or later is preferred. 2021-12-25T08:04:36,979 You have to install Thrift (0.11.0 or later) to compile our thrift file into python code. Below is the official 2021-12-25T08:04:36,979 tutorial of installation, eventually, you should have a thrift executable. 2021-12-25T08:04:36,980 ``` 2021-12-25T08:04:36,980 http://thrift.apache.org/docs/install/ 2021-12-25T08:04:36,981 ``` 2021-12-25T08:04:36,981 Before starting you need to install `requirements_dev.txt` in your python environment, e.g. by calling 2021-12-25T08:04:36,981 ``` 2021-12-25T08:04:36,982 pip install -r requirements_dev.txt 2021-12-25T08:04:36,982 ``` 2021-12-25T08:04:36,983 ### Compile the thrift library and Debug 2021-12-25T08:04:36,983 In the root of IoTDB's source code folder, run `mvn clean generate-sources -pl client-py -am`. 2021-12-25T08:04:36,984 This will automatically delete and repopulate the folder `iotdb/thrift` with the generated thrift files. 2021-12-25T08:04:36,984 This folder is ignored from git and should **never be pushed to git!** 2021-12-25T08:04:36,985 **Notice** Do not upload `iotdb/thrift` to the git repo. 2021-12-25T08:04:36,986 ### Session Client & Example 2021-12-25T08:04:36,986 We packed up the Thrift interface in `client-py/src/iotdb/Session.py` (similar with its Java counterpart), also provided 2021-12-25T08:04:36,986 an example file `client-py/src/SessionExample.py` of how to use the session module. please read it carefully. 2021-12-25T08:04:36,987 Or, another simple example: 2021-12-25T08:04:36,988 ```python 2021-12-25T08:04:36,988 from iotdb.Session import Session 2021-12-25T08:04:36,989 ip = "127.0.0.1" 2021-12-25T08:04:36,989 port_ = "6667" 2021-12-25T08:04:36,989 username_ = 'root' 2021-12-25T08:04:36,990 password_ = 'root' 2021-12-25T08:04:36,990 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:36,990 session.open(False) 2021-12-25T08:04:36,991 zone = session.get_time_zone() 2021-12-25T08:04:36,991 session.close() 2021-12-25T08:04:36,991 ``` 2021-12-25T08:04:36,992 ### Tests 2021-12-25T08:04:36,992 Please add your custom tests in `tests` folder. 2021-12-25T08:04:36,993 To run all defined tests just type `pytest .` in the root folder. 2021-12-25T08:04:36,993 **Notice** Some tests need docker to be started on your system as a test instance is started in a docker container using [testcontainers](https://testcontainers-python.readthedocs.io/en/latest/index.html). 2021-12-25T08:04:36,994 ### Futher Tools 2021-12-25T08:04:36,995 [black](https://pypi.org/project/black/) and [flake8](https://pypi.org/project/flake8/) are installed for autoformatting and linting. 2021-12-25T08:04:36,995 Both can be run by `black .` or `flake8 .` respectively. 2021-12-25T08:04:36,996 ## Releasing 2021-12-25T08:04:36,996 To do a release just ensure that you have the right set of generated thrift files. 2021-12-25T08:04:36,996 Then run linting and auto-formatting. 2021-12-25T08:04:36,997 Then, ensure that all tests work (via `pytest .`). 2021-12-25T08:04:36,997 Then you are good to go to do a release! 2021-12-25T08:04:36,998 ### Preparing your environment 2021-12-25T08:04:36,998 First, install all necessary dev dependencies via `pip install -r requirements_dev.txt`. 2021-12-25T08:04:36,999 ### Doing the Release 2021-12-25T08:04:37,000 There is a convenient script `release.sh` to do all steps for a release. 2021-12-25T08:04:37,000 Namely, these are 2021-12-25T08:04:37,001 * Remove all transient directories from last release (if exists) 2021-12-25T08:04:37,001 * (Re-)generate all generated sources via mvn 2021-12-25T08:04:37,001 * Run Linting (flake8) 2021-12-25T08:04:37,001 * Run Tests via pytest 2021-12-25T08:04:37,002 * Build 2021-12-25T08:04:37,002 * Release to pypi 2021-12-25T08:04:37,003 running dist_info 2021-12-25T08:04:37,003 creating /tmp/pip-modern-metadata-60f0zr62/apache_iotdb.egg-info 2021-12-25T08:04:37,003 writing /tmp/pip-modern-metadata-60f0zr62/apache_iotdb.egg-info/PKG-INFO 2021-12-25T08:04:37,003 writing dependency_links to /tmp/pip-modern-metadata-60f0zr62/apache_iotdb.egg-info/dependency_links.txt 2021-12-25T08:04:37,004 writing requirements to /tmp/pip-modern-metadata-60f0zr62/apache_iotdb.egg-info/requires.txt 2021-12-25T08:04:37,004 writing top-level names to /tmp/pip-modern-metadata-60f0zr62/apache_iotdb.egg-info/top_level.txt 2021-12-25T08:04:37,004 writing manifest file '/tmp/pip-modern-metadata-60f0zr62/apache_iotdb.egg-info/SOURCES.txt' 2021-12-25T08:04:37,004 reading manifest file '/tmp/pip-modern-metadata-60f0zr62/apache_iotdb.egg-info/SOURCES.txt' 2021-12-25T08:04:37,005 adding license file 'LICENSE' 2021-12-25T08:04:37,007 writing manifest file '/tmp/pip-modern-metadata-60f0zr62/apache_iotdb.egg-info/SOURCES.txt' 2021-12-25T08:04:37,009 creating '/tmp/pip-modern-metadata-60f0zr62/apache_iotdb.dist-info' 2021-12-25T08:04:37,126 adding license file "LICENSE" (matched pattern "LICEN[CS]E*") 2021-12-25T08:04:37,138 Error processing line 1 of /tmp/pip-build-env-c61axdh3/overlay/lib/python3.7/site-packages/distutils-precedence.pth: 2021-12-25T08:04:37,138 Traceback (most recent call last): 2021-12-25T08:04:37,139 File "/usr/lib/python3.7/site.py", line 174, in addpackage 2021-12-25T08:04:37,139 exec(line) 2021-12-25T08:04:37,139 File "", line 1, in 2021-12-25T08:04:37,140 AttributeError: module '_distutils_hack' has no attribute 'ensure_shim' 2021-12-25T08:04:37,140 Remainder of file ignored 2021-12-25T08:04:37,141 /usr/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'website' 2021-12-25T08:04:37,141 warnings.warn(msg) 2021-12-25T08:04:37,244 Preparing metadata (pyproject.toml): finished with status 'done' 2021-12-25T08:04:37,257 Source in /tmp/pip-wheel-ecq_x8vy/apache-iotdb_4438b8f6748b4e5c9429337010fdb836 has version 0.12.4, which satisfies requirement apache-iotdb==0.12.4 from https://files.pythonhosted.org/packages/9e/11/0d12f9b906b3aac1446c09e297bcdf3a0cdfb016aae1ec77effa214999de/apache-iotdb-0.12.4.tar.gz#sha256=01b1370a1816e5934dc6fd34606b9dfe63817c94d626069aff9102e6e6b77751 2021-12-25T08:04:37,259 Removed apache-iotdb==0.12.4 from https://files.pythonhosted.org/packages/9e/11/0d12f9b906b3aac1446c09e297bcdf3a0cdfb016aae1ec77effa214999de/apache-iotdb-0.12.4.tar.gz#sha256=01b1370a1816e5934dc6fd34606b9dfe63817c94d626069aff9102e6e6b77751 from build tracker '/tmp/pip-req-tracker-zb1rbzrv' 2021-12-25T08:04:37,273 Created temporary directory: /tmp/pip-unpack-qth2kj7k 2021-12-25T08:04:37,274 Building wheels for collected packages: apache-iotdb 2021-12-25T08:04:37,283 Created temporary directory: /tmp/pip-wheel-zh1v1v6z 2021-12-25T08:04:37,284 Destination directory: /tmp/pip-wheel-zh1v1v6z 2021-12-25T08:04:37,289 Building wheel for apache-iotdb (pyproject.toml): started 2021-12-25T08:04:37,289 Running command /usr/bin/python3 /usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp0utfy9sj 2021-12-25T08:04:38,913 2021-12-25T08:04:38,921 # Apache IoTDB 2021-12-25T08:04:38,922 [![Build Status](https://www.travis-ci.org/apache/iotdb.svg?branch=master)](https://www.travis-ci.org/apache/iotdb) 2021-12-25T08:04:38,922 [![codecov](https://codecov.io/gh/thulab/iotdb/branch/master/graph/badge.svg)](https://codecov.io/gh/thulab/iotdb) 2021-12-25T08:04:38,923 [![GitHub release](https://img.shields.io/github/release/apache/iotdb.svg)](https://github.com/apache/iotdb/releases) 2021-12-25T08:04:38,923 [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) 2021-12-25T08:04:38,923 ![](https://github-size-badge.herokuapp.com/apache/iotdb.svg) 2021-12-25T08:04:38,923 ![](https://img.shields.io/github/downloads/apache/iotdb/total.svg) 2021-12-25T08:04:38,924 ![](https://img.shields.io/badge/platform-win10%20%7C%20macox%20%7C%20linux-yellow.svg) 2021-12-25T08:04:38,924 ![](https://img.shields.io/badge/java--language-1.8-blue.svg) 2021-12-25T08:04:38,924 [![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/) 2021-12-25T08:04:38,925 Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for 2021-12-25T08:04:38,925 data management and analysis, deployable on the edge and the cloud. Due to its light-weight 2021-12-25T08:04:38,926 architecture, high performance and rich feature set together with its deep integration with 2021-12-25T08:04:38,926 Apache Hadoop, Spark and Flink, Apache IoTDB can meet the requirements of massive data storage, 2021-12-25T08:04:38,926 high-speed data ingestion and complex data analysis in the IoT industrial fields. 2021-12-25T08:04:38,927 # Apache IoTDB Python Client API 2021-12-25T08:04:38,928 Using the package, you can write data to IoTDB, read data from IoTDB and maintain the schema of IoTDB. 2021-12-25T08:04:38,928 ## Requirements 2021-12-25T08:04:38,929 You have to install thrift (>=0.13) before using the package. 2021-12-25T08:04:38,930 ## How to use (Example) 2021-12-25T08:04:38,930 First, download the package: `pip3 install apache-iotdb` 2021-12-25T08:04:38,931 You can get an example of using the package to read and write data at here: [Example](https://github.com/apache/iotdb/blob/rel/0.11/client-py/src/SessionExample.py) 2021-12-25T08:04:38,932 (you need to add `import iotdb` in the head of the file) 2021-12-25T08:04:38,932 Or: 2021-12-25T08:04:38,933 ```python 2021-12-25T08:04:38,933 from iotdb.Session import Session 2021-12-25T08:04:38,934 ip = "127.0.0.1" 2021-12-25T08:04:38,934 port_ = "6667" 2021-12-25T08:04:38,935 username_ = 'root' 2021-12-25T08:04:38,935 password_ = 'root' 2021-12-25T08:04:38,935 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:38,935 session.open(False) 2021-12-25T08:04:38,936 zone = session.get_time_zone() 2021-12-25T08:04:38,936 session.close() 2021-12-25T08:04:38,936 ``` 2021-12-25T08:04:38,937 ## IoTDB Testcontainer 2021-12-25T08:04:38,938 The Test Support is based on the lib `testcontainers` (https://testcontainers-python.readthedocs.io/en/latest/index.html) which you need to install in your project if you want to use the feature. 2021-12-25T08:04:38,939 To start (and stop) an IoTDB Database in a Docker container simply do: 2021-12-25T08:04:38,939 ``` 2021-12-25T08:04:38,940 class MyTestCase(unittest.TestCase): 2021-12-25T08:04:38,940 def test_something(self): 2021-12-25T08:04:38,941 with IoTDBContainer() as c: 2021-12-25T08:04:38,941 session = Session('localhost', c.get_exposed_port(6667), 'root', 'root') 2021-12-25T08:04:38,941 session.open(False) 2021-12-25T08:04:38,941 result = session.execute_query_statement("SHOW TIMESERIES") 2021-12-25T08:04:38,942 print(result) 2021-12-25T08:04:38,942 session.close() 2021-12-25T08:04:38,942 ``` 2021-12-25T08:04:38,943 by default it will load the image `apache/iotdb:latest`, if you want a specific version just pass it like e.g. `IoTDBContainer("apache/iotdb:0.10.0")` to get version `0.10.0` running. 2021-12-25T08:04:38,943 ## Pandas Support 2021-12-25T08:04:38,944 To easily transform a query result to a [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) 2021-12-25T08:04:38,944 the SessionDataSet has a method `.todf()` which consumes the dataset and transforms it to a pandas dataframe. 2021-12-25T08:04:38,945 Example: 2021-12-25T08:04:38,945 ```python 2021-12-25T08:04:38,946 from iotdb.Session import Session 2021-12-25T08:04:38,946 ip = "127.0.0.1" 2021-12-25T08:04:38,946 port_ = "6667" 2021-12-25T08:04:38,947 username_ = 'root' 2021-12-25T08:04:38,947 password_ = 'root' 2021-12-25T08:04:38,947 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:38,948 session.open(False) 2021-12-25T08:04:38,948 result = session.execute_query_statement("SELECT * FROM root.*") 2021-12-25T08:04:38,948 # Transform to Pandas Dataset 2021-12-25T08:04:38,949 df = result.todf() 2021-12-25T08:04:38,949 session.close() 2021-12-25T08:04:38,950 # Now you can work with the dataframe 2021-12-25T08:04:38,950 df = ... 2021-12-25T08:04:38,950 ``` 2021-12-25T08:04:38,951 ## Developers 2021-12-25T08:04:38,951 ### Introduction 2021-12-25T08:04:38,952 This is an example of how to connect to IoTDB with python, using the thrift rpc interfaces. Things 2021-12-25T08:04:38,952 are almost the same on Windows or Linux, but pay attention to the difference like path separator. 2021-12-25T08:04:38,953 ### Prerequisites 2021-12-25T08:04:38,953 python3.7 or later is preferred. 2021-12-25T08:04:38,954 You have to install Thrift (0.11.0 or later) to compile our thrift file into python code. Below is the official 2021-12-25T08:04:38,954 tutorial of installation, eventually, you should have a thrift executable. 2021-12-25T08:04:38,954 ``` 2021-12-25T08:04:38,955 http://thrift.apache.org/docs/install/ 2021-12-25T08:04:38,955 ``` 2021-12-25T08:04:38,955 Before starting you need to install `requirements_dev.txt` in your python environment, e.g. by calling 2021-12-25T08:04:38,956 ``` 2021-12-25T08:04:38,956 pip install -r requirements_dev.txt 2021-12-25T08:04:38,956 ``` 2021-12-25T08:04:38,957 ### Compile the thrift library and Debug 2021-12-25T08:04:38,958 In the root of IoTDB's source code folder, run `mvn clean generate-sources -pl client-py -am`. 2021-12-25T08:04:38,958 This will automatically delete and repopulate the folder `iotdb/thrift` with the generated thrift files. 2021-12-25T08:04:38,959 This folder is ignored from git and should **never be pushed to git!** 2021-12-25T08:04:38,960 **Notice** Do not upload `iotdb/thrift` to the git repo. 2021-12-25T08:04:38,961 ### Session Client & Example 2021-12-25T08:04:38,961 We packed up the Thrift interface in `client-py/src/iotdb/Session.py` (similar with its Java counterpart), also provided 2021-12-25T08:04:38,962 an example file `client-py/src/SessionExample.py` of how to use the session module. please read it carefully. 2021-12-25T08:04:38,963 Or, another simple example: 2021-12-25T08:04:38,963 ```python 2021-12-25T08:04:38,963 from iotdb.Session import Session 2021-12-25T08:04:38,964 ip = "127.0.0.1" 2021-12-25T08:04:38,964 port_ = "6667" 2021-12-25T08:04:38,965 username_ = 'root' 2021-12-25T08:04:38,965 password_ = 'root' 2021-12-25T08:04:38,965 session = Session(ip, port_, username_, password_) 2021-12-25T08:04:38,966 session.open(False) 2021-12-25T08:04:38,966 zone = session.get_time_zone() 2021-12-25T08:04:38,966 session.close() 2021-12-25T08:04:38,967 ``` 2021-12-25T08:04:38,967 ### Tests 2021-12-25T08:04:38,968 Please add your custom tests in `tests` folder. 2021-12-25T08:04:38,968 To run all defined tests just type `pytest .` in the root folder. 2021-12-25T08:04:38,969 **Notice** Some tests need docker to be started on your system as a test instance is started in a docker container using [testcontainers](https://testcontainers-python.readthedocs.io/en/latest/index.html). 2021-12-25T08:04:38,969 ### Futher Tools 2021-12-25T08:04:38,970 [black](https://pypi.org/project/black/) and [flake8](https://pypi.org/project/flake8/) are installed for autoformatting and linting. 2021-12-25T08:04:38,970 Both can be run by `black .` or `flake8 .` respectively. 2021-12-25T08:04:38,970 ## Releasing 2021-12-25T08:04:38,971 To do a release just ensure that you have the right set of generated thrift files. 2021-12-25T08:04:38,971 Then run linting and auto-formatting. 2021-12-25T08:04:38,971 Then, ensure that all tests work (via `pytest .`). 2021-12-25T08:04:38,972 Then you are good to go to do a release! 2021-12-25T08:04:38,972 ### Preparing your environment 2021-12-25T08:04:38,973 First, install all necessary dev dependencies via `pip install -r requirements_dev.txt`. 2021-12-25T08:04:38,973 ### Doing the Release 2021-12-25T08:04:38,974 There is a convenient script `release.sh` to do all steps for a release. 2021-12-25T08:04:38,974 Namely, these are 2021-12-25T08:04:38,975 * Remove all transient directories from last release (if exists) 2021-12-25T08:04:38,975 * (Re-)generate all generated sources via mvn 2021-12-25T08:04:38,975 * Run Linting (flake8) 2021-12-25T08:04:38,975 * Run Tests via pytest 2021-12-25T08:04:38,976 * Build 2021-12-25T08:04:38,976 * Release to pypi 2021-12-25T08:04:38,976 running bdist_wheel 2021-12-25T08:04:39,304 running build 2021-12-25T08:04:39,304 running build_py 2021-12-25T08:04:39,311 creating build 2021-12-25T08:04:39,312 creating build/lib 2021-12-25T08:04:39,313 creating build/lib/tests 2021-12-25T08:04:39,315 copying tests/__init__.py -> build/lib/tests 2021-12-25T08:04:39,318 copying tests/test_dataframe.py -> build/lib/tests 2021-12-25T08:04:39,322 creating build/lib/iotdb 2021-12-25T08:04:39,324 copying iotdb/__init__.py -> build/lib/iotdb 2021-12-25T08:04:39,327 copying iotdb/Session.py -> build/lib/iotdb 2021-12-25T08:04:39,332 copying iotdb/IoTDBContainer.py -> build/lib/iotdb 2021-12-25T08:04:39,336 creating build/lib/iotdb/utils 2021-12-25T08:04:39,337 copying iotdb/utils/Field.py -> build/lib/iotdb/utils 2021-12-25T08:04:39,341 copying iotdb/utils/__init__.py -> build/lib/iotdb/utils 2021-12-25T08:04:39,344 copying iotdb/utils/IoTDBConstants.py -> build/lib/iotdb/utils 2021-12-25T08:04:39,347 copying iotdb/utils/RowRecord.py -> build/lib/iotdb/utils 2021-12-25T08:04:39,350 copying iotdb/utils/Tablet.py -> build/lib/iotdb/utils 2021-12-25T08:04:39,354 copying iotdb/utils/IoTDBRpcDataSet.py -> build/lib/iotdb/utils 2021-12-25T08:04:39,357 copying iotdb/utils/SessionDataSet.py -> build/lib/iotdb/utils 2021-12-25T08:04:39,362 creating build/lib/iotdb/thrift 2021-12-25T08:04:39,363 copying iotdb/thrift/__init__.py -> build/lib/iotdb/thrift 2021-12-25T08:04:39,367 creating build/lib/iotdb/thrift/rpc 2021-12-25T08:04:39,368 copying iotdb/thrift/rpc/__init__.py -> build/lib/iotdb/thrift/rpc 2021-12-25T08:04:39,371 copying iotdb/thrift/rpc/ttypes.py -> build/lib/iotdb/thrift/rpc 2021-12-25T08:04:39,383 copying iotdb/thrift/rpc/TSIService.py -> build/lib/iotdb/thrift/rpc 2021-12-25T08:04:39,398 copying iotdb/thrift/rpc/constants.py -> build/lib/iotdb/thrift/rpc 2021-12-25T08:04:39,416 installing to build/bdist.linux-armv7l/wheel 2021-12-25T08:04:39,416 running install 2021-12-25T08:04:39,418 running install_lib 2021-12-25T08:04:39,426 creating build/bdist.linux-armv7l 2021-12-25T08:04:39,427 creating build/bdist.linux-armv7l/wheel 2021-12-25T08:04:39,429 creating build/bdist.linux-armv7l/wheel/tests 2021-12-25T08:04:39,431 copying build/lib/tests/__init__.py -> build/bdist.linux-armv7l/wheel/tests 2021-12-25T08:04:39,434 copying build/lib/tests/test_dataframe.py -> build/bdist.linux-armv7l/wheel/tests 2021-12-25T08:04:39,438 creating build/bdist.linux-armv7l/wheel/iotdb 2021-12-25T08:04:39,440 copying build/lib/iotdb/__init__.py -> build/bdist.linux-armv7l/wheel/iotdb 2021-12-25T08:04:39,444 copying build/lib/iotdb/Session.py -> build/bdist.linux-armv7l/wheel/iotdb 2021-12-25T08:04:39,450 creating build/bdist.linux-armv7l/wheel/iotdb/utils 2021-12-25T08:04:39,451 copying build/lib/iotdb/utils/Field.py -> build/bdist.linux-armv7l/wheel/iotdb/utils 2021-12-25T08:04:39,455 copying build/lib/iotdb/utils/__init__.py -> build/bdist.linux-armv7l/wheel/iotdb/utils 2021-12-25T08:04:39,459 copying build/lib/iotdb/utils/IoTDBConstants.py -> build/bdist.linux-armv7l/wheel/iotdb/utils 2021-12-25T08:04:39,462 copying build/lib/iotdb/utils/RowRecord.py -> build/bdist.linux-armv7l/wheel/iotdb/utils 2021-12-25T08:04:39,465 copying build/lib/iotdb/utils/Tablet.py -> build/bdist.linux-armv7l/wheel/iotdb/utils 2021-12-25T08:04:39,469 copying build/lib/iotdb/utils/IoTDBRpcDataSet.py -> build/bdist.linux-armv7l/wheel/iotdb/utils 2021-12-25T08:04:39,473 copying build/lib/iotdb/utils/SessionDataSet.py -> build/bdist.linux-armv7l/wheel/iotdb/utils 2021-12-25T08:04:39,477 copying build/lib/iotdb/IoTDBContainer.py -> build/bdist.linux-armv7l/wheel/iotdb 2021-12-25T08:04:39,481 creating build/bdist.linux-armv7l/wheel/iotdb/thrift 2021-12-25T08:04:39,483 copying build/lib/iotdb/thrift/__init__.py -> build/bdist.linux-armv7l/wheel/iotdb/thrift 2021-12-25T08:04:39,487 creating build/bdist.linux-armv7l/wheel/iotdb/thrift/rpc 2021-12-25T08:04:39,488 copying build/lib/iotdb/thrift/rpc/__init__.py -> build/bdist.linux-armv7l/wheel/iotdb/thrift/rpc 2021-12-25T08:04:39,492 copying build/lib/iotdb/thrift/rpc/ttypes.py -> build/bdist.linux-armv7l/wheel/iotdb/thrift/rpc 2021-12-25T08:04:39,506 copying build/lib/iotdb/thrift/rpc/TSIService.py -> build/bdist.linux-armv7l/wheel/iotdb/thrift/rpc 2021-12-25T08:04:39,522 copying build/lib/iotdb/thrift/rpc/constants.py -> build/bdist.linux-armv7l/wheel/iotdb/thrift/rpc 2021-12-25T08:04:39,524 running install_egg_info 2021-12-25T08:04:39,566 running egg_info 2021-12-25T08:04:39,566 writing apache_iotdb.egg-info/PKG-INFO 2021-12-25T08:04:39,570 writing dependency_links to apache_iotdb.egg-info/dependency_links.txt 2021-12-25T08:04:39,572 writing requirements to apache_iotdb.egg-info/requires.txt 2021-12-25T08:04:39,574 writing top-level names to apache_iotdb.egg-info/top_level.txt 2021-12-25T08:04:39,585 reading manifest file 'apache_iotdb.egg-info/SOURCES.txt' 2021-12-25T08:04:39,590 adding license file 'LICENSE' 2021-12-25T08:04:39,597 writing manifest file 'apache_iotdb.egg-info/SOURCES.txt' 2021-12-25T08:04:39,599 Copying apache_iotdb.egg-info to build/bdist.linux-armv7l/wheel/apache_iotdb-0.12.4-py3.7.egg-info 2021-12-25T08:04:39,619 running install_scripts 2021-12-25T08:04:39,776 adding license file "LICENSE" (matched pattern "LICEN[CS]E*") 2021-12-25T08:04:39,785 creating build/bdist.linux-armv7l/wheel/apache_iotdb-0.12.4.dist-info/WHEEL 2021-12-25T08:04:39,789 creating '/tmp/pip-wheel-zh1v1v6z/tmp8fh_d55j/apache_iotdb-0.12.4-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2021-12-25T08:04:39,796 adding 'iotdb/IoTDBContainer.py' 2021-12-25T08:04:39,803 adding 'iotdb/Session.py' 2021-12-25T08:04:39,806 adding 'iotdb/__init__.py' 2021-12-25T08:04:39,809 adding 'iotdb/thrift/__init__.py' 2021-12-25T08:04:39,830 adding 'iotdb/thrift/rpc/TSIService.py' 2021-12-25T08:04:39,836 adding 'iotdb/thrift/rpc/__init__.py' 2021-12-25T08:04:39,838 adding 'iotdb/thrift/rpc/constants.py' 2021-12-25T08:04:39,857 adding 'iotdb/thrift/rpc/ttypes.py' 2021-12-25T08:04:39,864 adding 'iotdb/utils/Field.py' 2021-12-25T08:04:39,866 adding 'iotdb/utils/IoTDBConstants.py' 2021-12-25T08:04:39,870 adding 'iotdb/utils/IoTDBRpcDataSet.py' 2021-12-25T08:04:39,873 adding 'iotdb/utils/RowRecord.py' 2021-12-25T08:04:39,875 adding 'iotdb/utils/SessionDataSet.py' 2021-12-25T08:04:39,878 adding 'iotdb/utils/Tablet.py' 2021-12-25T08:04:39,880 adding 'iotdb/utils/__init__.py' 2021-12-25T08:04:39,884 adding 'tests/__init__.py' 2021-12-25T08:04:39,886 adding 'tests/test_dataframe.py' 2021-12-25T08:04:39,890 adding 'apache_iotdb-0.12.4.dist-info/LICENSE' 2021-12-25T08:04:39,894 adding 'apache_iotdb-0.12.4.dist-info/METADATA' 2021-12-25T08:04:39,895 adding 'apache_iotdb-0.12.4.dist-info/WHEEL' 2021-12-25T08:04:39,897 adding 'apache_iotdb-0.12.4.dist-info/top_level.txt' 2021-12-25T08:04:39,898 adding 'apache_iotdb-0.12.4.dist-info/RECORD' 2021-12-25T08:04:39,902 removing build/bdist.linux-armv7l/wheel 2021-12-25T08:04:39,922 Error processing line 1 of /tmp/pip-build-env-c61axdh3/overlay/lib/python3.7/site-packages/distutils-precedence.pth: 2021-12-25T08:04:39,923 Traceback (most recent call last): 2021-12-25T08:04:39,923 File "/usr/lib/python3.7/site.py", line 174, in addpackage 2021-12-25T08:04:39,924 exec(line) 2021-12-25T08:04:39,924 File "", line 1, in 2021-12-25T08:04:39,924 AttributeError: module '_distutils_hack' has no attribute 'ensure_shim' 2021-12-25T08:04:39,925 Remainder of file ignored 2021-12-25T08:04:39,925 /usr/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'website' 2021-12-25T08:04:39,926 warnings.warn(msg) 2021-12-25T08:04:40,056 Building wheel for apache-iotdb (pyproject.toml): finished with status 'done' 2021-12-25T08:04:40,071 Created wheel for apache-iotdb: filename=apache_iotdb-0.12.4-py3-none-any.whl size=49477 sha256=af5fa8000dd449fb6d98420287b2049b5e68d268fa1529fa96955b5fe7637c13 2021-12-25T08:04:40,072 Stored in directory: /tmp/pip-ephem-wheel-cache-d5gyix72/wheels/96/48/bd/f3fe9a011bea78f9838d3595f7eacfeeefe7cb7d0825f9c992 2021-12-25T08:04:40,096 Successfully built apache-iotdb 2021-12-25T08:04:40,106 Removed build tracker: '/tmp/pip-req-tracker-zb1rbzrv'