Skip to main content

ModX — The Python Module Universe at Your Fingertips

Project description

🌟 ModXPy — The Python Module Universe at Your Fingertips

Welcome to ModXPy, the ultimate playground for Python’s modules.
With ModXPy you can instantly import, explore, and experiment with the entire Python standard library — plus any installed third-party modules — all from one simple interface.

UPDATE 2.5.1

YET ANOTHER QOL UPDATE!

New 95% automatic, 5% manual test suite is here!

Comparison: Before (2.5.0):

  Manual test updates for every new function

  12-14 seconds to run

  Easy to forget tests

  "Why is this failing? Oh, I forgot to update the tests..."

  After (2.5.1):

  Auto-discovers all functions using introspection

  0.45 seconds to run (96% faster!)

  Zero maintenance — add a function, it's automatically tested

  Smart categorization:

  1.) Functions with required args → manually tested

  2.) State-modifying functions → skipped from auto-test

  3.) Safe functions → fully auto-tested

  Special cases preserved for complex functions

  75% less code for test suite!

  importexternal in test suite will no longer open pygame windows!

Added new keys for as_data = True for timesinse!

1.): modx_dep: Shows if this module is a dependency of ModX

2.): seconds_after_modx: exactly how it sounds; shows how many seconds between this module load and ModX load.

🚀 Installation and Importing

IMPORTANT: Before you install ModX, you MUST first (if not already) run "pip install packaging" inside of powershell/terminal. ModX will NOT work without the packaging module.

Install directly from terminal.

Type: "pip install modxpy"

In Python, import as import modx (not modxpy)

Functions:

🔹 dependencies(module, as_data=False)

Shows what other modules a specific module depends on without importing it.

🔹 importall(show_imported=False, as_data=False)

Imports about every standard library module at once.

🔹 importexternal(show_imported=False, as_data=False)

Attempts to import every third-party module you currently have installed.

🔹 importletter(letter, show_imported=False, as_data=False)

Imports all standard library modules whose names start with the given letter (case-insensitive).

🔹 importlog(include_deps=False, as_data=False)

Shows every module imported since ModX loaded in CHRONOLOGICAL order.

include_deps=True: Includes ModX's dependencies in the list.

🔹 importrandom(n, strict_mode=False, show_imported=False, as_data=False)

Imports n random stdlib modules.

strict_mode=False: May import less than n due to dependencies.

strict_mode=True: Forces import until EXACTLY n NEW modules.

🔹 importscreen(show_imported=False, as_data=False)

Imports every module that uses a screen/GUI (like pygame or turtle).

🔹 info(module_name, as_data=False)

Shows basic info about a module: file path, built-in status, full docstring.

🔹 isimported(module)

Checks if a module is currently imported into the Python shell (not just sys.modules).

🔹 listimportall(as_data=False)

Returns a list of modules that import_all() would import.

🔹 modbench(module, as_data=False)

Shows how much time and memory a module takes to import.

Note: The module IS imported, and cache is cleared before each benchmark.

🔹 modclasses(module, as_data=False)

Shows how many and what classes a module has WITHOUT importing it.

🔹 modfunctions(module, as_data=False)

Shows how many and what functions a module has WITHOUT importing it.

🔹 modglobals(module, show_private=False, export=None, as_data=False)

Shows a module's global names (not functions/classes/modules).

show_private=True: Includes names starting with '_'.

export=filename.md: Exports results as Markdown.

🔹 modorigin(module, as_data=False)

Shows where a module came from (e.g., built-in, standard library, or pip-installed).

🔹 modsloaded()

Shows how many modules are currently loaded in your Python session.

🔹 modxhelp(export=None, compact=False, banner=True)

Shows ModX's built-in help dialogue.

export=filename.md: Exports help as Markdown.

compact=True: Shows single-line summaries only.

banner=False: Hides the ASCII banner.

🔹 modximported(as_data=False)

Lists modules that were ONLY imported by ModX — NOT including user imports or dependencies.

🔹 nonimported(as_data=False)

Returns a list of STANDARD LIBRARY modules that have NOT been imported yet.

🔹 preloaded(show_builtins=True, show_internal=False, show_submodules=False, as_data=False)

Shows modules pre-loaded by Python before ModX started.

show_builtins=False: Hides built-in modules.

show_internal=True: Shows modules starting with '_'.

show_submodules=True: Includes submodules (names with '.').

🔹 revdeps(module, as_data=False)

Shows what modules import the given module WITHOUT importing it.

🔹 searchmodules(keyword, as_data=False)

Searches for modules whose names contain the keyword.

🔹 timesince(module, as_data = False)

Shows WHEN a module was loaded in relative to when ModX loaded.

🔹 vcompat(module_name, python_version=None, as_data=False)

Checks if a module is compatible with a given Python version.

If no version is given, sweeps ALL Python versions 2.0–3.14.

🔹 whyloaded(module, as_data=False)

Returns a comma-separated string explaining why a module is in memory.

Tags: not_loaded, preloaded, user, referenced, modx, modx_dep, dependency or unknown

Rule: user swallows referenced.

💡 Why Use ModX?

1.) Understand your imports

  Know why a module was loaded (whyloaded()), when it appeared (timesince()), and where it came from (modorigin()).

2.) Get real data, not just printed tables

  Every function has as_data mode — return clean Python lists/dicts for your own code.

3.) Stress-test your environment

  Bulk-import hundreds of modules at once with importall() and see what breaks.

4.) Discover hidden dependencies

  See what your imports actually depend on with dependencies() and revdeps().

5.) Experiment and learn

  Random imports, compatibility checking, performance benchmarking — turn Python into a playground.

6.) Track everything

  Chronological import logs, preloaded module lists, timestamp tracking — nothing stays hidden.

ModXPy turns Python’s module system into a playground — perfect for learning, testing, or just satisfying your curiosity. Install it today with pip install modxpy, import it with import modx, and start discovering how many modules Python already has waiting for you!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modxpy-2.5.1.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modxpy-2.5.1-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file modxpy-2.5.1.tar.gz.

File metadata

  • Download URL: modxpy-2.5.1.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for modxpy-2.5.1.tar.gz
Algorithm Hash digest
SHA256 51f16d4f08a2704b4c8cd1d50a4804174b8e32ca509db60d42a8bc3750021a43
MD5 bbfce0d445eab9d5b7d8ed0bbbbc9d6a
BLAKE2b-256 fac1627d4b52b7fe8ae5b9d67f6b18e8d262d766138d790b9611cb47f9ea4577

See more details on using hashes here.

File details

Details for the file modxpy-2.5.1-py3-none-any.whl.

File metadata

  • Download URL: modxpy-2.5.1-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for modxpy-2.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 81e4ee2b3e7e39b56ea52248fb41854a5364e9b164d4dd837798d8c97c29c092
MD5 9292afba97663b1f9ff84b48d87f8230
BLAKE2b-256 cd96859f2c9221e380e2a6bc225396cea5078d8a1b0399ae6b187fad25a74af0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page