Interactive setup wizard for NDS.Live development environment
Project description
ndslive-setup
Interactive setup wizard that configures your machine for working with NDS.Live. It handles Artifactory authentication, Docker registry access, Python package index configuration, and tool installation — so you can go from a fresh system to a working NDS.Live environment in minutes.
Installation
pip install ndslive-setup
Requires Python 3.10+.
If your system Python blocks pip install (common on Debian/Ubuntu and Homebrew), create a virtual environment first:
apt install python3-venv # Debian/Ubuntu only python3 -m venv ~/.nds/venv source ~/.nds/venv/bin/activate pip install ndslive-setupLearn more about virtual environments: https://docs.python.org/3/library/venv.html
Quick Start
ndslive-setup
This launches a terminal-based wizard that walks you through every step.
Wizard Flow
The wizard guides you through six steps:
1. Welcome & Edition Selection
Choose your NDS.Live edition:
- Community — NDS.Live open tooling
- Member — NDS.Live + NDS.Classic tooling (requires NDS Association membership)
The edition determines which Docker registry and package catalog are available to you.
2. Prerequisites
Automated checks verify that your system is ready:
- Python >= 3.10 with pip
- venv module available
- Docker installed and daemon running
- Network connectivity to Artifactory
Docker is optional — if it is not available the wizard skips Docker-related steps and continues with Python package setup only.
3. Artifactory Access
A single Artifactory identity token authenticates both Docker and Python package access. The wizard:
- Verifies your credentials against the NDS Artifactory
- Logs you into the Docker registry (
docker login) - Writes an authenticated
pip.confwith the NDS package index
If existing configuration is detected you can keep it or re-enter credentials to reconfigure.
Note: The wizard requires an Artifactory identity token, not your SSO password. You can generate one under your Artifactory profile at
artifactory.nds-association.org.
4. Python Environment
Optionally create a dedicated virtual environment for NDS tools. This keeps NDS
packages isolated from your system Python. The default location is
~/.nds/venv but you can choose any path.
5. Install Tools
Select which NDS.Live tools to install:
- Python packages — installed via pip (into the venv if you created one)
- Docker images — pulled from the Artifactory Docker registry
Already-cached Docker images are detected and shown so you can skip re-downloading them.
6. Summary
A recap of everything that was configured, plus next steps like activating your virtual environment and running your first tool.
CLI Commands
Beyond the wizard, ndslive-setup provides utility commands for day-to-day use:
ndslive-setup doctor # Run diagnostics on your current setup
ndslive-setup status # Show configuration at a glance
ndslive-setup reset # Remove wizard state (keeps pip.conf and Docker auth)
ndslive-setup reset --all # Remove all NDS.Live configuration
Doctor
Re-runs all prerequisite checks and inspects your Docker and pip configuration. Useful after system changes or when something stops working.
Status
Quick table showing your current edition, Docker registry login state, and Python index configuration.
What Gets Configured
| Component | Location | Purpose |
|---|---|---|
| Wizard state | ~/.nds/setup.json |
Remembers edition and username |
| pip config | ~/.config/pip/pip.conf |
Authenticated NDS package index as primary, PyPI as fallback |
| Docker auth | ~/.docker/config.json |
Registry credentials (managed by Docker itself) |
| Virtual env | ~/.nds/venv (default) |
Isolated Python environment for NDS tools |
Requirements
- Python >= 3.10
- Docker (optional, for container-based tools)
- Network access to
artifactory.nds-association.org
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ndslive_setup-0.1.0rc1.post7.tar.gz.
File metadata
- Download URL: ndslive_setup-0.1.0rc1.post7.tar.gz
- Upload date:
- Size: 42.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
185211b000fc24ba3adccca3d4cb076e376a0eebc5192a5bc73b2ee47b2abce4
|
|
| MD5 |
febcae1f3d6610d666cbc50ce519793a
|
|
| BLAKE2b-256 |
a366218242e4eea3595097f289580506844e931631003fa442cec47aad5c0b95
|
Provenance
The following attestation bundles were made for ndslive_setup-0.1.0rc1.post7.tar.gz:
Publisher:
publish.yml on ndsev/ndslive-setup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ndslive_setup-0.1.0rc1.post7.tar.gz -
Subject digest:
185211b000fc24ba3adccca3d4cb076e376a0eebc5192a5bc73b2ee47b2abce4 - Sigstore transparency entry: 1181178589
- Sigstore integration time:
-
Permalink:
ndsev/ndslive-setup@9ffcf36e3c99228ad6a52823e0991fb06a105cfd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ndsev
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9ffcf36e3c99228ad6a52823e0991fb06a105cfd -
Trigger Event:
push
-
Statement type:
File details
Details for the file ndslive_setup-0.1.0rc1.post7-py3-none-any.whl.
File metadata
- Download URL: ndslive_setup-0.1.0rc1.post7-py3-none-any.whl
- Upload date:
- Size: 30.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21be9f588ee3dfb4824c4266b0832d1244605d0a14f81d5cd3b885614b50fa8f
|
|
| MD5 |
ebdb4ba2a3275e7dd3142536d843a2a6
|
|
| BLAKE2b-256 |
ef232999a9011e23594f91433e06a0cd4ef6551488a9445cb729198c653d6b98
|
Provenance
The following attestation bundles were made for ndslive_setup-0.1.0rc1.post7-py3-none-any.whl:
Publisher:
publish.yml on ndsev/ndslive-setup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ndslive_setup-0.1.0rc1.post7-py3-none-any.whl -
Subject digest:
21be9f588ee3dfb4824c4266b0832d1244605d0a14f81d5cd3b885614b50fa8f - Sigstore transparency entry: 1181178593
- Sigstore integration time:
-
Permalink:
ndsev/ndslive-setup@9ffcf36e3c99228ad6a52823e0991fb06a105cfd -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ndsev
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9ffcf36e3c99228ad6a52823e0991fb06a105cfd -
Trigger Event:
push
-
Statement type: