Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
35bb0db
Refactor test structure and add initial test files.
mkb79 May 26, 2025
974769e
Add Read the Docs config and improve Sphinx documentation setup
mkb79 May 26, 2025
82a10c4
Add .gitattributes and .sshignore, update .gitignore
mkb79 May 26, 2025
da8270c
Add Nox configuration file for streamlined project sessions
mkb79 May 26, 2025
bd86478
Add new dev dependencies and refine dev dependency metadata
mkb79 May 26, 2025
4a2c79f
Add CODE_OF_CONDUCT and CONTRIBUTING guidelines
mkb79 May 26, 2025
16df134
Add pre-commit hooks, darglint config, and Codecov settings
mkb79 May 26, 2025
509f811
Add bug report issue template
mkb79 May 26, 2025
8d3f1ca
Add GitHub Actions labeler workflow and predefined labels
mkb79 May 26, 2025
03ac5ee
Add feature request issue template
mkb79 May 26, 2025
cde9093
Add constraints.txt for workflow dependencies
mkb79 May 26, 2025
4bc96a0
Add GitHub Actions workflow for testing and coverage
mkb79 May 26, 2025
8878215
Add detailed docstrings for config management methods
mkb79 May 28, 2025
00fb394
Remove trailing whitespace, use prettier, fix end of files
mkb79 May 28, 2025
a598733
Run nox -s pre-commit --fix over code
mkb79 May 28, 2025
71e71d8
Run ruff format
mkb79 May 28, 2025
12c1fad
Refactor logging calls to use parameterized logging
mkb79 May 29, 2025
b96abc4
Add specific `noqa` codes for better linting clarity
mkb79 May 29, 2025
3cd6a4a
Update `conf.py` and function parameter for linting compliance
mkb79 May 29, 2025
54e27e4
Resolve ruff format errors
mkb79 Jun 1, 2025
a0debb0
Enable `pre-commit` session in Nox and GitHub Actions workflow
mkb79 Jun 1, 2025
87b2eff
Update mypy dependencies in pyproject.toml and lock file
mkb79 Jun 2, 2025
62fba2e
Fetch version dynamically using `importlib.metadata` in `_version.py`.
mkb79 Jun 4, 2025
c021b2f
Relax `uv` required version constraint in pyproject.toml.
mkb79 Jun 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .darglint
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[darglint]
strictness = long
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: ""
assignees: ""
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**

- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**

- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: ""
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ updates:
dependency-type: development
pip-security-updates:
applies-to: security-updates
dependency-type: production
dependency-type: production
72 changes: 72 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
# Labels names are important as they are used by Release Drafter to decide
# regarding where to record them in changelog or if to skip them.
#
# The repository labels will be automatically configured using this file and
# the GitHub Action https://github.com/marketplace/actions/github-labeler.
- name: breaking
description: Breaking Changes
color: "#bfd4f2"
- name: bug
description: Something isn't working
color: "#d73a4a"
- name: build
description: Build System and Dependencies
color: "#bfdadc"
- name: ci
description: Continuous Integration
color: "#4a97d6"
- name: dependencies
description: Pull requests that update a dependency file
color: "#0366d6"
- name: documentation
description: Improvements or additions to documentation
color: "#0075ca"
- name: duplicate
description: This issue or pull request already exists
color: "#cfd3d7"
- name: enhancement
description: New feature or request
color: "#a2eeef"
- name: github_actions
description: Pull requests that update Github_actions code
color: "#000000"
- name: good first issue
description: Good for newcomers
color: "#7057ff"
- name: help wanted
description: Extra attention is needed
color: "#008672"
- name: invalid
description: This doesn't seem right
color: "#e4e669"
- name: performance
description: Performance
color: "#016175"
- name: python
description: Pull requests that update Python code
color: "#2b67c6"
- name: question
description: Further information is requested
color: "#d876e3"
- name: refactoring
description: Refactoring
color: "#ef67c4"
- name: removal
description: Removals and Deprecations
color: "#9ae7ea"
- name: style
description: Style
color: "#c120e5"
- name: testing
description: Testing
color: "#b1fc6f"
- name: skip-changelog
description: Skip pull request from release notes
color: "#964B00"
- name: skip-stale
description: Skip issue or pull request to be marked as stale
color: "#964B50"
- name: wontfix
description: This will not be worked on
color: "#ffffff"
102 changes: 51 additions & 51 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Build
on:
push:
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10

