RemoteRF 0.0.6__tar.gz → 0.0.6.2__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.
Files changed (39) hide show
  1. remoterf-0.0.6.2/PKG-INFO +155 -0
  2. {remoterf-0.0.6 → remoterf-0.0.6.2}/README.md +11 -4
  3. {remoterf-0.0.6 → remoterf-0.0.6.2}/setup.py +7 -1
  4. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/drivers/adalm_pluto/pluto_remote.py +1 -1
  5. remoterf-0.0.6.2/src/remoteRF.egg-info/PKG-INFO +155 -0
  6. remoterf-0.0.6/PKG-INFO +0 -16
  7. remoterf-0.0.6/src/remoteRF.egg-info/PKG-INFO +0 -16
  8. {remoterf-0.0.6 → remoterf-0.0.6.2}/LICENSE +0 -0
  9. {remoterf-0.0.6 → remoterf-0.0.6.2}/MANIFEST.in +0 -0
  10. {remoterf-0.0.6 → remoterf-0.0.6.2}/setup.cfg +0 -0
  11. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/__init__.py +0 -0
  12. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/__init__.py +0 -0
  13. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/grpc/__init__.py +0 -0
  14. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/grpc/grpc_pb2.py +0 -0
  15. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/grpc/grpc_pb2_grpc.py +0 -0
  16. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/utils/__init__.py +0 -0
  17. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/utils/ansi_codes.py +0 -0
  18. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/utils/api_token.py +0 -0
  19. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/utils/list_string.py +0 -0
  20. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/common/utils/process_arg.py +0 -0
  21. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/__init__.py +0 -0
  22. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/acc_login.py +0 -0
  23. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/app.py +0 -0
  24. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/certs/__init__.py +0 -0
  25. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/certs/ca.crt +0 -0
  26. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/certs/ca.key +0 -0
  27. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/certs/cert.pem +0 -0
  28. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/certs/key.pem +0 -0
  29. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/certs/server.crt +0 -0
  30. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/certs/server.key +0 -0
  31. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/grpc_acc.py +0 -0
  32. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/core/grpc_client.py +0 -0
  33. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/drivers/__init__.py +0 -0
  34. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF/drivers/adalm_pluto/__init__.py +0 -0
  35. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF.egg-info/SOURCES.txt +0 -0
  36. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF.egg-info/dependency_links.txt +0 -0
  37. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF.egg-info/entry_points.txt +0 -0
  38. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF.egg-info/requires.txt +0 -0
  39. {remoterf-0.0.6 → remoterf-0.0.6.2}/src/remoteRF.egg-info/top_level.txt +0 -0
