RemoteRF 0.0.6__tar.gz → 0.0.6.1__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.1/PKG-INFO +148 -0
  2. {remoterf-0.0.6 → remoterf-0.0.6.1}/setup.py +7 -1
  3. remoterf-0.0.6.1/src/remoteRF.egg-info/PKG-INFO +148 -0
  4. remoterf-0.0.6/PKG-INFO +0 -16
  5. remoterf-0.0.6/src/remoteRF.egg-info/PKG-INFO +0 -16
  6. {remoterf-0.0.6 → remoterf-0.0.6.1}/LICENSE +0 -0
  7. {remoterf-0.0.6 → remoterf-0.0.6.1}/MANIFEST.in +0 -0
  8. {remoterf-0.0.6 → remoterf-0.0.6.1}/README.md +0 -0
  9. {remoterf-0.0.6 → remoterf-0.0.6.1}/setup.cfg +0 -0
  10. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/__init__.py +0 -0
  11. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/__init__.py +0 -0
  12. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/grpc/__init__.py +0 -0
  13. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/grpc/grpc_pb2.py +0 -0
  14. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/grpc/grpc_pb2_grpc.py +0 -0
  15. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/utils/__init__.py +0 -0
  16. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/utils/ansi_codes.py +0 -0
  17. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/utils/api_token.py +0 -0
  18. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/utils/list_string.py +0 -0
  19. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/common/utils/process_arg.py +0 -0
  20. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/__init__.py +0 -0
  21. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/acc_login.py +0 -0
  22. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/app.py +0 -0
  23. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/certs/__init__.py +0 -0
  24. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/certs/ca.crt +0 -0
  25. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/certs/ca.key +0 -0
  26. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/certs/cert.pem +0 -0
  27. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/certs/key.pem +0 -0
  28. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/certs/server.crt +0 -0
  29. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/certs/server.key +0 -0
  30. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/grpc_acc.py +0 -0
  31. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/core/grpc_client.py +0 -0
  32. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/drivers/__init__.py +0 -0
  33. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/drivers/adalm_pluto/__init__.py +0 -0
  34. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF/drivers/adalm_pluto/pluto_remote.py +0 -0
  35. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF.egg-info/SOURCES.txt +0 -0
  36. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF.egg-info/dependency_links.txt +0 -0
  37. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF.egg-info/entry_points.txt +0 -0
  38. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF.egg-info/requires.txt +0 -0
  39. {remoterf-0.0.6 → remoterf-0.0.6.1}/src/remoteRF.egg-info/top_level.txt +0 -0
