remoterf 0.0.7.37__tar.gz → 0.0.7.39__tar.gz

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 remoterf might be problematic. Click here for more details.

Files changed (38) hide show
  1. {remoterf-0.0.7.37/src/remoteRF.egg-info → remoterf-0.0.7.39}/PKG-INFO +1 -1
  2. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/setup.py +1 -1
  3. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/app.py +23 -65
  4. {remoterf-0.0.7.37 → remoterf-0.0.7.39/src/remoteRF.egg-info}/PKG-INFO +1 -1
  5. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/LICENSE +0 -0
  6. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/MANIFEST.in +0 -0
  7. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/README.md +0 -0
  8. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/setup.cfg +0 -0
  9. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/__init__.py +0 -0
  10. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/__init__.py +0 -0
  11. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/grpc/__init__.py +0 -0
  12. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/grpc/grpc_pb2.py +0 -0
  13. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/grpc/grpc_pb2_grpc.py +0 -0
  14. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/utils/__init__.py +0 -0
  15. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/utils/ansi_codes.py +0 -0
  16. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/utils/api_token.py +0 -0
  17. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/utils/list_string.py +0 -0
  18. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/common/utils/process_arg.py +0 -0
  19. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/__init__.py +0 -0
  20. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/acc_login.py +0 -0
  21. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/certs/__init__.py +0 -0
  22. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/certs/ca.crt +0 -0
  23. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/certs/ca.key +0 -0
  24. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/certs/cert.pem +0 -0
  25. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/certs/key.pem +0 -0
  26. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/certs/server.crt +0 -0
  27. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/certs/server.key +0 -0
  28. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/grpc_acc.py +0 -0
  29. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/grpc_client.py +0 -0
  30. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/core/version.py +0 -0
  31. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/drivers/__init__.py +0 -0
  32. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/drivers/adalm_pluto/__init__.py +0 -0
  33. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF/drivers/adalm_pluto/pluto_remote.py +0 -0
  34. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF.egg-info/SOURCES.txt +0 -0
  35. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF.egg-info/dependency_links.txt +0 -0
  36. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF.egg-info/entry_points.txt +0 -0
  37. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF.egg-info/requires.txt +0 -0
  38. {remoterf-0.0.7.37 → remoterf-0.0.7.39}/src/remoteRF.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: remoterf
3
- Version: 0.0.7.37
3
+ Version: 0.0.7.39
4
4
  Summary: A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts.
5
5
  Author: Ethan Ge
6
6
  Author-email: ethoGalaxy@gmail.com
@@ -6,7 +6,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
6
6
 
7
7
  setup(
8
8
  name="remoterf",
9
- version="0.0.7.37",
9
+ version="0.0.7.39",
10
10
  author="Ethan Ge",
11
11
  author_email="ethoGalaxy@gmail.com",
12
12
  description="A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts.",
@@ -73,74 +73,32 @@ def clear():
73
73
  os.system('cls' if os.name == 'nt' else 'clear')
74
74
  title()
75
75
 
76
- # def print_my_version():
77
- # import sys
78
- # try:
79
- # import importlib.metadata as md # Py3.8+
80
- # top = __name__.split('.')[0]
81
- # # Try mapping package → distribution (Py3.10+); fall back to same name.
82
- # for dist in getattr(md, "packages_distributions", lambda: {})().get(top, []):
83
- # return md.version(dist)
84
- # return md.version(top)
85
- # except Exception:
86
- # # Last resort: __version__ attribute if you define it.
87
- # return getattr(sys.modules.get(__name__.split('.')[0]), "__version__", "unknown")
88
-
89
- def print_my_version(timeout=3.0):
90
- """
91
- Return this package's installed version, tagged as (LATEST) or (OUTDATED → X).
92
- Uses only the Python stdlib.
93
- """
94
- import sys, json, urllib.request, re
76
+ def print_my_version():
77
+ import sys
78
+ latest = newest_version_pip("remoterf")
95
79
  try:
96
- import importlib.metadata as md # Py 3.8+
80
+ import importlib.metadata as md # Py3.8+
97
81
  top = __name__.split('.')[0]
98
- dists = getattr(md, "packages_distributions", lambda: {})().get(top, []) or [top]
99
-
100
- # Simple PEP440-ish comparator using only stdlib
101
- def _canon(v):
102
- parts = re.split(r'[.\-+]', v)
103
- out = []
104
- for p in parts:
105
- if p.isdigit():
106
- out.append((0, int(p)))
107
- continue
108
- t = p.lower().replace("alpha", "a").replace("beta", "b").replace("pre", "rc")
109
- m = re.match(r'([a-z]+)(\d*)', t)
110
- if m:
111
- rank = {'dev': -1, 'a': 0, 'b': 1, 'rc': 2, 'post': 4}.get(m.group(1), 3)
112
- out.append((1, rank, int(m.group(2) or 0)))
113
- else:
114
- out.append((2, t))
115
- return tuple(out)
116
-
117
- def _cmp(v1, v2):
118
- a, b = _canon(v1), _canon(v2)
119
- return (a > b) - (a < b)
120
-
121
- for dist in dists:
122
- try:
123
- installed = md.version(dist)
124
- except Exception:
125
- continue
126
-
127
- latest = None
128
- try:
129
- with urllib.request.urlopen(f"https://pypi.org/pypi/{dist}/json", timeout=timeout) as r:
130
- latest = (json.load(r)["info"]["version"] or "").strip() or None
131
- except Exception:
132
- pass
133
-
134
- if not latest:
135
- return installed # offline or project not on PyPI
136
-
137
- return installed + (" (LATEST)" if _cmp(installed, latest) >= 0
138
- else f" (OUTDATED \u2192 {latest})")
139
-
140
- # Fallback: use __version__ if importlib metadata couldn't resolve
141
- return getattr(sys.modules.get(top), "__version__", "unknown")
82
+ # Try mapping package distribution (Py3.10+); fall back to same name.
83
+ for dist in getattr(md, "packages_distributions", lambda: {})().get(top, []):
84
+ if (latest == md.version(dist)):
85
+ return f"{md.version(dist)} (LATEST)"
86
+ else:
87
+ return f"{md.version(dist)} (OUTDATED)"
88
+ return md.version(top)
142
89
  except Exception:
143
- return "unknown"
90
+ # Last resort: __version__ attribute if you define it.
91
+ return getattr(sys.modules.get(__name__.split('.')[0]), "__version__", "unknown")
92
+
93
+ def newest_version_pip(project="remoterf"):
94
+ import sys, subprocess, re
95
+ out = subprocess.check_output(
96
+ [sys.executable, "-m", "pip", "index", "versions", project],
97
+ text=True, stderr=subprocess.STDOUT
98
+ )
99
+ m = re.search(r"(?i)\blatest\s*:\s*([^\s,]+)", out)
100
+ return m.group(1) if m else None
101
+
144
102
 
145
103
  def reservations():
146
104
  data = account.get_reservations()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: remoterf
3
- Version: 0.0.7.37
3
+ Version: 0.0.7.39
4
4
  Summary: A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts.
5
5
  Author: Ethan Ge
6
6
  Author-email: ethoGalaxy@gmail.com
File without changes
File without changes
File without changes
File without changes