@@ -0,0 +1,155 @@
1
+ Metadata-Version: 2.1
2
+ Name: remoteRF
3
+ Version: 0.0.6.2
4
+ Summary: A python API to remotely access signal centric hardware. Client-side only!
5
+ Author: Ethan Ge
6
+ Author-email: ethoGalaxy@gmail.com
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.6
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: grpcio
14
+ Requires-Dist: protobuf
15
+ Requires-Dist: numpy
16
+ Requires-Dist: prompt_toolkit
17
+ Requires-Dist: python-dotenv
18
+
19
+ # Remote RF
20
+
21
+ A python API to remotely access signal centric hardware.
22
+
23
+ Courtesy of Wireless Lab @ UCLA. - Ethan Ge
24
+
25
+ ## Prerequisites
26
+
27
+ - **Python 3.10**: This package works in Python 3.10+. If you don’t have Python installed, you can download it from the [official Python website](https://www.python.org/downloads/).
28
+
29
+ To check your current Python version, open a terminal and run:
30
+
31
+ ```bash
32
+ python --version
33
+ ```
34
+
35
+ - **UCLA VPN**: Please ensure that you are connected to the UCLA VPN. You can download and configure the VPN client from the following link: [UCLA VPN Client Download](https://www.it.ucla.edu/it-support-center/services/virtual-private-network-vpn-clients). If you’re not connected to the VPN, you will not have access to the lab servers.
36
+
37
+ ## Installation
38
+
39
+ Use the package manager [pip](https://pip.pypa.io/en/stable/) to install remoteRF. It is recommended that you install this package within a [virtual environment](https://docs.python.org/3/library/venv.html).
40
+
41
+ ```bash
42
+ python3 -m venv venv # Create virtual environment
43
+ source venv/bin/activate # Activate virtual environment
44
+
45
+ pip install remoteRF # Install remoteRF
46
+ ```
47
+
48
+ If `pip install` doesn't work, you can clone the [source](https://github.com/WirelessLabAtUCLA/RemoteRF-Client) directly from github.
49
+
50
+ <!-- 1. **Clone the repository:**
51
+ ```bash
52
+ git clone https://github.com/WirelessLabAtUCLA/RemoteRF-Client
53
+ cd repository-name
54
+ ```
55
+ 2. **Install the package using** `pip` **in editable mode:**
56
+ ```bash
57
+ pip install -e .
58
+ ```
59
+ This command installs the package in "editable" mode, allowing for modifications to the local code without reinstalling. For more details on installing packages from local directories, refer to Python Packaging: [Installing from Local Archives](https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-packages-from-local-archives). -->
60
+
61
+ ## Reservation
62
+
63
+ Usage of the platform requires you to register a account and reserve a device in order to run scripts remotely.
64
+
65
+ ### 1. **Start UCLA VPN**
66
+
67
+ - Start the CISCO Secure client, login and connect to any of the options.
68
+
69
+ ### 2. **Register a account**:
70
+ ```bash
71
+ remoterf-login
72
+ # Run in the terminal
73
+ # where the Python library is installed
74
+
75
+ # Typically, this will be the terminal where you’ve activated the virtual environment if you’re using one
76
+ ```
77
+
78
+ - Input `r` to register a account, or `l` to login to a existing one.
79
+
80
+ <!-- 2. **You will be prompted with this**: -->
81
+ ```bash
82
+ Welcome to Remote RF Account System.
83
+ Please login or register to continue. (l/r):
84
+ ```
85
+
86
+ - Once in, input `help` to see all avaliable commands.
87
+
88
+ ### 3. **Reserve Device**:
89
+ ```bash
90
+ getdev # To view all avaliable devices
91
+
92
+ # Note the device ID. You will need this later to reserve said device
93
+ ```
94
+
95
+ ```bash
96
+ getres # To view times not avaliable
97
+
98
+ # Optionally, you can also view all reservations, and determine a time slot you want a specific device reserved
99
+ ```
100
+ ```bash
101
+ perms # To view your permissions
102
+
103
+ # Depending on your permission levels, you will be given different restrictions
104
+ ```
105
+
106
+ ```bash
107
+ resdev # To reserve a device
108
+
109
+ Enter the device ID you would like to reserve: 0
110
+ Reserve Start Time (YYYY-MM-DD HH:MM): 2024-11-20 10:20
111
+ Reserve End Time (YYYY-MM-DD HH:MM): 2024-11-20 11:20
112
+
113
+ # Time is military time. You can also use arrow keys to cycle between previous commands.
114
+
115
+ Reservation successful. Thy Token -> example_token
116
+
117
+ # Take note of this token. You will need it to actually access the device.
118
+ ```
119
+
120
+ ## Remote Access
121
+
122
+ With this token, you can now run scripts remotely. Please keep in mind that you MUST be connected to the UCLA VPN for this to work.
123
+ Here is a explained sample script to get you going!
124
+
125
+ #### Python Script:
126
+
127
+ ```python
128
+ from remoteRF.drivers.adalm_pluto import * # Imports device Pluto SDR remote drivers. Change depending on desired device.
129
+
130
+ sdr = adi.Pluto( # Device initialization.
131
+ token = 'sample_token' # Place the prior token here.
132
+ )
133
+
134
+ # You can now use this 'sdr' as you normally would with the default Pluto drivers.
135
+ ```
136
+
137
+ If converting a existing `non-remoteRF` compatible script:
138
+
139
+ ```diff
140
+ - import existing_device_drivers
141
+
142
+ + from remoteRF.drivers.device_drivers import *
143
+
144
+ - device = device(init)
145
+
146
+ + device = device(token = 'sample_token')
147
+ ```
148
+
149
+ Nothing else needs changing!
150
+
151
+ ## Closing
152
+
153
+ This is fundamentally a experimental platform, and there will be many unknown bugs and issues. Some devices do not have universal support for all its functions at the moment, I am working on that aspect.
154
+
155
+ **So please submit feedback!**
@@ -1,10 +1,12 @@
1
1
  # Remote RF
2
2
 
3
- A python API to remotely access signal centric hardware. Courtesy of Wireless Lab @ UCLA.
3
+ A python API to remotely access signal centric hardware.
4
+
5
+ Courtesy of Wireless Lab @ UCLA. - Ethan Ge
4
6
 
5
7
  ## Prerequisites
6
8
 
7
- - **Python 3.12 or later**: This package requires Python 3.12+. If you don’t have Python installed, you can download it from the [official Python website](https://www.python.org/downloads/).
9
+ - **Python 3.10**: This package works in Python 3.10+. If you don’t have Python installed, you can download it from the [official Python website](https://www.python.org/downloads/).
8
10
 
9
11
  To check your current Python version, open a terminal and run:
10
12
 
@@ -19,7 +21,10 @@ python --version
19
21
  Use the package manager [pip](https://pip.pypa.io/en/stable/) to install remoteRF. It is recommended that you install this package within a [virtual environment](https://docs.python.org/3/library/venv.html).
20
22
 
21
23
  ```bash
22
- pip install remoteRF
24
+ python3 -m venv venv # Create virtual environment
25
+ source venv/bin/activate # Activate virtual environment
26
+
27
+ pip install remoteRF # Install remoteRF
23
28
  ```
24
29
 
25
30
  If `pip install` doesn't work, you can clone the [source](https://github.com/WirelessLabAtUCLA/RemoteRF-Client) directly from github.
@@ -45,7 +50,9 @@ Usage of the platform requires you to register a account and reserve a device in
45
50
 
46
51
  ### 2. **Register a account**:
47
52
  ```bash
48
- remoterf-login # Run in the terminal where the Python library is installed
53
+ remoterf-login
54
+ # Run in the terminal
55
+ # where the Python library is installed
49
56
 
50
57
  # Typically, this will be the terminal where you’ve activated the virtual environment if you’re using one
51
58
  ```
@@ -1,11 +1,17 @@
1
1
  from setuptools import setup, find_packages
2
+ import os
3
+
4
+ with open("README.md", "r", encoding="utf-8") as fh:
5
+ long_description = fh.read()
2
6
 
3
7
  setup(
4
8
  name="remoteRF",
5
- version="0.0.6",
9
+ version="0.0.6.2",
6
10
  author="Ethan Ge",
7
11
  author_email="ethoGalaxy@gmail.com",
8
12
  description="A python API to remotely access signal centric hardware. Client-side only!",
13
+ long_description=long_description, # Set the README content here
14
+ long_description_content_type="text/markdown", # Specify that it's Markdown
9
15
  packages=find_packages(where="src"), # Automatically finds subpackages like core, deviceA, deviceB
10
16
  package_dir={"": "src"},
11
17
  include_package_data=True, # Includes files specified in MANIFEST.in
@@ -28,7 +28,7 @@ class Pluto: # client
28
28
  self.token = token
29
29
 
30
30
  def try_get(self, *, function_name):
31
- self.test_print() # For debugging purposes
31
+ # self.test_print() # For debugging purposes
32
32
  try:
33
33
  return rpc_client(function_name=f"Pluto:{function_name}:GET", args={'a':map_arg(self.token)}).results[function_name]
34
34
  except Exception as e:
@@ -0,0 +1,155 @@
1
+ Metadata-Version: 2.1
2
+ Name: remoteRF
3
+ Version: 0.0.6.2
4
+ Summary: A python API to remotely access signal centric hardware. Client-side only!
5
+ Author: Ethan Ge
6
+ Author-email: ethoGalaxy@gmail.com
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.6
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: grpcio
14
+ Requires-Dist: protobuf
15
+ Requires-Dist: numpy
16
+ Requires-Dist: prompt_toolkit
17
+ Requires-Dist: python-dotenv
18
+
19
+ # Remote RF
20
+
21
+ A python API to remotely access signal centric hardware.
22
+
23
+ Courtesy of Wireless Lab @ UCLA. - Ethan Ge
24
+
25
+ ## Prerequisites
26
+
27
+ - **Python 3.10**: This package works in Python 3.10+. If you don’t have Python installed, you can download it from the [official Python website](https://www.python.org/downloads/).
28
+
29
+ To check your current Python version, open a terminal and run:
30
+
31
+ ```bash
32
+ python --version
33
+ ```
34
+
35
+ - **UCLA VPN**: Please ensure that you are connected to the UCLA VPN. You can download and configure the VPN client from the following link: [UCLA VPN Client Download](https://www.it.ucla.edu/it-support-center/services/virtual-private-network-vpn-clients). If you’re not connected to the VPN, you will not have access to the lab servers.
36
+
37
+ ## Installation
38
+
39
+ Use the package manager [pip](https://pip.pypa.io/en/stable/) to install remoteRF. It is recommended that you install this package within a [virtual environment](https://docs.python.org/3/library/venv.html).
40
+
41
+ ```bash
42
+ python3 -m venv venv # Create virtual environment
43
+ source venv/bin/activate # Activate virtual environment
44
+
45
+ pip install remoteRF # Install remoteRF
46
+ ```
47
+
48
+ If `pip install` doesn't work, you can clone the [source](https://github.com/WirelessLabAtUCLA/RemoteRF-Client) directly from github.
49
+
50
+ <!-- 1. **Clone the repository:**
51
+ ```bash
52
+ git clone https://github.com/WirelessLabAtUCLA/RemoteRF-Client
53
+ cd repository-name
54
+ ```
55
+ 2. **Install the package using** `pip` **in editable mode:**
56
+ ```bash
57
+ pip install -e .
58
+ ```
59
+ This command installs the package in "editable" mode, allowing for modifications to the local code without reinstalling. For more details on installing packages from local directories, refer to Python Packaging: [Installing from Local Archives](https://packaging.python.org/en/latest/tutorials/installing-packages/#installing-packages-from-local-archives). -->
60
+
61
+ ## Reservation
62
+
63
+ Usage of the platform requires you to register a account and reserve a device in order to run scripts remotely.
64
+
65
+ ### 1. **Start UCLA VPN**
66
+
67
+ - Start the CISCO Secure client, login and connect to any of the options.
68
+
69
+ ### 2. **Register a account**:
70
+ ```bash
71
+ remoterf-login
72
+ # Run in the terminal
73
+ # where the Python library is installed
74
+
75
+ # Typically, this will be the terminal where you’ve activated the virtual environment if you’re using one
76
+ ```
77
+
78
+ - Input `r` to register a account, or `l` to login to a existing one.
79
+
80
+ <!-- 2. **You will be prompted with this**: -->
81
+ ```bash
82
+ Welcome to Remote RF Account System.
83
+ Please login or register to continue. (l/r):
84
+ ```
85
+
86
+ - Once in, input `help` to see all avaliable commands.
87
+
88
+ ### 3. **Reserve Device**:
89
+ ```bash
90
+ getdev # To view all avaliable devices
91
+
92
+ # Note the device ID. You will need this later to reserve said device
93
+ ```
94
+
95
+ ```bash
96
+ getres # To view times not avaliable
97
+
98
+ # Optionally, you can also view all reservations, and determine a time slot you want a specific device reserved
99
+ ```
100
+ ```bash
101
+ perms # To view your permissions
102
+
103
+ # Depending on your permission levels, you will be given different restrictions
104
+ ```
105
+
106
+ ```bash
107
+ resdev # To reserve a device
108
+
109
+ Enter the device ID you would like to reserve: 0
110
+ Reserve Start Time (YYYY-MM-DD HH:MM): 2024-11-20 10:20
111
+ Reserve End Time (YYYY-MM-DD HH:MM): 2024-11-20 11:20
112
+
113
+ # Time is military time. You can also use arrow keys to cycle between previous commands.
114
+
115
+ Reservation successful. Thy Token -> example_token
116
+
117
+ # Take note of this token. You will need it to actually access the device.
118
+ ```
119
+
120
+ ## Remote Access
121
+
122
+ With this token, you can now run scripts remotely. Please keep in mind that you MUST be connected to the UCLA VPN for this to work.
123
+ Here is a explained sample script to get you going!
124
+
125
+ #### Python Script:
126
+
127
+ ```python
128
+ from remoteRF.drivers.adalm_pluto import * # Imports device Pluto SDR remote drivers. Change depending on desired device.
129
+
130
+ sdr = adi.Pluto( # Device initialization.
131
+ token = 'sample_token' # Place the prior token here.
132
+ )
133
+
134
+ # You can now use this 'sdr' as you normally would with the default Pluto drivers.
135
+ ```
136
+
137
+ If converting a existing `non-remoteRF` compatible script:
138
+
139
+ ```diff
140
+ - import existing_device_drivers
141
+
142
+ + from remoteRF.drivers.device_drivers import *
143
+
144
+ - device = device(init)
145
+
146
+ + device = device(token = 'sample_token')
147
+ ```
148
+
149
+ Nothing else needs changing!
150
+
151
+ ## Closing
152
+
153
+ This is fundamentally a experimental platform, and there will be many unknown bugs and issues. Some devices do not have universal support for all its functions at the moment, I am working on that aspect.
154
+
155
+ **So please submit feedback!**
remoterf-0.0.6/PKG-INFO DELETED
@@ -1,16 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: remoteRF
3
- Version: 0.0.6
4
- Summary: A python API to remotely access signal centric hardware. Client-side only!
5
- Author: Ethan Ge
6
- Author-email: ethoGalaxy@gmail.com
7
- Classifier: Programming Language :: Python :: 3
8
- Classifier: License :: OSI Approved :: MIT License
9
- Classifier: Operating System :: OS Independent
10
- Requires-Python: >=3.6
11
- License-File: LICENSE
12
- Requires-Dist: grpcio
13
- Requires-Dist: protobuf
14
- Requires-Dist: numpy
15
- Requires-Dist: prompt_toolkit
16
- Requires-Dist: python-dotenv
@@ -1,16 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: remoteRF
3
- Version: 0.0.6
4
- Summary: A python API to remotely access signal centric hardware. Client-side only!
5
- Author: Ethan Ge
6
- Author-email: ethoGalaxy@gmail.com
7
- Classifier: Programming Language :: Python :: 3
8
- Classifier: License :: OSI Approved :: MIT License
9
- Classifier: Operating System :: OS Independent
10
- Requires-Python: >=3.6
11
- License-File: LICENSE
12
- Requires-Dist: grpcio
13
- Requires-Dist: protobuf
14
- Requires-Dist: numpy
15
- Requires-Dist: prompt_toolkit
16
- Requires-Dist: python-dotenv
File without changes
File without changes
File without changes