2022-03-08T03:47:01,997 Created temporary directory: /tmp/pip-ephem-wheel-cache-v8unogfx 2022-03-08T03:47:02,003 Created temporary directory: /tmp/pip-req-tracker-q799d3ek 2022-03-08T03:47:02,004 Initialized build tracking at /tmp/pip-req-tracker-q799d3ek 2022-03-08T03:47:02,004 Created build tracker: /tmp/pip-req-tracker-q799d3ek 2022-03-08T03:47:02,004 Entered build tracker: /tmp/pip-req-tracker-q799d3ek 2022-03-08T03:47:02,006 Created temporary directory: /tmp/pip-wheel-x6zk_s61 2022-03-08T03:47:02,074 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2022-03-08T03:47:02,083 2 location(s) to search for versions of apache-iotdb: 2022-03-08T03:47:02,083 * https://pypi.org/simple/apache-iotdb/ 2022-03-08T03:47:02,083 * https://www.piwheels.org/simple/apache-iotdb/ 2022-03-08T03:47:02,084 Fetching project page and analyzing links: https://pypi.org/simple/apache-iotdb/ 2022-03-08T03:47:02,085 Getting page https://pypi.org/simple/apache-iotdb/ 2022-03-08T03:47:02,088 Found index url https://pypi.org/simple 2022-03-08T03:47:02,221 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 2022-03-08T03:47:02,222 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) 2022-03-08T03:47:02,223 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 2022-03-08T03:47:02,224 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) 2022-03-08T03:47:02,225 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 2022-03-08T03:47:02,226 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) 2022-03-08T03:47:02,227 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 2022-03-08T03:47:02,228 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) 2022-03-08T03:47:02,229 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 2022-03-08T03:47:02,230 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) 2022-03-08T03:47:02,231 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 2022-03-08T03:47:02,232 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) 2022-03-08T03:47:02,233 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 2022-03-08T03:47:02,234 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) 2022-03-08T03:47:02,235 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 2022-03-08T03:47:02,236 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) 2022-03-08T03:47:02,237 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 2022-03-08T03:47:02,238 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) 2022-03-08T03:47:02,239 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 2022-03-08T03:47:02,240 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) 2022-03-08T03:47:02,242 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 2022-03-08T03:47:02,242 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) 2022-03-08T03:47:02,244 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 2022-03-08T03:47:02,244 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) 2022-03-08T03:47:02,246 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 2022-03-08T03:47:02,246 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) 2022-03-08T03:47:02,248 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 2022-03-08T03:47:02,248 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) 2022-03-08T03:47:02,250 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 2022-03-08T03:47:02,251 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) 2022-03-08T03:47:02,252 Found link https://files.pythonhosted.org/packages/8a/52/93503eac47c1561edc21431f7154b694afad9d461e2af0fea36966953c24/apache-iotdb-0.12.5.tar.gz#sha256=38eb0acb7f8f66f2c40dbeeb0bcaac9914442c02d2b2b40f621080ad8532af48 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7), version: 0.12.5 2022-03-08T03:47:02,253 Skipping link: No binaries permitted for apache-iotdb: https://files.pythonhosted.org/packages/7a/30/1cd9bca76c1f4f9b4cd48d11f23103ade9c5a35410bbf0a8f5997bab51b0/apache_iotdb-0.12.5-py3-none-any.whl#sha256=3255a9b173ef106ff04aa683d2dc59f2c5109c0e197dc39a0d3abcc517c27393 (from https://pypi.org/simple/apache-iotdb/) (requires-python:>=3.7) 2022-03-08T03:47:02,253 Fetching project page and analyzing links: https://www.piwheels.org/simple/apache-iotdb/ 2022-03-08T03:47:02,254 Getting page https://www.piwheels.org/simple/apache-iotdb/ 2022-03-08T03:47:02,256 Found index url https://www.piwheels.org/simple 2022-03-08T03:47:02,472 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) 2022-03-08T03:47:02,473 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) 2022-03-08T03:47:02,474 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) 2022-03-08T03:47:02,474 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) 2022-03-08T03:47:02,475 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) 2022-03-08T03:47:02,475 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) 2022-03-08T03:47:02,476 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) 2022-03-08T03:47:02,477 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) 2022-03-08T03:47:02,477 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) 2022-03-08T03:47:02,478 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) 2022-03-08T03:47:02,478 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) 2022-03-08T03:47:02,479 Skipping link: No binaries permitted for apache-iotdb: https://www.piwheels.org/simple/apache-iotdb/apache_iotdb-0.12.4-py3-none-any.whl#sha256=af5fa8000dd449fb6d98420287b2049b5e68d268fa1529fa96955b5fe7637c13 (from https://www.piwheels.org/simple/apache-iotdb/) (requires-python:>=3.7) 2022-03-08T03:47:02,479 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) 2022-03-08T03:47:02,480 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) 2022-03-08T03:47:02,480 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) 2022-03-08T03:47:02,481 Skipping link: not a file: https://www.piwheels.org/simple/apache-iotdb/ 2022-03-08T03:47:02,482 Skipping link: not a file: https://pypi.org/simple/apache-iotdb/ 2022-03-08T03:47:02,521 Given no hashes to check 1 links for project 'apache-iotdb': discarding no candidates 2022-03-08T03:47:02,551 Collecting apache-iotdb==0.12.5 2022-03-08T03:47:02,556 Created temporary directory: /tmp/pip-unpack-llvc7vk3 2022-03-08T03:47:02,794 Downloading apache-iotdb-0.12.5.tar.gz (39 kB) 2022-03-08T03:47:02,960 Added apache-iotdb==0.12.5 from https://files.pythonhosted.org/packages/8a/52/93503eac47c1561edc21431f7154b694afad9d461e2af0fea36966953c24/apache-iotdb-0.12.5.tar.gz#sha256=38eb0acb7f8f66f2c40dbeeb0bcaac9914442c02d2b2b40f621080ad8532af48 to build tracker '/tmp/pip-req-tracker-q799d3ek' 2022-03-08T03:47:02,974 Created temporary directory: /tmp/pip-build-env-u619768m 2022-03-08T03:47:02,987 Created temporary directory: /tmp/pip-standalone-pip-w4l_zvi3 2022-03-08T03:47:05,273 Installing build dependencies: started 2022-03-08T03:47:05,276 Running command pip subprocess to install build dependencies 2022-03-08T03:47:15,391 Using pip 22.0.3 from /tmp/pip-standalone-pip-w4l_zvi3/__env_pip__.zip/pip (python 3.7) 2022-03-08T03:47:16,752 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2022-03-08T03:47:20,676 Collecting setuptools>=40.8.0 2022-03-08T03:47:21,618 Using cached https://www.piwheels.org/simple/setuptools/setuptools-60.9.3-py3-none-any.whl (1.1 MB) 2022-03-08T03:47:22,359 Collecting wheel 2022-03-08T03:47:22,503 Using cached https://www.piwheels.org/simple/wheel/wheel-0.37.1-py2.py3-none-any.whl (35 kB) 2022-03-08T03:47:27,475 Installing collected packages: wheel, setuptools 2022-03-08T03:47:27,746 Creating /tmp/pip-build-env-u619768m/overlay/bin 2022-03-08T03:47:27,750 changing mode of /tmp/pip-build-env-u619768m/overlay/bin/wheel to 755 2022-03-08T03:47:31,639 Successfully installed setuptools-60.9.3 wheel-0.37.1 2022-03-08T03:47:31,805 WARNING: You are using pip version 22.0.3; however, version 22.0.4 is available. 2022-03-08T03:47:31,805 You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command. 2022-03-08T03:47:32,269 Installing build dependencies: finished with status 'done' 2022-03-08T03:47:32,296 Getting requirements to build wheel: started 2022-03-08T03:47:32,298 Running command Getting requirements to build wheel 2022-03-08T03:47:34,106 2022-03-08T03:47:34,116 # Apache IoTDB 2022-03-08T03:47:34,117 [![Build Status](https://www.travis-ci.org/apache/iotdb.svg?branch=master)](https://www.travis-ci.org/apache/iotdb) 2022-03-08T03:47:34,117 [![codecov](https://codecov.io/gh/thulab/iotdb/branch/master/graph/badge.svg)](https://codecov.io/gh/thulab/iotdb) 2022-03-08T03:47:34,118 [![GitHub release](https://img.shields.io/github/release/apache/iotdb.svg)](https://github.com/apache/iotdb/releases) 2022-03-08T03:47:34,118 [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) 2022-03-08T03:47:34,119 ![](https://github-size-badge.herokuapp.com/apache/iotdb.svg) 2022-03-08T03:47:34,119 ![](https://img.shields.io/github/downloads/apache/iotdb/total.svg) 2022-03-08T03:47:34,120 ![](https://img.shields.io/badge/platform-win10%20%7C%20macox%20%7C%20linux-yellow.svg) 2022-03-08T03:47:34,120 ![](https://img.shields.io/badge/java--language-1.8-blue.svg) 2022-03-08T03:47:34,121 [![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/) 2022-03-08T03:47:34,122 Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for 2022-03-08T03:47:34,123 data management and analysis, deployable on the edge and the cloud. Due to its light-weight 2022-03-08T03:47:34,123 architecture, high performance and rich feature set together with its deep integration with 2022-03-08T03:47:34,124 Apache Hadoop, Spark and Flink, Apache IoTDB can meet the requirements of massive data storage, 2022-03-08T03:47:34,124 high-speed data ingestion and complex data analysis in the IoT industrial fields. 2022-03-08T03:47:34,125 # Apache IoTDB Python Client API 2022-03-08T03:47:34,126 Using the package, you can write data to IoTDB, read data from IoTDB and maintain the schema of IoTDB. 2022-03-08T03:47:34,127 ## Requirements 2022-03-08T03:47:34,128 You have to install thrift (>=0.13) before using the package. 2022-03-08T03:47:34,129 ## How to use (Example) 2022-03-08T03:47:34,129 First, download the package: `pip3 install apache-iotdb` 2022-03-08T03:47:34,130 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) 2022-03-08T03:47:34,131 (you need to add `import iotdb` in the head of the file) 2022-03-08T03:47:34,132 Or: 2022-03-08T03:47:34,132 ```python 2022-03-08T03:47:34,133 from iotdb.Session import Session 2022-03-08T03:47:34,134 ip = "127.0.0.1" 2022-03-08T03:47:34,134 port_ = "6667" 2022-03-08T03:47:34,134 username_ = 'root' 2022-03-08T03:47:34,135 password_ = 'root' 2022-03-08T03:47:34,135 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:34,135 session.open(False) 2022-03-08T03:47:34,136 zone = session.get_time_zone() 2022-03-08T03:47:34,136 session.close() 2022-03-08T03:47:34,137 ``` 2022-03-08T03:47:34,138 ## IoTDB Testcontainer 2022-03-08T03:47:34,138 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. 2022-03-08T03:47:34,139 To start (and stop) an IoTDB Database in a Docker container simply do: 2022-03-08T03:47:34,139 ``` 2022-03-08T03:47:34,140 class MyTestCase(unittest.TestCase): 2022-03-08T03:47:34,140 def test_something(self): 2022-03-08T03:47:34,141 with IoTDBContainer() as c: 2022-03-08T03:47:34,141 session = Session('localhost', c.get_exposed_port(6667), 'root', 'root') 2022-03-08T03:47:34,142 session.open(False) 2022-03-08T03:47:34,142 result = session.execute_query_statement("SHOW TIMESERIES") 2022-03-08T03:47:34,142 print(result) 2022-03-08T03:47:34,143 session.close() 2022-03-08T03:47:34,143 ``` 2022-03-08T03:47:34,144 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. 2022-03-08T03:47:34,144 ## Pandas Support 2022-03-08T03:47:34,145 To easily transform a query result to a [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) 2022-03-08T03:47:34,145 the SessionDataSet has a method `.todf()` which consumes the dataset and transforms it to a pandas dataframe. 2022-03-08T03:47:34,146 Example: 2022-03-08T03:47:34,147 ```python 2022-03-08T03:47:34,147 from iotdb.Session import Session 2022-03-08T03:47:34,148 ip = "127.0.0.1" 2022-03-08T03:47:34,148 port_ = "6667" 2022-03-08T03:47:34,149 username_ = 'root' 2022-03-08T03:47:34,149 password_ = 'root' 2022-03-08T03:47:34,150 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:34,150 session.open(False) 2022-03-08T03:47:34,150 result = session.execute_query_statement("SELECT * FROM root.*") 2022-03-08T03:47:34,151 # Transform to Pandas Dataset 2022-03-08T03:47:34,152 df = result.todf() 2022-03-08T03:47:34,152 session.close() 2022-03-08T03:47:34,153 # Now you can work with the dataframe 2022-03-08T03:47:34,153 df = ... 2022-03-08T03:47:34,153 ``` 2022-03-08T03:47:34,154 ## Developers 2022-03-08T03:47:34,155 ### Introduction 2022-03-08T03:47:34,155 This is an example of how to connect to IoTDB with python, using the thrift rpc interfaces. Things 2022-03-08T03:47:34,155 are almost the same on Windows or Linux, but pay attention to the difference like path separator. 2022-03-08T03:47:34,156 ### Prerequisites 2022-03-08T03:47:34,157 python3.7 or later is preferred. 2022-03-08T03:47:34,157 You have to install Thrift (0.11.0 or later) to compile our thrift file into python code. Below is the official 2022-03-08T03:47:34,157 tutorial of installation, eventually, you should have a thrift executable. 2022-03-08T03:47:34,158 ``` 2022-03-08T03:47:34,158 http://thrift.apache.org/docs/install/ 2022-03-08T03:47:34,159 ``` 2022-03-08T03:47:34,159 Before starting you need to install `requirements_dev.txt` in your python environment, e.g. by calling 2022-03-08T03:47:34,160 ``` 2022-03-08T03:47:34,160 pip install -r requirements_dev.txt 2022-03-08T03:47:34,161 ``` 2022-03-08T03:47:34,162 ### Compile the thrift library and Debug 2022-03-08T03:47:34,162 In the root of IoTDB's source code folder, run `mvn clean generate-sources -pl client-py -am`. 2022-03-08T03:47:34,163 This will automatically delete and repopulate the folder `iotdb/thrift` with the generated thrift files. 2022-03-08T03:47:34,163 This folder is ignored from git and should **never be pushed to git!** 2022-03-08T03:47:34,164 **Notice** Do not upload `iotdb/thrift` to the git repo. 2022-03-08T03:47:34,165 ### Session Client & Example 2022-03-08T03:47:34,166 We packed up the Thrift interface in `client-py/src/iotdb/Session.py` (similar with its Java counterpart), also provided 2022-03-08T03:47:34,166 an example file `client-py/src/SessionExample.py` of how to use the session module. please read it carefully. 2022-03-08T03:47:34,168 Or, another simple example: 2022-03-08T03:47:34,168 ```python 2022-03-08T03:47:34,169 from iotdb.Session import Session 2022-03-08T03:47:34,170 ip = "127.0.0.1" 2022-03-08T03:47:34,170 port_ = "6667" 2022-03-08T03:47:34,171 username_ = 'root' 2022-03-08T03:47:34,171 password_ = 'root' 2022-03-08T03:47:34,172 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:34,172 session.open(False) 2022-03-08T03:47:34,172 zone = session.get_time_zone() 2022-03-08T03:47:34,173 session.close() 2022-03-08T03:47:34,173 ``` 2022-03-08T03:47:34,174 ### Tests 2022-03-08T03:47:34,175 Please add your custom tests in `tests` folder. 2022-03-08T03:47:34,175 To run all defined tests just type `pytest .` in the root folder. 2022-03-08T03:47:34,176 **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). 2022-03-08T03:47:34,177 ### Futher Tools 2022-03-08T03:47:34,178 [black](https://pypi.org/project/black/) and [flake8](https://pypi.org/project/flake8/) are installed for autoformatting and linting. 2022-03-08T03:47:34,178 Both can be run by `black .` or `flake8 .` respectively. 2022-03-08T03:47:34,179 ## Releasing 2022-03-08T03:47:34,180 To do a release just ensure that you have the right set of generated thrift files. 2022-03-08T03:47:34,180 Then run linting and auto-formatting. 2022-03-08T03:47:34,181 Then, ensure that all tests work (via `pytest .`). 2022-03-08T03:47:34,181 Then you are good to go to do a release! 2022-03-08T03:47:34,182 ### Preparing your environment 2022-03-08T03:47:34,182 First, install all necessary dev dependencies via `pip install -r requirements_dev.txt`. 2022-03-08T03:47:34,183 ### Doing the Release 2022-03-08T03:47:34,184 There is a convenient script `release.sh` to do all steps for a release. 2022-03-08T03:47:34,184 Namely, these are 2022-03-08T03:47:34,185 * Remove all transient directories from last release (if exists) 2022-03-08T03:47:34,186 * (Re-)generate all generated sources via mvn 2022-03-08T03:47:34,186 * Run Linting (flake8) 2022-03-08T03:47:34,187 * Run Tests via pytest 2022-03-08T03:47:34,187 * Build 2022-03-08T03:47:34,188 * Release to pypi 2022-03-08T03:47:34,188 running egg_info 2022-03-08T03:47:34,189 writing manifest file 'apache_iotdb.egg-info/SOURCES.txt' 2022-03-08T03:47:34,189 /usr/local/lib/python3.7/dist-packages/setuptools/_distutils/dist.py:275: UserWarning: Unknown distribution option: 'website' 2022-03-08T03:47:34,189 warnings.warn(msg) 2022-03-08T03:47:34,289 Getting requirements to build wheel: finished with status 'done' 2022-03-08T03:47:34,309 Created temporary directory: /tmp/pip-modern-metadata-ktrqsxyc 2022-03-08T03:47:34,315 Preparing metadata (pyproject.toml): started 2022-03-08T03:47:34,317 Running command Preparing metadata (pyproject.toml) 2022-03-08T03:47:36,040 2022-03-08T03:47:36,048 # Apache IoTDB 2022-03-08T03:47:36,049 [![Build Status](https://www.travis-ci.org/apache/iotdb.svg?branch=master)](https://www.travis-ci.org/apache/iotdb) 2022-03-08T03:47:36,049 [![codecov](https://codecov.io/gh/thulab/iotdb/branch/master/graph/badge.svg)](https://codecov.io/gh/thulab/iotdb) 2022-03-08T03:47:36,050 [![GitHub release](https://img.shields.io/github/release/apache/iotdb.svg)](https://github.com/apache/iotdb/releases) 2022-03-08T03:47:36,050 [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) 2022-03-08T03:47:36,051 ![](https://github-size-badge.herokuapp.com/apache/iotdb.svg) 2022-03-08T03:47:36,051 ![](https://img.shields.io/github/downloads/apache/iotdb/total.svg) 2022-03-08T03:47:36,051 ![](https://img.shields.io/badge/platform-win10%20%7C%20macox%20%7C%20linux-yellow.svg) 2022-03-08T03:47:36,052 ![](https://img.shields.io/badge/java--language-1.8-blue.svg) 2022-03-08T03:47:36,052 [![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/) 2022-03-08T03:47:36,053 Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for 2022-03-08T03:47:36,053 data management and analysis, deployable on the edge and the cloud. Due to its light-weight 2022-03-08T03:47:36,054 architecture, high performance and rich feature set together with its deep integration with 2022-03-08T03:47:36,054 Apache Hadoop, Spark and Flink, Apache IoTDB can meet the requirements of massive data storage, 2022-03-08T03:47:36,055 high-speed data ingestion and complex data analysis in the IoT industrial fields. 2022-03-08T03:47:36,055 # Apache IoTDB Python Client API 2022-03-08T03:47:36,056 Using the package, you can write data to IoTDB, read data from IoTDB and maintain the schema of IoTDB. 2022-03-08T03:47:36,057 ## Requirements 2022-03-08T03:47:36,058 You have to install thrift (>=0.13) before using the package. 2022-03-08T03:47:36,058 ## How to use (Example) 2022-03-08T03:47:36,059 First, download the package: `pip3 install apache-iotdb` 2022-03-08T03:47:36,060 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) 2022-03-08T03:47:36,060 (you need to add `import iotdb` in the head of the file) 2022-03-08T03:47:36,061 Or: 2022-03-08T03:47:36,062 ```python 2022-03-08T03:47:36,062 from iotdb.Session import Session 2022-03-08T03:47:36,063 ip = "127.0.0.1" 2022-03-08T03:47:36,063 port_ = "6667" 2022-03-08T03:47:36,064 username_ = 'root' 2022-03-08T03:47:36,064 password_ = 'root' 2022-03-08T03:47:36,064 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:36,064 session.open(False) 2022-03-08T03:47:36,065 zone = session.get_time_zone() 2022-03-08T03:47:36,065 session.close() 2022-03-08T03:47:36,066 ``` 2022-03-08T03:47:36,066 ## IoTDB Testcontainer 2022-03-08T03:47:36,067 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. 2022-03-08T03:47:36,067 To start (and stop) an IoTDB Database in a Docker container simply do: 2022-03-08T03:47:36,068 ``` 2022-03-08T03:47:36,068 class MyTestCase(unittest.TestCase): 2022-03-08T03:47:36,069 def test_something(self): 2022-03-08T03:47:36,069 with IoTDBContainer() as c: 2022-03-08T03:47:36,069 session = Session('localhost', c.get_exposed_port(6667), 'root', 'root') 2022-03-08T03:47:36,069 session.open(False) 2022-03-08T03:47:36,070 result = session.execute_query_statement("SHOW TIMESERIES") 2022-03-08T03:47:36,070 print(result) 2022-03-08T03:47:36,070 session.close() 2022-03-08T03:47:36,071 ``` 2022-03-08T03:47:36,072 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. 2022-03-08T03:47:36,073 ## Pandas Support 2022-03-08T03:47:36,074 To easily transform a query result to a [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) 2022-03-08T03:47:36,074 the SessionDataSet has a method `.todf()` which consumes the dataset and transforms it to a pandas dataframe. 2022-03-08T03:47:36,075 Example: 2022-03-08T03:47:36,076 ```python 2022-03-08T03:47:36,077 from iotdb.Session import Session 2022-03-08T03:47:36,078 ip = "127.0.0.1" 2022-03-08T03:47:36,078 port_ = "6667" 2022-03-08T03:47:36,079 username_ = 'root' 2022-03-08T03:47:36,079 password_ = 'root' 2022-03-08T03:47:36,080 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:36,080 session.open(False) 2022-03-08T03:47:36,081 result = session.execute_query_statement("SELECT * FROM root.*") 2022-03-08T03:47:36,082 # Transform to Pandas Dataset 2022-03-08T03:47:36,082 df = result.todf() 2022-03-08T03:47:36,083 session.close() 2022-03-08T03:47:36,084 # Now you can work with the dataframe 2022-03-08T03:47:36,084 df = ... 2022-03-08T03:47:36,085 ``` 2022-03-08T03:47:36,085 ## Developers 2022-03-08T03:47:36,086 ### Introduction 2022-03-08T03:47:36,087 This is an example of how to connect to IoTDB with python, using the thrift rpc interfaces. Things 2022-03-08T03:47:36,087 are almost the same on Windows or Linux, but pay attention to the difference like path separator. 2022-03-08T03:47:36,088 ### Prerequisites 2022-03-08T03:47:36,089 python3.7 or later is preferred. 2022-03-08T03:47:36,090 You have to install Thrift (0.11.0 or later) to compile our thrift file into python code. Below is the official 2022-03-08T03:47:36,090 tutorial of installation, eventually, you should have a thrift executable. 2022-03-08T03:47:36,091 ``` 2022-03-08T03:47:36,091 http://thrift.apache.org/docs/install/ 2022-03-08T03:47:36,091 ``` 2022-03-08T03:47:36,092 Before starting you need to install `requirements_dev.txt` in your python environment, e.g. by calling 2022-03-08T03:47:36,092 ``` 2022-03-08T03:47:36,093 pip install -r requirements_dev.txt 2022-03-08T03:47:36,093 ``` 2022-03-08T03:47:36,094 ### Compile the thrift library and Debug 2022-03-08T03:47:36,094 In the root of IoTDB's source code folder, run `mvn clean generate-sources -pl client-py -am`. 2022-03-08T03:47:36,095 This will automatically delete and repopulate the folder `iotdb/thrift` with the generated thrift files. 2022-03-08T03:47:36,095 This folder is ignored from git and should **never be pushed to git!** 2022-03-08T03:47:36,096 **Notice** Do not upload `iotdb/thrift` to the git repo. 2022-03-08T03:47:36,097 ### Session Client & Example 2022-03-08T03:47:36,098 We packed up the Thrift interface in `client-py/src/iotdb/Session.py` (similar with its Java counterpart), also provided 2022-03-08T03:47:36,098 an example file `client-py/src/SessionExample.py` of how to use the session module. please read it carefully. 2022-03-08T03:47:36,099 Or, another simple example: 2022-03-08T03:47:36,100 ```python 2022-03-08T03:47:36,100 from iotdb.Session import Session 2022-03-08T03:47:36,101 ip = "127.0.0.1" 2022-03-08T03:47:36,101 port_ = "6667" 2022-03-08T03:47:36,101 username_ = 'root' 2022-03-08T03:47:36,102 password_ = 'root' 2022-03-08T03:47:36,102 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:36,102 session.open(False) 2022-03-08T03:47:36,103 zone = session.get_time_zone() 2022-03-08T03:47:36,103 session.close() 2022-03-08T03:47:36,103 ``` 2022-03-08T03:47:36,104 ### Tests 2022-03-08T03:47:36,105 Please add your custom tests in `tests` folder. 2022-03-08T03:47:36,105 To run all defined tests just type `pytest .` in the root folder. 2022-03-08T03:47:36,106 **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). 2022-03-08T03:47:36,107 ### Futher Tools 2022-03-08T03:47:36,107 [black](https://pypi.org/project/black/) and [flake8](https://pypi.org/project/flake8/) are installed for autoformatting and linting. 2022-03-08T03:47:36,107 Both can be run by `black .` or `flake8 .` respectively. 2022-03-08T03:47:36,108 ## Releasing 2022-03-08T03:47:36,109 To do a release just ensure that you have the right set of generated thrift files. 2022-03-08T03:47:36,109 Then run linting and auto-formatting. 2022-03-08T03:47:36,109 Then, ensure that all tests work (via `pytest .`). 2022-03-08T03:47:36,110 Then you are good to go to do a release! 2022-03-08T03:47:36,111 ### Preparing your environment 2022-03-08T03:47:36,112 First, install all necessary dev dependencies via `pip install -r requirements_dev.txt`. 2022-03-08T03:47:36,112 ### Doing the Release 2022-03-08T03:47:36,113 There is a convenient script `release.sh` to do all steps for a release. 2022-03-08T03:47:36,113 Namely, these are 2022-03-08T03:47:36,114 * Remove all transient directories from last release (if exists) 2022-03-08T03:47:36,114 * (Re-)generate all generated sources via mvn 2022-03-08T03:47:36,114 * Run Linting (flake8) 2022-03-08T03:47:36,115 * Run Tests via pytest 2022-03-08T03:47:36,115 * Build 2022-03-08T03:47:36,115 * Release to pypi 2022-03-08T03:47:36,116 running dist_info 2022-03-08T03:47:36,116 creating /tmp/pip-modern-metadata-ktrqsxyc/apache_iotdb.egg-info 2022-03-08T03:47:36,116 writing manifest file '/tmp/pip-modern-metadata-ktrqsxyc/apache_iotdb.egg-info/SOURCES.txt' 2022-03-08T03:47:36,118 writing manifest file '/tmp/pip-modern-metadata-ktrqsxyc/apache_iotdb.egg-info/SOURCES.txt' 2022-03-08T03:47:36,249 /usr/local/lib/python3.7/dist-packages/setuptools/_distutils/dist.py:275: UserWarning: Unknown distribution option: 'website' 2022-03-08T03:47:36,250 warnings.warn(msg) 2022-03-08T03:47:36,381 Preparing metadata (pyproject.toml): finished with status 'done' 2022-03-08T03:47:36,399 Source in /tmp/pip-wheel-x6zk_s61/apache-iotdb_2276672e987c4b908301102127aa4eac has version 0.12.5, which satisfies requirement apache-iotdb==0.12.5 from https://files.pythonhosted.org/packages/8a/52/93503eac47c1561edc21431f7154b694afad9d461e2af0fea36966953c24/apache-iotdb-0.12.5.tar.gz#sha256=38eb0acb7f8f66f2c40dbeeb0bcaac9914442c02d2b2b40f621080ad8532af48 2022-03-08T03:47:36,402 Removed apache-iotdb==0.12.5 from https://files.pythonhosted.org/packages/8a/52/93503eac47c1561edc21431f7154b694afad9d461e2af0fea36966953c24/apache-iotdb-0.12.5.tar.gz#sha256=38eb0acb7f8f66f2c40dbeeb0bcaac9914442c02d2b2b40f621080ad8532af48 from build tracker '/tmp/pip-req-tracker-q799d3ek' 2022-03-08T03:47:36,416 Created temporary directory: /tmp/pip-unpack-suov2gsv 2022-03-08T03:47:36,418 Building wheels for collected packages: apache-iotdb 2022-03-08T03:47:36,427 Created temporary directory: /tmp/pip-wheel-akr0zt7u 2022-03-08T03:47:36,428 Destination directory: /tmp/pip-wheel-akr0zt7u 2022-03-08T03:47:36,434 Building wheel for apache-iotdb (pyproject.toml): started 2022-03-08T03:47:36,436 Running command Building wheel for apache-iotdb (pyproject.toml) 2022-03-08T03:47:38,232 2022-03-08T03:47:38,241 # Apache IoTDB 2022-03-08T03:47:38,241 [![Build Status](https://www.travis-ci.org/apache/iotdb.svg?branch=master)](https://www.travis-ci.org/apache/iotdb) 2022-03-08T03:47:38,242 [![codecov](https://codecov.io/gh/thulab/iotdb/branch/master/graph/badge.svg)](https://codecov.io/gh/thulab/iotdb) 2022-03-08T03:47:38,242 [![GitHub release](https://img.shields.io/github/release/apache/iotdb.svg)](https://github.com/apache/iotdb/releases) 2022-03-08T03:47:38,242 [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) 2022-03-08T03:47:38,243 ![](https://github-size-badge.herokuapp.com/apache/iotdb.svg) 2022-03-08T03:47:38,243 ![](https://img.shields.io/github/downloads/apache/iotdb/total.svg) 2022-03-08T03:47:38,243 ![](https://img.shields.io/badge/platform-win10%20%7C%20macox%20%7C%20linux-yellow.svg) 2022-03-08T03:47:38,244 ![](https://img.shields.io/badge/java--language-1.8-blue.svg) 2022-03-08T03:47:38,244 [![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/) 2022-03-08T03:47:38,245 Apache IoTDB (Database for Internet of Things) is an IoT native database with high performance for 2022-03-08T03:47:38,245 data management and analysis, deployable on the edge and the cloud. Due to its light-weight 2022-03-08T03:47:38,245 architecture, high performance and rich feature set together with its deep integration with 2022-03-08T03:47:38,246 Apache Hadoop, Spark and Flink, Apache IoTDB can meet the requirements of massive data storage, 2022-03-08T03:47:38,246 high-speed data ingestion and complex data analysis in the IoT industrial fields. 2022-03-08T03:47:38,247 # Apache IoTDB Python Client API 2022-03-08T03:47:38,247 Using the package, you can write data to IoTDB, read data from IoTDB and maintain the schema of IoTDB. 2022-03-08T03:47:38,248 ## Requirements 2022-03-08T03:47:38,249 You have to install thrift (>=0.13) before using the package. 2022-03-08T03:47:38,249 ## How to use (Example) 2022-03-08T03:47:38,250 First, download the package: `pip3 install apache-iotdb` 2022-03-08T03:47:38,251 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) 2022-03-08T03:47:38,252 (you need to add `import iotdb` in the head of the file) 2022-03-08T03:47:38,252 Or: 2022-03-08T03:47:38,253 ```python 2022-03-08T03:47:38,254 from iotdb.Session import Session 2022-03-08T03:47:38,254 ip = "127.0.0.1" 2022-03-08T03:47:38,255 port_ = "6667" 2022-03-08T03:47:38,255 username_ = 'root' 2022-03-08T03:47:38,255 password_ = 'root' 2022-03-08T03:47:38,256 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:38,256 session.open(False) 2022-03-08T03:47:38,256 zone = session.get_time_zone() 2022-03-08T03:47:38,257 session.close() 2022-03-08T03:47:38,257 ``` 2022-03-08T03:47:38,258 ## IoTDB Testcontainer 2022-03-08T03:47:38,259 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. 2022-03-08T03:47:38,259 To start (and stop) an IoTDB Database in a Docker container simply do: 2022-03-08T03:47:38,260 ``` 2022-03-08T03:47:38,260 class MyTestCase(unittest.TestCase): 2022-03-08T03:47:38,261 def test_something(self): 2022-03-08T03:47:38,261 with IoTDBContainer() as c: 2022-03-08T03:47:38,261 session = Session('localhost', c.get_exposed_port(6667), 'root', 'root') 2022-03-08T03:47:38,262 session.open(False) 2022-03-08T03:47:38,262 result = session.execute_query_statement("SHOW TIMESERIES") 2022-03-08T03:47:38,262 print(result) 2022-03-08T03:47:38,263 session.close() 2022-03-08T03:47:38,263 ``` 2022-03-08T03:47:38,264 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. 2022-03-08T03:47:38,264 ## Pandas Support 2022-03-08T03:47:38,265 To easily transform a query result to a [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) 2022-03-08T03:47:38,266 the SessionDataSet has a method `.todf()` which consumes the dataset and transforms it to a pandas dataframe. 2022-03-08T03:47:38,266 Example: 2022-03-08T03:47:38,267 ```python 2022-03-08T03:47:38,268 from iotdb.Session import Session 2022-03-08T03:47:38,268 ip = "127.0.0.1" 2022-03-08T03:47:38,269 port_ = "6667" 2022-03-08T03:47:38,269 username_ = 'root' 2022-03-08T03:47:38,269 password_ = 'root' 2022-03-08T03:47:38,270 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:38,270 session.open(False) 2022-03-08T03:47:38,270 result = session.execute_query_statement("SELECT * FROM root.*") 2022-03-08T03:47:38,271 # Transform to Pandas Dataset 2022-03-08T03:47:38,271 df = result.todf() 2022-03-08T03:47:38,272 session.close() 2022-03-08T03:47:38,272 # Now you can work with the dataframe 2022-03-08T03:47:38,273 df = ... 2022-03-08T03:47:38,273 ``` 2022-03-08T03:47:38,273 ## Developers 2022-03-08T03:47:38,274 ### Introduction 2022-03-08T03:47:38,275 This is an example of how to connect to IoTDB with python, using the thrift rpc interfaces. Things 2022-03-08T03:47:38,275 are almost the same on Windows or Linux, but pay attention to the difference like path separator. 2022-03-08T03:47:38,275 ### Prerequisites 2022-03-08T03:47:38,276 python3.7 or later is preferred. 2022-03-08T03:47:38,277 You have to install Thrift (0.11.0 or later) to compile our thrift file into python code. Below is the official 2022-03-08T03:47:38,277 tutorial of installation, eventually, you should have a thrift executable. 2022-03-08T03:47:38,277 ``` 2022-03-08T03:47:38,278 http://thrift.apache.org/docs/install/ 2022-03-08T03:47:38,278 ``` 2022-03-08T03:47:38,278 Before starting you need to install `requirements_dev.txt` in your python environment, e.g. by calling 2022-03-08T03:47:38,279 ``` 2022-03-08T03:47:38,279 pip install -r requirements_dev.txt 2022-03-08T03:47:38,279 ``` 2022-03-08T03:47:38,280 ### Compile the thrift library and Debug 2022-03-08T03:47:38,281 In the root of IoTDB's source code folder, run `mvn clean generate-sources -pl client-py -am`. 2022-03-08T03:47:38,281 This will automatically delete and repopulate the folder `iotdb/thrift` with the generated thrift files. 2022-03-08T03:47:38,281 This folder is ignored from git and should **never be pushed to git!** 2022-03-08T03:47:38,282 **Notice** Do not upload `iotdb/thrift` to the git repo. 2022-03-08T03:47:38,283 ### Session Client & Example 2022-03-08T03:47:38,283 We packed up the Thrift interface in `client-py/src/iotdb/Session.py` (similar with its Java counterpart), also provided 2022-03-08T03:47:38,284 an example file `client-py/src/SessionExample.py` of how to use the session module. please read it carefully. 2022-03-08T03:47:38,285 Or, another simple example: 2022-03-08T03:47:38,286 ```python 2022-03-08T03:47:38,286 from iotdb.Session import Session 2022-03-08T03:47:38,287 ip = "127.0.0.1" 2022-03-08T03:47:38,287 port_ = "6667" 2022-03-08T03:47:38,287 username_ = 'root' 2022-03-08T03:47:38,288 password_ = 'root' 2022-03-08T03:47:38,288 session = Session(ip, port_, username_, password_) 2022-03-08T03:47:38,289 session.open(False) 2022-03-08T03:47:38,289 zone = session.get_time_zone() 2022-03-08T03:47:38,289 session.close() 2022-03-08T03:47:38,290 ``` 2022-03-08T03:47:38,291 ### Tests 2022-03-08T03:47:38,291 Please add your custom tests in `tests` folder. 2022-03-08T03:47:38,291 To run all defined tests just type `pytest .` in the root folder. 2022-03-08T03:47:38,292 **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). 2022-03-08T03:47:38,293 ### Futher Tools 2022-03-08T03:47:38,293 [black](https://pypi.org/project/black/) and [flake8](https://pypi.org/project/flake8/) are installed for autoformatting and linting. 2022-03-08T03:47:38,294 Both can be run by `black .` or `flake8 .` respectively. 2022-03-08T03:47:38,295 ## Releasing 2022-03-08T03:47:38,295 To do a release just ensure that you have the right set of generated thrift files. 2022-03-08T03:47:38,296 Then run linting and auto-formatting. 2022-03-08T03:47:38,296 Then, ensure that all tests work (via `pytest .`). 2022-03-08T03:47:38,296 Then you are good to go to do a release! 2022-03-08T03:47:38,297 ### Preparing your environment 2022-03-08T03:47:38,297 First, install all necessary dev dependencies via `pip install -r requirements_dev.txt`. 2022-03-08T03:47:38,298 ### Doing the Release 2022-03-08T03:47:38,298 There is a convenient script `release.sh` to do all steps for a release. 2022-03-08T03:47:38,299 Namely, these are 2022-03-08T03:47:38,299 * Remove all transient directories from last release (if exists) 2022-03-08T03:47:38,300 * (Re-)generate all generated sources via mvn 2022-03-08T03:47:38,300 * Run Linting (flake8) 2022-03-08T03:47:38,300 * Run Tests via pytest 2022-03-08T03:47:38,301 * Build 2022-03-08T03:47:38,301 * Release to pypi 2022-03-08T03:47:38,302 running bdist_wheel 2022-03-08T03:47:38,650 running build 2022-03-08T03:47:38,651 running build_py 2022-03-08T03:47:38,658 creating build 2022-03-08T03:47:38,659 creating build/lib 2022-03-08T03:47:38,660 creating build/lib/tests 2022-03-08T03:47:38,662 copying tests/__init__.py -> build/lib/tests 2022-03-08T03:47:38,666 copying tests/test_dataframe.py -> build/lib/tests 2022-03-08T03:47:38,670 creating build/lib/iotdb 2022-03-08T03:47:38,671 copying iotdb/__init__.py -> build/lib/iotdb 2022-03-08T03:47:38,675 copying iotdb/Session.py -> build/lib/iotdb 2022-03-08T03:47:38,680 copying iotdb/IoTDBContainer.py -> build/lib/iotdb 2022-03-08T03:47:38,685 creating build/lib/iotdb/utils 2022-03-08T03:47:38,686 copying iotdb/utils/Field.py -> build/lib/iotdb/utils 2022-03-08T03:47:38,690 copying iotdb/utils/__init__.py -> build/lib/iotdb/utils 2022-03-08T03:47:38,693 copying iotdb/utils/IoTDBConstants.py -> build/lib/iotdb/utils 2022-03-08T03:47:38,696 copying iotdb/utils/RowRecord.py -> build/lib/iotdb/utils 2022-03-08T03:47:38,699 copying iotdb/utils/Tablet.py -> build/lib/iotdb/utils 2022-03-08T03:47:38,703 copying iotdb/utils/IoTDBRpcDataSet.py -> build/lib/iotdb/utils 2022-03-08T03:47:38,707 copying iotdb/utils/SessionDataSet.py -> build/lib/iotdb/utils 2022-03-08T03:47:38,712 creating build/lib/iotdb/thrift 2022-03-08T03:47:38,713 copying iotdb/thrift/__init__.py -> build/lib/iotdb/thrift 2022-03-08T03:47:38,717 creating build/lib/iotdb/thrift/rpc 2022-03-08T03:47:38,718 copying iotdb/thrift/rpc/__init__.py -> build/lib/iotdb/thrift/rpc 2022-03-08T03:47:38,722 copying iotdb/thrift/rpc/ttypes.py -> build/lib/iotdb/thrift/rpc 2022-03-08T03:47:38,734 copying iotdb/thrift/rpc/TSIService.py -> build/lib/iotdb/thrift/rpc 2022-03-08T03:47:38,750 copying iotdb/thrift/rpc/constants.py -> build/lib/iotdb/thrift/rpc 2022-03-08T03:47:38,772 running install 2022-03-08T03:47:38,834 running install_lib 2022-03-08T03:47:38,841 creating build/bdist.linux-armv7l 2022-03-08T03:47:38,842 creating build/bdist.linux-armv7l/wheel 2022-03-08T03:47:38,845 creating build/bdist.linux-armv7l/wheel/tests 2022-03-08T03:47:38,854 creating build/bdist.linux-armv7l/wheel/iotdb 2022-03-08T03:47:38,866 creating build/bdist.linux-armv7l/wheel/iotdb/utils 2022-03-08T03:47:38,896 creating build/bdist.linux-armv7l/wheel/iotdb/thrift 2022-03-08T03:47:38,902 creating build/bdist.linux-armv7l/wheel/iotdb/thrift/rpc 2022-03-08T03:47:38,937 running install_egg_info 2022-03-08T03:47:38,977 running egg_info 2022-03-08T03:47:39,008 writing manifest file 'apache_iotdb.egg-info/SOURCES.txt' 2022-03-08T03:47:39,010 Copying apache_iotdb.egg-info to build/bdist.linux-armv7l/wheel/apache_iotdb-0.12.5-py3.7.egg-info 2022-03-08T03:47:39,029 running install_scripts 2022-03-08T03:47:39,342 /usr/local/lib/python3.7/dist-packages/setuptools/_distutils/dist.py:275: UserWarning: Unknown distribution option: 'website' 2022-03-08T03:47:39,342 warnings.warn(msg) 2022-03-08T03:47:39,508 Building wheel for apache-iotdb (pyproject.toml): finished with status 'done' 2022-03-08T03:47:39,524 Created wheel for apache-iotdb: filename=apache_iotdb-0.12.5-py3-none-any.whl size=49480 sha256=06bb080be5b0469037e68db56a7feb10da911a396a47d598598d8d8c50d07419 2022-03-08T03:47:39,526 Stored in directory: /tmp/pip-ephem-wheel-cache-v8unogfx/wheels/73/6b/84/6c1f07b7c6ab57be81b5e72b6be314e9f698d685d456c0d1e4 2022-03-08T03:47:39,551 Successfully built apache-iotdb 2022-03-08T03:47:39,561 Removed build tracker: '/tmp/pip-req-tracker-q799d3ek'