{ "info": { "author": "Bernd Porr", "author_email": "mail@berndporr.me.uk", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python :: 3" ], "description": "====\nFir1\n====\n\nAn efficient Finite Impulse Response (FIR) filter class\nwritten in C++ with python wrapper.\n\nAdaptive filtering is also implemented using the Least Mean \nSquare (LMS) or Normalised Least Mean\nSquare (NLMS) algorithm.\n\nInstallation\n============\n\nInstall the python package with pip::\n\n pip3 install fir1\n\nYou can also install from source::\n\n git clone https://github.com/berndporr/fir1\n cd fir1\n python3 setup.py install\n\n\nUsage\n=====\n\nRealtime filtering\n------------------\n\nThe filter is a realtime filter which receives samples\none by one so it can process data as it arrives from\nan ADC converter. This is simulated here with the for loop::\n\n import fir1\n b = signal.firwin(999,0.1)\n f = fir1.Fir1(b)\n for i in range(len(noisy_signal)):\n clean_signal[i] = f.filter(noisy_signal[i])\n\nThe constructor ``Fir1()`` receives the filter coefficients \n(= impulse response) and then filtering is performed \nwith the method ``filter()``.\n\n\nLMS adaptive filter\n-------------------\n\nThe file `lms_50Hz_ecg_filter.py` removes 50Hz from \nan ECG with the help of the lms filter. \nThe filter learns its own frequency response from a\nreference 50Hz sine wave::\n\n f = fir1.Fir1(NTAPS)\n f.setLearningRate(LEARNING_RATE);\n\n y= np.empty(len(ecg))\n for i in range(len(ecg)):\n ref_noise = np.sin(2.0 * np.pi / 20.0 * i);\n canceller = f.filter(ref_noise)\n output_signal = ecg[i] - canceller\n f.lms_update(output_signal)\n y[i] = output_signal\n\nBoth the demo file and an explanation how the LMS\nfilter works can be found on the homepage of the\nproject:\n\nhttps://github.com/berndporr/fir1\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/berndporr/fir1", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "fir1", "package_url": "https://pypi.org/project/fir1/", "platform": "", "project_url": "https://pypi.org/project/fir1/", "project_urls": { "Homepage": "https://github.com/berndporr/fir1" }, "release_url": "https://pypi.org/project/fir1/1.4.0.0/", "requires_dist": null, "requires_python": "", "summary": "Efficient FIR realtime filter", "version": "1.4.0.0" }, "last_serial": 4716162, "releases": { "1.3.0.10": [ { "comment_text": "", "digests": { "md5": "c490215edbbc49892d7ce880231e70d6", "sha256": "c52cdfc49af2d3b0bc25b0f7311524ba1a7de14de475bf76a771b872c6fa26e0" }, "downloads": -1, "filename": "fir1-1.3.0.10-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "c490215edbbc49892d7ce880231e70d6", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27676, "upload_time": "2018-11-02T21:14:30", "url": "https://files.pythonhosted.org/packages/3c/17/72caa2cec5b31ee6dffdf559920500ef06cbd78b404b68da4d4f24e538b4/fir1-1.3.0.10-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "c09efa235b55d5cdcb4b72be3e719e00", "sha256": "0ee57635deeee83871dff37ccc2b65899fd79767cff7f157ba6a1b11ffa84bb9" }, "downloads": -1, "filename": "fir1-1.3.0.10-py3.6-linux-x86_64.egg", "has_sig": false, "md5_digest": "c09efa235b55d5cdcb4b72be3e719e00", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 75386, "upload_time": "2018-11-02T21:13:15", "url": "https://files.pythonhosted.org/packages/62/42/c5021c95f755b0916fdef6e07df1a52a711fc4bcdb241082e1b726ad1649/fir1-1.3.0.10-py3.6-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "ce23c78236ec76535a37894607f88c46", "sha256": "d696d4498650000242b86ca92d62ec2d77cb66e4169cfc447e215d769bc75b70" }, "downloads": -1, "filename": "fir1-1.3.0.10-py3.6-win-amd64.egg", "has_sig": false, "md5_digest": "ce23c78236ec76535a37894607f88c46", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 30659, "upload_time": "2018-11-02T21:14:51", "url": "https://files.pythonhosted.org/packages/59/3b/5700a0b826c8794f9933cebec519da916fa4b949452b5d8026610f359e3f/fir1-1.3.0.10-py3.6-win-amd64.egg" }, { "comment_text": "", "digests": { "md5": "09de01e5c5021d2b49732e67f864fcc0", "sha256": "a0cab6413293e94d3bc219e982ea2076163f4c104738689bfd5e4fb0bfbe47ee" }, "downloads": -1, "filename": "fir1-1.3.0.10.tar.gz", "has_sig": false, "md5_digest": "09de01e5c5021d2b49732e67f864fcc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53417, "upload_time": "2018-11-02T21:13:02", "url": "https://files.pythonhosted.org/packages/f3/17/8385c32f7ba1a839075578c70706478f34b704fa7043968a0377b7f98dd2/fir1-1.3.0.10.tar.gz" } ], "1.3.0.11": [ { "comment_text": "", "digests": { "md5": "89cce3f413ca4316f1bd4cd66a690149", "sha256": "617bc33a5ad80a80ca4c6da6499e0040e47c9ad71e08e2fd7ca7211314598970" }, "downloads": -1, "filename": "fir1-1.3.0.11.tar.gz", "has_sig": false, "md5_digest": "89cce3f413ca4316f1bd4cd66a690149", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53429, "upload_time": "2018-11-03T10:19:59", "url": "https://files.pythonhosted.org/packages/31/5f/87007ff348b75472e1d715f22e516c64429ce637d5bc641a37e6429241b9/fir1-1.3.0.11.tar.gz" } ], "1.3.0.12": [ { "comment_text": "", "digests": { "md5": "2d847c391774f0b2ef35fd31e42e878e", "sha256": "f164d0c680eb731007c7301bf980d60a1444b5058df00f00ff76ab56322d8ac1" }, "downloads": -1, "filename": "fir1-1.3.0.12-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "2d847c391774f0b2ef35fd31e42e878e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 28535, "upload_time": "2018-11-03T10:39:05", "url": "https://files.pythonhosted.org/packages/8c/4d/988baf7747eba3f1c54236afcb46706d3f068161e714dc9ff4da4b54053b/fir1-1.3.0.12-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "1d8011d366a711f6b593576733750ce7", "sha256": "568a0a06de3fb7e0805f24ec4cb1da57c25a62e68610f271ac9cee103edb1cf7" }, "downloads": -1, "filename": "fir1-1.3.0.12-py3.6-win-amd64.egg", "has_sig": false, "md5_digest": "1d8011d366a711f6b593576733750ce7", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 31512, "upload_time": "2018-11-03T10:39:17", "url": "https://files.pythonhosted.org/packages/83/6e/3a83b9856c698de1629ae17b86493d7da2ab3794ade76bf6e2866b881d2d/fir1-1.3.0.12-py3.6-win-amd64.egg" }, { "comment_text": "", "digests": { "md5": "72a33170bf9935cf7b5692ea14a6b577", "sha256": "1d3cf2b3a54778cdca6b6d5700a3e2fbbcc4e4775c5fd55c59f0619ad01a90fa" }, "downloads": -1, "filename": "fir1-1.3.0.12.tar.gz", "has_sig": false, "md5_digest": "72a33170bf9935cf7b5692ea14a6b577", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53163, "upload_time": "2018-11-03T10:34:43", "url": "https://files.pythonhosted.org/packages/1b/0b/23f9b6ad68b9f408255745c6a169b84cae66d95bb2c27bc2603dfcf36dad/fir1-1.3.0.12.tar.gz" } ], "1.3.0.13": [ { "comment_text": "", "digests": { "md5": "1cd67bb744d513797add995da5a9f5cc", "sha256": "9a9d67a2a7be876d9fe4bbaef15f1dcd0f22a2d3e82da05ce351728410734b94" }, "downloads": -1, "filename": "fir1-1.3.0.13-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "1cd67bb744d513797add995da5a9f5cc", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 28535, "upload_time": "2018-11-03T11:34:19", "url": "https://files.pythonhosted.org/packages/29/f7/ccf9ae69c637c7b3831af7eb055af0767d268f18ef78cbd538e0ee8056de/fir1-1.3.0.13-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "e7b4998494f7bd07214aac03d23df383", "sha256": "060da123eae22544a800c79a3048863d012baefd0756b3bc8ea6269dd2cd2e2b" }, "downloads": -1, "filename": "fir1-1.3.0.13.tar.gz", "has_sig": false, "md5_digest": "e7b4998494f7bd07214aac03d23df383", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7631, "upload_time": "2018-11-03T11:34:03", "url": "https://files.pythonhosted.org/packages/78/e8/dffdf5d1bdb113102e7355a0fd43d0a10e7b4c704c0db380140fcfd42c13/fir1-1.3.0.13.tar.gz" } ], "1.3.0.14": [ { "comment_text": "", "digests": { "md5": "3f5ed27c7e8bd62f11a838b952b2293b", "sha256": "e1fecceaf7667ede76d7938566b68fc587b467317ef46e10001c41d3d9e0f212" }, "downloads": -1, "filename": "fir1-1.3.0.14-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "3f5ed27c7e8bd62f11a838b952b2293b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 28537, "upload_time": "2018-11-03T11:53:46", "url": "https://files.pythonhosted.org/packages/9a/91/ad5882c59b1d889780c2dbe7e0377e0d2e9550ceba3fd9312e1a51e49e10/fir1-1.3.0.14-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "f97495777b42b25c8f6bc8fba10af5fa", "sha256": "7c0c9d4c9f5f7407fd538ff9b99e845d2e071c05a9048bcf41172407aac62e49" }, "downloads": -1, "filename": "fir1-1.3.0.14.tar.gz", "has_sig": false, "md5_digest": "f97495777b42b25c8f6bc8fba10af5fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53110, "upload_time": "2018-11-03T11:52:24", "url": "https://files.pythonhosted.org/packages/8c/36/b83622db48608d8a982136ccd4af07c9e40d423acf83a126347b0d69ef2a/fir1-1.3.0.14.tar.gz" } ], "1.3.0.15": [ { "comment_text": "", "digests": { "md5": "eb25cae872c444488068f4bd0a046e30", "sha256": "5398a0d33cc680c2c3f9e0e72a3d0b1e6667e181aa7edbcda661c4f6c3f246ae" }, "downloads": -1, "filename": "fir1-1.3.0.15-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "eb25cae872c444488068f4bd0a046e30", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 28536, "upload_time": "2018-11-03T12:05:16", "url": "https://files.pythonhosted.org/packages/4c/f8/8a2bf6f121d2c40e2599410f3d64d1e3982141b6ee8c1476a045ee9cb70c/fir1-1.3.0.15-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "947f0faa3866de4424c615202455b0ca", "sha256": "bb50293987b0f877b04d393aa2c84617fff3da24f29f99b3f062c2f11d939e2d" }, "downloads": -1, "filename": "fir1-1.3.0.15.tar.gz", "has_sig": false, "md5_digest": "947f0faa3866de4424c615202455b0ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53111, "upload_time": "2018-11-03T11:58:37", "url": "https://files.pythonhosted.org/packages/51/ed/f982361598dd939436224ef952aabf1c47cba4ba1e2f0f9d741aeaf4c003/fir1-1.3.0.15.tar.gz" } ], "1.3.0.4": [ { "comment_text": "", "digests": { "md5": "bd8fced96696a0ea9379e66383b34902", "sha256": "2d82221ea4ac495e2f28837beb9dd8dc8e1397c15eb16e2c24290e116659f844" }, "downloads": -1, "filename": "fir1-1.3.0.4-py3.6-linux-x86_64.egg", "has_sig": false, "md5_digest": "bd8fced96696a0ea9379e66383b34902", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 77431, "upload_time": "2018-11-02T16:42:13", "url": "https://files.pythonhosted.org/packages/4e/b4/1f141d6a6efc4add852f26b68e555d0d31116c49b99d37ebc22ad82550c5/fir1-1.3.0.4-py3.6-linux-x86_64.egg" } ], "1.3.0.5": [ { "comment_text": "", "digests": { "md5": "66cea905ae526f8426596fc412393ba2", "sha256": "fda4733e70de927cba46abfcc3ceb6a70a0b7be510b9f7f0e49d444eac107262" }, "downloads": -1, "filename": "fir1-1.3.0.5-py3.6-linux-x86_64.egg", "has_sig": false, "md5_digest": "66cea905ae526f8426596fc412393ba2", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 75118, "upload_time": "2018-11-02T17:26:35", "url": "https://files.pythonhosted.org/packages/8b/ba/624779723b2b971fed66fe20a4115d90755549228e32ea011738cd7ded49/fir1-1.3.0.5-py3.6-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "51f0c1e7821bdcd0607486ce3139eee7", "sha256": "af70f2c653864d9b5e527eb38af26057f78797c982b251aef4ab20da88fbf94b" }, "downloads": -1, "filename": "fir1-1.3.0.5.tar.gz", "has_sig": false, "md5_digest": "51f0c1e7821bdcd0607486ce3139eee7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52764, "upload_time": "2018-11-02T17:26:11", "url": "https://files.pythonhosted.org/packages/0c/1b/85df56eca958bacb3ec4f43478a014d6600dc0edec284c6f5d07dfcda98d/fir1-1.3.0.5.tar.gz" } ], "1.3.0.7": [ { "comment_text": "", "digests": { "md5": "e2fc9f8c71ceb5ad68586da74c4fc23b", "sha256": "b41e18054224ab9c9352910f5ce48ea9d3aee03edbb1b10d467fdbf647d763c8" }, "downloads": -1, "filename": "fir1-1.3.0.7-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "e2fc9f8c71ceb5ad68586da74c4fc23b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27451, "upload_time": "2018-11-02T20:30:43", "url": "https://files.pythonhosted.org/packages/03/74/3d8cc99dcc24659a94f6bf247f1bd67705703d0354493e9b1b3e0708e714/fir1-1.3.0.7-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "4380f73d3d54899e2836f75988e6a234", "sha256": "0e1ce41f0f9f984624dd769df01c689170ade26e46bec1473ad66dad44e131e3" }, "downloads": -1, "filename": "fir1-1.3.0.7-py3.6-linux-x86_64.egg", "has_sig": false, "md5_digest": "4380f73d3d54899e2836f75988e6a234", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 75155, "upload_time": "2018-11-02T18:43:35", "url": "https://files.pythonhosted.org/packages/35/46/d2ed324c980784c9fdea07cf9ad177775c599634ac9ad732b3e0de404fa6/fir1-1.3.0.7-py3.6-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "9005183aa0f6a8056e25b28fc1d68672", "sha256": "12f0c6e5b471421c2df87a50fa705868165877c22b80eff5bd4658fa42405f65" }, "downloads": -1, "filename": "fir1-1.3.0.7-py3.6-win-amd64.egg", "has_sig": false, "md5_digest": "9005183aa0f6a8056e25b28fc1d68672", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 30430, "upload_time": "2018-11-02T20:31:06", "url": "https://files.pythonhosted.org/packages/6b/15/dd965689e8e918b17c1653c906503572d3e11491569dc3223f573cfea81b/fir1-1.3.0.7-py3.6-win-amd64.egg" }, { "comment_text": "", "digests": { "md5": "05c4844dd90e348769d4ef30efe1f753", "sha256": "f515d9634c89dc0f7d2508b1b9bd44eb885232ba45c4f3ddea7bf8bf05c5a49f" }, "downloads": -1, "filename": "fir1-1.3.0.7.tar.gz", "has_sig": false, "md5_digest": "05c4844dd90e348769d4ef30efe1f753", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52867, "upload_time": "2018-11-02T18:43:16", "url": "https://files.pythonhosted.org/packages/79/93/d3a2ca238fa2514bc44d222b77ca3b6804a4e2fa13e79081f9c16526276e/fir1-1.3.0.7.tar.gz" } ], "1.3.0.9": [ { "comment_text": "", "digests": { "md5": "69fc5174131bf068cfbb9a8a072a8a7d", "sha256": "8d2f17de1463ba94bd9bc7bc4976659f444c57da3c4b68948064605a5091aa77" }, "downloads": -1, "filename": "fir1-1.3.0.9-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "69fc5174131bf068cfbb9a8a072a8a7d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 27565, "upload_time": "2018-11-02T20:50:43", "url": "https://files.pythonhosted.org/packages/d2/03/ae11bb4626f072bfb6c57d1b1fb3d1d7c8e676158a3f83c4baaac47b68bf/fir1-1.3.0.9-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "6ba807712f36b80ccc22b4754dd91e08", "sha256": "5be66b5166341a8fc7996dd453b9adb94d55120491d282faea8c41a3ed789bcc" }, "downloads": -1, "filename": "fir1-1.3.0.9-py3.6-win-amd64.egg", "has_sig": false, "md5_digest": "6ba807712f36b80ccc22b4754dd91e08", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 30557, "upload_time": "2018-11-02T20:50:33", "url": "https://files.pythonhosted.org/packages/fa/27/864e9ae96eb7095557a3646e543f5e7b1c9675e75c32bf6c928a70401e0c/fir1-1.3.0.9-py3.6-win-amd64.egg" }, { "comment_text": "", "digests": { "md5": "a3e10c5cba1aad5155aec8d099bdfa2e", "sha256": "a0643c8e855e93c8aa2d4bbf8fa8015a4cd0f142de0b7580d8204c3f3d022d1f" }, "downloads": -1, "filename": "fir1-1.3.0.9.tar.gz", "has_sig": false, "md5_digest": "a3e10c5cba1aad5155aec8d099bdfa2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6086, "upload_time": "2018-11-02T20:50:57", "url": "https://files.pythonhosted.org/packages/ac/93/741c0068bccc3862d1dbcb6fc8eb559800a4010f401b9d02a100b338dd8f/fir1-1.3.0.9.tar.gz" } ], "1.4.0.0": [ { "comment_text": "", "digests": { "md5": "a97ca1f6180a8be24026b4ac3255302f", "sha256": "561aa23830e08ecaed645ec8584aeb05e5f6700aca24b5afb39dbc0becff46f5" }, "downloads": -1, "filename": "fir1-1.4.0.0-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "a97ca1f6180a8be24026b4ac3255302f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 28588, "upload_time": "2019-01-19T17:19:57", "url": "https://files.pythonhosted.org/packages/f2/e8/1e41711c6441d6d4c974d7152ddfac4f4a4f1182c2f3e881e070a60476e9/fir1-1.4.0.0-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "77376e6ff32252d9e9a65e4820a6dc71", "sha256": "51bdaa962356d5f681fa3948d3bce1376ea25c44fa25d9440f8c36f9fee3f3f8" }, "downloads": -1, "filename": "fir1-1.4.0.0-py3.6-win-amd64.egg", "has_sig": false, "md5_digest": "77376e6ff32252d9e9a65e4820a6dc71", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 31711, "upload_time": "2019-01-19T17:20:39", "url": "https://files.pythonhosted.org/packages/2a/9d/9fea731c0233de9bc4dd17f46ae211d75ca2bdcd7d43d75e4cefd0925c5d/fir1-1.4.0.0-py3.6-win-amd64.egg" }, { "comment_text": "", "digests": { "md5": "784e153c4891b3e5adad5ac904747d0e", "sha256": "b993ac7d07dafe84a7d73ea00675e3a662eae3c21d1f020070f876661de369b7" }, "downloads": -1, "filename": "fir1-1.4.0.0.tar.gz", "has_sig": false, "md5_digest": "784e153c4891b3e5adad5ac904747d0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18739, "upload_time": "2019-01-19T17:25:53", "url": "https://files.pythonhosted.org/packages/75/0b/4437aa9a08eb43ac2ffc86e06976d762013ab2e0d937bb6c7cb9d850412e/fir1-1.4.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a97ca1f6180a8be24026b4ac3255302f", "sha256": "561aa23830e08ecaed645ec8584aeb05e5f6700aca24b5afb39dbc0becff46f5" }, "downloads": -1, "filename": "fir1-1.4.0.0-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "a97ca1f6180a8be24026b4ac3255302f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 28588, "upload_time": "2019-01-19T17:19:57", "url": "https://files.pythonhosted.org/packages/f2/e8/1e41711c6441d6d4c974d7152ddfac4f4a4f1182c2f3e881e070a60476e9/fir1-1.4.0.0-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "77376e6ff32252d9e9a65e4820a6dc71", "sha256": "51bdaa962356d5f681fa3948d3bce1376ea25c44fa25d9440f8c36f9fee3f3f8" }, "downloads": -1, "filename": "fir1-1.4.0.0-py3.6-win-amd64.egg", "has_sig": false, "md5_digest": "77376e6ff32252d9e9a65e4820a6dc71", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 31711, "upload_time": "2019-01-19T17:20:39", "url": "https://files.pythonhosted.org/packages/2a/9d/9fea731c0233de9bc4dd17f46ae211d75ca2bdcd7d43d75e4cefd0925c5d/fir1-1.4.0.0-py3.6-win-amd64.egg" }, { "comment_text": "", "digests": { "md5": "784e153c4891b3e5adad5ac904747d0e", "sha256": "b993ac7d07dafe84a7d73ea00675e3a662eae3c21d1f020070f876661de369b7" }, "downloads": -1, "filename": "fir1-1.4.0.0.tar.gz", "has_sig": false, "md5_digest": "784e153c4891b3e5adad5ac904747d0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18739, "upload_time": "2019-01-19T17:25:53", "url": "https://files.pythonhosted.org/packages/75/0b/4437aa9a08eb43ac2ffc86e06976d762013ab2e0d937bb6c7cb9d850412e/fir1-1.4.0.0.tar.gz" } ] }