pyfda
======
## Python Filter Design Analysis Tool
pyfda is a GUI based tool in Python / Qt for analysing and designing discrete time filters. Fixpoint implementations (for some filter types) can be simulated.
For more info see the [`Github Repo`](https://github.com/chipmuenk/pyfda) and the documentation at [readthedocs.org](https://pyfda.readthedocs.io/en/latest/).
![Screenshot](https://github.com/chipmuenk/pyfda/blob/94c719ec5149fd6f75af9b058ea923c67b2a3f83/img/pyfda_screenshot_3.png)
## Prerequisites
* Python versions: **3.7 ... 3.11**
* All operating systems, no OS specific requirements.
* Libraries:
* **(Py)Qt5**
* **numpy**
* **scipy**
* **matplotlib**: **2.1** or higher
### Optional libraries:
* **docutils** for rich text in documentation
* **xlwt** and / or **XlsxWriter** for exporting filter coefficients as *.xls(x) files
## Installing pyfda
Self-executing archives are available for Windows and OS X at https://github.com/chipmuenk/pyfda/releases which do not require a Python installation. Under Linux, pyfda can be installed as a flatpak.
Otherwise, installation is straight forward: There is only one version of pyfda for all supported operating systems, no compilation is required:
### pip
Install from PyPI using
> pip install pyfda
or upgrade using
> pip install pyfda -U
or install locally using
> pip install -e <YOUR_PATH_TO_PYFDA>
where `<YOUR_PATH_TO_PYFDA>` specifies the path of `setup.py` without including `setup.py`.
In this case, you need to have a local copy of the pyfda project, preferrably obtained using git and `pip install` only creates the start script.
### setup.py
You could also download the zip file from Github and extract it to a directory of your choice. Install it either to your `<python>/Lib/site-packages` subdirectory using
> python setup.py install
or just create a link to where you have copied the python source files (for testing / development) using
> python setup.py develop
## Starting pyfda
In any case, the start script `pyfdax` has been created in `<python>/Scripts` which should be in your path. So, simply start pyfda using
> pyfdax
For development and debugging, you can also run pyfda using
In [1]: %run -m pyfda.pyfdax # IPython or
> python -m pyfda.pyfdax # plain python interpreter
All individual files from pyfda can be run using e.g.
In [2]: %run -m pyfda.input_widgets.input_pz # IPython or
> python -m pyfda.input_widgets.input_pz # plain python interpreter
## Customization
The location of the following two configuration files (copied to user space) can be checked via the tab `Files -> About`:
- Logging verbosity can be controlled via the file `pyfda_log.conf`
- Widgets and filters can be enabled / disabled via the file `pyfda.conf`. You can also define one or more user directories containing your own widgets and / or filters.
Layout and some default paths can be customized using the file `pyfda/pyfda_rc.py`, right now you have to edit that file at its original location.
Raw data
{
"_id": null,
"home_page": "https://github.com/chipmuenk/pyFDA",
"name": "pyfda",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "digital, discrete time, filter design, IIR, FIR, GUI",
"author": "Christian Muenker",
"author_email": "mail07@chipmuenk.de",
"download_url": "https://files.pythonhosted.org/packages/c6/ee/3516c377553f729666d7ff9824eb266c768d81fda551c29049f831efa465/pyfda-0.9.5.tar.gz",
"platform": "any",
"description": "pyfda\n======\n## Python Filter Design Analysis Tool\n\npyfda is a GUI based tool in Python / Qt for analysing and designing discrete time filters. Fixpoint implementations (for some filter types) can be simulated. \n\nFor more info see the [`Github Repo`](https://github.com/chipmuenk/pyfda) and the documentation at [readthedocs.org](https://pyfda.readthedocs.io/en/latest/).\n\n![Screenshot](https://github.com/chipmuenk/pyfda/blob/94c719ec5149fd6f75af9b058ea923c67b2a3f83/img/pyfda_screenshot_3.png) \n\n## Prerequisites\n\n* Python versions: **3.7 ... 3.11**\n* All operating systems, no OS specific requirements.\n* Libraries:\n * **(Py)Qt5**\n * **numpy**\n * **scipy**\n * **matplotlib**: **2.1** or higher\n\n### Optional libraries:\n* **docutils** for rich text in documentation\n* **xlwt** and / or **XlsxWriter** for exporting filter coefficients as *.xls(x) files\n\n## Installing pyfda\nSelf-executing archives are available for Windows and OS X at https://github.com/chipmuenk/pyfda/releases which do not require a Python installation. Under Linux, pyfda can be installed as a flatpak. \n\nOtherwise, installation is straight forward: There is only one version of pyfda for all supported operating systems, no compilation is required:\n\n### pip\nInstall from PyPI using\n\n > pip install pyfda\n\nor upgrade using\n\n > pip install pyfda -U\n\t\nor install locally using\n\n > pip install -e <YOUR_PATH_TO_PYFDA>\n\t\nwhere `<YOUR_PATH_TO_PYFDA>` specifies the path of `setup.py` without including `setup.py`. \nIn this case, you need to have a local copy of the pyfda project, preferrably obtained using git and `pip install` only creates the start script.\n\n### setup.py \nYou could also download the zip file from Github and extract it to a directory of your choice. Install it either to your `<python>/Lib/site-packages` subdirectory using\n\n > python setup.py install\n\nor just create a link to where you have copied the python source files (for testing / development) using\n\n > python setup.py develop\n\n## Starting pyfda\nIn any case, the start script `pyfdax` has been created in `<python>/Scripts` which should be in your path. So, simply start pyfda using\n\n > pyfdax\n\nFor development and debugging, you can also run pyfda using\n\n In [1]: %run -m pyfda.pyfdax # IPython or\n > python -m pyfda.pyfdax # plain python interpreter\n \nAll individual files from pyfda can be run using e.g.\n\n In [2]: %run -m pyfda.input_widgets.input_pz # IPython or \n > python -m pyfda.input_widgets.input_pz # plain python interpreter\n \n## Customization\n\nThe location of the following two configuration files (copied to user space) can be checked via the tab `Files -> About`:\n\n- Logging verbosity can be controlled via the file `pyfda_log.conf` \n- Widgets and filters can be enabled / disabled via the file `pyfda.conf`. You can also define one or more user directories containing your own widgets and / or filters.\n\nLayout and some default paths can be customized using the file `pyfda/pyfda_rc.py`, right now you have to edit that file at its original location.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Design and analyse discrete time DSP filters with a user-friendly GUI tool. Fixpoint filters in time and frequency domain, too.",
"version": "0.9.5",
"project_urls": {
"Homepage": "https://github.com/chipmuenk/pyFDA"
},
"split_keywords": [
"digital",
" discrete time",
" filter design",
" iir",
" fir",
" gui"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bce86fe0fdf6ad87e2a459e3d4b857678a3dcc08a1691f55c18b4d18e94515e8",
"md5": "201035b232defc67afab1af4b0ece7da",
"sha256": "72bcc7d9fa3d39b94758534525f47f3bcb4ff58fab1e1623d0085a6565286ea6"
},
"downloads": -1,
"filename": "pyfda-0.9.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "201035b232defc67afab1af4b0ece7da",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 660883,
"upload_time": "2024-12-22T17:09:19",
"upload_time_iso_8601": "2024-12-22T17:09:19.682534Z",
"url": "https://files.pythonhosted.org/packages/bc/e8/6fe0fdf6ad87e2a459e3d4b857678a3dcc08a1691f55c18b4d18e94515e8/pyfda-0.9.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c6ee3516c377553f729666d7ff9824eb266c768d81fda551c29049f831efa465",
"md5": "06b9275ce5aaa14b4b14b8c1fd6356e9",
"sha256": "fab3e3f0772d7ae2d8510cae74224b3be095dfab05eb16847442a32a9df5b2d8"
},
"downloads": -1,
"filename": "pyfda-0.9.5.tar.gz",
"has_sig": false,
"md5_digest": "06b9275ce5aaa14b4b14b8c1fd6356e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 578953,
"upload_time": "2024-12-22T17:09:22",
"upload_time_iso_8601": "2024-12-22T17:09:22.545587Z",
"url": "https://files.pythonhosted.org/packages/c6/ee/3516c377553f729666d7ff9824eb266c768d81fda551c29049f831efa465/pyfda-0.9.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-22 17:09:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "chipmuenk",
"github_project": "pyFDA",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
"<",
"2.0"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.2.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
">=",
"3.3"
]
]
},
{
"name": "pyqt5",
"specs": []
},
{
"name": "docutils",
"specs": []
},
{
"name": "nose",
"specs": []
},
{
"name": "mplcursors",
"specs": []
},
{
"name": "numexpr",
"specs": [
[
">=",
"2.8.8"
]
]
},
{
"name": "markdown",
"specs": []
},
{
"name": "amaranth",
"specs": []
}
],
"lcname": "pyfda"
}