NMSpy


NameNMSpy JSON
Version 147803.0 PyPI version JSON
download
home_pageNone
SummaryNo Man's Sky python modding API
upload_time2025-07-22 12:54:02
maintainermonkeyman192
docs_urlNone
authormonkeyman192
requires_python<3.12,>=3.9
licenseNone
keywords hooking games hacking modding
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NMS.py

NMS.py is a python library to expose interal game functions for No Man's Sky.

**NOTE:** This library is missing a lot of info which will gradually get added over time.
It should also be noted that Game updates can very easily break mods utilising NMS.py, so care should be taken when using mods.
Any responsibility for broken saves is entirely on the users of this library.

Also note that this library will never contain functions relating to online functionality to avoid any abuse.
The author of this library does not condone any use of this code for any purpose that is directly detrimental to other players.

## Installation

**Note:** Before you start: NMS.py can only run on python 3.9 - 3.11 inclusive. Newer versions are not supported due to issues injecting python into them unfortunately.
It is recommended that you download python from the [official site](https://www.python.org/downloads) as the windows store version may have issues, as well as the managed python which [uv](https://docs.astral.sh/uv/) installs.

The recommended way to install NMS.py is to simply run `python -m pip install nmspy`. This will install NMS.py and its' dependency [`pyMHF`](https://github.com/monkeyman192/pyMHF) into your system python. You can of course install it in a venv or as a dependency using uv if you prefer.

## Usage

To run NMS.py, enter the following command into a terminal:
```
pymhf run nmspy
```

This will display some config options to complete. The only option to consider is the location of the mods folder. It is recommended that you specify the `MODS` folder inside the `GAMEDATA` folder as your mod directory (ie. the same one you put normal mods in).
All mods will be placed in either this folder, or in a chcild folder of this. You can essentially think of any mod using NMS.py being able to be "installed" in the same way you would any other normal mod.

If NMS.py starts up successfully you should see two extra windows; an auto-created GUI from pyMHF, and a terminal window which will show the logs for pyMHF.

If you want to stop NMS, you can press `ctrl + C` in the window you started the process in to kill it.

## Writing mods

Currently the best way to see how to write a mod is to look at the `example_mods` folder, as well as looking at the [pyMHF docs](https://monkeyman192.github.io/pyMHF/) which has comprehensive details on how to use pyMHF.

### Credits

Thanks to the developers of minhook, cyminhook and pymem, all of which are instrumental in making this framework possible.

Big thanks to [vitalised](https://github.com/VITALISED) for their constant RE discussions, and [gurren3](https://github.com/gurrenm3) for the same as well as the initial work done on NMS.API which heavily inspired the creation of this.

Thanks also to the many people I have discussed various NMS details with, both big and small.

Thanks to [RaYRoD](https://github.com/RaYRoD-TV) for initially discovering the pdb as well as regular insightful discussions regarding all things reverse engineering NMS.

Thanks also to anyone who has contributed function definitions or patterns. Any and all help is always appreciated!

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "NMSpy",
    "maintainer": "monkeyman192",
    "docs_url": null,
    "requires_python": "<3.12,>=3.9",
    "maintainer_email": null,
    "keywords": "hooking, games, hacking, modding",
    "author": "monkeyman192",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/e6/d5/2361bb012cd6a70240472f26fb0b627cf6bfdb23229b92ef46336d9e194a/nmspy-147803.0.tar.gz",
    "platform": null,
    "description": "# NMS.py\r\n\r\nNMS.py is a python library to expose interal game functions for No Man's Sky.\r\n\r\n**NOTE:** This library is missing a lot of info which will gradually get added over time.\r\nIt should also be noted that Game updates can very easily break mods utilising NMS.py, so care should be taken when using mods.\r\nAny responsibility for broken saves is entirely on the users of this library.\r\n\r\nAlso note that this library will never contain functions relating to online functionality to avoid any abuse.\r\nThe author of this library does not condone any use of this code for any purpose that is directly detrimental to other players.\r\n\r\n## Installation\r\n\r\n**Note:** Before you start: NMS.py can only run on python 3.9 - 3.11 inclusive. Newer versions are not supported due to issues injecting python into them unfortunately.\r\nIt is recommended that you download python from the [official site](https://www.python.org/downloads) as the windows store version may have issues, as well as the managed python which [uv](https://docs.astral.sh/uv/) installs.\r\n\r\nThe recommended way to install NMS.py is to simply run `python -m pip install nmspy`. This will install NMS.py and its' dependency [`pyMHF`](https://github.com/monkeyman192/pyMHF) into your system python. You can of course install it in a venv or as a dependency using uv if you prefer.\r\n\r\n## Usage\r\n\r\nTo run NMS.py, enter the following command into a terminal:\r\n```\r\npymhf run nmspy\r\n```\r\n\r\nThis will display some config options to complete. The only option to consider is the location of the mods folder. It is recommended that you specify the `MODS` folder inside the `GAMEDATA` folder as your mod directory (ie. the same one you put normal mods in).\r\nAll mods will be placed in either this folder, or in a chcild folder of this. You can essentially think of any mod using NMS.py being able to be \"installed\" in the same way you would any other normal mod.\r\n\r\nIf NMS.py starts up successfully you should see two extra windows; an auto-created GUI from pyMHF, and a terminal window which will show the logs for pyMHF.\r\n\r\nIf you want to stop NMS, you can press `ctrl + C` in the window you started the process in to kill it.\r\n\r\n## Writing mods\r\n\r\nCurrently the best way to see how to write a mod is to look at the `example_mods` folder, as well as looking at the [pyMHF docs](https://monkeyman192.github.io/pyMHF/) which has comprehensive details on how to use pyMHF.\r\n\r\n### Credits\r\n\r\nThanks to the developers of minhook, cyminhook and pymem, all of which are instrumental in making this framework possible.\r\n\r\nBig thanks to [vitalised](https://github.com/VITALISED) for their constant RE discussions, and [gurren3](https://github.com/gurrenm3) for the same as well as the initial work done on NMS.API which heavily inspired the creation of this.\r\n\r\nThanks also to the many people I have discussed various NMS details with, both big and small.\r\n\r\nThanks to [RaYRoD](https://github.com/RaYRoD-TV) for initially discovering the pdb as well as regular insightful discussions regarding all things reverse engineering NMS.\r\n\r\nThanks also to anyone who has contributed function definitions or patterns. Any and all help is always appreciated!\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "No Man's Sky python modding API",
    "version": "147803.0",
    "project_urls": {
        "Homepage": "https://github.com/monkeyman192/NMS.py",
        "Repository": "https://github.com/monkeyman192/NMS.py.git"
    },
    "split_keywords": [
        "hooking",
        " games",
        " hacking",
        " modding"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "618f471df6007694b32c1461efe595fde7a9127d991465b4052aae5a0b409878",
                "md5": "36d0526b9fe66417eb70f0f0ce28bf04",
                "sha256": "74afebd0130c2e62743a5840b0f1332addfc07b98bc1a5a6e52c4e366f2bb316"
            },
            "downloads": -1,
            "filename": "nmspy-147803.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "36d0526b9fe66417eb70f0f0ce28bf04",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.9",
            "size": 61472,
            "upload_time": "2025-07-22T12:54:01",
            "upload_time_iso_8601": "2025-07-22T12:54:01.279328Z",
            "url": "https://files.pythonhosted.org/packages/61/8f/471df6007694b32c1461efe595fde7a9127d991465b4052aae5a0b409878/nmspy-147803.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e6d52361bb012cd6a70240472f26fb0b627cf6bfdb23229b92ef46336d9e194a",
                "md5": "1b8dbf701b23078a6d2c54ea89ce6350",
                "sha256": "56a66137ddc1611b58f34476ad32a92e8bbf0ff1944719581a42f7522ddfdade"
            },
            "downloads": -1,
            "filename": "nmspy-147803.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1b8dbf701b23078a6d2c54ea89ce6350",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.9",
            "size": 158574,
            "upload_time": "2025-07-22T12:54:02",
            "upload_time_iso_8601": "2025-07-22T12:54:02.406816Z",
            "url": "https://files.pythonhosted.org/packages/e6/d5/2361bb012cd6a70240472f26fb0b627cf6bfdb23229b92ef46336d9e194a/nmspy-147803.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-22 12:54:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "monkeyman192",
    "github_project": "NMS.py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nmspy"
}
        
Elapsed time: 1.17288s