creativecommons / creativecommons/quantifying

Update project to newest possible Python

Open
#214 0 comments 0 reactions 0 assignees View on GitHub
✨ goal: improvement 🏁 status: ready for work 💻 aspect: code 🟩 priority: low
Dominant language
Python
Stars
48
Forks
74
PR merge metrics
No merged PRs in 30d

Description

## Problem
Project is currently using Python `3.11`.

## Description
Python has continued to improve. Notably, the latest versions offer much better support for type hints.

Dependencies will need to be verified.

Any pull request (PR) for this issue should include documentation of testing/verification. The PR should not include any additional feature changes.

## Additional context
- [What’s New in Python — Python 3.14.0 documentation](https://docs.python.org/3/whatsnew/index.html)
- [What’s new in Python 3.14](https://docs.python.org/3/whatsnew/3.14.html#summary-release-highlights)
> Python 3.14 is the latest stable release of the Python programming language, with a mix of changes to the language, the implementation, and the standard library. The biggest changes include [template string literals](https://docs.python.org/3/whatsnew/3.14.html#whatsnew314-template-string-literals), [deferred evaluation of annotations](https://docs.python.org/3/whatsnew/3.14.html#whatsnew314-deferred-annotations), and support for [subinterpreters](https://docs.python.org/3/whatsnew/3.14.html#whatsnew314-multiple-interpreters) in the standard library.
>
> The library changes include significantly improved capabilities for [introspection in asyncio](https://docs.python.org/3/whatsnew/3.14.html#whatsnew314-asyncio-introspection), [support for Zstandard](https://docs.python.org/3/whatsnew/3.14.html#whatsnew314-zstandard) via a new [compression.zstd](https://docs.python.org/3/library/compression.zstd.html#module-compression.zstd) module, syntax highlighting in the REPL, as well as the usual deprecations and removals, and improvements in user-friendliness and correctness.
- [What’s New In Python 3.13](https://docs.python.org/3/whatsnew/3.13.html#summary-release-highlights)
> Python 3.13 is a stable release of the Python programming language, with a mix of changes to the language, the implementation and the standard library. The biggest changes include a new [interactive interpreter](https://docs.python.org/3/whatsnew/3.13.html#whatsnew313-better-interactive-interpreter), experimental support for running in a [free-threaded mode](https://docs.python.org/3/whatsnew/3.13.html#whatsnew313-free-threaded-cpython) ([PEP 703](https://peps.python.org/pep-0703/)), and a [Just-In-Time compiler](https://docs.python.org/3/whatsnew/3.13.html#whatsnew313-jit-compiler) ([PEP 744](https://peps.python.org/pep-0744/)).
>
> Error messages continue to improve, with tracebacks now highlighted in color by default. The [locals()](https://docs.python.org/3/library/functions.html#locals) builtin now has [defined semantics](https://docs.python.org/3/whatsnew/3.13.html#whatsnew313-locals-semantics) for changing the returned mapping, and type parameters now support default values.
>
> The library changes contain removal of deprecated APIs and modules, as well as the usual improvements in user-friendliness and correctness. Several legacy standard library modules have now [been removed](https://docs.python.org/3/whatsnew/3.13.html#whatsnew313-pep594) following their deprecation in Python 3.11 ([PEP 594](https://peps.python.org/pep-0594/)).
- [What’s New In Python 3.12](https://docs.python.org/3/whatsnew/3.12.html#summary-release-highlights)
> Python 3.12 is a stable release of the Python programming language, with a mix of changes to the language and the standard library. The library changes focus on cleaning up deprecated APIs, usability, and correctness. Of note, the distutils package has been removed from the standard library. Filesystem support in [os](https://docs.python.org/3/library/os.html#module-os) and [pathlib](https://docs.python.org/3/library/pathlib.html#module-pathlib) has seen a number of improvements, and several modules have better performance.
>
> The language changes focus on usability, as [f-strings](https://docs.python.org/3/glossary.html#term-f-string) have had many limitations removed and ‘Did you mean …’ suggestions continue to improve. The new [type parameter syntax](https://docs.python.org/3/whatsnew/3.12.html#whatsnew312-pep695) and [type](https://docs.python.org/3/reference/simple_stmts.html#type) statement improve ergonomics for using [generic types](https://docs.python.org/3/glossary.html#term-generic-type) and [type aliases](https://docs.python.org/3/glossary.html#term-type-alias) with static type checkers.

## Implementation

- [ ] I would be interested in implementing this feature.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.