# 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 * SiEPIC EBeam PDK: https://github.com/lukasc-ubc/SiEPIC_EBeam_PDK ("master" branch) * SiEPIC Tools: https://github.com/lukasc-ubc/SiEPIC-Tools ("master" branch) ## v0.1.x KLayout 0.24 and older with manual end-user installation, legacy SiEPIC-EBeam-PDK with tools included * SiEPIC EBeam PDK (master for now): https://github.com/lukasc-ubc/SiEPIC_EBeam_PDKtree/v0.2.0 # 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