Add support for Python 3.13 & 3.14 #10991

Closed
opened 2025-12-29 21:38:52 +01:00 by adam · 4 comments
Owner

Originally created by @pheus on GitHub (Apr 7, 2025).

Originally assigned to: @jeremystretch on GitHub.

NetBox version

feature (v4.3.0)

Feature type

Change to existing functionality

Proposed functionality

NetBox v4.3 will be based on Django 5.2 (see #19083), which extends support to Python 3.13. It would be great to add Python 3.13 to the officially supported versions for NetBox.

Use case

Debian 13 "trixie", the upcoming stable release, will ship with Python 3.13 as the default Python version:
https://www.debian.org/releases/trixie/release-notes/whats-new.html

Ensuring Python 3.13 compatibility would allow NetBox to run seamlessly on Debian 13 and other environments adopting Python 3.13.

Database changes

None.

External dependencies

GitHub Actions should include Python 3.13 in the test matrix to validate compatibility.

Originally created by @pheus on GitHub (Apr 7, 2025). Originally assigned to: @jeremystretch on GitHub. ### NetBox version feature (v4.3.0) ### Feature type Change to existing functionality ### Proposed functionality NetBox v4.3 will be based on Django 5.2 (see #19083), which extends support to Python 3.13. It would be great to add Python 3.13 to the officially supported versions for NetBox. ### Use case Debian 13 *"trixie"*, the upcoming stable release, will ship with Python 3.13 as the default Python version: https://www.debian.org/releases/trixie/release-notes/whats-new.html Ensuring Python 3.13 compatibility would allow NetBox to run seamlessly on Debian 13 and other environments adopting Python 3.13. ### Database changes None. ### External dependencies GitHub Actions should include Python 3.13 in the test matrix to validate compatibility.
adam added the status: acceptedtype: featurecomplexity: low labels 2025-12-29 21:38:52 +01:00
adam closed this issue 2025-12-29 21:38:52 +01:00
Author
Owner

@bctiemann commented on GitHub (Apr 9, 2025):

We've traditionally only supported three concurrent Python versions, to limit the amount of CI that needs to be run on every commit or PR. Django moving to support four versions seems to be historically new, and so we need to weigh whether it's worth matching their support matrix if it causes our pipelines to suffer, or whether that is in fact the case (maybe the impact to our test run actions wouldn't be that bad since they run in parallel, but there's an upper limit somewhere on the number of actions that will run in parallel for an OSS project).

If we have to choose between supporting 3.10 and 3.13, I'd stick with 3.10 (obviously a lot more end users will be stuck on 3.10 than will be jumping to 3.13).

@bctiemann commented on GitHub (Apr 9, 2025): We've traditionally only supported three concurrent Python versions, to limit the amount of CI that needs to be run on every commit or PR. Django moving to support four versions seems to be historically new, and so we need to weigh whether it's worth matching their support matrix if it causes our pipelines to suffer, or whether that is in fact the case (maybe the impact to our test run actions wouldn't be that bad since they run in parallel, but there's an upper limit somewhere on the number of actions that will run in parallel for an OSS project). If we have to choose between supporting 3.10 and 3.13, I'd stick with 3.10 (obviously a lot more end users will be stuck on 3.10 than will be jumping to 3.13).
Author
Owner

@jeremystretch commented on GitHub (Aug 29, 2025):

Extending this to include Python 3.14 as well. Python 3.14 is scheduled for final release in October 2025. Django 6.0, once released, will presumably support Python versions 3.12 through 3.14.

@jeremystretch commented on GitHub (Aug 29, 2025): Extending this to include Python 3.14 as well. Python 3.14 is [scheduled for final release](https://peps.python.org/pep-0745/#release-schedule) in October 2025. Django 6.0, once released, will presumably support Python versions 3.12 through 3.14.
Author
Owner

@markkuleinio commented on GitHub (Oct 14, 2025):

I only now realized this: It is unfortunate that this issue was resolved only after NetBox 4.4 was released, so currently there is no official support for running NetBox on the newest Debian stable release (which has Python 3.13) as native install.

I'll try to remember to open (and track!) an issue in the spring of 2027 to make sure Python 3.15 (or whatever is the latest at that time) will be supported on the NetBox version released on August/September that year 😊

@markkuleinio commented on GitHub (Oct 14, 2025): I only now realized this: It is unfortunate that this issue was resolved only after NetBox 4.4 was released, so currently there is no official support for running NetBox on the newest Debian stable release (which has Python 3.13) as native install. I'll try to remember to open (and track!) an issue in the spring of 2027 to make sure Python 3.15 (or whatever is the latest at that time) will be supported on the NetBox version released on August/September that year 😊
Author
Owner

@jeremystretch commented on GitHub (Oct 14, 2025):

currently there is no official support for running NetBox on the newest Debian stable release (which has Python 3.13) as native install.

You should be able to install alternative versions of Python on Debian specifically to run NetBox (within its virtual environment) without affecting the system version.

@jeremystretch commented on GitHub (Oct 14, 2025): > currently there is no official support for running NetBox on the newest Debian stable release (which has Python 3.13) as native install. You should be able to install alternative versions of Python on Debian specifically to run NetBox (within its virtual environment) without affecting the system version.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#10991