Python Programming

Class

Python has object-oriented programming features. In this context, IPKISS uses classes to keep related things together. In IPKISS, a PCell is implemented as a Python class.

CSV

A textual file format, stands for “comma separated values”. Can be loaded with Numpy, or loaded with MS Excel.

Inheritance

Inheritance is used in object-oriented to indicate that a object of a certain class is a specialisation of its parent-class.

Base Class

A Class that is not meant to be used directly, but rather as something to build your own class upon. The Base Class will provide some common functionality and define the blueprint to build upon.

List Comprehension

List Comprehensions in Python provide a concise way to create lists. Example: [2 * x for x in range(10)].

Matplotlib

A Python toolbox for plotting. www.matplotlib.org

Python

A programming language which is easy to learn, and allows to create both simple and complex programs. IPKISS is largely written in Python. Python is a scripting language, which means the Python Interpreter runs a script file (with the .py file extension). It offers similar functionality as Matlab.

Python Community

The name of the group of people that work together on the Python programming language and its large number of modules

Python Interpreter

The location of the Python executable which is used to ‘read’ / ‘interprete’ your scripts. You can have multiple versions of Python installed on your computer. When you install Luceda, a new Python Interpreter is added on your computer. The default installation location on Windows is C:\luceda\luceda_2024120\envs\ipkiss3, where 2024120 is the ipkiss version number. On Linux, the environment is by default installed under your local anaconda environment. For example ~/miniconda/envs/ipkiss3.

Python Module

A group of related functionalities implemented in the Python programming language. Software developers and scientists can use modules to share their work with others. Many modules exist, one example is the numpy module which provides linear algebra functionality. Another example is the scipy which provides general purpose functionality for mathematics, science and engineering.

PYTHONPATH

An environment variable used by python to discover python modules and packages. When you create your own package ( can be a PDK ), you’ll have to make sure that it’s added to the PYTHONPATH before it can be used.

on windows you can set the PYTHONPATH from a command prompt with the following command:

setx PYTHONPATH=C:\my\custom\module;%PYTHONPATH%

on linux you can add the following line to your .bashrc file:

export PYTHONPATH=/my/custom/module:$PYTHONPATH
Unit Tests

Some code that verifies (tests) that a unit of functionality works as expected. Using unit tests is a great way to manage and improve the quality of your modules.

Numpy

Popular Python Mmodule for scientific computing and in particular for array manipulations.