Name | simple-dhcp-server JSON |
Version |
1.0.3
JSON |
| download |
home_page | None |
Summary | Very simple DHCP server written in Python. |
upload_time | 2025-02-18 21:13:28 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | The MIT License (MIT)
Copyright (c) 2016 Nicco Kunzmann
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. |
keywords |
lan
dhcp
discover
logging
raspberry-pi
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Simple DHCP Server
[Download][releases]
This is a purely Python DHCP server that does not require any additional libraries or installs other that Python 3.
It was testet under Ubuntu 14 with Python and Windows 7. It does not use any operating system specific Python functions, so it should work when Python 3 works.

dhcpgui lists MAC address, IP address and host name.
This DHCP server program will assign IP addresses ten seconds after it received packets from clients. So it can be used in networks that already have a dhcp server running.
This Python DHCP server
- shows clients in the network
- lists IP address, Mac address and host name
- highlights recently refreshed/added clients
- assigns IP addresses 10 seconds later than usual DHCP servers
- remembers addresses in the `hosts.csv` file.
- can be configured to serve all DHCP options using Python
Contributions welcome!
If you find a bug, please open an [issue].
## Windows
You can install this software by downloading the [release][releases] named `Simple-DHCP-Server-Windows-X.Y.Z.zip` file.
Unpack the zip file, you will find an executable `.exe` file inside.
You might need to unblock the file:

