-
-
Notifications
You must be signed in to change notification settings - Fork 31.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meta issue for cleaning up import system cruft #97850
Comments
I've removed |
Remove all known instances of module_repr()
Tracking in python#97850 instead.
* main: (66 commits) pythongh-65961: Raise `DeprecationWarning` when `__package__` differs from `__spec__.parent` (python#97879) docs(typing): add "see PEP 675" to LiteralString (python#97926) pythongh-97850: Remove all known instances of module_repr() (python#97876) I changed my surname early this year (python#96671) pythongh-93738: Documentation C syntax (:c:type:<C type> -> :c:expr:<C type>) (python#97768) pythongh-91539: improve performance of get_proxies_environment (python#91566) build(deps): bump actions/stale from 5 to 6 (python#97701) pythonGH-95172 Make the same version `versionadded` oneline (python#95172) pythongh-88050: Fix asyncio subprocess to kill process cleanly when process is blocked (python#32073) pythongh-93738: Documentation C syntax (Function glob patterns -> literal markup) (python#97774) pythongh-93357: Port test cases to IsolatedAsyncioTestCase, part 2 (python#97896) pythongh-95196: Disable incorrect pickling of the C implemented classmethod descriptors (pythonGH-96383) pythongh-97758: Fix a crash in getpath_joinpath() called without arguments (pythonGH-97759) pythongh-74696: Pass root_dir to custom archivers which support it (pythonGH-94251) pythongh-97661: Improve accuracy of sqlite3.Cursor.fetchone docs (python#97662) pythongh-87092: bring compiler code closer to a preprocessing-opt-assembler organisation (pythonGH-97644) pythonGH-96704: Add {Task,Handle}.get_context(), use it in call_exception_handler() (python#96756) pythongh-93738: Documentation C syntax (:c:type:`PyTypeObject*` -> :c:expr:`PyTypeObject*`) (python#97778) pythongh-97825: fix AttributeError when calling subprocess.check_output(input=None) with encoding or errors args (python#97826) Add re.VERBOSE flag documentation example (python#97678) ...
…nce (pythonGH-97935) Remove the open issues section from the import reference Tracking in python#97850 instead. (cherry picked from commit f8edc6f) Co-authored-by: Brett Cannon <[email protected]>
…nce (pythonGH-97935) Remove the open issues section from the import reference Tracking in python#97850 instead. (cherry picked from commit f8edc6f) Co-authored-by: Brett Cannon <[email protected]>
…H-97935) Remove the open issues section from the import reference Tracking in #97850 instead. (cherry picked from commit f8edc6f) Co-authored-by: Brett Cannon <[email protected]>
…ence (GH-97935) (GH-97994) Remove the open issues section from the import reference Tracking in #97850 instead. (cherry picked from commit f8edc6f) Co-authored-by: Brett Cannon <[email protected]> Automerge-Triggered-By: GH:brettcannon
* main: fixes pythongh-96078: os.sched_yield release the GIL while calling sched_yield(2). (pythongh-97965) pythongh-65961: Do not rely solely on `__cached__` (pythonGH-97990) pythongh-97850: Remove the open issues section from the import reference (python#97935) Docs: pin sphinx-lint (pythonGH-97992) pythongh-94590: add signatures to operator itemgetter, attrgetter, methodcaller (python#94591) Add Pynche's move to the What's new in 3.11 (python#97974) pythongh-97781: Apply changes from importlib_metadata 5. (pythonGH-97785) pythongh-86482: Document assignment expression need for ()s (python#23291) pythongh-97943: PyFunction_GetAnnotations should return a borrowed reference. (python#97949) pythongh-94808: Coverage: Test that maximum indentation level is handled (python#95926)
* gh-97850: Remove deprecated functions from `importlib.utils` * Rebase and remove `set_package` from diff
* main: (53 commits) pythongh-94808: Coverage: Test that maximum indentation level is handled (python#95926) pythonGH-88050: fix race in closing subprocess pipe in asyncio (python#97951) pythongh-93738: Disallow pre-v3 syntax in the C domain (python#97962) pythongh-95986: Fix the example using match keyword (python#95989) pythongh-97897: Prevent os.mkfifo and os.mknod segfaults with macOS 13 SDK (pythonGH-97944) pythongh-94808: Cover `PyUnicode_Count` in CAPI (python#96929) pythongh-94808: Cover `PyObject_PyBytes` case with custom `__bytes__` method (python#96610) pythongh-95691: Doc BufferedWriter and BufferedReader (python#95703) pythonGH-88968: Add notes about socket ownership transfers (python#97936) pythongh-96865: [Enum] fix Flag to use CONFORM boundary (pythonGH-97528) pythongh-65961: Raise `DeprecationWarning` when `__package__` differs from `__spec__.parent` (python#97879) docs(typing): add "see PEP 675" to LiteralString (python#97926) pythongh-97850: Remove all known instances of module_repr() (python#97876) I changed my surname early this year (python#96671) pythongh-93738: Documentation C syntax (:c:type:<C type> -> :c:expr:<C type>) (python#97768) pythongh-91539: improve performance of get_proxies_environment (python#91566) build(deps): bump actions/stale from 5 to 6 (python#97701) pythonGH-95172 Make the same version `versionadded` oneline (python#95172) pythongh-88050: Fix asyncio subprocess to kill process cleanly when process is blocked (python#32073) pythongh-93738: Documentation C syntax (Function glob patterns -> literal markup) (python#97774) ...
* main: pythonGH-97002: Prevent `_PyInterpreterFrame`s from backing more than one `PyFrameObject` (pythonGH-97996) pythongh-97973: Return all necessary information from the tokenizer (pythonGH-97984) fixes pythongh-96078: os.sched_yield release the GIL while calling sched_yield(2). (pythongh-97965) pythongh-65961: Do not rely solely on `__cached__` (pythonGH-97990) pythongh-97850: Remove the open issues section from the import reference (python#97935) Docs: pin sphinx-lint (pythonGH-97992) pythongh-94590: add signatures to operator itemgetter, attrgetter, methodcaller (python#94591) Add Pynche's move to the What's new in 3.11 (python#97974) pythongh-97781: Apply changes from importlib_metadata 5. (pythonGH-97785) pythongh-86482: Document assignment expression need for ()s (python#23291) pythongh-97943: PyFunction_GetAnnotations should return a borrowed reference. (python#97949)
* main: pythongh-86298: Ensure that __loader__ and __spec__.loader agree in warnings.warn_explicit() (pythonGH-97803) pythongh-82874: Convert remaining importlib format uses to f-str. (python#98005) Docs: Fix backtick errors found by sphinx-lint (python#97998) pythongh-97850: Remove deprecated functions from `importlib.utils` (python#97898) Remove extra spaces in custom openSSL documentation. (python#93568) pythonGH-90985: Revert "Deprecate passing a message into cancel()" (python#97999)
…7876) Remove all known instances of module_repr()
…nce (python#97935) Remove the open issues section from the import reference Tracking in python#97850 instead.
…ython#97898) * pythongh-97850: Remove deprecated functions from `importlib.utils` * Rebase and remove `set_package` from diff
I do, but I'm not confident there's a clear path to deprecate, because although the interface is deprecated, it's an interface that's used both by providers and consumers of that interface. Even its replacement subclasses that interface, so it's not even obvious to me that a deprecation warning is possible. Sounds like it's best to just leave it documented. Thanks. |
My first impression: The deprecation code seems like a bigger maintenance burden than the deprecated API itself; better to just leave it alone. Let's deprecate things that are dangerous or misleading, not just old and limited. |
If it doesn't match any of those criteria then agreed there's no urgency to remove them and break code. |
…128602) Remove the mention of removal from ResourceReader docs
…ocs (pythonGH-128602) Remove the mention of removal from ResourceReader docs (cherry picked from commit a1284e9) Co-authored-by: Tomas R. <[email protected]>
…ocs (pythonGH-128602) Remove the mention of removal from ResourceReader docs (cherry picked from commit a1284e9) Co-authored-by: Tomas R. <[email protected]>
…til`` (python#119656) Co-authored-by: Hugo van Kemenade <[email protected]> Co-authored-by: Brett Cannon <[email protected]>
…urceLoader` (GH-128601) Suggest TraversableResources as the alternative for ResourceLoader. Previously, ResourceReader was the suggested alternative, but it is itself deprecated in favour of TraversableResources.
… `ResourceLoader` (pythonGH-128601) Suggest TraversableResources as the alternative for ResourceLoader. Previously, ResourceReader was the suggested alternative, but it is itself deprecated in favour of TraversableResources. (cherry picked from commit 256d6d2) Co-authored-by: Tomas R. <[email protected]>
… `ResourceLoader` (pythonGH-128601) Suggest TraversableResources as the alternative for ResourceLoader. Previously, ResourceReader was the suggested alternative, but it is itself deprecated in favour of TraversableResources. (cherry picked from commit 256d6d2) Co-authored-by: Tomas R. <[email protected]>
…r `ResourceLoader` (GH-128601) (GH-128895) gh-97850: Suggest `TraversableResources` as the alternative for `ResourceLoader` (GH-128601) Suggest TraversableResources as the alternative for ResourceLoader. Previously, ResourceReader was the suggested alternative, but it is itself deprecated in favour of TraversableResources. (cherry picked from commit 256d6d2) Co-authored-by: Tomas R <[email protected]>
…r `ResourceLoader` (GH-128601) (GH-128896) gh-97850: Suggest `TraversableResources` as the alternative for `ResourceLoader` (GH-128601) Suggest TraversableResources as the alternative for ResourceLoader. Previously, ResourceReader was the suggested alternative, but it is itself deprecated in favour of TraversableResources. (cherry picked from commit 256d6d2) Co-authored-by: Tomas R <[email protected]>
…er.load_module` (pythonGH-129855) (cherry picked from commit aa81a6f) Co-authored-by: Tomas R. <[email protected]>
This is a meta issue tracking all the things that need to be cleaned up in the import system. From removing long deprecated APIs to migrating internal access to
__spec__
, we'll have several task lists for each related set of clean ups.@brettcannon @ericsnowcurrently for visibility.
Removing deprecated APIs
Over in What's New for Python 3.11 there's a long list of things that have been deprecated long enough that they can be removed in Python 3.12. Here's that task list for tracking purposes. Watch for linked PRs (maybe one big one or many small ones -- we'll see!).
@brettcannon @ericsnowcurrently for visibility.
importlib.util.set_loader_wrapper()
importlib.util.set_package_wrapper()
importlib.machinery.BuiltinImporter.find_module()
importlib.machinery.BuiltinLoader.module_repr()
(3.12: gh-97850: Remove all known instances of module_repr() #97876)importlib.machinery.FileFinder.find_module()
importlib.machinery.FrozenImporter.find_module()
importlib.machinery.FrozenLoader.module_repr()
(3.12: gh-97850: Remove all known instances of module_repr() #97876)importlib.machinery.WindowsRegistryFinder.find_module()
pkgutil.ImpImporter
(3.12: already deprecated)pkgutil.ImpLoader
imp
module (3.12: Remove more deprecated importlib APIs from Python 3.12 #98040)importlib.abc.Finder
Update docs
__main__
is initialized?__main__
quirks/pitfalls (i.e. copy from PEP 395).Missing deprecations
Here's a list of related APIs that have not yet been deprecated, but should be. We'll deprecate them in 3.12 and remove them in 3.14.
pkgutil.find_loader()
pkgutil.get_loader()
(or it needs to be reimplemented to not usefind_loader()
)Other:
find_loader
andget_loader
inpkgutil
#98520module_repr
method #104133importlib.util
functions #104134importlib.util.set_loader
andimportlib.util.module_for_loader
have been removed #108719importlib.util.set_loader
andimportlib.util.module_for_loader
have been removed (GH-108719) #108723find_loader
andget_loader
frompkgutil
#119656TraversableResources
as the alternative forResourceLoader
. #128601ResourceReader
docs #128602ResourceReader
docs (GH-128602) #128654ResourceReader
docs (GH-128602) #128655TraversableResources
as the alternative forResourceLoader
(GH-128601) #128895TraversableResources
as the alternative forResourceLoader
(GH-128601) #128896importlib.abc.Loader.load_module
#129855importlib.abc.Loader.load_module
(GH-129855) #130013importlib.abc.Loader.load_module
(GH-129855) #130017The text was updated successfully, but these errors were encountered: