# python-ft4222
The FT4222H is a High/Full Speed USB2.0-to-Quad SPI/I2C device controller. This project
provides (incomplete) python binding to LibFT4222
([user guide](http://www.ftdichip.com/Support/Documents/AppNotes/AN_329_User_Guide_for_LibFT4222.pdf)).
It provides a similar api than LibFT4222 does.
The complete documentation can be found [here](https://msrelectronics.gitlab.io/python-ft4222/)
## Example
### I2C Master
```python
import ft4222
import ft4222.I2CMaster
# list devices
nbDev = ft4222.createDeviceInfoList()
for i in range(nbDev):
print(ft4222.getDeviceInfoDetail(i, False))
# open device with default description 'FT4222 A'
dev = ft4222.openByDescription('FT4222 A')
# init i2c master, clock speed 100kHz
dev.i2cMaster_Init(100000)
# do a i2c transfers where full control is required
slave = 1 # address
# read one byte, don't stop
data = dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.REPEATED_START, 1)[0]
# read another 5 bytes
data += dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.NONE, 5)
# another byte, than stop
data += dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.STOP, 1)
```
### GPIO
```python
import time
import ft4222
from ft4222.GPIO import Dir, Port, Output
# open device with default description 'FT4222 A'
dev = ft4222.openByDescription('FT4222 A')
# use GPIO2 as gpio (not suspend out)
dev.setSuspendOut(False)
# use GPIO3 as gpio (not wakeup)
dev.setWakeUpInterrupt(False)
# init GPIO2 as output
dev.gpio_Init(gpio2 = Dir.OUTPUT)
# generate a square wave signal with GPIO2
while True:
dev.gpio_Write(Port.P2, output)
output = not output
time.sleep(0.1)
```
### SPI Master and GPIO
The gpio used in this example indicate the duration of the whole spi transfer and is **not** used as chip/slave select.
```python
import ft4222
from ft4222.SPI import Cpha, Cpol
from ft4222.SPIMaster import Mode, Clock, SlaveSelect
from ft4222.GPIO import Port, Dir
from time import sleep
# open 'device' with default description 'FT4222 A'
devA = ft4222.openByDescription('FT4222 A')
# and the second 'device' on the same chip
devB = ft4222.openByDescription('FT4222 B')
# init spi master
devA.spiMaster_Init(Mode.SINGLE, Clock.DIV_8, Cpol.IDLE_LOW, Cpha.CLK_LEADING, SlaveSelect.SS0)
# also use gpio
devB.gpio_Init(gpio0 = Dir.OUTPUT)
# generate data to send
data = bytes([x for x in range(256)]*4)
# set port0 1 (-> note this is *not* the spi chip select, the chip select (SS0) is generated by the spi core)
devB.gpio_Write(Port.P0, 1)
for _ in range(3):
# write data in a single write
devA.spiMaster_SingleWrite(data, True)
# wait a short while
sleep(0.5)
# set port0 0
devB.gpio_Write(Port.P0, 1)
```
## Accessrights
Under Linux, the usb device is normally not accessibly by a normal user, therefor
a udev rule is required. Create or extend ``/etc/udev/rules.d/99-ftdi.rules`` to
contain the following text:
```bash
# FTDI's ft4222 USB-I2C Adapter
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="601c", GROUP="plugdev", MODE="0666"
```
## Requirements
### Windows
MSVCR100.dll/MSVCP100.dll from Microsoft Visual C++ 2010 Redistributable Package
need to be installed. Today, on most systems, these DLLs (or the package) should
already be installed.
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/msrelectronics/python-ft4222",
"name": "ft4222",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "ftdi ft4222",
"author": "Bearsh",
"author_email": "me@bearsh.org",
"download_url": "https://files.pythonhosted.org/packages/b8/eb/7b1fda2a922c511324a5190cec04e2441e26219d1dcf4c7aba43de4bf4ab/ft4222-1.10.0.tar.gz",
"platform": null,
"description": "# python-ft4222\r\n\r\nThe FT4222H is a High/Full Speed USB2.0-to-Quad SPI/I2C device controller. This project\r\nprovides (incomplete) python binding to LibFT4222\r\n([user guide](http://www.ftdichip.com/Support/Documents/AppNotes/AN_329_User_Guide_for_LibFT4222.pdf)).\r\nIt provides a similar api than LibFT4222 does.\r\n\r\nThe complete documentation can be found [here](https://msrelectronics.gitlab.io/python-ft4222/)\r\n\r\n## Example\r\n\r\n### I2C Master\r\n\r\n```python\r\nimport ft4222\r\nimport ft4222.I2CMaster\r\n\r\n\r\n# list devices\r\nnbDev = ft4222.createDeviceInfoList()\r\nfor i in range(nbDev):\r\n print(ft4222.getDeviceInfoDetail(i, False))\r\n\r\n# open device with default description 'FT4222 A'\r\ndev = ft4222.openByDescription('FT4222 A')\r\n\r\n# init i2c master, clock speed 100kHz\r\ndev.i2cMaster_Init(100000)\r\n\r\n# do a i2c transfers where full control is required\r\nslave = 1 # address\r\n# read one byte, don't stop\r\ndata = dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.REPEATED_START, 1)[0]\r\n# read another 5 bytes\r\ndata += dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.NONE, 5)\r\n# another byte, than stop\r\ndata += dev.i2cMaster_ReadEx(slave, ft4222.I2CMaster.Flag.STOP, 1)\r\n```\r\n\r\n### GPIO\r\n\r\n```python\r\nimport time\r\nimport ft4222\r\nfrom ft4222.GPIO import Dir, Port, Output\r\n\r\n# open device with default description 'FT4222 A'\r\ndev = ft4222.openByDescription('FT4222 A')\r\n\r\n# use GPIO2 as gpio (not suspend out)\r\ndev.setSuspendOut(False)\r\n# use GPIO3 as gpio (not wakeup)\r\ndev.setWakeUpInterrupt(False)\r\n\r\n# init GPIO2 as output\r\ndev.gpio_Init(gpio2 = Dir.OUTPUT)\r\n\r\n# generate a square wave signal with GPIO2\r\nwhile True:\r\n dev.gpio_Write(Port.P2, output)\r\n output = not output\r\n time.sleep(0.1)\r\n```\r\n\r\n### SPI Master and GPIO\r\n\r\nThe gpio used in this example indicate the duration of the whole spi transfer and is **not** used as chip/slave select.\r\n\r\n```python\r\nimport ft4222\r\nfrom ft4222.SPI import Cpha, Cpol\r\nfrom ft4222.SPIMaster import Mode, Clock, SlaveSelect\r\nfrom ft4222.GPIO import Port, Dir\r\nfrom time import sleep\r\n\r\n# open 'device' with default description 'FT4222 A'\r\ndevA = ft4222.openByDescription('FT4222 A')\r\n# and the second 'device' on the same chip\r\ndevB = ft4222.openByDescription('FT4222 B')\r\n\r\n# init spi master\r\ndevA.spiMaster_Init(Mode.SINGLE, Clock.DIV_8, Cpol.IDLE_LOW, Cpha.CLK_LEADING, SlaveSelect.SS0)\r\n# also use gpio\r\ndevB.gpio_Init(gpio0 = Dir.OUTPUT)\r\n\r\n# generate data to send\r\ndata = bytes([x for x in range(256)]*4)\r\n\r\n# set port0 1 (-> note this is *not* the spi chip select, the chip select (SS0) is generated by the spi core)\r\ndevB.gpio_Write(Port.P0, 1)\r\n\r\nfor _ in range(3):\r\n # write data in a single write\r\n devA.spiMaster_SingleWrite(data, True)\r\n # wait a short while\r\n sleep(0.5)\r\n\r\n# set port0 0\r\ndevB.gpio_Write(Port.P0, 1)\r\n\r\n```\r\n\r\n## Accessrights\r\n\r\nUnder Linux, the usb device is normally not accessibly by a normal user, therefor\r\na udev rule is required. Create or extend ``/etc/udev/rules.d/99-ftdi.rules`` to\r\ncontain the following text:\r\n\r\n```bash\r\n# FTDI's ft4222 USB-I2C Adapter\r\nSUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"601c\", GROUP=\"plugdev\", MODE=\"0666\"\r\n```\r\n\r\n## Requirements\r\n\r\n### Windows\r\n\r\nMSVCR100.dll/MSVCP100.dll from Microsoft Visual C++ 2010 Redistributable Package\r\nneed to be installed. Today, on most systems, these DLLs (or the package) should\r\nalready be installed.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python wrapper around libFT4222.",
"version": "1.10.0",
"project_urls": {
"Homepage": "https://gitlab.com/msrelectronics/python-ft4222"
},
"split_keywords": [
"ftdi",
"ft4222"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5422a771e4f8158832b91cbe828079ce11054aefe5a2fcc4cc3e42d4c7779cea",
"md5": "0b73db57f03da20192e470b3f3b35007",
"sha256": "dd003a91ecaf20bc4d4ce8f0aea4a5ecfbc17a3840d41b0ce27410e027530cd0"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "0b73db57f03da20192e470b3f3b35007",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 650444,
"upload_time": "2023-11-24T14:31:22",
"upload_time_iso_8601": "2023-11-24T14:31:22.665805Z",
"url": "https://files.pythonhosted.org/packages/54/22/a771e4f8158832b91cbe828079ce11054aefe5a2fcc4cc3e42d4c7779cea/ft4222-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "33c23acec76ee02e4b8fa8abd018f3523e0ff7d698aaa4b6a819f86cc535c3b1",
"md5": "3ab3eff02a3da8edbb0364185b909ece",
"sha256": "1cedabcd6c554e78f3479350153c5a347355ccc977ceeb24726edc37d3e7edb7"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "3ab3eff02a3da8edbb0364185b909ece",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 679107,
"upload_time": "2023-11-24T14:31:24",
"upload_time_iso_8601": "2023-11-24T14:31:24.577143Z",
"url": "https://files.pythonhosted.org/packages/33/c2/3acec76ee02e4b8fa8abd018f3523e0ff7d698aaa4b6a819f86cc535c3b1/ft4222-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d8a13d54acbe198a6102b5b9f0aac9c263e0471c76359a2937189c2838f5c982",
"md5": "c433c48dd973bdce63ebfeabb575e5c1",
"sha256": "a039d4230926fa9b600baa12903843c53d6b238eb93e99ae68eeeb450d6f4bdc"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "c433c48dd973bdce63ebfeabb575e5c1",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 361844,
"upload_time": "2023-11-24T14:30:57",
"upload_time_iso_8601": "2023-11-24T14:30:57.919691Z",
"url": "https://files.pythonhosted.org/packages/d8/a1/3d54acbe198a6102b5b9f0aac9c263e0471c76359a2937189c2838f5c982/ft4222-1.10.0-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "09d977858518c53ea74e6cfb62afff179a3ec7a0786aa661b6e6569447d592f5",
"md5": "bcee5cadbbda5a386e5a51c0f93b14fe",
"sha256": "b05e499fd3f1baef225671f3afd25bf93e1f287fa17326c90c1f8db70abb3e89"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "bcee5cadbbda5a386e5a51c0f93b14fe",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 434128,
"upload_time": "2023-11-24T14:31:01",
"upload_time_iso_8601": "2023-11-24T14:31:01.229550Z",
"url": "https://files.pythonhosted.org/packages/09/d9/77858518c53ea74e6cfb62afff179a3ec7a0786aa661b6e6569447d592f5/ft4222-1.10.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b3694d4cd4d320bcf2c4fdff267dab7902616d8b0b45fea56d5059049b0678c9",
"md5": "e39134d5982444c9cc9eea3f0d3e7377",
"sha256": "df9da4d5575d51511ba58e73ee434061dc709ce69491656ec109d995ce304167"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "e39134d5982444c9cc9eea3f0d3e7377",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 691138,
"upload_time": "2023-11-24T14:31:26",
"upload_time_iso_8601": "2023-11-24T14:31:26.557147Z",
"url": "https://files.pythonhosted.org/packages/b3/69/4d4cd4d320bcf2c4fdff267dab7902616d8b0b45fea56d5059049b0678c9/ft4222-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "216355652855c9e2b735b718d854bffe710ce9815b770b17971c9b2393f11679",
"md5": "20e62b2f709a66ceace3bfee6a0ed811",
"sha256": "20f2cb89e63ea755d69a4d41c2dcba94d2f720b6e736ea51bdf681f1e809763c"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "20e62b2f709a66ceace3bfee6a0ed811",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 718095,
"upload_time": "2023-11-24T14:31:29",
"upload_time_iso_8601": "2023-11-24T14:31:29.016908Z",
"url": "https://files.pythonhosted.org/packages/21/63/55652855c9e2b735b718d854bffe710ce9815b770b17971c9b2393f11679/ft4222-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6d9f5a819d36f96ed1705405f5213390df5b97b91a333d13c557c4526d17a8b1",
"md5": "b416ae39f98c5147ccadd2e41601c4ab",
"sha256": "806d4117d0814c390c7f280345aa99168ec989ca49b20259ce593ea79bcd246f"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "b416ae39f98c5147ccadd2e41601c4ab",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 361138,
"upload_time": "2023-11-24T14:31:02",
"upload_time_iso_8601": "2023-11-24T14:31:02.763112Z",
"url": "https://files.pythonhosted.org/packages/6d/9f/5a819d36f96ed1705405f5213390df5b97b91a333d13c557c4526d17a8b1/ft4222-1.10.0-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "72e1de68a59f97d0ce3292e7ae513a277eadcb6c61ea5f168b133b5d6e1fc139",
"md5": "7503d440baf7097daf61367f0be291fb",
"sha256": "ad626507e9b1520f2f3b6f98ddca0d257c93b844824a1ab7cbb58759b0fbca84"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "7503d440baf7097daf61367f0be291fb",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 434055,
"upload_time": "2023-11-24T14:31:04",
"upload_time_iso_8601": "2023-11-24T14:31:04.600677Z",
"url": "https://files.pythonhosted.org/packages/72/e1/de68a59f97d0ce3292e7ae513a277eadcb6c61ea5f168b133b5d6e1fc139/ft4222-1.10.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5c2d5ae560be3acb0586c1f4af5dfd0e8a543397964a8dfc7e4c918a85810ed6",
"md5": "5f079f9a1ac6d74e4080521ac5c6ca8e",
"sha256": "4ecaae4e5ec3bedcdbe04a5792bf08119040669cf58c02df947395e6a96bd18c"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "5f079f9a1ac6d74e4080521ac5c6ca8e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 670832,
"upload_time": "2023-11-24T14:31:31",
"upload_time_iso_8601": "2023-11-24T14:31:31.238561Z",
"url": "https://files.pythonhosted.org/packages/5c/2d/5ae560be3acb0586c1f4af5dfd0e8a543397964a8dfc7e4c918a85810ed6/ft4222-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "93013c6244da3459f9930fac4c2b2c320a8cee6c40be4b50a48c0cf1acc603a3",
"md5": "5b6f24cd54035da992e42eaede2f5d27",
"sha256": "c8c2655fe7192eb80ef25ab750123139f591e0f079fe2a5e6f31b7cd6f015a9f"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "5b6f24cd54035da992e42eaede2f5d27",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 700011,
"upload_time": "2023-11-24T14:31:32",
"upload_time_iso_8601": "2023-11-24T14:31:32.571411Z",
"url": "https://files.pythonhosted.org/packages/93/01/3c6244da3459f9930fac4c2b2c320a8cee6c40be4b50a48c0cf1acc603a3/ft4222-1.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f1c0e63810a5fba4a7966fd9b2cb3a851e0341c2f2a7be87b8758ab1d4be6ba2",
"md5": "7d2cf48b738a31da35238ded652a39e9",
"sha256": "fe668caa43bcacfbf3287cff8b4b11bb586a71d4722307e574f60180bb4a351e"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "7d2cf48b738a31da35238ded652a39e9",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 358927,
"upload_time": "2023-11-24T14:31:06",
"upload_time_iso_8601": "2023-11-24T14:31:06.684050Z",
"url": "https://files.pythonhosted.org/packages/f1/c0/e63810a5fba4a7966fd9b2cb3a851e0341c2f2a7be87b8758ab1d4be6ba2/ft4222-1.10.0-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "94b1602c377ae5783ee0eb3b6208582e1937489755c4ac68a3d0e65a935b2fe5",
"md5": "ab9efa713769ff601e9d649d40db1dd8",
"sha256": "4d7a49febc2b96ebed4b843262ab1f00843d158d6f4877c8ee19219f1c41f0da"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "ab9efa713769ff601e9d649d40db1dd8",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 431941,
"upload_time": "2023-11-24T14:31:08",
"upload_time_iso_8601": "2023-11-24T14:31:08.637368Z",
"url": "https://files.pythonhosted.org/packages/94/b1/602c377ae5783ee0eb3b6208582e1937489755c4ac68a3d0e65a935b2fe5/ft4222-1.10.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c7e9e333d5140509b3b7159e19ed8478b638a8e4d9108f04fa29e9739e803830",
"md5": "74675df0dff6a5fec2e54d346b50faa5",
"sha256": "18a6f99e31c767b6ccb7e2f0e7f6cc51d15c9b685e2b81fd12ab08cac0924289"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "74675df0dff6a5fec2e54d346b50faa5",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 603495,
"upload_time": "2023-11-24T14:31:34",
"upload_time_iso_8601": "2023-11-24T14:31:34.555282Z",
"url": "https://files.pythonhosted.org/packages/c7/e9/e333d5140509b3b7159e19ed8478b638a8e4d9108f04fa29e9739e803830/ft4222-1.10.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "74de1b23b6fd8e9d7eeac82945672686ccc6b418604eb36f60978d02c4afef76",
"md5": "7862707c142de79a2296c7bb7b3818ab",
"sha256": "83efcb50649a7ab4c7e045467357029f16ef0be064d46ffe7ea1e06eb9ad85f8"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "7862707c142de79a2296c7bb7b3818ab",
"packagetype": "bdist_wheel",
"python_version": "cp36",
"requires_python": null,
"size": 631623,
"upload_time": "2023-11-24T14:31:35",
"upload_time_iso_8601": "2023-11-24T14:31:35.976186Z",
"url": "https://files.pythonhosted.org/packages/74/de/1b23b6fd8e9d7eeac82945672686ccc6b418604eb36f60978d02c4afef76/ft4222-1.10.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4bc9d972a05d72e368fab2f0b481c0f85fc82babba2ecbcf3476627a52f3cc94",
"md5": "b281e382ec43a2dae3753bcba29f172d",
"sha256": "e051c89cb45f964640e355506efa74b41c424e9ea9046367534180075be0a95c"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "b281e382ec43a2dae3753bcba29f172d",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 617785,
"upload_time": "2023-11-24T14:31:37",
"upload_time_iso_8601": "2023-11-24T14:31:37.343459Z",
"url": "https://files.pythonhosted.org/packages/4b/c9/d972a05d72e368fab2f0b481c0f85fc82babba2ecbcf3476627a52f3cc94/ft4222-1.10.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "39546ff73f75ed224c21cb6d7fe7cce6968a49169c3fee5b247ecbe697cea066",
"md5": "cb30dcd596ce20b0423ccada29d42a94",
"sha256": "9cae991a917602635238c144395bb59a516b7684b6599da251a88cfe37a5ed8f"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "cb30dcd596ce20b0423ccada29d42a94",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 647571,
"upload_time": "2023-11-24T14:31:38",
"upload_time_iso_8601": "2023-11-24T14:31:38.645029Z",
"url": "https://files.pythonhosted.org/packages/39/54/6ff73f75ed224c21cb6d7fe7cce6968a49169c3fee5b247ecbe697cea066/ft4222-1.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9c0638bfaabc46dd5528f787be7f7dd51d63f7d4a7b5ab4c105b5ff76aef4994",
"md5": "b8cf6094af6f6d33ecf45544ee5f5361",
"sha256": "713ed85fbb8f11755ae7ed932302192a34d2aa8834ffa45a7c345d3a5ba8f67b"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "b8cf6094af6f6d33ecf45544ee5f5361",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 361721,
"upload_time": "2023-11-24T14:31:10",
"upload_time_iso_8601": "2023-11-24T14:31:10.106494Z",
"url": "https://files.pythonhosted.org/packages/9c/06/38bfaabc46dd5528f787be7f7dd51d63f7d4a7b5ab4c105b5ff76aef4994/ft4222-1.10.0-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2466e57df3bde2b0e98f584c79deb9ce4cfb01faaf931898571bd87b179d7d77",
"md5": "2096874c4c5c0beaca00a6ba4b087938",
"sha256": "6f2458e6c62d251b6219cfa0fbcfb9ccfa22854c5d7463b862f11b268019ec66"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "2096874c4c5c0beaca00a6ba4b087938",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 433977,
"upload_time": "2023-11-24T14:31:12",
"upload_time_iso_8601": "2023-11-24T14:31:12.173917Z",
"url": "https://files.pythonhosted.org/packages/24/66/e57df3bde2b0e98f584c79deb9ce4cfb01faaf931898571bd87b179d7d77/ft4222-1.10.0-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "22b5061a4437650501948d522324f6a1b90bc370e62e8d2113cd82fc5545947d",
"md5": "d732d936dafe6f694a4ca172a4a6623d",
"sha256": "db4b489cd434b92748e45695c1313716db4e00bdda4f70b6bcf99cdc042a34d8"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "d732d936dafe6f694a4ca172a4a6623d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 656110,
"upload_time": "2023-11-24T14:31:39",
"upload_time_iso_8601": "2023-11-24T14:31:39.875307Z",
"url": "https://files.pythonhosted.org/packages/22/b5/061a4437650501948d522324f6a1b90bc370e62e8d2113cd82fc5545947d/ft4222-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8fd01f1b4c9170e27091b156de15c983c0bbadefda6bd7c3f5774775b7c40c82",
"md5": "019f242080c2fb4d3983d061508793b3",
"sha256": "b0bd0632063b0e4bb2852ccde3fb95252ea7f0a0bfd3e4c3ee677f4ec63c2520"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "019f242080c2fb4d3983d061508793b3",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 685532,
"upload_time": "2023-11-24T14:31:41",
"upload_time_iso_8601": "2023-11-24T14:31:41.749693Z",
"url": "https://files.pythonhosted.org/packages/8f/d0/1f1b4c9170e27091b156de15c983c0bbadefda6bd7c3f5774775b7c40c82/ft4222-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3f009cdfaf7e9e26b94d070910a2bdf241f4cf54443762bda40e7c65874340e",
"md5": "166820d78fc9506f6ae1b77fa7bac694",
"sha256": "057c88eaa2db14a05163b90a7ba2938c0aa6e3870fec31c70051fb791cfbbc22"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "166820d78fc9506f6ae1b77fa7bac694",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 362977,
"upload_time": "2023-11-24T14:31:13",
"upload_time_iso_8601": "2023-11-24T14:31:13.324844Z",
"url": "https://files.pythonhosted.org/packages/e3/f0/09cdfaf7e9e26b94d070910a2bdf241f4cf54443762bda40e7c65874340e/ft4222-1.10.0-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b5a168737fb3dfadbda91851839044fca145bec20c9da28db04a0c0fe48d7d44",
"md5": "35bd45200bef75619efe0ea137d447b8",
"sha256": "648a739bb5c0ca53b5cb0698e0ebb54ddaea090878a02cbe9039b3d80cf818ba"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "35bd45200bef75619efe0ea137d447b8",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 435343,
"upload_time": "2023-11-24T14:31:14",
"upload_time_iso_8601": "2023-11-24T14:31:14.735561Z",
"url": "https://files.pythonhosted.org/packages/b5/a1/68737fb3dfadbda91851839044fca145bec20c9da28db04a0c0fe48d7d44/ft4222-1.10.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "26ce0cb1d47db4d2f2d2987f5574da0c0f872b7a9eb36b779f94b8ed1b377c8d",
"md5": "73ef348b781545ab7dae0ba95802a420",
"sha256": "88170a0aaa321ae8c974a664b2316fab00f86dd8249ff5927ea4d58a2ed7fa23"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "73ef348b781545ab7dae0ba95802a420",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 651516,
"upload_time": "2023-11-24T14:31:43",
"upload_time_iso_8601": "2023-11-24T14:31:43.174650Z",
"url": "https://files.pythonhosted.org/packages/26/ce/0cb1d47db4d2f2d2987f5574da0c0f872b7a9eb36b779f94b8ed1b377c8d/ft4222-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e201b90e88f6fcef90bf8f0096f52dca930f46dad42702b246827bbbd997adc8",
"md5": "e17b13b54916f79efd7af0027f318f6f",
"sha256": "69fa55d8b5bc7da5a20254d480d4764dbcaa1ca74cd2d10bbc0ce39d39891f2a"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "e17b13b54916f79efd7af0027f318f6f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 681764,
"upload_time": "2023-11-24T14:31:44",
"upload_time_iso_8601": "2023-11-24T14:31:44.610364Z",
"url": "https://files.pythonhosted.org/packages/e2/01/b90e88f6fcef90bf8f0096f52dca930f46dad42702b246827bbbd997adc8/ft4222-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9890f6e87e96434d85fc4663c8c1e7790707d4d927f7a6b6b24e26c3980e72ea",
"md5": "77b84375dd14ed36f89f8569effafde4",
"sha256": "9eb40e86fd43ab8d12b33d092369419e275292a6d57f1ef7de30e63cd8dc9bd5"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "77b84375dd14ed36f89f8569effafde4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 362439,
"upload_time": "2023-11-24T14:31:16",
"upload_time_iso_8601": "2023-11-24T14:31:16.747322Z",
"url": "https://files.pythonhosted.org/packages/98/90/f6e87e96434d85fc4663c8c1e7790707d4d927f7a6b6b24e26c3980e72ea/ft4222-1.10.0-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "55e3fa207d4016a9df941a3f76402e97f1e0f2e10396f1ecacbeda4edef99c26",
"md5": "e1f54123218bbf3f63be4c1aff9c3806",
"sha256": "875478f2c8c0fa128037c389969375ede546dde8cf7a5ae796421832aa6dd634"
},
"downloads": -1,
"filename": "ft4222-1.10.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "e1f54123218bbf3f63be4c1aff9c3806",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 434711,
"upload_time": "2023-11-24T14:31:18",
"upload_time_iso_8601": "2023-11-24T14:31:18.250354Z",
"url": "https://files.pythonhosted.org/packages/55/e3/fa207d4016a9df941a3f76402e97f1e0f2e10396f1ecacbeda4edef99c26/ft4222-1.10.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bd99216a21f7086a26810512baee35c05fe520fc9e52380fba8b76c3850db1b8",
"md5": "0d2f6b275b5da8b5f9c996731e190212",
"sha256": "834b9e549d66f3cc0bbe75983b32e756258523b70363bb67970a7be21c9e3d8f"
},
"downloads": -1,
"filename": "ft4222-1.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "0d2f6b275b5da8b5f9c996731e190212",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": null,
"size": 260680,
"upload_time": "2023-11-24T14:31:46",
"upload_time_iso_8601": "2023-11-24T14:31:46.265780Z",
"url": "https://files.pythonhosted.org/packages/bd/99/216a21f7086a26810512baee35c05fe520fc9e52380fba8b76c3850db1b8/ft4222-1.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "63b357a45f9ceab8c1051a8503f3fad457c9f35cea4443f7baa6c2087e5d317e",
"md5": "aee3a5746bc2a019edd8ecc180714552",
"sha256": "7af52e4d61e2bcaa10b802e6f1af29823da12a27f520c799823490e6fd9ebb19"
},
"downloads": -1,
"filename": "ft4222-1.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "aee3a5746bc2a019edd8ecc180714552",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": null,
"size": 284151,
"upload_time": "2023-11-24T14:31:48",
"upload_time_iso_8601": "2023-11-24T14:31:48.063017Z",
"url": "https://files.pythonhosted.org/packages/63/b3/57a45f9ceab8c1051a8503f3fad457c9f35cea4443f7baa6c2087e5d317e/ft4222-1.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "563179207854a8b00bb5e0c57379ff4599d135c6d9b97a93209c665017f44482",
"md5": "94712124c81d371a7d0485ae540ec46d",
"sha256": "ca8c5aff74e213d8b658e7cdd8df3012e55023a2d379b5074628f6bb8947359a"
},
"downloads": -1,
"filename": "ft4222-1.10.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "94712124c81d371a7d0485ae540ec46d",
"packagetype": "bdist_wheel",
"python_version": "pp37",
"requires_python": null,
"size": 263850,
"upload_time": "2023-11-24T14:31:49",
"upload_time_iso_8601": "2023-11-24T14:31:49.410227Z",
"url": "https://files.pythonhosted.org/packages/56/31/79207854a8b00bb5e0c57379ff4599d135c6d9b97a93209c665017f44482/ft4222-1.10.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b2da17eb6f0fe5a4f607887602bf3542522737762a70d30a2c49827a13f0f40b",
"md5": "d9d29ab054bc86de7767634beca61034",
"sha256": "755a70ab2c5d3fd94030e51fd82c332bc2463c6c455adf093d12e2f3803ea207"
},
"downloads": -1,
"filename": "ft4222-1.10.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "d9d29ab054bc86de7767634beca61034",
"packagetype": "bdist_wheel",
"python_version": "pp37",
"requires_python": null,
"size": 288889,
"upload_time": "2023-11-24T14:31:50",
"upload_time_iso_8601": "2023-11-24T14:31:50.709299Z",
"url": "https://files.pythonhosted.org/packages/b2/da/17eb6f0fe5a4f607887602bf3542522737762a70d30a2c49827a13f0f40b/ft4222-1.10.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a7b54ea2cfcd404f6d7ba1c71213b6fc3ca15f748461d3746623e815e3a67f2e",
"md5": "624be3b8a372cf4e510d979b2f539cbc",
"sha256": "035ea7fc9ad627b44be57c31e87bc8d445ebd7cf6ac991d750fedc999683d64e"
},
"downloads": -1,
"filename": "ft4222-1.10.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "624be3b8a372cf4e510d979b2f539cbc",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": null,
"size": 263858,
"upload_time": "2023-11-24T14:31:51",
"upload_time_iso_8601": "2023-11-24T14:31:51.875467Z",
"url": "https://files.pythonhosted.org/packages/a7/b5/4ea2cfcd404f6d7ba1c71213b6fc3ca15f748461d3746623e815e3a67f2e/ft4222-1.10.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2396e62a0d368b330baf209b2770ba074378209d52bf21d5dd85899735157697",
"md5": "e27780244bd1733763b54fde797faa98",
"sha256": "2df65d174200c1451f5646a109e683aada9d7a076bf5f7ce682145d10725445a"
},
"downloads": -1,
"filename": "ft4222-1.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "e27780244bd1733763b54fde797faa98",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": null,
"size": 288889,
"upload_time": "2023-11-24T14:31:53",
"upload_time_iso_8601": "2023-11-24T14:31:53.255419Z",
"url": "https://files.pythonhosted.org/packages/23/96/e62a0d368b330baf209b2770ba074378209d52bf21d5dd85899735157697/ft4222-1.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dca15dc0e7bf5352529f432da1da5cc3d83b2500116c54ffe9bc619f0818cb45",
"md5": "f4d80360f428998a3e20f7dc5ddad2ba",
"sha256": "99ef3c412017a85ef9f90d8fc884ba66dae71e85433c8890da6aec38eb0288ab"
},
"downloads": -1,
"filename": "ft4222-1.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "f4d80360f428998a3e20f7dc5ddad2ba",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": null,
"size": 260023,
"upload_time": "2023-11-24T14:31:55",
"upload_time_iso_8601": "2023-11-24T14:31:55.164750Z",
"url": "https://files.pythonhosted.org/packages/dc/a1/5dc0e7bf5352529f432da1da5cc3d83b2500116c54ffe9bc619f0818cb45/ft4222-1.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "90f3fead2ea1591d61d0a02756808eceafcb344911d87706df5fb24f6f72443b",
"md5": "2b77bde50b9b2b030e94574788e34ee7",
"sha256": "d00b36bdac3960c377f3a625fc352eca20e36825ddff178feaae97c2d9a8846c"
},
"downloads": -1,
"filename": "ft4222-1.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "2b77bde50b9b2b030e94574788e34ee7",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": null,
"size": 284096,
"upload_time": "2023-11-24T14:31:57",
"upload_time_iso_8601": "2023-11-24T14:31:57.008656Z",
"url": "https://files.pythonhosted.org/packages/90/f3/fead2ea1591d61d0a02756808eceafcb344911d87706df5fb24f6f72443b/ft4222-1.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b8eb7b1fda2a922c511324a5190cec04e2441e26219d1dcf4c7aba43de4bf4ab",
"md5": "a99fc1023f9dfa0fec34271aaaaa563d",
"sha256": "74eab32dfc5c012d11952c8645b72157f8828685972669ef3c22025491d96001"
},
"downloads": -1,
"filename": "ft4222-1.10.0.tar.gz",
"has_sig": false,
"md5_digest": "a99fc1023f9dfa0fec34271aaaaa563d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3285720,
"upload_time": "2023-11-24T14:31:20",
"upload_time_iso_8601": "2023-11-24T14:31:20.730922Z",
"url": "https://files.pythonhosted.org/packages/b8/eb/7b1fda2a922c511324a5190cec04e2441e26219d1dcf4c7aba43de4bf4ab/ft4222-1.10.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-24 14:31:20",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "msrelectronics",
"gitlab_project": "python-ft4222",
"lcname": "ft4222"
}