Name | sdrcap JSON |
Version |
0.0.1
JSON |
| download |
home_page | None |
Summary | A software defined radio capture library in python |
upload_time | 2024-08-24 16:02:09 |
maintainer | None |
docs_url | None |
author | chris |
requires_python | <4.0,>=3.12 |
license | GPLV3 |
keywords |
sdr
recording
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# SDRCAP
A software defined radio recording library in python.
Organized as a Python Pip Poetry project. Currently only limited support for RTL-SDR via pyrtlsdr package with others to be added.
## Setup
### Installing
1. Obtain pyproject.toml & poetry.lock
2. in root of project, run
```
poetry install
```
Both toml and lock files are currently version controlled
### Running
Try out the example!
```
poetry run python examples/example_usage.py
```
In general, the library is organized around you calling the
<b>library -> hardware device interface -> functions</b>
We define the hardware device interface in the python file and class name:
For RTLSDRv4 devices:
```
from sdrcap import rtl_interface
```
### Output
Currently the recording output supports <b>CSV</b> and <b>HDF5</b> filetypes.
### Dependencies
setuptool is needed for MACOS to import packages
A environment setting script is set to bind the poetry environments rtlsdrlib but shouldn't be necessary if you are explicitly doing:
```
poetry run python ${target}
```
instead of:
```
poetry shell
python ${target}
```
due to differences in potential python environments.
If you want to use it run:
```
source set_env.sh
```
then run:
```
sudo -E python ${target}
```
where -E attached to sudo retains the environment variable you sourced from the shell script.
### TODO's
For RTLSDR:
0. Support multiple devices
1. Support all rtlsdr.rtlsdr.BaseRtlSdr API options
2. Support asyncio streaming
3. Support/ expand TCP server client functions -> rtlsdr.rtlsdrtcp
4. Add compliant encryption for data at rest, data in air
5. Add on more advanced data transformation, interpolation, sniffing and analysis features
In general:
0. Solid support for receive only functionality cross SDR's
1. GNU Radio integration/ experimentation
2. GUI client app?
SDR devices to add (not in order):
0.
1. USRP B200mini: https://www.ettus.com/all-products/usrp-b200mini/
2. USRP B205mini-i:
3. hackRF One: https://www.amazon.com/dp/B0BKH7Z2NJ/
4. ADALM Pluto
Raw data
{
"_id": null,
"home_page": null,
"name": "sdrcap",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": "sdr, recording",
"author": "chris",
"author_email": "kosik.chris.j@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/88/65/d4dde6b7f28f35f396d485eaa71074ff17ce94fafb13877ba0f6ff646680/sdrcap-0.0.1.tar.gz",
"platform": null,
"description": "# SDRCAP\n\nA software defined radio recording library in python.\n\nOrganized as a Python Pip Poetry project. Currently only limited support for RTL-SDR via pyrtlsdr package with others to be added.\n\n## Setup\n\n### Installing\n\n1. Obtain pyproject.toml & poetry.lock\n2. in root of project, run\n```\npoetry install\n```\nBoth toml and lock files are currently version controlled\n\n### Running\n\nTry out the example!\n```\npoetry run python examples/example_usage.py\n```\n\nIn general, the library is organized around you calling the \n<b>library -> hardware device interface -> functions</b>\nWe define the hardware device interface in the python file and class name:\n\nFor RTLSDRv4 devices:\n```\nfrom sdrcap import rtl_interface \n```\n\n### Output\n\nCurrently the recording output supports <b>CSV</b> and <b>HDF5</b> filetypes.\n\n### Dependencies\nsetuptool is needed for MACOS to import packages \n\nA environment setting script is set to bind the poetry environments rtlsdrlib but shouldn't be necessary if you are explicitly doing:\n\n```\npoetry run python ${target}\n```\ninstead of:\n```\npoetry shell\npython ${target}\n```\ndue to differences in potential python environments.\nIf you want to use it run:\n```\nsource set_env.sh\n```\nthen run:\n```\nsudo -E python ${target}\n```\nwhere -E attached to sudo retains the environment variable you sourced from the shell script.\n\n### TODO's\n For RTLSDR:\n 0. Support multiple devices\n 1. Support all rtlsdr.rtlsdr.BaseRtlSdr API options\n 2. Support asyncio streaming\n 3. Support/ expand TCP server client functions -> rtlsdr.rtlsdrtcp\n 4. Add compliant encryption for data at rest, data in air\n 5. Add on more advanced data transformation, interpolation, sniffing and analysis features\n\n In general:\n 0. Solid support for receive only functionality cross SDR's\n 1. GNU Radio integration/ experimentation\n 2. GUI client app?\n\n SDR devices to add (not in order):\n 0. \n 1. USRP B200mini: https://www.ettus.com/all-products/usrp-b200mini/\n 2. USRP B205mini-i: \n 3. hackRF One: https://www.amazon.com/dp/B0BKH7Z2NJ/\n 4. ADALM Pluto\n\n",
"bugtrack_url": null,
"license": "GPLV3",
"summary": "A software defined radio capture library in python",
"version": "0.0.1",
"project_urls": null,
"split_keywords": [
"sdr",
" recording"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "692456211f98027aab163ceec5a18284ef3ab72a167d7e13e5efb9b122e31f26",
"md5": "afff1d243592ed7ffd61d7ffda7b8652",
"sha256": "795a74f2a8fb5d44010506f2f99628567d34f0613b2f3bb37797bd8d20c51c67"
},
"downloads": -1,
"filename": "sdrcap-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "afff1d243592ed7ffd61d7ffda7b8652",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 20389,
"upload_time": "2024-08-24T16:02:07",
"upload_time_iso_8601": "2024-08-24T16:02:07.382473Z",
"url": "https://files.pythonhosted.org/packages/69/24/56211f98027aab163ceec5a18284ef3ab72a167d7e13e5efb9b122e31f26/sdrcap-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8865d4dde6b7f28f35f396d485eaa71074ff17ce94fafb13877ba0f6ff646680",
"md5": "7d01888a71cb2950b850e54ffd13e637",
"sha256": "408e8074003b7fc7b249d30d76b39dfb0643da11c11058489dd6d066f4f87e44"
},
"downloads": -1,
"filename": "sdrcap-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7d01888a71cb2950b850e54ffd13e637",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 18106,
"upload_time": "2024-08-24T16:02:09",
"upload_time_iso_8601": "2024-08-24T16:02:09.021636Z",
"url": "https://files.pythonhosted.org/packages/88/65/d4dde6b7f28f35f396d485eaa71074ff17ce94fafb13877ba0f6ff646680/sdrcap-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-24 16:02:09",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "sdrcap"
}