Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
42 changes: 25 additions & 17 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ jobs:
version: <<parameters.version>>
steps:
- checkout
# - run:
# name: Install System Dependencies
# command: sudo apt-get update && sudo apt-get install -y libsndfile1
- run:
name: Install System Dependencies
command: sudo apt-get update && sudo apt-get install -y libsndfile1
- run:
name: install dependencies
command: pip install ".[tests]"
- run:
name: Run tests
command: pytest
command: pytest tests

ruff:
parameters:
Expand Down Expand Up @@ -75,9 +75,9 @@ jobs:
version: <<parameters.version>>
steps:
- checkout
# - run:
# name: Install System Dependencies
# command: sudo apt-get update && sudo apt-get install -y libsndfile1 texlive-latex-extra dvipng
- run:
name: Install System Dependencies
command: sudo apt-get update && sudo apt-get install -y libsndfile1
- run:
name: Sphinx
command: |
Expand All @@ -96,9 +96,9 @@ jobs:
version: <<parameters.version>>
steps:
- checkout
# - run:
# name: Install System Dependencies
# command: sudo apt-get update && sudo apt-get install -y libsndfile1 texlive-latex-extra dvipng
- run:
name: Install System Dependencies
command: sudo apt-get update && sudo apt-get install -y libsndfile1
- run:
name: install dependencies
command: pip install ".[tests]"
Expand All @@ -108,7 +108,7 @@ jobs:
name: Run tests
command: pytest tests -W error::DeprecationWarning

test_pypi_publish:
test_package_build:
parameters:
version:
description: "version tag"
Expand All @@ -119,9 +119,9 @@ jobs:
version: <<parameters.version>>
steps:
- checkout
# - run:
# name: Install System Dependencies
# command: sudo apt-get update && sudo apt-get install -y libsndfile1
- run:
name: Install System Dependencies
command: sudo apt-get update && sudo apt-get install -y libsndfile1
- run:
name: install dependencies
command: pip install ".[deploy]"
Expand Down Expand Up @@ -155,6 +155,7 @@ jobs:
twine check dist/*
twine upload dist/*


# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
Expand All @@ -169,7 +170,7 @@ workflows:
- "3.12"
- "3.13"
- "3.14"

- ruff:
matrix:
parameters:
Expand All @@ -194,13 +195,18 @@ workflows:
requires:
- build_and_test

- test_pypi_publish:
- test_package_build:
matrix:
parameters:
version:
- "3.14"
requires:
- build_and_test
filters:
branches:
only:
- main
- develop


test_and_publish:
Expand All @@ -215,7 +221,7 @@ workflows:
- "3.12"
- "3.13"
- "3.14"

filters:
branches:
ignore: /.*/
Expand Down Expand Up @@ -274,9 +280,11 @@ workflows:
- build_and_test
- ruff
- test_documentation_build
- test_deprecation_warnings
filters:
branches:
ignore: /.*/
# only act on version tags
tags:
only: /^v[0-9]+(\.[0-9]+)*$/

7 changes: 3 additions & 4 deletions .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
_commit: dc7658e
_src_path: C:\Users\User\Documents\pyfar_contribution\template-pyfar-package
_commit: ecd48bd
_src_path: https://github.com/pyfar/template-pyfar-package
apt_packages: libsndfile1,
author: The pyfar developers
copyright_statement: 2026, The pyfar developers
dependencies: numpy>=1.22,scipy>=1.17,urlib3,matplotlib>=3.10.3,pyfar>=0.8.0
file_creation: true
dependencies: numpy>=1.22,scipy>=1.17,urllib3,matplotlib>=3.10.3,pyfar>=0.8.0
git_username: pyfar
gitignore_custom: tests/test_plot_data/output/,
keywords: acoustics,pyfar
Expand Down
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@ end_of_line = crlf

[LICENSE]
insert_final_newline = false

[Makefile]
indent_style = tab
26 changes: 26 additions & 0 deletions .github/workflows/check_modified_history.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name : modified_history_check

on :
pull_request:
types:
- opened
- synchronize

jobs:
check-history:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check if HISTORY.rst was modified or created
run: |
git diff origin/${{ github.base_ref }} HEAD \
--diff-filter=AMR \
--name-only \
-- HISTORY.rst | grep -q . || {
echo "ERROR: HISTORY.rst was not modified"
exit 1
}

25 changes: 0 additions & 25 deletions .github/workflows/create_issue_if_cookiecutter.yml

This file was deleted.

45 changes: 45 additions & 0 deletions .github/workflows/create_pr_on_template_updates.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: create pr on template updates

on:
repository_dispatch:
types: [new-template-version]
pull_request:
types: [ labeled ]

