Skip to content

Add support for Python 3.13, drop continued support for Python 3.8, 3.9 and 3.10 - #73

Open
talha-API wants to merge 5 commits into
mainfrom
feature/support-python-3.13
Open

talha-API wants to merge 5 commits into
mainfrom
feature/support-python-3.13

Conversation

@talha-API

Copy link
Copy Markdown

Description

  • Adding support for Python 3.13
  • Dropping continued support for Python 3.8, 3.9 and 3.10. Updated readme and changelog to reflect this.
  • Added conditional version constraints for requests package in requirements.txt
  • Updated deprecation warning to include Python 3.10
  • Removed Python 3.8-3.10 from CI test matrix
  • Remove deprecated tests_require from setup.py
  • Bumped version to 1.10.0

Testing/Validation

All tests are passing and on top of this additional testing against a live API was done covering both supported algorithms and the different integration methods offered. Packaging also shows no issues and reflects new constraints.

Comment thread README.md Outdated
Comment on lines +38 to +39
| **1.9.2** | 3.8, 3.9, 3.10, 3.11, 3.12 | Previous | Maintenance & security fixes |
| **1.10.0** | 3.8, 3.9, 3.10, 3.11, 3.12, 3.13 | Current | Adding support for Python 3.13 |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to mention the two 1.x.x versions here ? This table was probably added because we were planning a 2.0.0, which won't happen now.
But we can use this table to state that python versions less than 3.11 are not supported and that only >= 3.11 are actively supported

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think its nice addition to have current and previous versions in the table for glancing.

Also we are still keeping support for <=3.11 in the library. If you think the wording doesn't convey this I can try make it more explicit

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only real problem I see is that we can't go on updating or adding entries to this table every time we make a patch or update the lib version.
The Notes column sounds like something that belongs in the CHANGELOG and not in the README.

Also the note Maintenance & security fixes makes me think that 1.9.2 is a separate release that's in maintenance mode, which it's not. It's been superseded by 1.10 .

I think it might be better if re-word it a bit to make it clear that the current version supports 3.13.
Anything beyond that sounds overkill to me

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Simplified the table to current release
  • Dropped the notes column in favour of maintainability (in-depth changes redirected to changelog)
  • Changed table column name for clarity

Comment thread CHANGELOG.md
@@ -1,5 +1,20 @@
# Changelog

## [1.10.0] - 2026-10-XX (TODO UPDATE)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to update this when we publish the new version.

Comment thread setup.py
Comment on lines -44 to 47
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you check if these should be removed as well ?
I think these show up as info on the PyPi page, and we should probably drop these.
I'm not 100% sure here, so pls check before we remove it.

Image

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should keep these, all the major Python libraries have them.

@joseph-neeraj joseph-neeraj Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry I was referring to removing versions 3.6-3.10, not removing the entire list. We've dropped support for them, so I'm not sure if we should keep them here.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The library is still compatible with 3.8, 3.9 and 3.10, that is why I kept them in the supported versions/classifiers.
We have just mentioned that we wont providing additional ongoing support/fixes for them, but library will still work with those versions.

I have removed 3.6 and 3.7 as they were not compatible and remove already.

@joseph-neeraj joseph-neeraj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants