https://github.com/deadpool2000/netinterfaces
A lightweight and cross-platform Python library to retrieve network interface names with a simple API.
https://github.com/deadpool2000/netinterfaces
interfaces linux mac netinterfaces pypi pypi-package python python-library python3 windows wlan0
Last synced: about 2 months ago
JSON representation
A lightweight and cross-platform Python library to retrieve network interface names with a simple API.
- Host: GitHub
- URL: https://github.com/deadpool2000/netinterfaces
- Owner: Deadpool2000
- License: mit
- Created: 2025-03-30T10:23:54.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-30T11:51:44.000Z (about 1 year ago)
- Last Synced: 2025-10-26T07:08:03.169Z (8 months ago)
- Topics: interfaces, linux, mac, netinterfaces, pypi, pypi-package, python, python-library, python3, windows, wlan0
- Language: Python
- Homepage: https://pypi.org/project/netinterfaces/
- Size: 9.77 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# netinterfaces
[](https://www.python.org/)
[](https://opensource.org/licenses/MIT)
A lightweight and cross-platform Python library to retrieve network interface names with a simple API.
Find on PyPI - https://pypi.org/project/netinterfaces/
## Features
- **Single-function API** – Quickly retrieve network interface names with minimal effort.
- **Cross-platform support** – Works on Windows, Linux, and macOS.
- **No external dependencies** – Pure Python implementation with no additional requirements.
- **Consistent output format** – Provides a uniform list output across different operating systems.
- **Handles errors gracefully** – Returns an empty list in case of errors instead of crashing.
## Installation
Install `netinterfaces` using `pip`:
```bash
pip install netinterfaces
```
## Usage
Import and use `get_interfaces` to retrieve network interface names:
```python
from netinterfaces import get_interfaces
interfaces = get_interfaces()
print(interfaces) # Example output: ['eth0', 'wlan0', 'lo']
```
## Platform-Specific Examples
The library adapts to different platforms and returns interface names accordingly:
- **Linux**: `['lo', 'eth0', 'wlan0']`
- **Windows**: `['Ethernet', 'Wi-Fi', 'Loopback Pseudo-Interface']`
- **macOS**: `['lo0', 'en0', 'en1']`
## API Documentation
### `get_interfaces()`
```python
def get_interfaces() -> list:
"""
Retrieves a list of network interface names available on the system.
Returns:
list: A list of network interface names (e.g., ['eth0', 'wlan0', 'lo']).
If an error occurs, an empty list is returned.
"""
```
#### Returns
- **List of strings**: Each string represents a network interface name.
- **Empty list**: Returned in case of an error (e.g., lack of permissions, unexpected system behavior).
## Contributing
Contributions are welcome! To contribute:
1. Fork the repository.
2. Create a new branch (`feature-branch`).
3. Implement your changes and write tests if necessary.
4. Submit a pull request.
## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/Deadpool2000/netinterfaces/blob/main/LICENSE) file for details.
## Support
If you encounter any issues or have feature requests, please open an [issue](https://github.com/Deadpool2000/netinterfaces/issues) on the GitHub repository.