rad-lab 0.0.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.
- rad_lab-0.0.1/.github/workflows/publish.yml +54 -0
- rad_lab-0.0.1/.github/workflows/python-app.yml +42 -0
- rad_lab-0.0.1/.github/workflows/ruff.yml +21 -0
- rad_lab-0.0.1/.gitignore +8 -0
- rad_lab-0.0.1/.pre-commit-config.yaml +10 -0
- rad_lab-0.0.1/LICENSE +674 -0
- rad_lab-0.0.1/PKG-INFO +131 -0
- rad_lab-0.0.1/README.md +109 -0
- rad_lab-0.0.1/apps/exercises/1_0_range_equation.py +140 -0
- rad_lab-0.0.1/apps/exercises/2_0_pulse_doppler_radar.py +125 -0
- rad_lab-0.0.1/apps/exercises/3_1_waveforms_xcorrelation.py +51 -0
- rad_lab-0.0.1/apps/exercises/3_2_barker_xcorrelation_sidelobes.py +51 -0
- rad_lab-0.0.1/apps/exercises/3_3_noisy_xcorrelations.py +158 -0
- rad_lab-0.0.1/apps/exercises/3_4_barker_vs_uncoded_ampAndWidth.py +42 -0
- rad_lab-0.0.1/apps/exercises/4_1_datacube_process_test.py +46 -0
- rad_lab-0.0.1/apps/exercises/4_4_windowing_comparison.py +41 -0
- rad_lab-0.0.1/apps/exercises/4_5_complex_tone.py +26 -0
- rad_lab-0.0.1/apps/exercises/4_6_calc_r_and_rdot_from_positions.py +11 -0
- rad_lab-0.0.1/apps/exercises/5_0_stationary_rdm_snapshot.py +37 -0
- rad_lab-0.0.1/apps/exercises/6_0_rdm_keystone_no_test.py +8 -0
- rad_lab-0.0.1/apps/exercises/7_0_linear_array_studies.py +51 -0
- rad_lab-0.0.1/apps/exercises/7_1-3_linear_arrays_figs24_28.py +116 -0
- rad_lab-0.0.1/apps/exercises/7_4_linear_arrays_ifft_array_factor_no_test.py +30 -0
- rad_lab-0.0.1/apps/exercises/7_5_monopulse_snr_test.py +71 -0
- rad_lab-0.0.1/apps/exercises/7_5_monopulse_snr_test_freq.py +113 -0
- rad_lab-0.0.1/apps/exercises/7_6_phase_center_location.py +29 -0
- rad_lab-0.0.1/apps/exercises/7_7_sub_array_sum_diff.py +45 -0
- rad_lab-0.0.1/apps/exercises/7_8_monopulse_tgt_doppler_cell.py +65 -0
- rad_lab-0.0.1/apps/make_figures.py +98 -0
- rad_lab-0.0.1/apps/rdms/jammer_offset.py +35 -0
- rad_lab-0.0.1/apps/rdms/kitchen_sink.py +53 -0
- rad_lab-0.0.1/apps/rdms/readme_example.py +25 -0
- rad_lab-0.0.1/apps/rdms/skin_snr.py +31 -0
- rad_lab-0.0.1/apps/rdms/vbm.py +43 -0
- rad_lab-0.0.1/apps/rdms/vbm_w_lfm.py +43 -0
- rad_lab-0.0.1/apps/run_apps.sh +68 -0
- rad_lab-0.0.1/apps/studies/monopulse_considering_time_delay_between_elements.py +132 -0
- rad_lab-0.0.1/apps/studies/vbm_methods.py +56 -0
- rad_lab-0.0.1/docs/figs/rdm_readme_example.png +0 -0
- rad_lab-0.0.1/docs/manuscript.org +143 -0
- rad_lab-0.0.1/docs/todo.org +28 -0
- rad_lab-0.0.1/pyproject.toml +78 -0
- rad_lab-0.0.1/setup.cfg +4 -0
- rad_lab-0.0.1/src/rad_lab/__init__.py +39 -0
- rad_lab-0.0.1/src/rad_lab/_rdm_extras.py +74 -0
- rad_lab-0.0.1/src/rad_lab/_rdm_internals.py +341 -0
- rad_lab-0.0.1/src/rad_lab/_version.py +24 -0
- rad_lab-0.0.1/src/rad_lab/constants.py +6 -0
- rad_lab-0.0.1/src/rad_lab/geometry.py +27 -0
- rad_lab-0.0.1/src/rad_lab/monopulse.py +58 -0
- rad_lab-0.0.1/src/rad_lab/noise.py +127 -0
- rad_lab-0.0.1/src/rad_lab/pulse_doppler_radar.py +159 -0
- rad_lab-0.0.1/src/rad_lab/range_equation.py +365 -0
- rad_lab-0.0.1/src/rad_lab/rdm.py +251 -0
- rad_lab-0.0.1/src/rad_lab/returns.py +80 -0
- rad_lab-0.0.1/src/rad_lab/rf_datacube.py +141 -0
- rad_lab-0.0.1/src/rad_lab/uniform_linear_arrays.py +207 -0
- rad_lab-0.0.1/src/rad_lab/utilities.py +107 -0
- rad_lab-0.0.1/src/rad_lab/vbm.py +179 -0
- rad_lab-0.0.1/src/rad_lab/waveform.py +321 -0
- rad_lab-0.0.1/src/rad_lab/waveform_helpers.py +351 -0
- rad_lab-0.0.1/src/rad_lab.egg-info/PKG-INFO +131 -0
- rad_lab-0.0.1/src/rad_lab.egg-info/SOURCES.txt +73 -0
- rad_lab-0.0.1/src/rad_lab.egg-info/dependency_links.txt +1 -0
- rad_lab-0.0.1/src/rad_lab.egg-info/requires.txt +7 -0
- rad_lab-0.0.1/src/rad_lab.egg-info/top_level.txt +1 -0
- rad_lab-0.0.1/tests/test_array_phase_center.py +39 -0
- rad_lab-0.0.1/tests/test_jammer_in_correct_rangedoppler_bin.py +63 -0
- rad_lab-0.0.1/tests/test_matched_filter_peak.py +52 -0
- rad_lab-0.0.1/tests/test_monopulse_angle_estimation.py +121 -0
- rad_lab-0.0.1/tests/test_monopulse_rdm.py +41 -0
- rad_lab-0.0.1/tests/test_phase_utilities.py +44 -0
- rad_lab-0.0.1/tests/test_pulse_doppler_radar.py +58 -0
- rad_lab-0.0.1/tests/test_range_and_rangerate.py +42 -0
- rad_lab-0.0.1/tests/test_skin_in_correct_rangedoppler_bin.py +52 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0 # required for setuptools-scm to determine version from tags
|
|
19
|
+
|
|
20
|
+
- name: Set up Python
|
|
21
|
+
uses: actions/setup-python@v5
|
|
22
|
+
with:
|
|
23
|
+
python-version: "3.11"
|
|
24
|
+
|
|
25
|
+
- name: Install build dependencies
|
|
26
|
+
run: |
|
|
27
|
+
python -m pip install --upgrade pip
|
|
28
|
+
pip install build
|
|
29
|
+
|
|
30
|
+
- name: Build package
|
|
31
|
+
run: python -m build
|
|
32
|
+
|
|
33
|
+
- name: Upload dist artifacts
|
|
34
|
+
uses: actions/upload-artifact@v4
|
|
35
|
+
with:
|
|
36
|
+
name: dist
|
|
37
|
+
path: dist/
|
|
38
|
+
|
|
39
|
+
publish:
|
|
40
|
+
needs: build
|
|
41
|
+
runs-on: ubuntu-latest
|
|
42
|
+
environment: pypi
|
|
43
|
+
permissions:
|
|
44
|
+
id-token: write # required for trusted publishing
|
|
45
|
+
|
|
46
|
+
steps:
|
|
47
|
+
- name: Download dist artifacts
|
|
48
|
+
uses: actions/download-artifact@v4
|
|
49
|
+
with:
|
|
50
|
+
name: dist
|
|
51
|
+
path: dist/
|
|
52
|
+
|
|
53
|
+
- name: Publish to PyPI
|
|
54
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
|
2
|
+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
|
|
3
|
+
|
|
4
|
+
name: Python application
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches: [ "main" ]
|
|
9
|
+
pull_request:
|
|
10
|
+
branches: [ "main" ]
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
test:
|
|
17
|
+
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
- name: Set up Python 3.11
|
|
23
|
+
uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.11"
|
|
26
|
+
- name: Install dependencies
|
|
27
|
+
run: |
|
|
28
|
+
sudo apt install -y texlive-latex-base texlive-latex-extra texlive-fonts-recommended cm-super dvipng
|
|
29
|
+
python -m pip install --upgrade pip
|
|
30
|
+
pip install ".[dev]"
|
|
31
|
+
- name: Lint with flake8
|
|
32
|
+
run: |
|
|
33
|
+
# stop the build if there are Python syntax errors or undefined names
|
|
34
|
+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
|
35
|
+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
|
36
|
+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
|
37
|
+
- name: Test with pytest
|
|
38
|
+
run: |
|
|
39
|
+
python -m pytest tests/ -v
|
|
40
|
+
- name: Test apps
|
|
41
|
+
run: |
|
|
42
|
+
bash apps/run_apps.sh
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: Ruff Linter & Formatter
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
ruff-check:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
steps:
|
|
9
|
+
- uses: actions/checkout@v4
|
|
10
|
+
- uses: actions/setup-python@v5
|
|
11
|
+
with:
|
|
12
|
+
python-version: '3.11.6'
|
|
13
|
+
- uses: astral-sh/ruff-action@v3
|
|
14
|
+
with:
|
|
15
|
+
version: "0.15.8" # Use your local ruff --version
|
|
16
|
+
- name: Install ruff
|
|
17
|
+
run: pip install ruff
|
|
18
|
+
- name: Run linter and formatter
|
|
19
|
+
run: |
|
|
20
|
+
ruff format --diff .
|
|
21
|
+
ruff check .
|
rad_lab-0.0.1/.gitignore
ADDED