mirror of
https://github.com/iluvcapra/wavinfo.git
synced 2026-10-02 01:37:22 +00:00
Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 742c0b91fb | |||
| 8e56a1aeb2 | |||
| 6bc3636814 | |||
| e12ae4519e | |||
| 8926274c50 | |||
| 95ba34187a | |||
| 4d2dfcd370 | |||
| 717b6a4117 | |||
| 7393afac95 | |||
| e9450cd65a | |||
| 51b1a2e8b4 | |||
| 53303232b4 | |||
| 3519a0251f | |||
| 79ec1649c4 | |||
| 7c3f4c9b5e | |||
| 2e8224cb3c | |||
| 8ef4186b4c | |||
| cd5346c1cb | |||
| 925bf4f8a6 | |||
| e98ba0bf07 | |||
| afca634dc3 | |||
| df9ae0f4d6 | |||
| 2f23bcb982 | |||
| 5e641b0963 | |||
| 1b57ad0fac | |||
| c7a34e0064 | |||
| 6b788484da | |||
| 76905f1a40 | |||
| 9ac06040a2 | |||
| 1b78f5b821 | |||
| 03d718b4ad | |||
| 61f79760e6 | |||
| afe5ea9ed3 | |||
| c1205d52e8 |
@@ -16,21 +16,21 @@ 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
|
||||
- uses: actions/checkout@v6.0.2
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v4.3.0
|
||||
uses: actions/setup-python@v6.2.0
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- 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
|
||||
uses: federicocarboni/setup-ffmpeg@v3.1
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
pytest
|
||||
|
||||
@@ -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.13"]
|
||||
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
|
||||
@@ -16,21 +16,25 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools build wheel twine lxml
|
||||
- name: Setup uv and Handle Its Cache
|
||||
# You may pin to the exact commit or the version.
|
||||
# uses: hynek/setup-cached-uv@757bedc3f972eb7227a1aa657651f15a8527c817
|
||||
uses: hynek/setup-cached-uv@v2.3.0
|
||||
- name: Build
|
||||
python -m build .
|
||||
run: |
|
||||
uv build --wheel
|
||||
- name: Publish to Pypi
|
||||
uses: pypa/gh-action-pypi-publish@v1.12.2
|
||||
uses: pypa/gh-action-pypi-publish@v1.13.0
|
||||
with:
|
||||
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
|
||||
# - 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
|
||||
|
||||
+6
-8
@@ -7,13 +7,13 @@ version: 2
|
||||
|
||||
# Set the version of Python and other tools you might need
|
||||
build:
|
||||
os: ubuntu-20.04
|
||||
os: ubuntu-lts-latest
|
||||
tools:
|
||||
python: "3.10"
|
||||
# You can also specify other tool versions:
|
||||
# nodejs: "16"
|
||||
# rust: "1.55"
|
||||
# golang: "1.17"
|
||||
python: "3.13"
|
||||
jobs:
|
||||
install:
|
||||
- pip install --upgrade pip
|
||||
- pip install --group 'doc'
|
||||
|
||||
# Build documentation in the docs/ directory with Sphinx
|
||||
sphinx:
|
||||
@@ -28,5 +28,3 @@ python:
|
||||
install:
|
||||
- method: pip
|
||||
path: .
|
||||
extra_requirements:
|
||||
- doc
|
||||
|
||||
@@ -13,3 +13,35 @@ If you discover a bug or would like better support for a feature, please do the
|
||||
review it as soon as I can. There's a `.devcontainer` available so you can creates commits
|
||||
on this project in a GitHub codespace.
|
||||
|
||||
|
||||
## Regarding use of Agents
|
||||
|
||||
`wavinfo` is an open-source project that is offered free for no commerical gain, and
|
||||
is developed and maintained for educational and creative reasons.
|
||||
|
||||
If you use an agent or LLM to produce code for it you are missing out on the benefits
|
||||
of contributing to an open-source project, particularly community, collaboration with
|
||||
other developers and designers, and being able to learn and experiment without the
|
||||
burden of deadlines or worrying about business cases or profits.
|
||||
|
||||
This project is supposed to be fun, do not let machines have fun for you.
|
||||
|
||||
We can't prevent you from using LLMs to contribute to this project but we ask you
|
||||
abide by the following eitiquette when doing so:
|
||||
|
||||
* All communication with the maintainers must be written by a human in their own
|
||||
voice. Never use an LLM to craft thread comments, discussion posts, issues, emails
|
||||
or other correspondence with other developers or the maintainers.
|
||||
* PRs must be submitted by a person. Do not allow an agent to submit its own PRs to
|
||||
this project.
|
||||
* Especially if you are a new contributor to this project, please submit only one PR
|
||||
at a time and please restrict the subject matter of the PR to a specific unit,
|
||||
module or tool. All submissions have to be reviewed and understood by the
|
||||
maintainers before they can be merged.
|
||||
|
||||
Obviously we can't verify if you follow all of these rules but certain telltale
|
||||
traits of LLM-predicted text or code will raise a flag: lack of brevity in
|
||||
descriptions or code comments, large amounts of text describing your process or
|
||||
steps that add little to understanding the changes you've made, use of an
|
||||
obsequious tone or being excessively accomodating, immediately doing requests
|
||||
without further discussion or clarifications.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
 [](https://wavinfo.readthedocs.io/en/latest/?badge=latest) 
|
||||
|
||||
[](https://github.com/iluvcapra/wavinfo/actions/workflows/python-package.yml)
|
||||
[](https://github.com/iluvcapra/wavinfo/actions/workflows/python-flake8.yml)
|
||||
[](https://github.com/iluvcapra/wavinfo/actions/workflows/python-ruff.yml)
|
||||
[](https://codecov.io/gh/iluvcapra/wavinfo)
|
||||
|
||||
# wavinfo
|
||||
|
||||
+7
-8
@@ -12,25 +12,24 @@
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#
|
||||
import importlib
|
||||
# import importlib
|
||||
import os
|
||||
import sys
|
||||
sys.path.insert(0, os.path.abspath('../..'))
|
||||
sys.path.insert(0, os.path.abspath("../../.."))
|
||||
sys.path.insert(0, os.path.abspath('../../src'))
|
||||
sys.path.insert(0, os.path.abspath("../../../src"))
|
||||
print(sys.path)
|
||||
|
||||
import importlib
|
||||
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = u'wavinfo'
|
||||
copyright = u'2018-2024, Jamie Hardt'
|
||||
copyright = u'2018-2025, Jamie Hardt'
|
||||
author = u'Jamie Hardt'
|
||||
|
||||
# The short X.Y version
|
||||
version = "3.1"
|
||||
version = "4.0"
|
||||
# The full version, including alpha/beta/rc tags
|
||||
release = importlib.metadata.version("wavinfo")
|
||||
release = "4.0.0"
|
||||
# release = importlib.metadata.version("wavinfo")
|
||||
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
|
||||
+23
-18
@@ -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 = "4.0.0"
|
||||
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)
|
||||
]
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user