Skip to content

Commit 8960bff

Browse files
committed
Trim README to basic setup and move detailed guidance to docs - 2026-02-22 15:30:22
1 parent 69e66f2 commit 8960bff

1 file changed

Lines changed: 32 additions & 193 deletions

File tree

README.md

Lines changed: 32 additions & 193 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,39 @@
11
# Postman PyPNMApps API Collections
22

3-
This repository contains Postman collections, environment, and globals for PyPNM API workflows.
3+
This repository contains Postman collections, environment/globals files, and example visualizers for PyPNM API workflows.
44

5-
Repository version source of truth:
5+
## What This Repo Provides
66

7-
- `VERSION` (must stay in sync with `pyproject.toml`)
8-
9-
The main collection (`PyPNM`) includes requests for:
10-
11-
- Single-capture PNM workflows
12-
- Multi-capture start/status/results/stop/analysis flows
13-
- File manager endpoints
14-
- Interface and DOCSIS endpoints
15-
- System and health endpoints
7+
- `postman/collections/PyPNM.postman_collection.json` (primary collection)
8+
- `postman/collections/PyPNM-CMTS.postman_collection.json` (placeholder shell)
9+
- `postman/environments/PyPNM Remote Server.postman_environment.json`
10+
- `postman/globals/workspace.postman_globals.json`
11+
- `visual/` example Postman Visualizer templates + sample data
1612

17-
Current collection snapshot:
13+
## Basic Setup
1814

19-
- `PyPNM`: 60 requests across 21 folders (`POST`, `GET`, `DELETE` workflows)
20-
- `PyPNM-CMTS`: placeholder collection shell (currently no requests)
15+
1. Install Postman Desktop: `https://www.postman.com/downloads/`
16+
2. Clone this repository:
2117

22-
## Documentation
18+
```bash
19+
git clone https://github.com/PyPNMApps/Postman-PyPNMApps-API.git
20+
cd Postman-PyPNMApps-API
21+
```
2322

24-
User and tooling documentation is available in `docs/`:
23+
3. In Postman, import:
24+
- `postman/collections/PyPNM.postman_collection.json`
25+
- `postman/collections/PyPNM-CMTS.postman_collection.json`
26+
- `postman/environments/PyPNM Remote Server.postman_environment.json`
27+
- `postman/globals/workspace.postman_globals.json`
2528

26-
- `docs/README.md`
27-
- `docs/user-guide.md`
28-
- `docs/tools.md`
29-
- `docs/release.md`
29+
4. Set `pypnm_url` in Postman Globals (example: `http://127.0.0.1:8000`)
3030

31-
## Local Tools (Sanitize / Version / Release)
31+
Important:
32+
- Collection requests use `{{pypnm_url}}` (global), while the provided environment includes `base_url`.
3233

33-
This repository keeps local tooling under `tools/` to keep the project root lean.
34+
## Local Tooling (Repo Maintenance)
3435

35-
Create a local virtual environment and install tool dependencies:
36+
This repo uses local Python tooling in `tools/` for sanitization, versioning, and release workflows.
3637

3738
```bash
3839
./install.sh
@@ -49,176 +50,14 @@ Common commands:
4950
./tools/git/git-push.sh --help
5051
```
5152

