| Name | xmod JSON | 
| Version | 1.8.1  JSON | 
|  | download | 
| home_page | https://github.com/rec/xmod | 
| Summary | 🌱 Turn any object into a module 🌱 | 
            | upload_time | 2024-01-04 18:03:17 | 
            | maintainer |  | 
            
            | docs_url | None | 
            | author | Tom Ritchford | 
            
            | requires_python | >=3.8 | 
            
            
            | license | MIT | 
            | keywords |  | 
            | VCS |  | 
            | bugtrack_url |  | 
            | requirements | No requirements were recorded. | 
            
| Travis-CI |   | 
            | coveralls test coverage | No coveralls. | 
        
        
            
            # 🌱 Turn any object into a module 🌱
Callable modules!  Indexable modules!?
Ever wanted to call a module directly, or index it?  Or just sick of seeing
`from foo import foo` in your examples?
Give your module the awesome power of an object, or maybe just save a
little typing, with `xmod`.
`xmod` is a tiny library that lets a module to do things that normally
only a class could do - handy for modules that "just do one thing".
## Example: Make a module callable like a function!
    # In your_module.py
    import xmod
    @xmod
    def a_function():
        return 'HERE!!'
    # Test at the command line
    >>> import your_module
    >>> your_module()
    HERE!!
## Example: Make a module look like a list!?!
    # In your_module.py
    import xmod
    xmod(list(), __name__)
    # Test at the command line
    >>> import your_module
    >>> assert your_module == []
    >>> your_module.extend(range(3))
    >>> print(your_module)
    [0, 1, 2]
### [API Documentation](https://rec.github.io/xmod#xmod--api-documentation)
            
         
        Raw data
        
            {
    "_id": null,
    "home_page": "https://github.com/rec/xmod",
    "name": "xmod",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Tom Ritchford",
    "author_email": "tom@swirly.com",
    "download_url": "https://files.pythonhosted.org/packages/72/b2/e3edc608823348e628a919e1d7129e641997afadd946febdd704aecc5881/xmod-1.8.1.tar.gz",
    "platform": null,
    "description": "# \ud83c\udf31 Turn any object into a module \ud83c\udf31\n\nCallable modules!  Indexable modules!?\n\nEver wanted to call a module directly, or index it?  Or just sick of seeing\n`from foo import foo` in your examples?\n\nGive your module the awesome power of an object, or maybe just save a\nlittle typing, with `xmod`.\n\n`xmod` is a tiny library that lets a module to do things that normally\nonly a class could do - handy for modules that \"just do one thing\".\n\n## Example: Make a module callable like a function!\n\n    # In your_module.py\n    import xmod\n\n    @xmod\n    def a_function():\n        return 'HERE!!'\n\n\n    # Test at the command line\n    >>> import your_module\n    >>> your_module()\n    HERE!!\n\n## Example: Make a module look like a list!?!\n\n    # In your_module.py\n    import xmod\n\n    xmod(list(), __name__)\n\n    # Test at the command line\n    >>> import your_module\n    >>> assert your_module == []\n    >>> your_module.extend(range(3))\n    >>> print(your_module)\n    [0, 1, 2]\n\n\n### [API Documentation](https://rec.github.io/xmod#xmod--api-documentation)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "\ud83c\udf31 Turn any object into a module \ud83c\udf31",
    "version": "1.8.1",
    "project_urls": {
        "Documentation": "https://rec.github.io/xmod",
        "Homepage": "https://github.com/rec/xmod",
        "Repository": "https://github.com/rec/xmod"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "336b0dc75b64a764ea1cb8e4c32d1fb273c147304d4e5483cd58be482dc62e45",
                "md5": "db0f65ef7f5b0955bf30dc8e10055bcb",
                "sha256": "a24e9458a4853489042522bdca9e50ee2eac5ab75c809a91150a8a7f40670d48"
            },
            "downloads": -1,
            "filename": "xmod-1.8.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "db0f65ef7f5b0955bf30dc8e10055bcb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 4610,
            "upload_time": "2024-01-04T18:03:16",
            "upload_time_iso_8601": "2024-01-04T18:03:16.078414Z",
            "url": "https://files.pythonhosted.org/packages/33/6b/0dc75b64a764ea1cb8e4c32d1fb273c147304d4e5483cd58be482dc62e45/xmod-1.8.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "72b2e3edc608823348e628a919e1d7129e641997afadd946febdd704aecc5881",
                "md5": "25ae43b5a9acb60973849fae1fdb5ed5",
                "sha256": "38c76486b9d672c546d57d8035df0beb7f4a9b088bc3fb2de5431ae821444377"
            },
            "downloads": -1,
            "filename": "xmod-1.8.1.tar.gz",
            "has_sig": false,
            "md5_digest": "25ae43b5a9acb60973849fae1fdb5ed5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 3988,
            "upload_time": "2024-01-04T18:03:17",
            "upload_time_iso_8601": "2024-01-04T18:03:17.663169Z",
            "url": "https://files.pythonhosted.org/packages/72/b2/e3edc608823348e628a919e1d7129e641997afadd946febdd704aecc5881/xmod-1.8.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-04 18:03:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rec",
    "github_project": "xmod",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "xmod"
}