Engineers are increasingly using Python for design automation.
Integrated photonics designers should evaluate the strengths of a programming language before selecting one for design automation. They must consider scalability, ease of development, popularity in an ecosystem, which affects the variety of third party resources and libraries available. Python offers all these attributes and has the added benefit of being free and open source.
Anyone can download Python and quickly begin developing and distributing Python code. The Python open source community offers an extensive collection of libraries. Engineers that don’t have extensive coding experience can quickly learn Python, thanks to its minimal syntax and human readability. New college graduates entering the workforce are more likely to be familiar with Python code than C++ or C#. According to indeed.com, job postings requiring Python experience numbered an estimated 46,000 in 2018, as compared to C++ and C# with 31,000 and 27,000, respectively.
Computations Made Easy
Despite its apparent simplicity, Python is extremely powerful.
Python comes with several very powerful numerical calculation, analysis and visualization tools such as Numpy, Scipy, Pandas and matplotlib, necessary for more advanced automation and to store and interpret results.
NumPy adds support for specific scientific computing tools, including multi-dimensional array objects. The SciPy library contains efficient numerical routines,
including those for numerical integration and optimization.
Libraries and packages are some of the most powerful tools for getting the most from Python development.
Python is open source, free, giving engineers access to a wide range of computations and algorithms out of the box.
IPKISS is Python based -but not open source.
It combines the best of both worlds: It is based on the popular Anaconda distribution, and creates a top-notch bundle including all commercial IPKISS photonics design software,
plus numerical libraries and visualization tools that make photonic teams productive.
Professional design teams need to integrate a complete design flow. They need to combine best in class tools for layout, circuit and physical simulation, DRC, measurement and test software.
They need to choose wisely since not every Python-based or even open source software has been developed under the proper license so that they can truly build a commercially useful reliable and scalable solution.