env:
PYTHON_VERSION: "3.13"
Expand All @@ -15,16 +15,16 @@ jobs:
outputs:
release_url: ${{ steps.create-release.outputs.upload_url }}
steps:
- name: Create Release
id: create-release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Create Release
id: create-release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false

build:
name: Build packages
Expand All @@ -36,72 +36,72 @@ jobs:
- os: ubuntu-latest
TARGET: linux
CMD_BUILD: >
uv run pyinstaller --clean -F --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
zip -r9 audible_linux_ubuntu_latest audible
uv run pyinstaller --clean -F --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
zip -r9 audible_linux_ubuntu_latest audible
OUT_FILE_NAME: audible_linux_ubuntu_latest.zip
ASSET_MIME: application/zip # application/octet-stream
ASSET_MIME: application/zip # application/octet-stream
- os: ubuntu-22.04
TARGET: linux
CMD_BUILD: >
uv run pyinstaller --clean -F --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
zip -r9 audible_linux_ubuntu_22_04 audible
uv run pyinstaller --clean -F --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
zip -r9 audible_linux_ubuntu_22_04 audible
OUT_FILE_NAME: audible_linux_ubuntu_22_04.zip
ASSET_MIME: application/zip # application/octet-stream
ASSET_MIME: application/zip # application/octet-stream
- os: macos-latest
TARGET: macos
CMD_BUILD: >
uv run pyinstaller --clean -F --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
zip -r9 audible_mac audible
uv run pyinstaller --clean -F --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
zip -r9 audible_mac audible
OUT_FILE_NAME: audible_mac.zip
ASSET_MIME: application/zip
- os: macos-latest
TARGET: macos
CMD_BUILD: >
uv run pyinstaller --clean -D --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
zip -r9 audible_mac_dir audible
uv run pyinstaller --clean -D --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
zip -r9 audible_mac_dir audible
OUT_FILE_NAME: audible_mac_dir.zip
ASSET_MIME: application/zip
ASSET_MIME: application/zip
- os: windows-latest
TARGET: windows
CMD_BUILD: >
uv run pyinstaller --clean -D --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
powershell Compress-Archive audible audible_win_dir.zip
uv run pyinstaller --clean -D --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
powershell Compress-Archive audible audible_win_dir.zip
OUT_FILE_NAME: audible_win_dir.zip
ASSET_MIME: application/zip
- os: windows-latest
TARGET: windows
CMD_BUILD: >
uv run pyinstaller --clean -F --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
powershell Compress-Archive audible.exe audible_win.zip
uv run pyinstaller --clean -F --hidden-import audible_cli -n audible -c pyi_entrypoint.py &&
cd dist/ &&
powershell Compress-Archive audible.exe audible_win.zip
OUT_FILE_NAME: audible_win.zip
ASSET_MIME: application/zip
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Install uv
uses: astral-sh/setup-uv@v6
- name: Install uv
uses: astral-sh/setup-uv@v6

- name: Build with pyinstaller for ${{matrix.TARGET}}
run: ${{matrix.CMD_BUILD}}
- name: Build with pyinstaller for ${{matrix.TARGET}}
run: ${{matrix.CMD_BUILD}}

- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.createrelease.outputs.release_url }}
asset_path: ./dist/${{ matrix.OUT_FILE_NAME}}
asset_name: ${{ matrix.OUT_FILE_NAME}}
asset_content_type: ${{ matrix.ASSET_MIME}}
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.createrelease.outputs.release_url }}
asset_path: ./dist/${{ matrix.OUT_FILE_NAME}}
asset_name: ${{ matrix.OUT_FILE_NAME}}
asset_content_type: ${{ matrix.ASSET_MIME}}
5 changes: 5 additions & 0 deletions .github/workflows/constraints.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
pip==25.1.1
nox==2025.5.1
nox-uv==0.3.0
uv==0.7.6
virtualenv==20.31.2
23 changes: 23 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Labeler

on:
push:
branches:
- main
- master

jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v4

- name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v5.3.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
skip-delete: true
2 changes: 1 addition & 1 deletion .github/workflows/pypi-publish-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
build-n-publish:
name: Build and publish Audible-cli to TestPyPI
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

Expand Down
Loading