18 Commits

Author SHA1 Message Date
5e641b0963 Removing .flake8 file 2025-10-09 22:32:10 -07:00
1b57ad0fac Typo 2025-10-09 22:26:04 -07:00
c7a34e0064 Added 3.14 to test matrix and dropped 3.8 2025-10-09 22:24:45 -07:00
6b788484da Typo 2025-10-09 22:22:12 -07:00
76905f1a40 Updated name of lint workflow 2025-10-09 22:21:11 -07:00
9ac06040a2 Making changes to the workflows 2025-10-09 22:16:12 -07:00
1b78f5b821 Reorganized pyproject, nudged version 2025-10-09 22:08:36 -07:00
03d718b4ad Fixed dumb typo 2025-10-09 22:06:48 -07:00
61f79760e6 Initial work on uv build system
Moved module into src/ and modernized pyproject.toml
2025-10-09 21:49:33 -07:00
Jamie Hardt
c1205d52e8 Merge pull request #38 from iluvcapra/maint-no-mastodon
Workflow Spruce-up
2024-11-26 12:00:18 -08:00
Jamie Hardt
b82b6b6d43 Fixed publish to Bluesky worksflow 2024-11-26 11:56:51 -08:00
Jamie Hardt
8ef664266f Updated flake8 step to use python 3.13 2024-11-26 10:30:24 -08:00
Jamie Hardt
dfb7e34fc7 Update pythonpublish.yml
Updated `checkout` and `setup-python` versions
2024-11-25 18:41:36 -08:00
Jamie Hardt
2ebdefaab5 Update pythonpublish.yml 2024-11-25 18:37:15 -08:00
Jamie Hardt
c609e22270 Update pythonpublish.yml 2024-11-25 18:33:53 -08:00
Jamie Hardt
ef9c39f1b6 Update pythonpublish.yml
Adding posting to Bluesky
2024-11-25 18:32:19 -08:00
Jamie Hardt
cc9d884ea8 Update pythonpublish.yml
Removed Mastodon notification step
2024-11-25 18:07:17 -08:00
Jamie Hardt
94563f69a9 Merge pull request #37 from iluvcapra/feature-interactive
Feature: interactive shell
2024-11-25 11:17:20 -08:00
22 changed files with 53 additions and 55 deletions

View File

@@ -1,3 +0,0 @@
[flake8]
per-file-ignores =
wavinfo/__init__.py: F401

View File

@@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v2.5.0
@@ -27,8 +27,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
python -m pip install -e .
python -m pip install --group dev
python -m pip install .
- name: Setup FFmpeg
uses: FedericoCarboni/setup-ffmpeg@v2
- name: Test with pytest

View File

@@ -1,7 +1,7 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Flake8
name: Lint with Ruff
on:
push:
@@ -11,12 +11,11 @@ on:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11"]
python-version: ["3.13", "3.14"]
steps:
- uses: actions/checkout@v2.5.0
@@ -27,14 +26,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8
python -m pip install -e .
- name: Lint with flake8
python -m pip install --group dev
python -m pip install .
- name: Lint with ruff
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Lint with flake8
run: |
flake8 wavinfo
ruff check src

View File

@@ -8,29 +8,29 @@ jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4.2.2
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v5.3.0
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools build wheel twine lxml
- name: Build and publish
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }}
run: |
- name: Build
python -m build .
twine upload dist/*
- name: Report to Mastodon
uses: cbrgm/mastodon-github-action@v1.0.1
- name: Publish to Pypi
uses: pypa/gh-action-pypi-publish@v1.12.2
with:
message: |
I just released a new version of wavinfo, my library for reading WAVE file metadata!
#sounddesign #filmmaking #audio #python
${{ github.server_url }}/${{ github.repository }}
env:
MASTODON_URL: ${{ secrets.MASTODON_URL }}
MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }}
password: ${{ secrets.PYPI_APIKEY }}
- name: Send Bluesky Post
uses: myConsciousness/bluesky-post@v5
with:
text: |
I've released a new version of wavinfo, my module for
reading WAVE metadata.
link-preview-url: ${{ github.server_url }}/${{ github.repository }}
identifier: ${{ secrets.BLUESKY_APP_USER }}
password: ${{ secrets.BLUESKY_APP_PASSWORD }}
service: bsky.social
retry-count: 1

View File

@@ -2,7 +2,7 @@
![GitHub last commit](https://img.shields.io/github/last-commit/iluvcapra/wavinfo) [![Documentation Status](https://readthedocs.org/projects/wavinfo/badge/?version=latest)](https://wavinfo.readthedocs.io/en/latest/?badge=latest) ![](https://img.shields.io/github/license/iluvcapra/wavinfo.svg)
[![Tests](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml)
[![Flake8](https://github.com/iluvcapra/wavinfo/actions/workflows/python-flake8.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-flake8.yml)
[![Ruff](https://github.com/iluvcapra/wavinfo/actions/workflows/python-ruff.yml/badge.svg)](https://github.com/iluvcapra/wavinfo/actions/workflows/python-ruff.yml)
[![codecov](https://codecov.io/gh/iluvcapra/wavinfo/branch/master/graph/badge.svg?token=9DZQfZENYv)](https://codecov.io/gh/iluvcapra/wavinfo)
# wavinfo

View File

@@ -1,27 +1,26 @@
# https://python-poetry.org/docs/pyproject/
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
requires = ["uv_build>=0.8.18,<0.9.0"]
build-backend = "uv_build"
[tool.poetry]
[project]
name = "wavinfo"
version = "3.1.0"
version = "3.1.1"
description = "Probe WAVE files for all metadata"
authors = ["Jamie Hardt <jamiehardt@me.com>"]
authors = [{ name = "Jamie Hardt", email = "jamiehardt@me.com"}]
license = "MIT"
readme = "README.md"
requires-python = ">=3.8"
classifiers = [
'Development Status :: 5 - Production/Stable',
'License :: OSI Approved :: MIT License',
'Topic :: Multimedia',
'Topic :: Multimedia :: Sound/Audio',
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13"
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14"
]
homepage = "https://github.com/iluvcapra/wavinfo"
repository = "https://github.com/iluvcapra/wavinfo.git"
@@ -39,17 +38,22 @@ keywords = [
'broadcast'
]
[tool.poetry.extras]
doc = ['sphinx', 'sphinx_rtd_theme']
dependencies = [
"lxml>=6.0.2",
]
[tool.poetry.scripts]
wavinfo = 'wavinfo.__main__:main'
[dependency-groups]
dev = [
"pytest>=8.3.5",
"ruff>=0.14.0",
]
doc = [
"sphinx>=7.1.2",
"sphinx-rtd-theme>=3.0.2",
]
[tool.poetry.dependencies]
python = "^3.8"
lxml = "~= 5.3.0"
sphinx_rtd_theme = {version= '>= 1.1.1', optional=true}
sphinx = {version= '>= 5.3.0', optional=true}
[project.scripts]
wavinfo = "wavinfo:__main__.main"
[tool.pyright]
typeCheckingMode = "basic"
@@ -65,3 +69,4 @@ disable = [
"R0913", # (too-many-arguments)
"W0105", # (pointless-string-statement)
]

View File

@@ -2,5 +2,8 @@
Probe WAVE Files for iXML, Broadcast-WAVE and other metadata.
"""
__all__ = ['WavInfoReader', 'WavInfoEOFError']
from .wave_reader import WavInfoReader
from .riff_parser import WavInfoEOFError