sdrcap


Namesdrcap JSON
Version 0.0.1 PyPI version JSON
download
home_pageNone
SummaryA software defined radio capture library in python
upload_time2024-08-24 16:02:09
maintainerNone
docs_urlNone
authorchris
requires_python<4.0,>=3.12
licenseGPLV3
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"
}
        
Elapsed time: 3.12304s