Installation
SlipSurface IQ is one pure Python package that holds every program of the suite. It is installed straight from its GitHub repository, hdaltuntas/slipsurface; all you need is Python 3.10 or later and Git.
One command
pip install git+https://github.com/hdaltuntas/slipsurfaceRunning slipsurface with no arguments starts one local server and opens every program in your browser, behind a single interface with search (Ctrl/⌘ K), a dark theme and English / Turkish:
slipsurfaceSlipSurface IQ 0.3.1 — http://127.0.0.1:8770/Each program also keeps its own command line, reachable two ways:
slipsurface bearing run project.bearing # through the suite
slipsurface-bearing run project.bearing # the program's own command, as before
slipsurface list # every program and its key| Program | Key | In the suite | On its own |
|---|---|---|---|
| SlipSurface IQ LE | le | /le/ | slipsurface-le serve --open (port 8000) |
| SlipSurface IQ 2D | 2d | /2d/ | slipsurface-2d gui (port 8777) |
| SlipSurface IQ Kinematic | kinematic | /kinematic/ | slipsurface-kinematic (port 8778) |
| SlipSurface IQ Rock | rock | /rock/ | slipsurface-rock (port 8784) |
| SlipSurface IQ Bearing | bearing | /bearing/ | slipsurface-bearing (port 8781) |
| SlipSurface IQ Settle | settle | /settle/ | slipsurface-settle (port 8780) |
| SlipSurface IQ Pile | pile | /pile/ | slipsurface-pile (port 8783) |
| SlipSurface IQ SPWA | spwa | /spwa/ | slipsurface-spwa (port 8779) |
| SlipSurface IQ MSEW | msew | /msew/ | slipsurface-msew (port 8782) |
| SlipSurface IQ Wall | wall | /wall/ | slipsurface-wall (port 8785) |
Dependencies
NumPy, SciPy, Matplotlib and ReportLab are installed with the package. The rest are extras, named in square brackets:
| Extra | Brings | For |
|---|---|---|
docx | python-docx | Word reports |
xlsx | openpyxl | Excel export of a study |
dxf | ezdxf | binary DXF, splines and blocks in the 2D import |
fast | threadpoolctl | caps BLAS threads in SPWA studies |
all | every one of the above |
pip install "slipsurface[all] @ git+https://github.com/hdaltuntas/slipsurface"The interface offers only the formats that are installed; without python-docx the Word option is not shown.
From a clone, without installing
The repository ships a main.py that runs from a fresh clone with nothing installed beyond the scientific stack:
git clone https://github.com/hdaltuntas/slipsurface
cd slipsurface
pip install numpy scipy matplotlib reportlab
python main.py # the interface
python main.py bearing run project.bearing # every command-line command works toomain.py puts its own directory first on the import path, so the clone's code is what runs even when the package is also installed.
A virtual environment (recommended)
Arch, Debian and Fedora refuse a system-wide pip install outright (PEP 668). Use a virtual environment:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install git+https://github.com/hdaltuntas/slipsurfaceTo use your distribution's NumPy: python -m venv --system-site-packages .venv.
On a server
HOST and PORT in the environment set the address the way hosting services expect (Render, Railway, Fly and the like set PORT); a server started that way listens on every interface and opens no browser. The programs keep one working state per server, so a shared deployment is best kept to one user at a time.
For development
git clone https://github.com/hdaltuntas/slipsurface
cd slipsurface
pip install -e ".[dev]"
pytest -q
ruff check .The test suites exercise the engines, the reports (in all three formats) and each interface's HTTP layer, both on its own and mounted in the suite's server — the browser is tested without a browser.