Registry / devops / pox

pox

JSON →
library0.3.7pypypi✓ verified 52d ago

Pox is a Python library offering simple utilities for exploring and manipulating local and remote filesystems, and for automated build processes. It is currently at version 0.3.7 and maintains an active development status with regular minor updates.

devops
pip install pox
Install & Compatibility
Where this runs
tested against v0.3.7 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.930 runs
installs and imports cleanly · install 0.0s · import 0.024s · 18MB
glibc
py 3.103.930 runs
installs and imports cleanly · install 1.5s · import 0.018s · 18MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

pox
import pox

This quickstart demonstrates how to import the pox library and retrieve its version, license, and citation information.

import pox # Get the library version print(f"Pox Version: {pox.version()}") # Display the license information print("\n--- License ---") print(pox.license()) # Display citation information print("\n--- Citation ---") print(pox.citation())
Debug
Known issues
breakingPox dropped formal support for Python 3.7.
fix
Ensure your Python environment is version 3.8 or higher when using pox>=0.3.4.
affects: 0.3.4 and later
breakingThe minimum required Python version was increased from 3.7 to 3.8.
fix
Upgrade your Python installation to version 3.8 or newer. For earlier Python versions, use pox<0.3.6.
affects: 0.3.6 and later
breakingThe minimum required Python version was further increased from 3.8 to 3.9.
fix
Upgrade your Python installation to version 3.9 or newer. For Python 3.8, use pox<0.3.7.
affects: 0.3.7 and later
breakingThe `pox` module does not expose a `version()` method as part of its public API, leading to an `AttributeError` when `pox.version()` is called.
fix
To get the installed package version, use `importlib.metadata.version('pox')` (for Python 3.8+) or `pkg_resources.get_distribution('pox').version`. If `pox.version()` refers to a specific library function, consult the `pox` documentation for the correct API.
affects: All versions where `pox.version()` is not available (e.g., if it was removed or never existed).
breakingThe `pox.version()` method is not available or has been removed from the `pox` library's API, leading to an `AttributeError`.
fix
Consult the `pox` library documentation for the current method of checking its version, or update your code to remove the call to `pox.version()`.
affects: unknown
Errors
Common errors & fixes
ImportError: No module named pox.core
This error often occurs when the POX library is not correctly installed as a Python package, or when there's a mismatch between the import statement and the actual directory structure, especially after cloning the repository directly. It can also stem from Python 2 vs. Python 3 compatibility issues, as older POX versions primarily supported Python 2.7.
fix
If installing via Git, ensure `__init__.py` files exist in relevant directories. If your project is a subdirectory of the cloned `pox` repository, you might need to adjust imports from `from pox.core import ...` to `from pox.pox.core import ...`. For modern `pox` (uqfoundation), ensure Python 3.9+ is used and install with `pip install pox`. For older `pox` (noxrepo), use Python 2.7.
AttributeError: 'IPAddr' object has no attribute 'split'
This error occurs when attempting to use string manipulation methods, such as `split()`, directly on an `IPAddr` object from `pox.lib.addresses`. The `IPAddr` object represents an IP address but is not a native Python string type.
fix
Convert the `IPAddr` object to its string representation first using the `.toStr()` method before applying string operations. For example, `st.toStr().split('.')` instead of `st.split('.')`.
WARNING:version:Support for Python 3 is experimental.
This warning indicates that you are likely running an older version of POX, which was originally developed for Python 2.7, with a Python 3 interpreter. While some functionality might work, core components or dependencies may not be fully compatible, leading to unexpected behavior or further errors.
fix
For older POX distributions (e.g., `noxrepo/pox`), use a Python 2.7 interpreter. If you intend to use POX with Python 3, ensure you are using the actively maintained `pox` library from the `uqfoundation` project, which supports Python 3.9+.
AttributeError: 'YourControllerClass' object has no attribute 'connection'
This `AttributeError` typically arises in POX when a custom controller component or module tries to access an attribute like `connection` directly from its own instance (`self.connection`), but `connection` is actually an attribute of an event object (e.g., `event.connection`) that is passed to event handler functions within the controller.
fix
Ensure that you are accessing the `connection` attribute from the `event` object provided to your event handler. For instance, if you have an `_handle_PacketIn` method, use `event.connection.send(fm)` instead of `self.connection.send(fm)`.
Upgrade
Version history
0.3.7latest on PyPI
Audit
Dependencies

No dependency data recorded yet.

Agent activity
22 hits · last 30 days
node
4
seranking-bot
4
ahrefsbot
2
Resources