Welcome to Python 3!
Many of you have been waiting for this news, asked about it, dreamt about it. Now it is finally here: the IPKISS Photonics Design Platform, your favorite tool to design photonic integrated circuits, is now available in Python 3!
With Python 2 having reached end-of-life, migrating the IPKISS codebase to Python 3 means that we can take advantage of modern Python 3 features. IPKISS designers will be able to combine IPKISS more easily with their other favorite Python 3 packages, and benefit from a robust and reliable tool that is ready for the future.
While migrating to Python 3, we dedicated a considerable amount of time cleaning up our codebase and improving the code quality (with several bug fixes along the way!). This will have a significant impact on how fast we can develop new features in the future. Stay tuned for performance improvements and new layout features that make placement and routing of your PICs easier and more efficient. And, of course, new advancements in circuit simulation and modelling.
The IPKISS 3.9 release includes both Python 2 and Python 3 versions. This will allow you to smoothly migrate your code to Python 3, while still being able to finish up any Python 2 design you have been working on. Are you working with one of the many foundry PDKs accessible through Luceda? No worries, all the IPKISS PDKs have been updated to be compatible with both Python 2 and Python 3 versions of the IPKISS 3.9 software.
To get started quickly, head over to your Luceda customer portal, download IPKISS 3.9 and follow our py2-to-py3 migration guide. Luceda Academy and the SiFab PDK are fully compatible with both Python 2 and Python 3 versions of the IPKISS 3.9 software, so you can of course keep training using your favorite PIC design learning material.
Start planning your migration! From the next IPKISS release (IPKISS 3.10), all new releases and PDKs (and therefore, all the upcoming new IPKISS features) will only be available in Python 3!
Frequently Asked Questions (FAQs)
Why did we upgrade now to Python 3?
As Luceda we care about continuity, stability and backward compatibility. Hence, each update of our software is carefully considered. This release is no different: we did not change the IPKISS API and have done all possible effort to avoid unwanted changes in your designs. We used our own product IP Manager to track possible changes during the migration (you can do this too!). As always, we document backward incompatibilities, and how to fix them, in our py2-to-py3 migration guide.
What does this release mean for me?
By using the latest version of IPKISS in Python 3, you use a supported version of Python, including many recent versions of popular Python packages, such as numpy, scipy, matplotlib, etc. Starting from the next IPKISS release, new features will only be developed in Python 3.
How can I upgrade to Python 3?
Upgrading is relatively simple, as our IPKISS API has not changed. Modifications to your code will be needed only to make it compatible with Python 3 syntax. We have a py2-to-py3 migration guide that takes you through the steps needed to upgrade. Having any issues with your migration? Don't hesitate to reach out to our support channel and we'll help you migrate successfully.