pyaudiocast 0.1.6__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.
@@ -0,0 +1,102 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ jobs:
9
+ rust:
10
+ name: Rust checks
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - name: Install system dependencies
16
+ run: sudo apt-get update && sudo apt-get install -y libasound2-dev
17
+
18
+ - uses: dtolnay/rust-toolchain@stable
19
+ with:
20
+ components: clippy, rustfmt
21
+
22
+ - uses: Swatinem/rust-cache@v2
23
+
24
+ - name: Check formatting
25
+ run: cargo fmt --check
26
+
27
+ - name: Clippy
28
+ run: cargo clippy -- -D warnings
29
+
30
+ - name: Run tests
31
+ run: cargo test
32
+
33
+ python:
34
+ name: Python tests (${{ matrix.os }})
35
+ runs-on: ${{ matrix.os }}
36
+ strategy:
37
+ fail-fast: false
38
+ matrix:
39
+ os: [ubuntu-latest, macos-latest, windows-latest]
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+
43
+ - name: Install system dependencies (Linux)
44
+ if: runner.os == 'Linux'
45
+ run: sudo apt-get update && sudo apt-get install -y libasound2-dev
46
+
47
+ - uses: dtolnay/rust-toolchain@stable
48
+
49
+ - uses: Swatinem/rust-cache@v2
50
+
51
+ - uses: actions/setup-python@v5
52
+ with:
53
+ python-version: "3.12"
54
+
55
+ - name: Create virtualenv and install dependencies
56
+ run: |
57
+ python -m venv .venv
58
+
59
+ - name: Install dependencies
60
+ run: |
61
+ .venv/bin/pip install maturin numpy pytest pytest-cov
62
+ shell: bash
63
+ if: runner.os != 'Windows'
64
+
65
+ - name: Install dependencies (Windows)
66
+ run: |
67
+ .venv\Scripts\pip install maturin numpy pytest pytest-cov
68
+ shell: cmd
69
+ if: runner.os == 'Windows'
70
+
71
+ - name: Build and install
72
+ run: |
73
+ source .venv/bin/activate
74
+ maturin develop
75
+ shell: bash
76
+ if: runner.os != 'Windows'
77
+
78
+ - name: Build and install (Windows)
79
+ run: |
80
+ .venv\Scripts\activate && maturin develop
81
+ shell: cmd
82
+ if: runner.os == 'Windows'
83
+
84
+ - name: Run tests with coverage
85
+ run: |
86
+ source .venv/bin/activate
87
+ pytest tests/ -v --tb=short --cov=pyaudiocast --cov-report=xml || echo "::warning::Some tests failed (expected in CI without audio hardware)"
88
+ shell: bash
89
+ if: runner.os != 'Windows'
90
+
91
+ - name: Run tests with coverage (Windows)
92
+ run: |
93
+ .venv\Scripts\activate && pytest tests/ -v --tb=short --cov=pyaudiocast --cov-report=xml
94
+ shell: cmd
95
+ if: runner.os == 'Windows'
96
+
97
+ - name: Upload coverage to Codecov
98
+ if: matrix.os == 'ubuntu-latest'
99
+ uses: codecov/codecov-action@v5
100
+ with:
101
+ files: coverage.xml
102
+ token: ${{ secrets.CODECOV_TOKEN }}
@@ -0,0 +1,17 @@
1
+ name: Release Please
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ permissions:
8
+ contents: write
9
+ pull-requests: write
10
+
11
+ jobs:
12
+ release-please:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: googleapis/release-please-action@v4
16
+ with:
17
+ token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
@@ -0,0 +1,113 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "pyaudiocast-v*"
7
+
8
+ permissions:
9
+ contents: read
10
+ id-token: write
11
+
12
+ jobs:
13
+ build-linux:
14
+ name: Build Linux (${{ matrix.target }})
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ target: [x86_64]
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - name: Build wheels
23
+ uses: PyO3/maturin-action@v1
24
+ with:
25
+ target: ${{ matrix.target }}
26
+ args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12 -i python3.13 -i python3.14
27
+ manylinux: auto
28
+ before-script-linux: |
29
+ yum install -y alsa-lib-devel
30
+
31
+ - uses: actions/upload-artifact@v4
32
+ with:
33
+ name: wheels-linux-${{ matrix.target }}
34
+ path: dist
35
+
36
+ build-macos:
37
+ name: Build macOS (${{ matrix.target }})
38
+ runs-on: macos-latest
39
+ strategy:
40
+ matrix:
41
+ target: [x86_64, aarch64]
42
+ steps:
43
+ - uses: actions/checkout@v4
44
+
45
+ - uses: actions/setup-python@v5
46
+ with:
47
+ python-version: "3.12"
48
+
49
+ - name: Build wheels
50
+ uses: PyO3/maturin-action@v1
51
+ with:
52
+ target: ${{ matrix.target }}-apple-darwin
53
+ args: --release --out dist
54
+
55
+ - uses: actions/upload-artifact@v4
56
+ with:
57
+ name: wheels-macos-${{ matrix.target }}
58
+ path: dist
59
+
60
+ build-windows:
61
+ name: Build Windows (x86_64)
62
+ runs-on: windows-latest
63
+ steps:
64
+ - uses: actions/checkout@v4
65
+
66
+ - uses: actions/setup-python@v5
67
+ with:
68
+ python-version: "3.12"
69
+
70
+ - name: Build wheels
71
+ uses: PyO3/maturin-action@v1
72
+ with:
73
+ target: x86_64
74
+ args: --release --out dist
75
+
76
+ - uses: actions/upload-artifact@v4
77
+ with:
78
+ name: wheels-windows-x86_64
79
+ path: dist
80
+
81
+ build-sdist:
82
+ name: Build sdist
83
+ runs-on: ubuntu-latest
84
+ steps:
85
+ - uses: actions/checkout@v4
86
+
87
+ - name: Build sdist
88
+ uses: PyO3/maturin-action@v1
89
+ with:
90
+ command: sdist
91
+ args: --out dist
92
+
93
+ - uses: actions/upload-artifact@v4
94
+ with:
95
+ name: wheels-sdist
96
+ path: dist
97
+
98
+ publish:
99
+ name: Publish to PyPI
100
+ runs-on: ubuntu-latest
101
+ needs: [build-linux, build-macos, build-windows, build-sdist]
102
+ environment: pypi
103
+ permissions:
104
+ id-token: write
105
+ steps:
106
+ - uses: actions/download-artifact@v4
107
+ with:
108
+ pattern: wheels-*
109
+ merge-multiple: true
110
+ path: dist/
111
+
112
+ - name: Publish to PyPI
113
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,22 @@
1
+ # Rust
2
+ /target/
3
+ Cargo.lock
4
+
5
+ # Python
6
+ __pycache__/
7
+ *.pyc
8
+ *.pyo
9
+ *.egg-info/
10
+ dist/
11
+ build/
12
+ *.so
13
+ *.dll
14
+ *.dylib
15
+ .venv/
16
+ venv/
17
+
18
+ # IDE
19
+ .idea/
20
+ .vscode/
21
+ *.swp
22
+ *.swo
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.6"
3
+ }
@@ -0,0 +1,70 @@
1
+ # Changelog
2
+
3
+ ## [0.1.6](https://github.com/nicokim/PyAudioCast/compare/pyaudiocast-v0.1.5...pyaudiocast-v0.1.6) (2026-02-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * add CI/CD workflows and PyPI publishing ([#1](https://github.com/nicokim/PyAudioCast/issues/1)) ([2bebcf7](https://github.com/nicokim/PyAudioCast/commit/2bebcf7af2c602999f8350ec2abcdb5518863d92))
9
+ * initial release of pyaudiocast ([dc4ccfc](https://github.com/nicokim/PyAudioCast/commit/dc4ccfc0bbaf6f1892c54940be8de0fe9ab93909))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * remove invalid extra-files from release-please config ([#2](https://github.com/nicokim/PyAudioCast/issues/2)) ([42c2c62](https://github.com/nicokim/PyAudioCast/commit/42c2c626cd81ad9cc9027f789a627914892edaa8))
15
+ * remove Linux aarch64 build (ALSA cross-compilation unsupported) ([#11](https://github.com/nicokim/PyAudioCast/issues/11)) ([d942291](https://github.com/nicokim/PyAudioCast/commit/d9422915a4f8e5fbdd203bc73d28f8eda44be81a))
16
+ * trigger release workflow on tag push instead of release event ([#4](https://github.com/nicokim/PyAudioCast/issues/4)) ([4d7364a](https://github.com/nicokim/PyAudioCast/commit/4d7364ad19ef515ecee79fb8e9e18e77ad0a971f))
17
+ * update play_sine example to use unified write() ([#10](https://github.com/nicokim/PyAudioCast/issues/10)) ([3c66fc1](https://github.com/nicokim/PyAudioCast/commit/3c66fc17e3ce9f78199d91199f8c2a69dc578d86))
18
+ * use --find-interpreter for Linux manylinux wheel builds ([#8](https://github.com/nicokim/PyAudioCast/issues/8)) ([bd7b56e](https://github.com/nicokim/PyAudioCast/commit/bd7b56edd018c95b6674eddee01090fe467fbe50))
19
+ * use PAT for release-please to trigger release workflow ([#6](https://github.com/nicokim/PyAudioCast/issues/6)) ([672c5ae](https://github.com/nicokim/PyAudioCast/commit/672c5ae1b2b12e4fc3cf121f7aec37717ac9d314))
20
+
21
+ ## [0.1.5](https://github.com/nicokim/PyAudioCast/compare/pyaudiocast-v0.1.4...pyaudiocast-v0.1.5) (2026-02-23)
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * remove Linux aarch64 build (ALSA cross-compilation unsupported) ([#11](https://github.com/nicokim/PyAudioCast/issues/11)) ([d942291](https://github.com/nicokim/PyAudioCast/commit/d9422915a4f8e5fbdd203bc73d28f8eda44be81a))
27
+
28
+ ## [0.1.4](https://github.com/nicokim/PyAudioCast/compare/pyaudiocast-v0.1.3...pyaudiocast-v0.1.4) (2026-02-23)
29
+
30
+
31
+ ### Features
32
+
33
+ * add CI/CD workflows and PyPI publishing ([#1](https://github.com/nicokim/PyAudioCast/issues/1)) ([2bebcf7](https://github.com/nicokim/PyAudioCast/commit/2bebcf7af2c602999f8350ec2abcdb5518863d92))
34
+ * initial release of pyaudiocast ([dc4ccfc](https://github.com/nicokim/PyAudioCast/commit/dc4ccfc0bbaf6f1892c54940be8de0fe9ab93909))
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * remove invalid extra-files from release-please config ([#2](https://github.com/nicokim/PyAudioCast/issues/2)) ([42c2c62](https://github.com/nicokim/PyAudioCast/commit/42c2c626cd81ad9cc9027f789a627914892edaa8))
40
+ * trigger release workflow on tag push instead of release event ([#4](https://github.com/nicokim/PyAudioCast/issues/4)) ([4d7364a](https://github.com/nicokim/PyAudioCast/commit/4d7364ad19ef515ecee79fb8e9e18e77ad0a971f))
41
+ * update play_sine example to use unified write() ([#10](https://github.com/nicokim/PyAudioCast/issues/10)) ([3c66fc1](https://github.com/nicokim/PyAudioCast/commit/3c66fc17e3ce9f78199d91199f8c2a69dc578d86))
42
+ * use --find-interpreter for Linux manylinux wheel builds ([#8](https://github.com/nicokim/PyAudioCast/issues/8)) ([bd7b56e](https://github.com/nicokim/PyAudioCast/commit/bd7b56edd018c95b6674eddee01090fe467fbe50))
43
+ * use PAT for release-please to trigger release workflow ([#6](https://github.com/nicokim/PyAudioCast/issues/6)) ([672c5ae](https://github.com/nicokim/PyAudioCast/commit/672c5ae1b2b12e4fc3cf121f7aec37717ac9d314))
44
+
45
+ ## [0.1.3](https://github.com/nicokim/PyAudioCast/compare/pyaudiocast-v0.1.2...pyaudiocast-v0.1.3) (2026-02-23)
46
+
47
+
48
+ ### Bug Fixes
49
+
50
+ * use PAT for release-please to trigger release workflow ([#6](https://github.com/nicokim/PyAudioCast/issues/6)) ([672c5ae](https://github.com/nicokim/PyAudioCast/commit/672c5ae1b2b12e4fc3cf121f7aec37717ac9d314))
51
+
52
+ ## [0.1.2](https://github.com/nicokim/PyAudioCast/compare/pyaudiocast-v0.1.1...pyaudiocast-v0.1.2) (2026-02-23)
53
+
54
+
55
+ ### Bug Fixes
56
+
57
+ * trigger release workflow on tag push instead of release event ([#4](https://github.com/nicokim/PyAudioCast/issues/4)) ([4d7364a](https://github.com/nicokim/PyAudioCast/commit/4d7364ad19ef515ecee79fb8e9e18e77ad0a971f))
58
+
59
+ ## [0.1.1](https://github.com/nicokim/PyAudioCast/compare/pyaudiocast-v0.1.0...pyaudiocast-v0.1.1) (2026-02-23)
60
+
61
+
62
+ ### Features
63
+
64
+ * add CI/CD workflows and PyPI publishing ([#1](https://github.com/nicokim/PyAudioCast/issues/1)) ([2bebcf7](https://github.com/nicokim/PyAudioCast/commit/2bebcf7af2c602999f8350ec2abcdb5518863d92))
65
+ * initial release of pyaudiocast ([dc4ccfc](https://github.com/nicokim/PyAudioCast/commit/dc4ccfc0bbaf6f1892c54940be8de0fe9ab93909))
66
+
67
+
68
+ ### Bug Fixes
69
+
70
+ * remove invalid extra-files from release-please config ([#2](https://github.com/nicokim/PyAudioCast/issues/2)) ([42c2c62](https://github.com/nicokim/PyAudioCast/commit/42c2c626cd81ad9cc9027f789a627914892edaa8))