52-
## 1. Download and Install Postman
53-
54-
1. Go to https://www.postman.com/downloads/
55-
2. Download the Postman Desktop App for your OS.
56-
3. Install and open Postman.
57-
58-
## 2. Install Git (Windows and Linux)
59-
60-
### Windows (Git Bash / Git for Windows)
61-
62-
1. Go to https://git-scm.com/download/win
63-
2. Download and install **Git for Windows**
64-
3. Open **Git Bash** after installation
65-
4. Verify installation:
66-
67-
```bash
68-
git --version
69-
```
70-
71-
### Windows (GitHub Desktop, optional)
72-
73-
If you prefer a desktop Git client:
74-
75-
1. Go to https://desktop.github.com/
76-
2. Download and install **GitHub Desktop**
77-
3. Sign in to GitHub (optional, but recommended)
78-
4. You can clone this repository using the desktop app (steps below)
79-
80-
### Linux
81-
82-
Install Git using your distro package manager, then verify:
83-
84-
Ubuntu / Debian:
85-
86-
```bash
87-
sudo apt update
88-
sudo apt install -y git
89-
git --version
90-
```
91-
92-
Fedora:
93-
94-
```bash
95-
sudo dnf install -y git
96-
git --version
97-
```
98-
99-
RHEL / CentOS (older systems may use `yum`):
100-
101-
```bash
102-
sudo yum install -y git
103-
git --version
104-
```
105-
106-
## 3. Clone This Repository
107-
108-
### Option A: Git Bash / Linux terminal (recommended)
109-
110-
```bash
111-
git clone https://github.com/PyPNMApps/Postman-PyPNMApps-API.git
112-
cd Postman-PyPNMApps-API
113-
```
114-
115-
### Option B: GitHub Desktop
116-
117-
1. Open GitHub Desktop
118-
2. Select `File` -> `Clone repository...`
119-
3. Choose the repository URL:
120-
121-
```text
122-
https://github.com/PyPNMApps/Postman-PyPNMApps-API.git
123-
```
124-
125-
4. Choose a local folder
126-
5. Click `Clone`
127-
128-
## 4. Import Files into Postman
129-
130-
In Postman:
131-
132-
1. Click `Import`.
133-
2. Choose `Files` (or drag and drop).
134-
3. Import the following files:
135-
136-
- `postman/collections/PyPNM.postman_collection.json`
137-
- `postman/collections/PyPNM-CMTS.postman_collection.json`
138-
- `postman/environments/PyPNM Remote Server.postman_environment.json`
139-
- `postman/globals/workspace.postman_globals.json`
140-
141-
## 5. Select Environment and Set Base URL
142-
143-
1. Select `PyPNM Remote Server` in the environment dropdown.
144-
2. Update `base_url` in that environment to your PyPNM server (if needed).
145-
146-
Example:
147-
148-
```text
149-
http://127.0.0.1:8000
150-
```
151-
152-
Important:
153-
154-
- The collection requests currently use `{{pypnm_url}}` (a global variable), not `{{base_url}}`.
155-
- You must set `pypnm_url` in Globals (recommended) or update the collection to use `base_url`.
156-
157-
## 6. Configure Required Global Variables
158-
159-
Open Postman `Globals` and populate the values used by requests.
160-
161-
Minimum values for most requests:
162-
163-
- `pypnm_url` (example: `http://127.0.0.1:8000`)
164-
- `cm_ip_address`
165-
- `cm_mac_address`
166-
- `cm_snmp_community_rw` (or `snmp_v2_community_rw`, depending on request)
167-
168-
Values commonly required for capture/file workflows:
169-
170-
- `tftp_server_ipv4`
171-
- `tftp_server_ipv6`
172-
- `channel_ids`
173-
- `measurement_duration`
174-
- `multi_measurement_duration`
175-
- `op_id` (for status/results/stop requests)
176-
- `transaction_id`
177-
- `filename`
178-
- `operation_id`
179-
- `mac_address`
180-
- `analysis_min_avg_max`
181-
182-
## 7. Import Validation Checklist (Recommended)
183-
184-
After import, verify:
185-
186-
1. The `PyPNM` collection appears in Collections.
187-
2. The `PyPNM Remote Server` environment appears in Environments.
188-
3. Globals include variables such as `pypnm_url`, `cm_ip_address`, and `cm_mac_address`.
189-
190-
## 8. Run a First Request
191-
192-
For a simple connectivity test:
193-
194-
1. Open `PyPNM` collection.
195-
2. Open `Health` -> `Health`.
196-
3. Ensure `pypnm_url` is set.
197-
4. Click `Send`.
198-
199-
Then try a capture request:
200-
201-
1. Open `SingleCapture`.
202-
2. Choose a request such as `Ofdm-RxMER-GetCapture`.
203-
3. Fill required globals (`cm_*`, `tftp_*`, etc.).
204-
4. Click `Send`.
205-
206-
## 9. FullBandCapture Visualizer (Postman)
207-
208-
The `SingleCapture -> SpectrumAnalyzer -> File-Upload -> GetCapture-FullBandCapture` request includes a Postman
209-
Visualizer script that renders:
210-
211-
- Device details (vendor/model/revisions)
212-
- Spectrum chart (raw magnitudes and moving average)
53+
Version source of truth:
54+
- `VERSION` (must stay in sync with `pyproject.toml`)
21355

214-
If the response schema differs or the request fails, the visualizer may not render. Validate the response body first
215-
before troubleshooting the chart.
56+
## Documentation
21657

217-
## Repository Notes
58+
Detailed instructions were moved to `docs/`:
21859

219-
- `postman/collections/PyPNM.postman_collection.json` is the primary collection.
220-
- `postman/collections/PyPNM-CMTS.postman_collection.json` currently imports as an empty collection shell (no requests yet).
221-
- `postman/globals/workspace.postman_globals.json` contains shared placeholders used across requests.
222-
- `postman/scripts/update_operation_ids.py` is a helper script for collection edits (not required for normal Postman import/use).
223-
- Visual example sanitization is handled by `tools/sanitize.py` for both `visual/**/*.json` and `visual/**/*.html`.
224-
- Version synchronization is handled by `tools/support/bump_version.py` (`VERSION` + `pyproject.toml`).
60+
- `docs/README.md` (docs index)
61+
- `docs/user-guide.md` (full Postman import/use walkthrough)
62+
- `docs/tools.md` (sanitize/version/release/git helpers)
63+
- `docs/release.md` (release process and versioning)

0 commit comments

Comments
 (0)