Skip to content

Commit 94ea604

Browse files
authored
Merge pull request #3455 from ktbyers/develop
Netmiko Release 4.4.0
2 parents c506863 + bfc5141 commit 94ea604

File tree

132 files changed

+4520
-1955
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+4520
-1955
lines changed

.github/ISSUE_TEMPLATE

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
### Description of Issue/Question
2+
3+
*Note*: Please check https://guides.github.com/features/mastering-markdown/
4+
to see how to properly format your request.
5+
6+
### Setup
7+
8+
### Netmiko version
9+
(Paste verbatim output from `pip freeze | grep netmiko` between quotes below)
10+
11+
```
12+
13+
```
14+
15+
### Netmiko device_type (if relevant to the issue)
16+
(Paste `device_type` between quotes below)
17+
18+
```
19+
20+
```
21+
22+
### Steps to Reproduce the Issue
23+
24+
### Error Traceback
25+
(Paste the complete traceback of the exception between quotes below)
26+
27+
```
28+
29+
```
30+
31+
### Relevant Python code
32+
(Please try to essentialize your Python code to the minimum code needed to reproduce the issue)
33+
(Paste the code between the quotes below)
34+
35+
```python
36+
37+
```

.github/workflows/commit.yaml

Lines changed: 0 additions & 103 deletions
This file was deleted.
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
---
2+
name: Netmiko
3+
on: [push,pull_request]
4+
env:
5+
environment: gh_actions
6+
FORCE_COLOR: 1
7+
8+
jobs:
9+
linters:
10+
name: linters
11+
runs-on: ubuntu-24.04
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Setup python
16+
uses: actions/setup-python@v5
17+
with:
18+
python-version: '3.11'
19+
architecture: x64
20+
21+
- name: Install poetry
22+
run: |
23+
pipx install poetry
24+
25+
- name: Set up Python
26+
uses: actions/setup-python@v5
27+
with:
28+
python-version: '3.11'
29+
cache: 'poetry'
30+
31+
- name: Install dependencies
32+
run: |
33+
poetry install
34+
35+
- name: Run pylama
36+
run: |
37+
poetry run pylama .
38+
39+
- name: Run black
40+
run: |
41+
poetry run black --check .
42+
43+
- name: Run mypy
44+
run: |
45+
poetry run mypy --version
46+
poetry run mypy ./netmiko/
47+
48+
pytest:
49+
name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}})
50+
defaults:
51+
run:
52+
shell: bash
53+
strategy:
54+
matrix:
55+
python-version: [ '3.8', '3.9', '3.10', '3.11', "3.12", "3.13.0-beta.2" ]
56+
platform: [ubuntu-24.04, windows-2022]
57+
58+
runs-on: ${{ matrix.platform }}
59+
steps:
60+
- uses: actions/checkout@v4
61+
62+
- name: Setup python
63+
uses: actions/setup-python@v5
64+
with:
65+
python-version: ${{ matrix.python-version }}
66+
architecture: x64
67+
- uses: actions/checkout@v4
68+
69+
- name: Install poetry
70+
run: |
71+
pipx install poetry
72+
73+
- name: Set up Python ${{ matrix.python-version }}
74+
uses: actions/setup-python@v5
75+
with:
76+
python-version: ${{ matrix.python-version }}
77+
cache: 'poetry'
78+
79+
- name: Install dependencies
80+
run: |
81+
poetry install
82+
83+
- name: Run Tests
84+
run: |
85+
poetry run pytest -v -s tests/test_import_netmiko.py
86+
poetry run pytest -v -s tests/unit/test_base_connection.py
87+
poetry run pytest -v -s tests/unit/test_ssh_autodetect.py
88+
poetry run pytest -v -s tests/unit/test_connection.py
89+
poetry run pytest -v -s tests/unit/test_entry_points.py
90+
91+
# ARM/X86_64 issues on macos
92+
pytest-macos13:
93+
name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}})
94+
defaults:
95+
run:
96+
shell: bash
97+
strategy:
98+
matrix:
99+
python-version: [ '3.8', '3.9', '3.10', '3.11' ]
100+
platform: [macos-13]
101+
102+
runs-on: ${{ matrix.platform }}
103+
steps:
104+
- uses: actions/checkout@v4
105+
106+
- name: Setup python
107+
uses: actions/setup-python@v5
108+
with:
109+
python-version: ${{ matrix.python-version }}
110+
architecture: x64
111+
- uses: actions/checkout@v4
112+
113+
- name: Install poetry
114+
run: |
115+
pipx install poetry
116+
117+
- name: Set up Python ${{ matrix.python-version }}
118+
uses: actions/setup-python@v5
119+
with:
120+
python-version: ${{ matrix.python-version }}
121+
122+
- name: Install dependencies
123+
run: |
124+
poetry install
125+
126+
- name: Run Tests
127+
run: |
128+
poetry run pytest -v -s tests/test_import_netmiko.py
129+
poetry run pytest -v -s tests/unit/test_base_connection.py
130+
poetry run pytest -v -s tests/unit/test_ssh_autodetect.py
131+
poetry run pytest -v -s tests/unit/test_connection.py
132+
poetry run pytest -v -s tests/unit/test_entry_points.py
133+
134+
pytest-macos14:
135+
name: Std Test on Python ${{ matrix.python-version }} (${{ matrix.platform}})
136+
defaults:
137+
run:
138+
shell: bash
139+
strategy:
140+
matrix:
141+
python-version: [ "3.12", "3.13.0-beta.2" ]
142+
platform: [macos-14]
143+
144+
runs-on: ${{ matrix.platform }}
145+
steps:
146+
- uses: actions/checkout@v4
147+
148+
- name: Setup python
149+
uses: actions/setup-python@v5
150+
with:
151+
python-version: ${{ matrix.python-version }}
152+
architecture: x64
153+
- uses: actions/checkout@v4
154+
155+
- name: Install poetry
156+
run: |
157+
pipx install poetry
158+
159+
- name: Set up Python ${{ matrix.python-version }}
160+
uses: actions/setup-python@v5
161+
with:
162+
python-version: ${{ matrix.python-version }}
163+
164+
- name: Install dependencies
165+
run: |
166+
poetry install
167+
168+
- name: Run Tests
169+
run: |
170+
poetry run pytest -v -s tests/test_import_netmiko.py
171+
poetry run pytest -v -s tests/unit/test_base_connection.py
172+
poetry run pytest -v -s tests/unit/test_ssh_autodetect.py
173+
poetry run pytest -v -s tests/unit/test_connection.py
174+
poetry run pytest -v -s tests/unit/test_entry_points.py
175+
176+
pytest_parsers:
177+
name: Parsers Test on Python ${{ matrix.python-version }} (${{ matrix.platform}})
178+
defaults:
179+
run:
180+
shell: bash
181+
182+
# Only use latest Python version that will work with pyats/genie due to their
183+
# ongoing issues supporting newer Python versions.
184+
strategy:
185+
matrix:
186+
python-version: [ '3.11']
187+
platform: [ubuntu-24.04]
188+
189+
runs-on: ${{ matrix.platform }}
190+
steps:
191+
- uses: actions/checkout@v4
192+
193+
- name: Setup python
194+
uses: actions/setup-python@v5
195+
with:
196+
python-version: ${{ matrix.python-version }}
197+
architecture: x64
198+
- uses: actions/checkout@v4
199+
200+
- name: Install poetry
201+
run: |
202+
pipx install poetry
203+
204+
- name: Set up Python ${{ matrix.python-version }}
205+
uses: actions/setup-python@v5
206+
with:
207+
python-version: ${{ matrix.python-version }}
208+
cache: 'poetry'
209+
210+
- name: Install dependencies
211+
run: |
212+
poetry install --with parsers
213+
214+
- name: Run Tests
215+
run: |
216+
poetry run pytest -v -s tests/test_import_netmiko.py
217+
poetry run pytest -v -s tests/unit/test_utilities.py

EXAMPLES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ A set of common Netmiko use cases.
1010
## Table of contents
1111

1212
#### Available Device Types
13-
- [Available device types](#available-device-types)
13+
- [Available device types](#available-device-types-1)
1414

1515
#### Simple Examples
1616
- [Simple example](#simple-example)

0 commit comments

Comments
 (0)