Getting Started
Five paths, pick one. Each routes you to a passing test, a running server, or both — without reading every page first.
Pick a path
Answer one question: what runs your tests today?
- Pytest, against a Remote Lab Manager you can already reach → Run your first test. Ten minutes, three lines of test code.
- You’re a Neops dev using the Worker SDK → Plug into Worker SDK. Two-step setup, then the Worker SDK testing guide takes over.
- Pytest, but you don’t have a server to point at → Run locally, then return to Run your first test from step 3.
- Anything else — Go, Robot Framework, shell, your own harness → Drive from cURL. Six cURL calls end-to-end; no Python required.
- You’re wiring this into CI → Wire into CI. Env vars, runner pipeline tabs, queue tuning.
- You operate the lab host (not just consume it) → skip Get started. Begin at Netlab host setup.
In this section
-
Install
neops-remote-lab, setREMOTE_LAB_URL, write a minimal topology, declare aremote_lab_fixture, run pytest. Ten minutes, three lines of test code. -
For Neops dev teams using the Worker SDK. Two-step setup, then the Worker SDK testing guide takes over with function-block-test patterns.
-
Don’t have a remote VM yet? Install Netlab + Containerlab rootless on Ubuntu and run the server on
localhost:8000. Point your tests at it; resume the test guide. -
Drive the lab end-to-end with cURL — six calls, any HTTP-capable stack. The pytest fixture and Python client wrap exactly this lifecycle.
-
Wire the lab into GitHub Actions, GitLab CI, or Jenkins — env-var setup, runner pipeline tabs, VPN connectivity, queue-tuning pointers.
What to read next
- Pytest Fixtures — the stable public API in full: factory arguments, the
remote_lab_clientsession fixture, the one-fixture-per-test rule. - Architecture — how the server,
LabManager, and client cooperate; useful before you start debugging queue or lifecycle behaviour. - Topology Format — the
.yml/.yamlextension rule and theextra_filesmultipart contract. - Cookbook — runnable examples for pytest, Python, cURL, topologies, and deployment.
If you are standing up a production Remote Lab Manager host (not just a local dev server), start instead with Netlab host setup and Headscale: quick (the recommended network enclosure — that page also covers alternatives).