Object Oriented Nonlinear RF/Microwave Engineering
Project description
scikit-nrf-core
Build Flow
Building and Deploying Python code with native shared libraries a continuously involving ordeal, hence I have provided the equivalent CMake/Makefile command in comments to be relatable to C++. Internally Cmake and Make are invoked. The build-flow currently uses setuptools, which is deprecated in Python 3.12.
Install Dependencies
See requirements.txt
Environment Variables
Variable | Default Value | Description |
---|---|---|
LLVM_INSTALL_DIR | ${HOME}/libclang | libclang directory |
SKNRF_DIR | import site ; site.getsitepackages()[0] | Python sknrf-core Module Directory |
CONDA_PREFIX | /usr/local | C++ Sysroot |
VISA_LIB | @py | Visa Library Location |
Release Build
python3 setup.py clean # sudo make clean
python3 setup.py config ` # cmake ..
python3 setup.py build # make
python3 setup.py install # sudo make install
python3 setup.py install
will take a while to execute because it builds the python documentation. As an alternative python3 setup.py develop
creates the same outcome by symbolicly linking the src directory sknrf
to a file in the site-packages
folder. NOTE: This is a PYTHON-SPECIFIC
symbolic link that works cross-platform for PYTHON ONLY. You still need to install
all other files as follows!
python3 setup.py clean # sudo make clean
python3 setup.py config ` # cmake ..
python3 setup.py build # make
python3 setup.py install_clib # sudo make install
python3 setup.py install_data # sudo make install
python3 setup.py develop # All changes in the source directory are now installed instantly
python3 setup.py install_doc # sudo make install
Example
python3 ${SKNRF_DIR}/sknrf/main.py
Tests
cd ${SKNRF_DIR}/sknrf ; nosetests --config=nose.cfg
Runtime Configuration
${SKNRF_DIR}/sknrf/sknrf.yml
contains runtime configuration settings. Beware of Environment Variables set in this file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.