summaryrefslogtreecommitdiff
path: root/python-pyfda.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-pyfda.spec')
-rw-r--r--python-pyfda.spec215
1 files changed, 215 insertions, 0 deletions
diff --git a/python-pyfda.spec b/python-pyfda.spec
new file mode 100644
index 0000000..53cec3e
--- /dev/null
+++ b/python-pyfda.spec
@@ -0,0 +1,215 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pyfda
+Version: 0.7.1
+Release: 1
+Summary: Design and analyse discrete time DSP filters with a user-friendly GUI tool. Fixpoint filters in time and frequency domain, too.
+License: MIT
+URL: https://github.com/chipmuenk/pyFDA
+Source0: https://mirrors.aliyun.com/pypi/web/packages/10/f8/90da833d5ee273b15fdccd8068025da36fb7ef713648f7502b43fd2e5b7a/pyfda-0.7.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-numpy
+Requires: python3-scipy
+Requires: python3-matplotlib
+Requires: python3-pyqt5
+Requires: python3-docutils
+Requires: python3-mplcursors
+Requires: python3-numexpr
+Requires: python3-markdown
+
+%description
+## 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/raw/develop/img/pyFDA_screenshot_3.png)
+## Prerequisites
+* Python versions: **3.6 ... 3.10**
+* All operating systems - there should be 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.
+Otherwise, installation is straight forward: There is only one version of pyfda for all supported operating systems, no compilation is required:
+### pip
+You can 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.
+
+%package -n python3-pyfda
+Summary: Design and analyse discrete time DSP filters with a user-friendly GUI tool. Fixpoint filters in time and frequency domain, too.
+Provides: python-pyfda
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-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/raw/develop/img/pyFDA_screenshot_3.png)
+## Prerequisites
+* Python versions: **3.6 ... 3.10**
+* All operating systems - there should be 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.
+Otherwise, installation is straight forward: There is only one version of pyfda for all supported operating systems, no compilation is required:
+### pip
+You can 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.
+
+%package help
+Summary: Development documents and examples for pyfda
+Provides: python3-pyfda-doc
+%description help
+## 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/raw/develop/img/pyFDA_screenshot_3.png)
+## Prerequisites
+* Python versions: **3.6 ... 3.10**
+* All operating systems - there should be 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.
+Otherwise, installation is straight forward: There is only one version of pyfda for all supported operating systems, no compilation is required:
+### pip
+You can 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.
+
+%prep
+%autosetup -n pyfda-0.7.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pyfda -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.7.1-1
+- Package Spec generated