Skip to content

Contributing

Lukas Chrostowski edited this page Jan 26, 2018 · 1 revision

SiEPIC-Tools – Contributing to this project

We welcome contributions from the community. The following describes how to install the SiEPIC-Tools such that they are both accessible from KLayout as well as to GitHub for Pull (getting the latest version) and Push (contributing).

Overview of various repositories:

"master" branch and releases "v0.3.x"

KLayout 0.25 with end-user installation using Packages, major restructuring of the scripts including separated Tools & PDKs

v0.1.x

KLayout 0.24 and older with manual end-user installation, legacy SiEPIC-EBeam-PDK with tools included

GitHub for v0.3.x:

Rather than installing using Packages (which makes it read-only), download the files using GitHub Desktop, and create symbolic links to the appropriate folders:

  • Install GitHub desktop; log-in with your user account; Clone repository SiEPIC-Tools & SiEPIC-EBeam-PDK
  • Select the branch for EBeam: master, and for Tools: master.
  • Identify the folders for: a) the GitHub files (source) and b) KLayout config folder (destination).
  • Create symbolic links.
    • You can use a script to do this: Documentation/Developers/symbolic_links_from_GitHub_to_KLayout.sh, or:
    • On Windows, run "command" (right-click, as administrator): "mklink /d destination source", example:
      • mklink /d C:\Users%username%\KLayout\pymacros\SiEPIC-Tools C:\Users%username%\Documents\GitHub\SiEPIC-Tools\klayout_dot_config\pymacros\
      • mklink /d C:\Users%username%\KLayout\icons C:\Users%username%\Documents\GitHub\SiEPIC-Tools\klayout_dot_config\icons
      • mklink /d C:\Users%username%\KLayout\python\SiEPIC C:\Users%username%\Documents\GitHub\SiEPIC-Tools\klayout_dot_config\python\SiEPIC
      • mklink /d C:\Users%username%\KLayout\python\svgwrite C:\users%username%\Documents\GitHub\SiEPIC-Tools\klayout_dot_config\python\svgwrite
      • mklink /d C:\Users%username%\KLayout\tech\EBeam C:\Users%username%\Documents\GitHub\SiEPIC_EBeam_PDK\klayout_dot_config\tech\EBeam
      • mklink /d C:\Users%username%\KLayout\tech\GSiP C:\Users\lukasc2\Documents\GitHub\SiEPIC_EBeam_PDK\klayout_dot_config\tech\GSiP
      • mklink /d C:\Users%username%\KLayout\python\requests C:\Users%username%\Documents\GitHub\SiEPIC-Tools\Windows_Python_packages_for_KLayout\python\requests
      • mklink /d C:\Users%username%\KLayout\python\certifi C:\Users%username%\Documents\GitHub\SiEPIC-Tools\Windows_Python_packages_for_KLayout\python\certifi
      • mklink /d C:\Users%username%\KLayout\python\chardet C:\Users%username%\Documents\GitHub\SiEPIC-Tools\Windows_Python_packages_for_KLayout\python\chardet
      • mklink /d C:\Users%username%\KLayout\python\idna C:\Users%username%\Documents\GitHub\SiEPIC-Tools\Windows_Python_packages_for_KLayout\python\idna
      • mklink /d C:\Users%username%\KLayout\python\numpy C:\Users%username%\Documents\GitHub\SiEPIC-Tools\Windows_Python_packages_for_KLayout\python\numpy
      • mklink /d C:\Users%username%\KLayout\python\urllib3 C:\Users%username%\Documents\GitHub\SiEPIC-Tools\Windows_Python_packages_for_KLayout\python\urllib3
    • On Linux or OSX, in terminal, use: "ln -s", example:
      • ln -s $HOME/Documents/GitHub/SiEPIC_EBeam_PDK/klayout_dot_config/tech/EBeam $HOME/.klayout/tech/EBeam