python-nmap
This is a python class to use nmap and access scan results from python3
Decision gist · record as of 2026-08-14
No. The package is abandoned (no releases since 2021-10-26) and requires nmap as an external system dependency, creating high install friction. While it works for basic nmap automation, the maintenance gap means it may not handle modern nmap output formats or Python versions reliably. For new projects, consider calling nmap directly via subprocess or using an actively maintained alternative.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- nmap must be installed and available in system PATH; the package is a Python wrapper around the nmap executable, not a standalone scanner.
- Installation requires nmap to be present on the system; the package itself has no runtime dependencies but is marked as abandoned with no releases since 2021-10-26.
- High install friction due to external system dependency.
License · maintenance · safety
gpl-3.0.txt (copyleft) — Licensed under GPL (copyleft); distributing this package or modifications requires source code disclosure under the same license terms.
last release 2021-10-26 (1753 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 294,508 downloads/mo, #7,945 on PyPI
Alternatives
Verify before relying
import nmap
nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')
for host in nm.all_hosts():
print(host, nm[host].state())- Whether the package works reliably with modern nmap versions released after 2021-10-26
- Current compatibility with Python versions beyond those tested during active development
- Whether async functionality remains stable given the long maintenance gap
What it is and what it does
python-nmap is a Python wrapper around the nmap command-line port scanner that lets you invoke nmap from Python code and parse its results into structured objects. It provides a PortScanner class for synchronous scans and PortScannerAsync for non-blocking scans with callbacks, plus helper methods to query host state, open ports, service names, and other scan metadata. Results can be exported to CSV or iterated progressively.
The package is designed for systems administrators and developers who want to automate network scanning tasks and generate reports programmatically. It has no runtime dependencies beyond nmap itself being installed on the system, but requires that nmap be in the system PATH to function.
Use it for
- Automate port scanning and service discovery across multiple hosts in a network monitoring script
- Build a network inventory tool that queries host availability and open ports on a schedule
- Export nmap scan results to CSV for reporting or integration with other tools
- Run non-blocking network scans with callbacks in long-running applications using PortScannerAsync
- Programmatically check specific ports on a host as part of a deployment or health-check workflow
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
The package is abandoned (no releases since 2021-10-26) and requires nmap as an external system dependency, creating high install friction. While it works for basic nmap automation, the maintenance gap means it may not handle modern nmap output formats or Python versions reliably. For new projects, consider calling nmap directly via subprocess or using an actively maintained alternative.
Install
python-nmap on PyPI
Before you install
Installation requires nmap to be present on the system; the package itself has no runtime dependencies but is marked as abandoned with no releases since 2021-10-26. High install friction due to external system dependency.
nmap must be installed and available in system PATH; the package is a Python wrapper around the nmap executable, not a standalone scanner.
License in practice
Licensed under GPL (copyleft); distributing this package or modifications requires source code disclosure under the same license terms.
Quickstart
import nmap
nm = nmap.PortScanner()
nm.scan('127.0.0.1', '22-443')
for host in nm.all_hosts():
print(host, nm[host].state())
Verify before relying
- Whether the package works reliably with modern nmap versions released after 2021-10-26
- Current compatibility with Python versions beyond those tested during active development
- Whether async functionality remains stable given the long maintenance gap
Package facts
| License | gpl-3.0.txt copyleft |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 1,753 days since the last release |
| First released | |
| Downloads | 294,508 / month, #7,945 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: GNU General Public License (GPL)Operating System :: OS IndependentProgramming Language :: PythonTopic :: System :: MonitoringTopic :: System :: NetworkingTopic :: System :: Networking :: FirewallsTopic :: System :: Networking :: Monitoring |
Evidence: python-nmap-0.7.1.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “port scanner automation”
- python-nmapPython wrapper for the nmap port scanner that parses scan results…
- python3-nmapWraps nmap port scanner commands as Python methods, converting…
- bbotBBOT is a multipurpose reconnaissance and vulnerability scanner that…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also python3-nmap · ncclient · cisco-ai-mcp-scanner · pynng · aiodiscover · zaproxy · sslyze · aiosmtplib · bbot · sshconf