pywalker


Namepywalker JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryA utility for discovering and importing Python modules in a package or directory.
upload_time2025-08-02 09:38:45
maintainerNone
docs_urlNone
authoreyueldk
requires_python>=3.9
licenseMIT
keywords dynamic import import module discovery python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Usage

## Importing all modules


You can import all modules under a given root directory, package, or module:

```python
import mypackage  # your package or module
from pywalker import import_modules
import_modules(mypackage)
```

## Filtering with patterns


You can filter which modules are imported using an fnmatch pattern (or list of patterns):


```python
import mypackage
import_modules(mypackage, patterns='utils*')
import_modules(mypackage, patterns=['core*', 'utils*'])
```

## Walking modules without importing

To just get the module names (without importing them):


```python
import mypackage
from pywalker import walk_modules
for name in walk_modules(mypackage, patterns='*test*'):
    print(name)
```

## Pattern argument

The `patterns` argument uses Unix shell-style wildcards (see Python's `fnmatch`):

- `*` matches everything
- `?` matches any single character
- `[seq]` matches any character in seq
- `[!seq]` matches any character not in seq

Examples:

- `'core*'` matches modules starting with `core`
- `'*test*'` matches modules containing `test`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pywalker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "dynamic import, import, module discovery, python",
    "author": "eyueldk",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f8/61/ae52a217a5d8aab73034fb4a5644dc0c4cdbaf604517e729b8ddb952644b/pywalker-0.1.3.tar.gz",
    "platform": null,
    "description": "# Usage\n\n## Importing all modules\n\n\nYou can import all modules under a given root directory, package, or module:\n\n```python\nimport mypackage  # your package or module\nfrom pywalker import import_modules\nimport_modules(mypackage)\n```\n\n## Filtering with patterns\n\n\nYou can filter which modules are imported using an fnmatch pattern (or list of patterns):\n\n\n```python\nimport mypackage\nimport_modules(mypackage, patterns='utils*')\nimport_modules(mypackage, patterns=['core*', 'utils*'])\n```\n\n## Walking modules without importing\n\nTo just get the module names (without importing them):\n\n\n```python\nimport mypackage\nfrom pywalker import walk_modules\nfor name in walk_modules(mypackage, patterns='*test*'):\n    print(name)\n```\n\n## Pattern argument\n\nThe `patterns` argument uses Unix shell-style wildcards (see Python's `fnmatch`):\n\n- `*` matches everything\n- `?` matches any single character\n- `[seq]` matches any character in seq\n- `[!seq]` matches any character not in seq\n\nExamples:\n\n- `'core*'` matches modules starting with `core`\n- `'*test*'` matches modules containing `test`\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A utility for discovering and importing Python modules in a package or directory.",
    "version": "0.1.3",
    "project_urls": {
        "homepage": "https://github.com/eyueldk/pywalker",
        "repository": "https://github.com/eyueldk/pywalker"
    },
    "split_keywords": [
        "dynamic import",
        " import",
        " module discovery",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b869478ccda7992fde03fdefde4830d7f047848777313b404b7993586187b7a5",
                "md5": "00f13b3269066e158c19858205417108",
                "sha256": "6ffaf72640c48f73b2138b841027975cd421fff324f768baa2997a17e6b10a08"
            },
            "downloads": -1,
            "filename": "pywalker-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "00f13b3269066e158c19858205417108",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 2214,
            "upload_time": "2025-08-02T09:38:44",
            "upload_time_iso_8601": "2025-08-02T09:38:44.843565Z",
            "url": "https://files.pythonhosted.org/packages/b8/69/478ccda7992fde03fdefde4830d7f047848777313b404b7993586187b7a5/pywalker-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f861ae52a217a5d8aab73034fb4a5644dc0c4cdbaf604517e729b8ddb952644b",
                "md5": "f8ecbec937d16b3ee5f6a1a5b3bf6fe8",
                "sha256": "5a7aaa81d49814bb585b91e7c7ef744969f0e8d34b61bfd12f5fc3ad8ad5d1a4"
            },
            "downloads": -1,
            "filename": "pywalker-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "f8ecbec937d16b3ee5f6a1a5b3bf6fe8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 4038,
            "upload_time": "2025-08-02T09:38:45",
            "upload_time_iso_8601": "2025-08-02T09:38:45.736639Z",
            "url": "https://files.pythonhosted.org/packages/f8/61/ae52a217a5d8aab73034fb4a5644dc0c4cdbaf604517e729b8ddb952644b/pywalker-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-02 09:38:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "eyueldk",
    "github_project": "pywalker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pywalker"
}
        
Elapsed time: 0.98844s