## Linux
There are several ways to install this under Linux:
### QT
You can use the new QT GUI:
```sh
pip install simple-dhcp-server[qt]
```
Start:
```sh
sudo simple-dhcp-server-qt
```
### Tkinter
You can use the old Tkinter GUI:
```sh
sudo apt-get install python3 python3-tk
pip install simple-dhcp-server
```
Start:
```sh
sudo simple-dhcp-server-tk
```
## Pipx
Pipx makes installation even nicer because it isolated the app.
1. Install [pipx]
2. Start:
```sh
sudo pipx run --spec simple-dhcp-server[qt] python-dhcp-server-qt
```
[pipx]: https://pipx.pypa.io/stable/installation/
## Related Work
This program was created to find Raspberry Pis in the network.
- [Adafruit-Pi-Finder](https://github.com/adafruit/Adafruit-Pi-Finder) - finde deinen Raspberry Pi im Netzwerk
- [Angry IP](https://angryip.org/) (Windows)
## Changelog
These are the recent changes.
If a version is not released, yet, it can still show up.
You can view the [realeases on GitHub][releases].
### 1.0.3
- Sign Windows Executable
### 1.0.2
- Correct Install description
- Create a different layout for Windows
### 1.0.1
- Correct path for Windows release zip
### 1.0.0
- Add QT Release
- Build windows exe automatically
- Publish to PyPI
- Create GitHub Release
- rename `master` branch to `main`
- Renamed to "Simple DHCP Server"
### 0.9
- Add icon to exe file and application
- Add flatpak build information
### 0.8
- Make text field expandable
- Show error message if DHCP port cannot be accessed
### 0.7
- Prevent duplicate assignment of IP addresses
- Add sliders to the GUI
### 0.6
- Use a queue
- Run in Linux
- Add install description
- Add ability to bind to a fixed IP address
### 0.5
- Fix issue with delay worker
### 0.4
- Fix issue with delay worker
- Add license
### 0.3
- Also show old values
- Random IP assignment when address space is full
### 0.2
- Add .exe file
- Add width and height
### 0.1
- Mark new entries as yellow
- Initial release
## New Releases
When the source code is changed, create a new release.
1. Log the changes: Edit the Changelog Section in
- `README.md`
- `python_dhcp_server/flatpak/io.github.niccokunzmann.python_dhcp_server.xml`
```sh
git log # find changes
git add README.md
git commit -m"log changes"
```
2. Create a new tag
```sh
git tag 1.0.3
git push origin 1.0.3
```
3. Head over to [the Flathub metadata](https://github.com/niccokunzmann/io.github.niccokunzmann.python_dhcp_server/)
and create a new release.
[releases]: https://github.com/niccokunzmann/python_dhcp_server/releases
[issue]: https://github.com/niccokunzmann/python_dhcp_server/issues
Raw data
{
"_id": null,
"home_page": null,
"name": "simple-dhcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "Nicco Kunzmann <niccokunzmann@rambler.ru>",
"keywords": "LAN, dhcp, discover, logging, raspberry-pi",
"author": null,
"author_email": "Nicco Kunzmann <niccokunzmann@rambler.ru>",
"download_url": "https://files.pythonhosted.org/packages/b0/3f/59cedb452c15db010c2427879ecf3c441fb3cfc15a5bd9a13469b0fbbe25/simple_dhcp_server-1.0.3.tar.gz",
"platform": null,
"description": "# Simple DHCP Server\n\n[Download][releases]\n\nThis is a purely Python DHCP server that does not require any additional libraries or installs other that Python 3.\n\nIt was testet under Ubuntu 14 with Python and Windows 7. It does not use any operating system specific Python functions, so it should work when Python 3 works.\n\n \ndhcpgui lists MAC address, IP address and host name.\n\nThis DHCP server program will assign IP addresses ten seconds after it received packets from clients. So it can be used in networks that already have a dhcp server running.\n\nThis Python DHCP server\n\n- shows clients in the network\n- lists IP address, Mac address and host name\n- highlights recently refreshed/added clients\n- assigns IP addresses 10 seconds later than usual DHCP servers\n- remembers addresses in the `hosts.csv` file.\n- can be configured to serve all DHCP options using Python\n\nContributions welcome!\nIf you find a bug, please open an [issue].\n\n## Windows\n\nYou can install this software by downloading the [release][releases] named `Simple-DHCP-Server-Windows-X.Y.Z.zip` file.\nUnpack the zip file, you will find an executable `.exe` file inside.\n\nYou might need to unblock the file:\n\n\n\n## Linux\n\nThere are several ways to install this under Linux:\n\n### QT\n\nYou can use the new QT GUI:\n\n```sh\npip install simple-dhcp-server[qt]\n```\n\nStart:\n\n```sh\nsudo simple-dhcp-server-qt\n```\n\n### Tkinter\n\nYou can use the old Tkinter GUI:\n\n```sh\nsudo apt-get install python3 python3-tk\npip install simple-dhcp-server\n```\n\nStart:\n\n```sh\nsudo simple-dhcp-server-tk\n```\n\n## Pipx\n\nPipx makes installation even nicer because it isolated the app.\n\n1. Install [pipx]\n2. Start:\n\n ```sh\n sudo pipx run --spec simple-dhcp-server[qt] python-dhcp-server-qt \n ```\n\n[pipx]: https://pipx.pypa.io/stable/installation/\n\n## Related Work\n\nThis program was created to find Raspberry Pis in the network.\n\n- [Adafruit-Pi-Finder](https://github.com/adafruit/Adafruit-Pi-Finder) - finde deinen Raspberry Pi im Netzwerk\n- [Angry IP](https://angryip.org/) (Windows)\n\n## Changelog\n\nThese are the recent changes.\nIf a version is not released, yet, it can still show up.\nYou can view the [realeases on GitHub][releases].\n\n### 1.0.3\n\n- Sign Windows Executable\n\n### 1.0.2\n\n- Correct Install description\n- Create a different layout for Windows\n\n### 1.0.1\n\n- Correct path for Windows release zip\n\n### 1.0.0\n\n- Add QT Release\n- Build windows exe automatically\n- Publish to PyPI\n- Create GitHub Release\n- rename `master` branch to `main`\n- Renamed to \"Simple DHCP Server\"\n\n### 0.9\n\n- Add icon to exe file and application\n- Add flatpak build information\n\n### 0.8\n\n- Make text field expandable\n- Show error message if DHCP port cannot be accessed\n\n### 0.7\n\n- Prevent duplicate assignment of IP addresses\n- Add sliders to the GUI\n\n### 0.6\n\n- Use a queue\n- Run in Linux\n- Add install description\n- Add ability to bind to a fixed IP address\n\n### 0.5\n\n- Fix issue with delay worker\n\n### 0.4\n\n- Fix issue with delay worker\n- Add license\n\n### 0.3\n\n- Also show old values\n- Random IP assignment when address space is full\n\n### 0.2\n\n- Add .exe file\n- Add width and height\n\n### 0.1\n\n- Mark new entries as yellow\n- Initial release\n\n## New Releases\n\nWhen the source code is changed, create a new release.\n\n1. Log the changes: Edit the Changelog Section in\n\n - `README.md`\n - `python_dhcp_server/flatpak/io.github.niccokunzmann.python_dhcp_server.xml`\n\n ```sh\n git log # find changes\n git add README.md\n git commit -m\"log changes\"\n ```\n\n2. Create a new tag\n\n ```sh\n git tag 1.0.3\n git push origin 1.0.3\n ```\n\n3. Head over to [the Flathub metadata](https://github.com/niccokunzmann/io.github.niccokunzmann.python_dhcp_server/)\n and create a new release.\n\n[releases]: https://github.com/niccokunzmann/python_dhcp_server/releases\n[issue]: https://github.com/niccokunzmann/python_dhcp_server/issues\n",
"bugtrack_url": null,
"license": "The MIT License (MIT)\n \n Copyright (c) 2016 Nicco Kunzmann\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.",
"summary": "Very simple DHCP server written in Python.",
"version": "1.0.3",
"project_urls": {
"Changelog": "https://github.com/niccokunzmann/python_simple_dhcp_server?tab=readme-ov-file#changelog",
"Documentation": "https://github.com/niccokunzmann/python_simple_dhcp_server",
"Homepage": "https://github.com/niccokunzmann/python_simple_dhcp_server",
"Issues": "https://github.com/niccokunzmann/python_simple_dhcp_server/issues",
"Repository": "https://github.com/niccokunzmann/python_simple_dhcp_server/",
"source_archive": "https://github.com/niccokunzmann/python_simple_dhcp_server/archive/7e5b93466518eac9308e83e85fafaa7cd8af06e2.zip"
},
"split_keywords": [
"lan",
" dhcp",
" discover",
" logging",
" raspberry-pi"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "57c53f0d14bc2f47a9f8ffeb9aca2986f9ae4831e308fb05a56d6e57212d3a30",
"md5": "08cf193827fc2bb287ed0076a64cf08c",
"sha256": "04c5c5e25ebd124ff218c9af365a3be31c2b4db31968f90cecc2d7585775c72b"
},
"downloads": -1,
"filename": "simple_dhcp_server-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "08cf193827fc2bb287ed0076a64cf08c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 34529,
"upload_time": "2025-02-18T21:13:27",
"upload_time_iso_8601": "2025-02-18T21:13:27.476295Z",
"url": "https://files.pythonhosted.org/packages/57/c5/3f0d14bc2f47a9f8ffeb9aca2986f9ae4831e308fb05a56d6e57212d3a30/simple_dhcp_server-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b03f59cedb452c15db010c2427879ecf3c441fb3cfc15a5bd9a13469b0fbbe25",
"md5": "9acb6fdf1735d5c9082ebdf74fc30108",
"sha256": "1ea948b05738b5f47ee498d586ec3c9d7587c6eb79a953297b3d3ecdf85d6323"
},
"downloads": -1,
"filename": "simple_dhcp_server-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "9acb6fdf1735d5c9082ebdf74fc30108",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 128969,
"upload_time": "2025-02-18T21:13:28",
"upload_time_iso_8601": "2025-02-18T21:13:28.622599Z",
"url": "https://files.pythonhosted.org/packages/b0/3f/59cedb452c15db010c2427879ecf3c441fb3cfc15a5bd9a13469b0fbbe25/simple_dhcp_server-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-18 21:13:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "niccokunzmann",
"github_project": "python_simple_dhcp_server?tab=readme-ov-file#changelog",
"github_not_found": true,
"lcname": "simple-dhcp-server"
}