Repository: DavidVujic/python-polylith

Issue:
poly libs is confused by some packages
**Describe the bug**
When I run poetry poly libs in my repo it complains for several of the projects about `dateutil` and `humps` and `pkg_resources`

Could not locate all libraries in book_server. Caused by missing dependencies?
🤔 dateutil, humps, pkg_resources

**To Reproduce**
run poetry poly libs


**Expected behavior**
The packages mentioned are in the pyproject.toml file so I would not expect there to be a problem


**Desktop (please complete the following information):**
 - OS:
 - Python version: 
 - Poetry version:

**Additional context**

`humps` is provided by the `pyhumps` package
`dateutil` is provided by the `python-dateutil` package

It may be that it is just confused because the package name doesn't match?  Or maybe I'm misunderstanding something?


Discussion:
sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=DavidVujic_python-polylith&pullRequest=86)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86&metric=new_duplicated_lines_density&view=list)


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=DavidVujic_python-polylith&pullRequest=86)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86&metric=new_duplicated_lines_density&view=list)


sonarcloud[bot]: Kudos, SonarCloud Quality Gate passed!&nbsp; &nbsp; [![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')](https://sonarcloud.io/dashboard?id=DavidVujic_python-polylith&pullRequest=86)

[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=BUG)  
[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=VULNERABILITY)  
[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=SECURITY_HOTSPOT)  
[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=DavidVujic_python-polylith&pullRequest=86&resolved=false&types=CODE_SMELL)

[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86) No Coverage information  
[![0.0%](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/3-16px.png '0.0%')](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86&metric=new_duplicated_lines_density&view=list) [0.0% Duplication](https://sonarcloud.io/component_measures?id=DavidVujic_python-polylith&pullRequest=86&metric=new_duplicated_lines_density&view=list)



Patch:
diff --git a/components/polylith/libs/stdlib.py b/components/polylith/libs/stdlib.py
index 995f91c..398adba 100644
--- a/components/polylith/libs/stdlib.py
+++ b/components/polylith/libs/stdlib.py
@@ -1,868 +1,263 @@
 """ Borrowed from github.com/PyCQA/isort library. Thank you! """
 
-standard_libs = {
-    "3.11": {
-        "_ast",
-        "_thread",
-        "abc",
-        "aifc",
-        "argparse",
-        "array",
-        "ast",
-        "asynchat",
-        "asyncio",
-        "asyncore",
-        "atexit",
-        "audioop",
-        "base64",
-        "bdb",
-        "binascii",
-        "bisect",
-        "builtins",
-        "bz2",
-        "cProfile",
-        "calendar",
-        "cgi",
-        "cgitb",
-        "chunk",
-        "cmath",
-        "cmd",
-        "code",
-        "codecs",
-        "codeop",
-        "collections",
-        "colorsys",
-        "compileall",
-        "concurrent",
-        "configparser",
-        "contextlib",
-        "contextvars",
-        "copy",
-        "copyreg",
-        "crypt",
-        "csv",
-        "ctypes",
-        "curses",
-        "dataclasses",
-        "datetime",
-        "dbm",
-        "decimal",
-        "difflib",
-        "dis",
-        "distutils",
-        "doctest",
-        "email",
-        "encodings",
-        "ensurepip",
-        "enum",
-        "errno",
-        "faulthandler",
-        "fcntl",
-        "filecmp",
-        "fileinput",
-        "fnmatch",
-        "fractions",
-        "ftplib",
-        "functools",
-        "gc",
-        "getopt",
-        "getpass",
-        "gettext",
-        "glob",
-        "graphlib",
-        "grp",
-        "gzip",
-        "hashlib",
-        "heapq",
-        "hmac",
-        "html",
-        "http",
-        "idlelib",
-        "imaplib",
-        "imghdr",
-        "imp",
-        "importlib",
-        "inspect",
-        "io",
-        "ipaddress",
-        "itertools",
-        "json",
-        "keyword",
-        "lib2to3",
-        "linecache",
-        "locale",
-        "logging",
-        "lzma",
-        "mailbox",
-        "mailcap",
-        "marshal",
-        "math",
-        "mimetypes",
-        "mmap",
-        "modulefinder",
-        "msilib",
-        "msvcrt",
-        "multiprocessing",
-        "netrc",
-        "nis",
-        "nntplib",
-        "ntpath",
-        "numbers",
-        "operator",
-        "optparse",
-        "os",
-        "ossaudiodev",
-        "pathlib",
-        "pdb",
-        "pickle",
-        "pickletools",
-        "pipes",
-        "pkgutil",
-        "platform",
-        "plistlib",
-        "poplib",
-        "posix",
-        "posixpath",
-        "pprint",
-        "profile",
-        "pstats",
-        "pty",
-        "pwd",
-        "py_compile",
-        "pyclbr",
-        "pydoc",
-        "queue",
-        "quopri",
-        "random",
-        "re",
-        "readline",
-        "reprlib",
-        "resource",
-        "rlcompleter",
-        "runpy",
-        "sched",
-        "secrets",
-        "select",
-        "selectors",
-        "shelve",
-        "shlex",
-        "shutil",
-        "signal",
-        "site",
-        "smtpd",
-        "smtplib",
-        "sndhdr",
-        "socket",
-        "socketserver",
-        "spwd",
-        "sqlite3",
-        "sre",
-        "sre_compile",
-        "sre_constants",
-        "sre_parse",
-        "ssl",
-        "stat",
-        "statistics",
-        "string",
-        "stringprep",
-        "struct",
-        "subprocess",
-        "sunau",
-        "symtable",
-        "sys",
-        "sysconfig",
-        "syslog",
-        "tabnanny",
-        "tarfile",
-        "telnetlib",
-        "tempfile",
-        "termios",
-        "test",
-        "textwrap",
-        "threading",
-        "time",
-        "timeit",
-        "tkinter",
-        "token",
-        "tokenize",
-        "tomllib",
-        "trace",
-        "traceback",
-        "tracemalloc",
-        "tty",
-        "turtle",
-        "turtledemo",
-        "types",
-        "typing",
-        "unicodedata",
-        "unittest",
-        "urllib",
-        "uu",
-        "uuid",
-        "venv",
-        "warnings",
-        "wave",
-        "weakref",
-        "webbrowser",
-        "winreg",
-        "winsound",
-        "wsgiref",
-        "xdrlib",
-        "xml",
-        "xmlrpc",
-        "zipapp",
-        "zipfile",
-        "zipimport",
-        "zlib",
-        "zoneinfo",
-    },
-    "3.10": {
-        "_ast",
-        "_thread",
-        "abc",
-        "aifc",
-        "argparse",
-        "array",
-        "ast",
-        "asynchat",
-        "asyncio",
-        "asyncore",
-        "atexit",
-        "audioop",
-        "base64",
-        "bdb",
-        "binascii",
-        "binhex",
-        "bisect",
-        "builtins",
-        "bz2",
-        "cProfile",
-        "calendar",
-        "cgi",
-        "cgitb",
-        "chunk",
-        "cmath",
-        "cmd",
-        "code",
-        "codecs",
-        "codeop",
-        "collections",
-        "colorsys",
-        "compileall",
-        "concurrent",
-        "configparser",
-        "contextlib",
-        "contextvars",
-        "copy",
-        "copyreg",
-        "crypt",
-        "csv",
-        "ctypes",
-        "curses",
-        "dataclasses",
-        "datetime",
-        "dbm",
-        "decimal",
-        "difflib",
-        "dis",
-        "distutils",
-        "doctest",
-        "email",
-        "encodings",
-        "ensurepip",
-        "enum",
-        "errno",
-        "faulthandler",
-        "fcntl",
-        "filecmp",
-        "fileinput",
-        "fnmatch",
-        "fractions",
-        "ftplib",
-        "functools",
-        "gc",
-        "getopt",
-        "getpass",
-        "gettext",
-        "glob",
-        "graphlib",
-        "grp",
-        "gzip",
-        "hashlib",
-        "heapq",
-        "hmac",
-        "html",
-        "http",
-        "idlelib",
-        "imaplib",
-        "imghdr",
-        "imp",
-        "importlib",
-        "inspect",
-        "io",
-        "ipaddress",
-        "itertools",
-        "json",
-        "keyword",
-        "lib2to3",
-        "linecache",
-        "locale",
-        "logging",
-        "lzma",
-        "mailbox",
-        "mailcap",
-        "marshal",
-        "math",
-        "mimetypes",
-        "mmap",
-        "modulefinder",
-        "msilib",
-        "msvcrt",
-        "multiprocessing",
-        "netrc",
-        "nis",
-        "nntplib",
-        "ntpath",
-        "numbers",
-        "operator",
-        "optparse",
-        "os",
-        "ossaudiodev",
-        "pathlib",
-        "pdb",
-        "pickle",
-        "pickletools",
-        "pipes",
-        "pkgutil",
-        "platform",
-        "plistlib",
-        "poplib",
-        "posix",
-        "posixpath",
-        "pprint",
-        "profile",
-        "pstats",
-        "pty",
-        "pwd",
-        "py_compile",
-        "pyclbr",
-        "pydoc",
-        "queue",
-        "quopri",
-        "random",
-        "re",
-        "readline",
-        "reprlib",
-        "resource",
-        "rlcompleter",
-        "runpy",
-        "sched",
-        "secrets",
-        "select",
-        "selectors",
-        "shelve",
-        "shlex",
-        "shutil",
-        "signal",
-        "site",
-        "smtpd",
-        "smtplib",
-        "sndhdr",
-        "socket",
-        "socketserver",
-        "spwd",
-        "sqlite3",
-        "sre",
-        "sre_compile",
-        "sre_constants",
-        "sre_parse",
-        "ssl",
-        "stat",
-        "statistics",
-        "string",
-        "stringprep",
-        "struct",
-        "subprocess",
-        "sunau",
-        "symtable",
-        "sys",
-        "sysconfig",
-        "syslog",
-        "tabnanny",
-        "tarfile",
-        "telnetlib",
-        "tempfile",
-        "termios",
-        "test",
-        "textwrap",
-        "threading",
-        "time",
-        "timeit",
-        "tkinter",
-        "token",
-        "tokenize",
-        "trace",
-        "traceback",
-        "tracemalloc",
-        "tty",
-        "turtle",
-        "turtledemo",
-        "types",
-        "typing",
-        "unicodedata",
-        "unittest",
-        "urllib",
-        "uu",
-        "uuid",
-        "venv",
-        "warnings",
-        "wave",
-        "weakref",
-        "webbrowser",
-        "winreg",
-        "winsound",
-        "wsgiref",
-        "xdrlib",
-        "xml",
-        "xmlrpc",
-        "zipapp",
-        "zipfile",
-        "zipimport",
-        "zlib",
-        "zoneinfo",
-    },
-    "3.9": {
-        "_ast",
-        "_thread",
-        "abc",
-        "aifc",
-        "argparse",
-        "array",
-        "ast",
-        "asynchat",
-        "asyncio",
-        "asyncore",
-        "atexit",
-        "audioop",
-        "base64",
-        "bdb",
-        "binascii",
-        "binhex",
-        "bisect",
-        "builtins",
-        "bz2",
-        "cProfile",
-        "calendar",
-        "cgi",
-        "cgitb",
-        "chunk",
-        "cmath",
-        "cmd",
-        "code",
-        "codecs",
-        "codeop",
-        "collections",
-        "colorsys",
-        "compileall",
-        "concurrent",
-        "configparser",
-        "contextlib",
-        "contextvars",
-        "copy",
-        "copyreg",
-        "crypt",
-        "csv",
-        "ctypes",
-        "curses",
-        "dataclasses",
-        "datetime",
-        "dbm",
-        "decimal",
-        "difflib",
-        "dis",
-        "distutils",
-        "doctest",
-        "email",
-        "encodings",
-        "ensurepip",
-        "enum",
-        "errno",
-        "faulthandler",
-        "fcntl",
-        "filecmp",
-        "fileinput",
-        "fnmatch",
-        "formatter",
-        "fractions",
-        "ftplib",
-        "functools",
-        "gc",
-        "getopt",
-        "getpass",
-        "gettext",
-        "glob",
-        "graphlib",
-        "grp",
-        "gzip",
-        "hashlib",
-        "heapq",
-        "hmac",
-        "html",
-        "http",
-        "imaplib",
-        "imghdr",
-        "imp",
-        "importlib",
-        "inspect",
-        "io",
-        "ipaddress",
-        "itertools",
-        "json",
-        "keyword",
-        "lib2to3",
-        "linecache",
-        "locale",
-        "logging",
-        "lzma",
-        "mailbox",
-        "mailcap",
-        "marshal",
-        "math",
-        "mimetypes",
-        "mmap",
-        "modulefinder",
-        "msilib",
-        "msvcrt",
-        "multiprocessing",
-        "netrc",
-        "nis",
-        "nntplib",
-        "ntpath",
-        "numbers",
-        "operator",
-        "optparse",
-        "os",
-        "ossaudiodev",
-        "parser",
-        "pathlib",
-        "pdb",
-        "pickle",
-        "pickletools",
-        "pipes",
-        "pkgutil",
-        "platform",
-        "plistlib",
-        "poplib",
-        "posix",
-        "posixpath",
-        "pprint",
-        "profile",
-        "pstats",
-        "pty",
-        "pwd",
-        "py_compile",
-        "pyclbr",
-        "pydoc",
-        "queue",
-        "quopri",
-        "random",
-        "re",
-        "readline",
-        "reprlib",
-        "resource",
-        "rlcompleter",
-        "runpy",
-        "sched",
-        "secrets",
-        "select",
-        "selectors",
-        "shelve",
-        "shlex",
-        "shutil",
-        "signal",
-        "site",
-        "smtpd",
-        "smtplib",
-        "sndhdr",
-        "socket",
-        "socketserver",
-        "spwd",
-        "sqlite3",
-        "sre",
-        "sre_compile",
-        "sre_constants",
-        "sre_parse",
-        "ssl",
-        "stat",
-        "statistics",
-        "string",
-        "stringprep",
-        "struct",
-        "subprocess",
-        "sunau",
-        "symbol",
-        "symtable",
-        "sys",
-        "sysconfig",
-        "syslog",
-        "tabnanny",
-        "tarfile",
-        "telnetlib",
-        "tempfile",
-        "termios",
-        "test",
-        "textwrap",
-        "threading",
-        "time",
-        "timeit",
-        "tkinter",
-        "token",
-        "tokenize",
-        "trace",
-        "traceback",
-        "tracemalloc",
-        "tty",
-        "turtle",
-        "turtledemo",
-        "types",
-        "typing",
-        "unicodedata",
-        "unittest",
-        "urllib",
-        "uu",
-        "uuid",
-        "venv",
-        "warnings",
-        "wave",
-        "weakref",
-        "webbrowser",
-        "winreg",
-        "winsound",
-        "wsgiref",
-        "xdrlib",
-        "xml",
-        "xmlrpc",
-        "zipapp",
-        "zipfile",
-        "zipimport",
-        "zlib",
-        "zoneinfo",
-    },
-    "3.8": {
-        "_ast",
-        "_dummy_thread",
-        "_thread",
-        "abc",
-        "aifc",
-        "argparse",
-        "array",
-        "ast",
-        "asynchat",
-        "asyncio",
-        "asyncore",
-        "atexit",
-        "audioop",
-        "base64",
-        "bdb",
-        "binascii",
-        "binhex",
-        "bisect",
-        "builtins",
-        "bz2",
-        "cProfile",
-        "calendar",
-        "cgi",
-        "cgitb",
-        "chunk",
-        "cmath",
-        "cmd",
-        "code",
-        "codecs",
-        "codeop",
-        "collections",
-        "colorsys",
-        "compileall",
-        "concurrent",
-        "configparser",
-        "contextlib",
-        "contextvars",
-        "copy",
-        "copyreg",
-        "crypt",
-        "csv",
-        "ctypes",
-        "curses",
-        "dataclasses",
-        "datetime",
-        "dbm",
-        "decimal",
-        "difflib",
-        "dis",
-        "distutils",
-        "doctest",
-        "dummy_threading",
-        "email",
-        "encodings",
-        "ensurepip",
-        "enum",
-        "errno",
-        "faulthandler",
-        "fcntl",
-        "filecmp",
-        "fileinput",
-        "fnmatch",
-        "formatter",
-        "fractions",
-        "ftplib",
-        "functools",
-        "gc",
-        "getopt",
-        "getpass",
-        "gettext",
-        "glob",
-        "grp",
-        "gzip",
-        "hashlib",
-        "heapq",
-        "hmac",
-        "html",
-        "http",
-        "imaplib",
-        "imghdr",
-        "imp",
-        "importlib",
-        "inspect",
-        "io",
-        "ipaddress",
-        "itertools",
-        "json",
-        "keyword",
-        "lib2to3",
-        "linecache",
-        "locale",
-        "logging",
-        "lzma",
-        "mailbox",
-        "mailcap",
-        "marshal",
-        "math",
-        "mimetypes",
-        "mmap",
-        "modulefinder",
-        "msilib",
-        "msvcrt",
-        "multiprocessing",
-        "netrc",
-        "nis",
-        "nntplib",
-        "ntpath",
-        "numbers",
-        "operator",
-        "optparse",
-        "os",
-        "ossaudiodev",
-        "parser",
-        "pathlib",
-        "pdb",
-        "pickle",
-        "pickletools",
-        "pipes",
-        "pkgutil",
-        "platform",
-        "plistlib",
-        "poplib",
-        "posix",
-        "posixpath",
-        "pprint",
-        "profile",
-        "pstats",
-        "pty",
-        "pwd",
-        "py_compile",
-        "pyclbr",
-        "pydoc",
-        "queue",
-        "quopri",
-        "random",
-        "re",
-        "readline",
-        "reprlib",
-        "resource",
-        "rlcompleter",
-        "runpy",
-        "sched",
-        "secrets",
-        "select",
-        "selectors",
-        "shelve",
-        "shlex",
-        "shutil",
-        "signal",
-        "site",
-        "smtpd",
-        "smtplib",
-        "sndhdr",
-        "socket",
-        "socketserver",
-        "spwd",
-        "sqlite3",
-        "sre",
-        "sre_compile",
-        "sre_constants",
-        "sre_parse",
-        "ssl",
-        "stat",
-        "statistics",
-        "string",
-        "stringprep",
-        "struct",
-        "subprocess",
-        "sunau",
-        "symbol",
-        "symtable",
-        "sys",
-        "sysconfig",
-        "syslog",
-        "tabnanny",
-        "tarfile",
-        "telnetlib",
-        "tempfile",
-        "termios",
-        "test",
-        "textwrap",
-        "threading",
-        "time",
-        "timeit",
-        "tkinter",
-        "token",
-        "tokenize",
-        "trace",
-        "traceback",
-        "tracemalloc",
-        "tty",
-        "turtle",
-        "turtledemo",
-        "types",
-        "typing",
-        "unicodedata",
-        "unittest",
-        "urllib",
-        "uu",
-        "uuid",
-        "venv",
-        "warnings",
-        "wave",
-        "weakref",
-        "webbrowser",
-        "winreg",
-        "winsound",
-        "wsgiref",
-        "xdrlib",
-        "xml",
-        "xmlrpc",
-        "zipapp",
-        "zipfile",
-        "zipimport",
-        "zlib",
-    },
+stdlib_python_3_8 = {
+    "_ast",
+    "_dummy_thread",
+    "_thread",
+    "abc",
+    "aifc",
+    "argparse",
+    "array",
+    "ast",
+    "asynchat",
+    "asyncio",
+    "asyncore",
+    "atexit",
+    "audioop",
+    "base64",
+    "bdb",
+    "binascii",
+    "binhex",
+    "bisect",
+    "builtins",
+    "bz2",
+    "cProfile",
+    "calendar",
+    "cgi",
+    "cgitb",
+    "chunk",
+    "cmath",
+    "cmd",
+    "code",
+    "codecs",
+    "codeop",
+    "collections",
+    "colorsys",
+    "compileall",
+    "concurrent",
+    "configparser",
+    "contextlib",
+    "contextvars",
+    "copy",
+    "copyreg",
+    "crypt",
+    "csv",
+    "ctypes",
+    "curses",
+    "dataclasses",
+    "datetime",
+    "dbm",
+    "decimal",
+    "difflib",
+    "dis",
+    "distutils",
+    "doctest",
+    "dummy_threading",
+    "email",
+    "encodings",
+    "ensurepip",
+    "enum",
+    "errno",
+    "faulthandler",
+    "fcntl",
+    "filecmp",
+    "fileinput",
+    "fnmatch",
+    "formatter",
+    "fractions",
+    "ftplib",
+    "functools",
+    "gc",
+    "getopt",
+    "getpass",
+    "gettext",
+    "glob",
+    "grp",
+    "gzip",
+    "hashlib",
+    "heapq",
+    "hmac",
+    "html",
+    "http",
+    "imaplib",
+    "imghdr",
+    "imp",
+    "importlib",
+    "inspect",
+    "io",
+    "ipaddress",
+    "itertools",
+    "json",
+    "keyword",
+    "lib2to3",
+    "linecache",
+    "locale",
+    "logging",
+    "lzma",
+    "mailbox",
+    "mailcap",
+    "marshal",
+    "math",
+    "mimetypes",
+    "mmap",
+    "modulefinder",
+    "msilib",
+    "msvcrt",
+    "multiprocessing",
+    "netrc",
+    "nis",
+    "nntplib",
+    "ntpath",
+    "numbers",
+    "operator",
+    "optparse",
+    "os",
+    "ossaudiodev",
+    "parser",
+    "pathlib",
+    "pdb",
+    "pickle",
+    "pickletools",
+    "pipes",
+    "pkgutil",
+    "platform",
+    "plistlib",
+    "poplib",
+    "posix",
+    "posixpath",
+    "pprint",
+    "profile",
+    "pstats",
+    "pty",
+    "pwd",
+    "py_compile",
+    "pyclbr",
+    "pydoc",
+    "queue",
+    "quopri",
+    "random",
+    "re",
+    "readline",
+    "reprlib",
+    "resource",
+    "rlcompleter",
+    "runpy",
+    "sched",
+    "secrets",
+    "select",
+    "selectors",
+    "shelve",
+    "shlex",
+    "shutil",
+    "signal",
+    "site",
+    "smtpd",
+    "smtplib",
+    "sndhdr",
+    "socket",
+    "socketserver",
+    "spwd",
+    "sqlite3",
+    "sre",
+    "sre_compile",
+    "sre_constants",
+    "sre_parse",
+    "ssl",
+    "stat",
+    "statistics",
+    "string",
+    "stringprep",
+    "struct",
+    "subprocess",
+    "sunau",
+    "symbol",
+    "symtable",
+    "sys",
+    "sysconfig",
+    "syslog",
+    "tabnanny",
+    "tarfile",
+    "telnetlib",
+    "tempfile",
+    "termios",
+    "test",
+    "textwrap",
+    "threading",
+    "time",
+    "timeit",
+    "tkinter",
+    "token",
+    "tokenize",
+    "trace",
+    "traceback",
+    "tracemalloc",
+    "tty",
+    "turtle",
+    "turtledemo",
+    "types",
+    "typing",
+    "unicodedata",
+    "unittest",
+    "urllib",
+    "uu",
+    "uuid",
+    "venv",
+    "warnings",
+    "wave",
+    "weakref",
+    "webbrowser",
+    "winreg",
+    "winsound",
+    "wsgiref",
+    "xdrlib",
+    "xml",
+    "xmlrpc",
+    "zipapp",
+    "zipfile",
+    "zipimport",
+    "zlib",
 }
+
+
+def omit(data: set, keys: set) -> set:
+    return {k for k in data if k not in keys}
+
+
+def union(stdlib: set, news: set, removed: set) -> set:
+    return omit(stdlib.union(news), removed)
+
+
+def with_extras(stdlib: set) -> set:
+    extras = {"__future__", "pkg_resources"}
+
+    return stdlib.union(extras)
+
+
+def to_py39(stdlib: set) -> set:
+    news = {"graphlib", "zoneinfo"}
+    removed = {"_dummy_thread", "dummy_threading"}
+
+    return union(stdlib, news, removed)
+
+
+def to_py310(stdlib: set) -> set:
+    news = {"idlelib"}
+    removed = {"formatter", "parser", "symbol"}
+
+    return union(stdlib, news, removed)
+
+
+def to_py311(stdlib: set) -> set:
+    news = {"tomllib"}
+    removed = {"binhex"}
+
+    return union(stdlib, news, removed)
+
+
+py38 = with_extras(stdlib_python_3_8)
+py39 = to_py39(py38)
+py310 = to_py310(py39)
+py311 = to_py311(py310)
+
+
+standard_libs = {"3.8": py38, "3.9": py39, "3.10": py310, "3.11": py311}
diff --git a/projects/poetry_polylith_plugin/pyproject.toml b/projects/poetry_polylith_plugin/pyproject.toml
index 187d755..e22af2d 100644
--- a/projects/poetry_polylith_plugin/pyproject.toml
+++ b/projects/poetry_polylith_plugin/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "poetry-polylith-plugin"
-version = "1.5.1"
+version = "1.5.2"
 description = "A Poetry plugin that adds tooling support for the Polylith Architecture"
 authors = ["David Vujic"]
 homepage = "https://davidvujic.github.io/python-polylith-docs/"


Test patch:
diff --git a/test/components/polylith/libs/test_stdlib.py b/test/components/polylith/libs/test_stdlib.py
new file mode 100644
index 0000000..a9097fc
--- /dev/null
+++ b/test/components/polylith/libs/test_stdlib.py
@@ -0,0 +1,32 @@
+from polylith.libs import stdlib
+
+
+def test_stdlib_extras():
+    py = stdlib.standard_libs["3.11"]
+
+    assert "__future__" in py
+    assert "pkg_resources" in py
+
+
+def test_stdlib_3_9():
+    py38 = stdlib.standard_libs["3.8"]
+    py39 = stdlib.standard_libs["3.9"]
+
+    assert py38.difference(py39) == {"_dummy_thread", "dummy_threading"}
+    assert py39.difference(py38) == {"graphlib", "zoneinfo"}
+
+
+def test_stdlib_3_10():
+    py39 = stdlib.standard_libs["3.9"]
+    py310 = stdlib.standard_libs["3.10"]
+
+    assert py39.difference(py310) == {"formatter", "parser", "symbol"}
+    assert py310.difference(py39) == {"idlelib"}
+
+
+def test_stdlib_3_11():
+    py310 = stdlib.standard_libs["3.10"]
+    py311 = stdlib.standard_libs["3.11"]
+
+    assert py310.difference(py311) == {"binhex"}
+    assert py311.difference(py310) == {"tomllib"}