|
7 | 7 |  |
8 | 8 |  |
9 | 9 |
|
10 | | -NetConfigPulse is an open source engine for backing up network device configurations over SSH. It connects to routers and switches, runs vendor-specific commands, saves the output to disk, and generates diffs against previous backups. Maintained by 21Vianet. |
| 10 | +NetConfigPulse is an open source Python package and CLI for network device configuration backup. It connects to routers and switches over SSH, runs vendor-specific collection commands, saves versioned backup files, and generates diffs against previous runs. Maintained by 21Vianet. |
11 | 11 |
|
12 | 12 | ## Quick Start |
13 | 13 |
|
14 | | -Install from the source checkout when developing or running the bundled example |
15 | | -configuration: |
| 14 | +Install the released package from PyPI: |
16 | 15 |
|
17 | 16 | ```bash |
18 | | -pip install -e .[dev] |
19 | | -python -m netconfigpulse validate \ |
| 17 | +pip install NetConfigPulse |
| 18 | +netconfigpulse --help |
| 19 | +``` |
| 20 | + |
| 21 | +Use the CLI with your own YAML files, or clone the repository and start from the |
| 22 | +sample configuration: |
| 23 | + |
| 24 | +```bash |
| 25 | +netconfigpulse validate \ |
20 | 26 | --inventory config/devices.example.yaml \ |
21 | 27 | --commands config/commands.default.yaml \ |
22 | 28 | --credentials config/credentials.example.yaml \ |
23 | 29 | --config config/runtime.example.yaml |
24 | | -pytest tests -q |
25 | 30 | ``` |
26 | 31 |
|
27 | | -This validates the example configuration and runs the test suite. Use `backup` |
28 | | -only after replacing the example devices and credentials with real values. |
| 32 | +This validates the example configuration without connecting to any device. Use |
| 33 | +`backup` only after replacing the example devices and credentials with real |
| 34 | +values. |
29 | 35 |
|
30 | 36 | ## Installation |
31 | 37 |
|
32 | | -From PyPI after the first stable release: |
| 38 | +From PyPI: |
33 | 39 |
|
34 | 40 | ```bash |
35 | 41 | pip install NetConfigPulse |
36 | 42 | netconfigpulse --help |
37 | 43 | ``` |
38 | 44 |
|
39 | | -From TestPyPI while testing a pre-release package: |
40 | | - |
41 | | -```bash |
42 | | -pip install \ |
43 | | - --index-url https://test.pypi.org/simple/ \ |
44 | | - --extra-index-url https://pypi.org/simple/ \ |
45 | | - NetConfigPulse |
46 | | -netconfigpulse --help |
47 | | -``` |
48 | | - |
49 | | -`--extra-index-url` lets pip download third-party dependencies such as |
50 | | -`netmiko` and `PyYAML` from the official PyPI index, because TestPyPI is only a |
51 | | -test package index and may not host those dependencies. |
52 | | - |
53 | | -The package install provides the CLI and Python library. To run the example |
54 | | -configuration files from this repository, clone the repository or copy the |
55 | | -`config/` directory, then run: |
| 45 | +The PyPI package includes both the `netconfigpulse` console command and the |
| 46 | +Python library API. To run the example configuration files from this repository, |
| 47 | +clone the repository or copy the `config/` directory, then run: |
56 | 48 |
|
57 | 49 | ```bash |
58 | 50 | netconfigpulse validate \ |
|
0 commit comments