jobs:
create-pr-from-copier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: 3.13
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install copier
- name: Configure Git
run: |
git config user.name "github-actions"
git config user.email "github-actions@github.com"
- name: apply copier template and save version
run: |
# grab template version
# update_info=$(copier check-update --output-format json)
# latest_version=$(python -c "import json,sys; print(json.loads(sys.argv[1])['latest_version'])" "$update_info")
latest_version="v0.1.0" # need to be removed once we have a version published
echo "latest_version=$latest_version" >> $GITHUB_ENV
# update copier
copier update --skip-answered --defaults

- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
commit-message: apply copier template
title: "[Bot]: apply copier template version ${{ env.latest_version }}"
base: ci/pr-template
body: |
- apply latest changes from copier template version ${{ env.latest_version }}
branch: template/copier-${{ env.latest_version }}
draft: true
4 changes: 2 additions & 2 deletions .github/workflows/has_version_milestone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ on:
pull_request:
types:
- opened
- labeled
- unlabeled
- milestoned
- demilestoned
- synchronize

jobs:
Expand Down
9 changes: 4 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,6 @@ venv.bak/
# macOS
.DS_Store

# external data that is loaded from the web
spharpy/samplings/_eqsp/samplings_extremal*
spharpy/samplings/_eqsp/samplings_t_design*

# workaround for failing test discovery in vscode
tests/*/__init__.py
tests/private/
Expand All @@ -125,7 +121,10 @@ docs/_static/favicon.ico
docs/_static/header.rst
docs/_static/css/custom.css
docs/_static/js/custom.js
docs/resources/logos/pyfar_logos_fixed_size_pyfar.png
docs/resources/logos/pyfar_logos_fixed_size_spharpy.png

# ignore plot output
# custom
License :: OSI Approved :: MIT License
tests/test_plot_data/output/

21 changes: 12 additions & 9 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,30 @@
# .readthedocs.yml
# Read the Docs configuration file
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
os: ubuntu-24.04
tools:
python: "3.12"
# apt_packages:
# - libsndfile1
python: 3.14
apt_packages:
- libsndfile1

# Build documentation in the docs/ directory with Sphinx
# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py

# Optionally build your docs in additional formats such as PDF
# Optionally build your docs in additional formats such as PDF and ePub
formats:
- pdf

# use pip to install dependencies
# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- method: pip
path: ".[docs]"
path: ".[docs]"
12 changes: 8 additions & 4 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

.. highlight:: shell

============
Expand All @@ -21,7 +22,7 @@ The best place for this is https://github.com/pyfar/spharpy/issues.
Fix Bugs or Implement Features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Look through https://github.com/pyfar/spharpy/issues for bugs or feature request
Look through https://github.com/pyfar/spharpy/issues for bugs or feature requests
and contact us or comment if you are interested in implementing.

Write Documentation
Expand All @@ -34,7 +35,9 @@ articles, and such.
Get Started!
------------

Ready to contribute? Here's how to set up `spharpy` for local development using the command-line interface. Note that several alternative user interfaces exist, e.g., the Git GUI, `GitHub Desktop <https://desktop.github.com/>`_, extensions in `Visual Studio Code <https://code.visualstudio.com/>`_ ...
Ready to contribute? Here's how to set up `spharpy` for local development using the command-line interface.
Note that several alternative user interfaces exist, e.g., the Git GUI, `GitHub Desktop <https://desktop.github.com/>`_,
extensions in `Visual Studio Code <https://code.visualstudio.com/>`_ ...

1. `Fork <https://docs.github.com/en/get-started/quickstart/fork-a-repo/>`_ the `spharpy` repo on GitHub.
2. Clone your fork locally and cd into the spharpy directory::
Expand All @@ -60,7 +63,8 @@ Ready to contribute? Here's how to set up `spharpy` for local development using
$ ruff check
$ pytest

ruff must pass without any warnings for `./spharpy` and `./tests` using the default or a stricter configuration. Ruff ignores a couple of PEP Errors (see `./pyproject.toml`). If necessary, adjust your linting configuration in your IDE accordingly.
ruff must pass without any warnings for `./spharpy` and `./tests` using the default or a stricter
configuration. Ruff ignores a couple of PEP Errors (see `./pyproject.toml`). If necessary, adjust your linting configuration in your IDE accordingly.

6. Commit your changes and push your branch to GitHub::

Expand All @@ -71,4 +75,4 @@ Ready to contribute? Here's how to set up `spharpy` for local development using
7. Submit a pull request on the develop branch through the GitHub website.


.. _general contributing guidelines: https://pyfar-gallery.readthedocs.io/en/latest/contribute/index.html
.. _general contributing guidelines: https://pyfar-gallery.readthedocs.io/en/latest/contribute/index.html
Loading
Loading