# Nuitka-winsvc User Manual
![PyPI](https://img.shields.io/pypi/v/Nuitka-winsvc) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Nuitka-winsvc) ![License](https://img.shields.io/github/license/tabris17/Nuitka-winsvc)
Nuitka-winsvc is a forked version of Nuitka, it supports compiling EXE as a Windows service.
## Install
You can install Nuitka-winsvc by pip:
```shell
pip install nuitka-winsvc
```
## Usage
In addition to supporting all the command line arguments of Nuitka, Nuitka-winsvc also provides 7 additional arguments for compiling the Windows services:
- `--windows-service`
Enable Windows service mode, works only when compiling for Windows and **onefile** mode enabled.
- `--windows-service-name`
Name of the Windows service. If not provided, the target program name will be used as the service name.
- `--windows-service-display-name`
Display name of the Windows service. If not provided, the product name will be attempted to use.
- `--windows-service-description`
Description of the Windows service. If not provided, the file description will be attempted to use.
- `--windows-service-cmdline`
Additional command line arguments that will be passed to the service, such as `--config config.json --output output.log` .
- `--windows-service-install`
Windows service installation command-line argument. Default value is `install` .
- `--windows-service-uninstall`
Windows service uninstallation command-line argument. Default value is `uninstall` .
Use the following command to build a Windows service:
```shell
python -m nuitka --onefile --output-dir=build --windows-service --windows-service-name=myservice --windows-service-display-name="My Service" --windows-service-description="This is the description of my service" --windows-service-cmdline="-c config.yml -o output.log" --windows-service-install=install --windows-service-uninstall=uninstall main.py
```
When the python program is compiled successfully, you can use the following command to install the service:
```shell
.\main.exe install
```
Also you can use the following command to uninstall the service:
```shell
.\main.exe uninstall
```
Note: Administrator privileges is required when installing and uninstalling the Windows services. You should run the above commands as administrator.
The compiled EXE executable file can be run both as a Windows service and as a regular Windows program. However, it is important to note that the Windows service installation and uninstallation command-line arguments which specified by `--windows-service-install` and `--windows-service-uninstall` of Nuitka-winsvc compilation arguments will override the original behavior of the program. Therefore, the compiled Python program should avoid using the same command line arguments.
Raw data
{
"_id": null,
"home_page": "https://github.com/tabris17/Nuitka-winsvc",
"name": "Nuitka-winsvc",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "windows service, compiler, python, nuitka",
"author": "tabris17",
"author_email": "tabris17.cn@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/1f/ab/d52a1e0a294e0bdce9ef3fd2e867da5b097dbec3bfa8d62e519a72224c31/nuitka_winsvc-2.5.6.tar.gz",
"platform": null,
"description": "# Nuitka-winsvc User Manual\r\r\n\r\r\n![PyPI](https://img.shields.io/pypi/v/Nuitka-winsvc) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Nuitka-winsvc) ![License](https://img.shields.io/github/license/tabris17/Nuitka-winsvc) \r\r\n\r\r\nNuitka-winsvc is a forked version of Nuitka, it supports compiling EXE as a Windows service. \r\r\n\r\r\n## Install\r\r\n\r\r\nYou can install Nuitka-winsvc by pip: \r\r\n\r\r\n```shell\r\r\npip install nuitka-winsvc\r\r\n```\r\r\n\r\r\n## Usage\r\r\n\r\r\nIn addition to supporting all the command line arguments of Nuitka, Nuitka-winsvc also provides 7 additional arguments for compiling the Windows services:\r\r\n\r\r\n- `--windows-service` \r\r\n Enable Windows service mode, works only when compiling for Windows and **onefile** mode enabled.\r\r\n- `--windows-service-name` \r\r\n Name of the Windows service. If not provided, the target program name will be used as the service name.\r\r\n- `--windows-service-display-name` \r\r\n Display name of the Windows service. If not provided, the product name will be attempted to use.\r\r\n- `--windows-service-description` \r\r\n Description of the Windows service. If not provided, the file description will be attempted to use.\r\r\n- `--windows-service-cmdline` \r\r\n Additional command line arguments that will be passed to the service, such as `--config config.json --output output.log` .\r\r\n- `--windows-service-install` \r\r\n Windows service installation command-line argument. Default value is `install` .\r\r\n- `--windows-service-uninstall` \r\r\n Windows service uninstallation command-line argument. Default value is `uninstall` .\r\r\n\r\r\nUse the following command to build a Windows service:\r\r\n\r\r\n```shell\r\r\npython -m nuitka --onefile --output-dir=build --windows-service --windows-service-name=myservice --windows-service-display-name=\"My Service\" --windows-service-description=\"This is the description of my service\" --windows-service-cmdline=\"-c config.yml -o output.log\" --windows-service-install=install --windows-service-uninstall=uninstall main.py\r\r\n```\r\r\n\r\r\nWhen the python program is compiled successfully, you can use the following command to install the service:\r\r\n\r\r\n```shell\r\r\n.\\main.exe install\r\r\n```\r\r\n\r\r\nAlso you can use the following command to uninstall the service:\r\r\n\r\r\n```shell\r\r\n.\\main.exe uninstall\r\r\n```\r\r\n\r\r\nNote: Administrator privileges is required when installing and uninstalling the Windows services. You should run the above commands as administrator. \r\r\n\r\r\nThe compiled EXE executable file can be run both as a Windows service and as a regular Windows program. However, it is important to note that the Windows service installation and uninstallation command-line arguments which specified by `--windows-service-install` and `--windows-service-uninstall` of Nuitka-winsvc compilation arguments will override the original behavior of the program. Therefore, the compiled Python program should avoid using the same command line arguments.\r\r\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "Nuitka but support compile as Windows service",
"version": "2.5.6",
"project_urls": {
"Homepage": "https://github.com/tabris17/Nuitka-winsvc",
"Source": "https://github.com/tabris17/Nuitka-winsvc"
},
"split_keywords": [
"windows service",
" compiler",
" python",
" nuitka"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d44c6ddb8d5fa10771e4bb6c0d1476bb686c3a8e7c41beadc7f6ff9eba6b9d41",
"md5": "530594d3925b385c3941e0bdf14511ad",
"sha256": "fe79dac109215ff8c9357e554b23bfa0fe55f41719c5d1b0f99c308e36d209fb"
},
"downloads": -1,
"filename": "Nuitka_winsvc-2.5.6-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "530594d3925b385c3941e0bdf14511ad",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3453523,
"upload_time": "2024-12-16T02:35:08",
"upload_time_iso_8601": "2024-12-16T02:35:08.844456Z",
"url": "https://files.pythonhosted.org/packages/d4/4c/6ddb8d5fa10771e4bb6c0d1476bb686c3a8e7c41beadc7f6ff9eba6b9d41/Nuitka_winsvc-2.5.6-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1fabd52a1e0a294e0bdce9ef3fd2e867da5b097dbec3bfa8d62e519a72224c31",
"md5": "98c8dc039a86f505dad1f7539186ba7b",
"sha256": "ed208dd73dca186dd71fc08c394625881c5ac5e011adc6c6655a3d6b435c5f34"
},
"downloads": -1,
"filename": "nuitka_winsvc-2.5.6.tar.gz",
"has_sig": false,
"md5_digest": "98c8dc039a86f505dad1f7539186ba7b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3731856,
"upload_time": "2024-12-16T02:35:13",
"upload_time_iso_8601": "2024-12-16T02:35:13.841445Z",
"url": "https://files.pythonhosted.org/packages/1f/ab/d52a1e0a294e0bdce9ef3fd2e867da5b097dbec3bfa8d62e519a72224c31/nuitka_winsvc-2.5.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-16 02:35:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tabris17",
"github_project": "Nuitka-winsvc",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "appdirs",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "ordered-set",
"specs": [
[
"==",
"4.1.0"
]
]
},
{
"name": "orderedset",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "orderedset",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "orderedset",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "subprocess32",
"specs": []
},
{
"name": "zstandard",
"specs": [
[
">=",
"0.15"
]
]
},
{
"name": "pyyaml",
"specs": []
},
{
"name": "Jinja2",
"specs": [
[
">=",
"2.10.2"
]
]
}
],
"lcname": "nuitka-winsvc"
}