@@ -0,0 +1,148 @@
1
+ Metadata-Version: 2.1
2
+ Name: remoteRF
3
+ Version: 0.0.6.1
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. Courtesy of Wireless Lab @ UCLA.
22
+
23
+ ## Prerequisites
24
+
25
+ - **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/).
26
+
27
+ To check your current Python version, open a terminal and run:
28
+
29
+ ```bash
30
+ python --version
31
+ ```
32
+
33
+ - **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.
34
+
35
+ ## Installation
36
+
37
+ 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).
38
+
39
+ ```bash
40
+ pip install remoteRF
41
+ ```
42
+
43
+ If `pip install` doesn't work, you can clone the [source](https://github.com/WirelessLabAtUCLA/RemoteRF-Client) directly from github.
44
+
45
+ <!-- 1. **Clone the repository:**
46
+ ```bash
47
+ git clone https://github.com/WirelessLabAtUCLA/RemoteRF-Client
48
+ cd repository-name
49
+ ```
50
+ 2. **Install the package using** `pip` **in editable mode:**
51
+ ```bash
52
+ pip install -e .
53
+ ```
54
+ 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). -->
55
+
56
+ ## Reservation
57
+
58
+ Usage of the platform requires you to register a account and reserve a device in order to run scripts remotely.
59
+
60
+ ### 1. **Start UCLA VPN**
61
+
62
+ - Start the CISCO Secure client, login and connect to any of the options.
63
+
64
+ ### 2. **Register a account**:
65
+ ```bash
66
+ remoterf-login # Run in the terminal where the Python library is installed
67
+
68
+ # Typically, this will be the terminal where you’ve activated the virtual environment if you’re using one
69
+ ```
70
+
71
+ - Input `r` to register a account, or `l` to login to a existing one.
72
+
73
+ <!-- 2. **You will be prompted with this**: -->
74
+ ```bash
75
+ Welcome to Remote RF Account System.
76
+ Please login or register to continue. (l/r):
77
+ ```
78
+
79
+ - Once in, input `help` to see all avaliable commands.
80
+
81
+ ### 3. **Reserve Device**:
82
+ ```bash
83
+ getdev # To view all avaliable devices
84
+
85
+ # Note the device ID. You will need this later to reserve said device
86
+ ```
87
+
88
+ ```bash
89
+ getres # To view times not avaliable
90
+
91
+ # Optionally, you can also view all reservations, and determine a time slot you want a specific device reserved
92
+ ```
93
+ ```bash
94
+ perms # To view your permissions
95
+
96
+ # Depending on your permission levels, you will be given different restrictions
97
+ ```
98
+
99
+ ```bash
100
+ resdev # To reserve a device
101
+
102
+ Enter the device ID you would like to reserve: 0
103
+ Reserve Start Time (YYYY-MM-DD HH:MM): 2024-11-20 10:20
104
+ Reserve End Time (YYYY-MM-DD HH:MM): 2024-11-20 11:20
105
+
106
+ # Time is military time. You can also use arrow keys to cycle between previous commands.
107
+
108
+ Reservation successful. Thy Token -> example_token
109
+
110
+ # Take note of this token. You will need it to actually access the device.
111
+ ```
112
+
113
+ ## Remote Access
114
+
115
+ 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.
116
+ Here is a explained sample script to get you going!
117
+
118
+ #### Python Script:
119
+
120
+ ```python
121
+ from remoteRF.drivers.adalm_pluto import * # Imports device Pluto SDR remote drivers. Change depending on desired device.
122
+
123
+ sdr = adi.Pluto( # Device initialization.
124
+ token = 'sample_token' # Place the prior token here.
125
+ )
126
+
127
+ # You can now use this 'sdr' as you normally would with the default Pluto drivers.
128
+ ```
129
+
130
+ If converting a existing `non-remoteRF` compatible script:
131
+
132
+ ```diff
133
+ - import existing_device_drivers
134
+
135
+ + from remoteRF.drivers.device_drivers import *
136
+
137
+ - device = device(init)
138
+
139
+ + device = device(token = 'sample_token')
140
+ ```
141
+
142
+ Nothing else needs changing!
143
+
144
+ ## Closing
145
+
146
+ 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.
147
+
148
+ **So please submit feedback!**
@@ -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.1",
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
@@ -0,0 +1,148 @@
1
+ Metadata-Version: 2.1
2
+ Name: remoteRF
3
+ Version: 0.0.6.1
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. Courtesy of Wireless Lab @ UCLA.
22
+
23
+ ## Prerequisites
24
+
25
+ - **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/).
26
+
27
+ To check your current Python version, open a terminal and run:
28
+
29
+ ```bash
30
+ python --version
31
+ ```
32
+
33
+ - **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.
34
+
35
+ ## Installation
36
+
37
+ 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).
38
+
39
+ ```bash
40
+ pip install remoteRF
41
+ ```
42
+
43
+ If `pip install` doesn't work, you can clone the [source](https://github.com/WirelessLabAtUCLA/RemoteRF-Client) directly from github.
44
+
45
+ <!-- 1. **Clone the repository:**
46
+ ```bash
47
+ git clone https://github.com/WirelessLabAtUCLA/RemoteRF-Client
48
+ cd repository-name
49
+ ```
50
+ 2. **Install the package using** `pip` **in editable mode:**
51
+ ```bash
52
+ pip install -e .
53
+ ```
54
+ 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). -->
55
+
56
+ ## Reservation
57
+
58
+ Usage of the platform requires you to register a account and reserve a device in order to run scripts remotely.
59
+
60
+ ### 1. **Start UCLA VPN**
61
+
62
+ - Start the CISCO Secure client, login and connect to any of the options.
63
+
64
+ ### 2. **Register a account**:
65
+ ```bash
66
+ remoterf-login # Run in the terminal where the Python library is installed
67
+
68
+ # Typically, this will be the terminal where you’ve activated the virtual environment if you’re using one
69
+ ```
70
+
71
+ - Input `r` to register a account, or `l` to login to a existing one.
72
+
73
+ <!-- 2. **You will be prompted with this**: -->
74
+ ```bash
75
+ Welcome to Remote RF Account System.
76
+ Please login or register to continue. (l/r):
77
+ ```
78
+
79
+ - Once in, input `help` to see all avaliable commands.
80
+
81
+ ### 3. **Reserve Device**:
82
+ ```bash
83
+ getdev # To view all avaliable devices
84
+
85
+ # Note the device ID. You will need this later to reserve said device
86
+ ```
87
+
88
+ ```bash
89
+ getres # To view times not avaliable
90
+
91
+ # Optionally, you can also view all reservations, and determine a time slot you want a specific device reserved
92
+ ```
93
+ ```bash
94
+ perms # To view your permissions
95
+
96
+ # Depending on your permission levels, you will be given different restrictions
97
+ ```
98
+
99
+ ```bash
100
+ resdev # To reserve a device
101
+
102
+ Enter the device ID you would like to reserve: 0
103
+ Reserve Start Time (YYYY-MM-DD HH:MM): 2024-11-20 10:20
104
+ Reserve End Time (YYYY-MM-DD HH:MM): 2024-11-20 11:20
105
+
106
+ # Time is military time. You can also use arrow keys to cycle between previous commands.
107
+
108
+ Reservation successful. Thy Token -> example_token
109
+
110
+ # Take note of this token. You will need it to actually access the device.
111
+ ```
112
+
113
+ ## Remote Access
114
+
115
+ 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.
116
+ Here is a explained sample script to get you going!
117
+
118
+ #### Python Script:
119
+
120
+ ```python
121
+ from remoteRF.drivers.adalm_pluto import * # Imports device Pluto SDR remote drivers. Change depending on desired device.
122
+
123
+ sdr = adi.Pluto( # Device initialization.
124
+ token = 'sample_token' # Place the prior token here.
125
+ )
126
+
127
+ # You can now use this 'sdr' as you normally would with the default Pluto drivers.
128
+ ```
129
+
130
+ If converting a existing `non-remoteRF` compatible script:
131
+
132
+ ```diff
133
+ - import existing_device_drivers
134
+
135
+ + from remoteRF.drivers.device_drivers import *
136
+
137
+ - device = device(init)
138
+
139
+ + device = device(token = 'sample_token')
140
+ ```
141
+
142
+ Nothing else needs changing!
143
+
144
+ ## Closing
145
+
146
+ 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.
147
+
148
+ **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
File without changes