portforward 0.6.2__cp310-cp310-macosx_11_0_arm64.whl → 0.7.0__cp310-cp310-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of portforward might be problematic. Click here for more details.

portforward/__init__.py CHANGED
@@ -2,7 +2,7 @@
2
2
  Easy Kubernetes Port-Forward For Python
3
3
  """
4
4
 
5
- __version__ = "0.6.2"
5
+ __version__ = "0.7.0"
6
6
 
7
7
  import asyncio
8
8
  import contextlib
@@ -57,7 +57,7 @@ def forward(
57
57
 
58
58
  :param namespace: Target namespace
59
59
  :param pod_or_service: Name of target Pod or service
60
- :param from_port: Local port
60
+ :param from_port: Local port, or 0 to use any free port
61
61
  :param to_port: Port inside the pod
62
62
  :param config_path: Path for loading kube config
63
63
  :param waiting: Delay in seconds
@@ -129,6 +129,11 @@ class PortForwarder:
129
129
  def is_stopped(self):
130
130
  return self._async_forwarder.is_stopped
131
131
 
132
+ @property
133
+ def from_port(self):
134
+ """The local port that was actually used for the portforward."""
135
+ return self._async_forwarder.from_port
136
+
132
137
 
133
138
  class AsyncPortForwarder:
134
139
  """Use the same args as the `portforward.forward` method."""
@@ -158,11 +163,12 @@ class AsyncPortForwarder:
158
163
  bind_ip = _validate_ip_address(bind_ip)
159
164
 
160
165
  self.actual_pod_name: str = ""
166
+ self.from_port: int = 0
161
167
  self._is_stopped: bool = False
162
168
  self.bind_address: str = f"{bind_ip}:{from_port}"
163
169
 
164
170
  async def forward(self):
165
- self.actual_pod_name = await _portforward.forward(
171
+ (self.actual_pod_name, self.from_port) = await _portforward.forward(
166
172
  self.namespace,
167
173
  self.pod_or_service,
168
174
  self.bind_address,
@@ -200,7 +206,7 @@ def _validate_str(arg_name, arg) -> str:
200
206
 
201
207
 
202
208
  def _validate_port(arg_name, arg) -> int:
203
- in_range = arg and 0 < arg < 65536
209
+ in_range = arg is not None and 0 <= arg < 65536
204
210
  if arg is None or not isinstance(arg, int) or not in_range:
205
211
  raise ValueError(f"{arg_name}={arg} is not a valid port")
206
212
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: portforward
3
- Version: 0.6.2
3
+ Version: 0.7.0
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -18,9 +18,9 @@ Author-email: Sebastian Ziemann <corka149@mailbox.org>
18
18
  License: MIT License
19
19
  Requires-Python: >=3.7
20
20
  Description-Content-Type: text/x-rst; charset=UTF-8
21
- Project-URL: Changelog, https://github.com/pytogo/portforward/blob/main/HISTORY.rst
22
- Project-URL: Documentation, https://portforward.readthedocs.io
23
21
  Project-URL: Repository, https://github.com/pytogo/portforward.git
22
+ Project-URL: Documentation, https://portforward.readthedocs.io
23
+ Project-URL: Changelog, https://github.com/pytogo/portforward/blob/main/HISTORY.rst
24
24
 
25
25
  ===========
26
26
  portforward
@@ -0,0 +1,9 @@
1
+ portforward-0.7.0.dist-info/METADATA,sha256=bGcqg3CAEII8VH5YibAWWZ567FIN58ZTf3gHV7S70Yc,3733
2
+ portforward-0.7.0.dist-info/WHEEL,sha256=YB4nIpEaVbQYtEelAR0MsnJWBlMXhW33ztHgM37Axhc,106
3
+ portforward-0.7.0.dist-info/license_files/LICENSE,sha256=n2aq0UH0YZkyF_5hougjNi5gzXIUapEEqEUn6FwAcFE,1075
4
+ portforward-0.7.0.dist-info/license_files/AUTHORS.rst,sha256=YQwE3_FUEuGVHbxYUa4NQMlG28QBGwcCYEoa2MP9Xgk,163
5
+ portforward/__init__.py,sha256=aG57_IslXAlgIZU7SoB4zKMut29hwpELWeTgVphmGQ8,7059
6
+ portforward/_portforward.pyi,sha256=KZSR_2INAUDtpwbVFA9e6cLs3KBwgMw-hgtirmMRZgY,336
7
+ portforward/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ portforward/_portforward.cpython-310-darwin.so,sha256=PY6s_akHOo5YIdfpcsgdGAIeuEK8K0WOIYCBkbmn9Z8,9503128
9
+ portforward-0.7.0.dist-info/RECORD,,
@@ -1,9 +0,0 @@
1
- portforward-0.6.2.dist-info/METADATA,sha256=0AZ3nsSc26Xsqm1TK9fBJUoaUZ8XJDEfPt4Wtcbn1tM,3733
2
- portforward-0.6.2.dist-info/WHEEL,sha256=YB4nIpEaVbQYtEelAR0MsnJWBlMXhW33ztHgM37Axhc,106
3
- portforward-0.6.2.dist-info/license_files/LICENSE,sha256=n2aq0UH0YZkyF_5hougjNi5gzXIUapEEqEUn6FwAcFE,1075
4
- portforward-0.6.2.dist-info/license_files/AUTHORS.rst,sha256=YQwE3_FUEuGVHbxYUa4NQMlG28QBGwcCYEoa2MP9Xgk,163
5
- portforward/__init__.py,sha256=dIOPdTMLHUgZ2VeG-UQoGUIp515tikAGmSIFKQZkxXU,6809
6
- portforward/_portforward.pyi,sha256=KZSR_2INAUDtpwbVFA9e6cLs3KBwgMw-hgtirmMRZgY,336
7
- portforward/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- portforward/_portforward.cpython-310-darwin.so,sha256=Wmv6k24w_NAEOyhIFdWL80HgHFTw9le1hzfFbd3wJ2g,9663960
9
- portforward-0.6.2.dist-info/RECORD,,