Installation

Julia dependances

CircuitS was built and tested with, at the time, latest Julia release 1.7.1, which can be obtained at Julia’s official website.

CircuitS uses JuliaSymbolics as a lone, third-party module. Symbolics.jl is a fast and modern Computer Algebra System (CAS), with a goal to have a high-performance and parallelized symbolic algebra system that is directly extendable in the same language as the users.

To install Symbolics.jl, use the Julia package manager:

julia> import Pkg
julia> Pkg.add("Symbolics")
julia> Pkg.add("SymbolicUtils")
Long installation

Installation process may take a long time to finish, as the library itself has a long list of other dependencies to install.

If any errors occur during this process, we recommend checking the Symbolics.jl Github page

Testing

To confirm that everything was installed successfully, inside julia interpreter try importing the library, and defining a few symbols:

julia> using Symbolics
julia> @variables a b c

GUI Extension

CircuitS offers a GUI extension for its circuit solver, which provides a simple, user-friendly interface for creating and modifying electric circuits.

GUI Extension is written in Python 3.6 using the standard built-in module for Graphic design – Tkinter, and two external modules - pillow for image processing and - julia for communicating with julia interpreter. Apart from Python itself, which can be downloaded on Python’s official website, these two modules can be installed using python package installer pip:

pip install pillow julia

After the installation process, a one-time configuration for Julia communication is required. This can be done by opening a python interpreter and running:

import julia
julia.install()

To confirm everything was installed successfully, we can try evaluating Julia code inside the python interpreter:

from julia import Main
Main.eval("2+2")