Skip to content

Commit d95eaa7

Browse files
authored
Merge pull request #20299 from netbox-community/19095-support-new-pythons
Closes #19095: Introduce support for Python 3.13 & 3.14
2 parents e221f1f + 5506901 commit d95eaa7

File tree

7 files changed

+15
-10
lines changed

7 files changed

+15
-10
lines changed

.github/ISSUE_TEMPLATE/02-bug_report.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ body:
3636
description: What version of Python are you currently running?
3737
options:
3838
- "3.12"
39+
- "3.13"
40+
- "3.14"
3941
validations:
4042
required: true
4143
- type: textarea

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
NETBOX_CONFIGURATION: netbox.configuration_testing
3232
strategy:
3333
matrix:
34-
python-version: ['3.12']
34+
python-version: ['3.12', '3.13']
3535
node-version: ['20.x']
3636
services:
3737
redis:

docs/installation/3-netbox.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ sudo /opt/netbox/upgrade.sh
238238
Note that **Python 3.12 or later is required** for NetBox v4.5 and later releases. If the default Python installation on your server is set to a lesser version, pass the path to the supported installation as an environment variable named `PYTHON`. (Note that the environment variable must be passed _after_ the `sudo` command.)
239239

240240
```no-highlight
241-
sudo PYTHON=/usr/bin/python3.10 /opt/netbox/upgrade.sh
241+
sudo PYTHON=/usr/bin/python3.12 /opt/netbox/upgrade.sh
242242
```
243243

244244
!!! note

docs/installation/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ The following sections detail how to set up a new instance of NetBox:
2727

2828
| Dependency | Supported Versions |
2929
|------------|--------------------|
30-
| Python | 3.12+ |
30+
| Python | 3.12, 3.13, 3.14 |
3131
| PostgreSQL | 14+ |
3232
| Redis | 4.0+ |
3333

docs/installation/upgrading.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@ NetBox requires the following dependencies:
1919

2020
| Dependency | Supported Versions |
2121
|------------|--------------------|
22-
| Python | 3.10, 3.11, 3.12 |
22+
| Python | 3.12, 3.13, 3.14 |
2323
| PostgreSQL | 14+ |
2424
| Redis | 4.0+ |
2525

2626
### Version History
2727

2828
| NetBox Version | Python min | Python max | PostgreSQL min | Redis min | Documentation |
2929
|:--------------:|:----------:|:----------:|:--------------:|:---------:|:-----------------------------------------------------------------------------------------:|
30+
| 4.5 | 3.12 | 3.14 | 14 | 4.0 | [Link](https://github.com/netbox-community/netbox/blob/v4.5.0/docs/installation/index.md) |
3031
| 4.4 | 3.10 | 3.12 | 14 | 4.0 | [Link](https://github.com/netbox-community/netbox/blob/v4.4.0/docs/installation/index.md) |
3132
| 4.3 | 3.10 | 3.12 | 14 | 4.0 | [Link](https://github.com/netbox-community/netbox/blob/v4.3.0/docs/installation/index.md) |
3233
| 4.2 | 3.10 | 3.12 | 13 | 4.0 | [Link](https://github.com/netbox-community/netbox/blob/v4.2.0/docs/installation/index.md) |
@@ -130,7 +131,7 @@ sudo ./upgrade.sh
130131
If the default version of Python is not at least 3.10, you'll need to pass the path to a supported Python version as an environment variable when calling the upgrade script. For example:
131132

132133
```no-highlight
133-
sudo PYTHON=/usr/bin/python3.10 ./upgrade.sh
134+
sudo PYTHON=/usr/bin/python3.12 ./upgrade.sh
134135
```
135136

136137
!!! note

docs/plugins/development/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,12 +173,12 @@ classifiers=[
173173
'Intended Audience :: Developers',
174174
'Natural Language :: English',
175175
"Programming Language :: Python :: 3 :: Only",
176-
'Programming Language :: Python :: 3.10',
177-
'Programming Language :: Python :: 3.11',
178176
'Programming Language :: Python :: 3.12',
177+
'Programming Language :: Python :: 3.13',
178+
'Programming Language :: Python :: 3.14',
179179
]
180180
181-
requires-python = ">=3.10.0"
181+
requires-python = ">=3.12.0"
182182
183183
```
184184

@@ -195,7 +195,7 @@ python3 -m venv ~/.virtualenvs/my_plugin
195195
You can make NetBox available within this environment by creating a path file pointing to its location. This will add NetBox to the Python path upon activation. (Be sure to adjust the command below to specify your actual virtual environment path, Python version, and NetBox installation.)
196196

197197
```shell
198-
echo /opt/netbox/netbox > $VENV/lib/python3.10/site-packages/netbox.pth
198+
echo /opt/netbox/netbox > $VENV/lib/python3.12/site-packages/netbox.pth
199199
```
200200

201201
## Development Installation

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ classifiers = [
1616
"Programming Language :: Python",
1717
"Programming Language :: Python :: 3 :: Only",
1818
"Programming Language :: Python :: 3.12",
19+
"Programming Language :: Python :: 3.13",
20+
"Programming Language :: Python :: 3.14",
1921
]
2022

2123
[project.urls]
@@ -26,7 +28,7 @@ Issues = "https://github.com/netbox-community/netbox/issues"
2628

2729
[tool.black]
2830
line-length = 120
29-
target_version = ['py312']
31+
target_version = ['py312', 'py313', 'py314']
3032
skip-string-normalization = true
3133

3234
[tool.isort]

0 commit comments

Comments
 (0)