Skip to content
Merged
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
94 changes: 57 additions & 37 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,14 @@ jobs:
executor:
name: python-docker
version: <<parameters.version>>

steps:
- checkout
- run:
name: Install System Dependencies
command: sudo apt-get update && sudo apt-get install -y libsndfile1
- python/install-packages:
pkg-manager: pip
# app-dir: ~/project/package-directory/ # If you're requirements.txt isn't in the root directory.
pip-dependency-file: requirements_dev.txt
- run:
name: install dependencies
command: pip install ".[tests]"
- run:
name: Run tests
command: pytest
Expand All @@ -57,18 +55,15 @@ jobs:
executor:
name: python-docker
version: <<parameters.version>>

steps:
- checkout
- python/install-packages:
pkg-manager: pip
# app-dir: ~/project/package-directory/ # If you're requirements.txt isn't in the root directory.
pip-dependency-file: requirements_dev.txt
- run:
name: install dependencies
command: pip install ".[tests]"
- run:
name: Ruff
command: ruff check


test_documentation_build:
parameters:
version:
Expand All @@ -78,20 +73,15 @@ jobs:
executor:
name: python-docker
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
- python/install-packages:
pkg-manager: pip
# app-dir: ~/project/package-directory/ # If you're requirements.txt isn't in the root directory.
pip-dependency-file: requirements_dev.txt
- run:
name: Sphinx
command: |
pip install -e .
pip install ".[docs]"
cd docs/
make html SPHINXOPTS="-W"

Expand All @@ -104,20 +94,42 @@ jobs:
executor:
name: python-docker
version: <<parameters.version>>
steps:
- checkout
# - run:
# name: Install System Dependencies
# command: sudo apt-get update && sudo apt-get install -y libsndfile1
- run:
name: install dependencies
command: pip install ".[deploy]"
- run:
name: deploy
command: | # create whl, install twine and publish to Test PyPI
python -m build
twine check dist/*

run_pypi_publish:
parameters:
version:
description: "version tag"
default: "latest"
type: string
executor:
name: python-docker
version: <<parameters.version>>
steps:
- checkout
- run:
name: Install System Dependencies
command: sudo apt-get update && sudo apt-get install -y libsndfile1
- python/install-packages:
pkg-manager: pip
# app-dir: ~/project/package-directory/ # If you're requirements.txt isn't in the root directory.
pip-dependency-file: requirements_dev.txt
- run:
name: install dependencies
command: pip install ".[deploy]"
- run:
name: deploy
command: | # create whl, install twine and publish to Test PyPI
python setup.py sdist bdist_wheel
python -m build
twine check dist/*
twine upload dist/*

# Invoke jobs via workflows
Expand All @@ -130,12 +142,13 @@ workflows:
matrix:
parameters:
version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"

- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"

- ruff:
matrix:
parameters:
Expand All @@ -144,7 +157,6 @@ workflows:
requires:
- build_and_test


- test_documentation_build:
matrix:
parameters:
Expand All @@ -153,21 +165,29 @@ workflows:
requires:
- build_and_test

- test_pypi_publish:
matrix:
parameters:
version:
- "3.9"
requires:
- build_and_test

test_and_publish:
test_and_publish:
# Test and publish on new git version tags
# This requires its own workflow to successfully trigger the test and build
jobs:
- build_and_test:
matrix:
parameters:
version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"

- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"

filters:
branches:
ignore: /.*/
Expand Down Expand Up @@ -203,7 +223,7 @@ test_and_publish:
tags:
only: /^v[0-9]+(\.[0-9]+)*$/

- test_pypi_publish:
- run_pypi_publish:
matrix:
parameters:
version:
Expand Down
7 changes: 4 additions & 3 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.10"
python: "3.12"
apt_packages:
- libsndfile1
- libsndfile1

# Build documentation in the docs/ directory with Sphinx
sphinx:
Expand All @@ -23,4 +23,5 @@ formats:
# Optionally set the version of Python and requirements required to build your docs
python:
install:
- requirements: requirements_dev.txt
- method: pip
path: ".[docs]"
4 changes: 1 addition & 3 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,7 @@ Ready to contribute? Here's how to set up `pyrato` for local development using t

$ conda create --name pyrato python
$ conda activate pyrato
$ conda install pip
$ pip install -e .
$ pip install -r requirements_dev.txt
$ pip install -e ".[dev]"

4. Create a branch for local development. Indicate the intention of your branch in its respective name (i.e. `feature/branch-name` or `bugfix/branch-name`)::

Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@

<h1 align="center">
<img src="https://github.com/pyfar/gallery/raw/main/docs/resources/logos/pyfar_logos_fixed_size_pyrato.png" width="300">
</h1><br>



[![PyPI version](https://badge.fury.io/py/pyrato.svg)](https://badge.fury.io/py/pyrato)
[![Documentation Status](https://readthedocs.org/projects/pyrato/badge/?version=stable)](https://pyrato.readthedocs.io/en/stable/?badge=stable)
[![CircleCI](https://circleci.com/gh/pyfar/pyrato.svg?style=shield)](https://circleci.com/gh/pyfar/pyrato)
Expand All @@ -26,6 +27,7 @@ Use pip to install pyrato

If the installation fails, please check out the [help section](https://pyfar-gallery.readthedocs.io/en/latest/help).

## Contributing
Contributing
============

Check out the [contributing guidelines](https://pyfar.readthedocs.io/en/stable/contributing.html) if you want to become part of pyfar.
79 changes: 78 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,85 @@
[project]
name = "pyrato"
version = "0.4.0"
description = "Collection of functions commonly used in room acoustics."
readme = "README.md"
license = {file = "LICENSE"}
requires-python = ">=3.8"
authors = [
{ name = "The pyfar developers", email = "info@pyfar.org" },
]
keywords = [
"acoustics",
"pyfar",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"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",

]
dependencies = [
'pyfar>=0.5.0',
'numpy>=1.14.0',
'scipy>=1.5.0',
'matplotlib',
]

[project.optional-dependencies]
deploy = [
"twine",
"wheel",
"build",
"setuptools",
"bump-my-version",
]
tests = [
"pytest",
"pytest-cov",
"watchdog",
"ruff==0.8.3",
"coverage",

]
docs = [
"sphinx",
"autodocsumm>=0.2.14",
"pydata-sphinx-theme",
"sphinx_mdinclude",
"sphinx-design",
"sphinx-favicon",
"sphinx-reredirects",
]
dev = ["pyrato[deploy,tests,docs]"]

[project.urls]
Tracker = "https://github.com/pyfar/pyrato/issues"
Documentation = "https://pyrato.readthedocs.io/"
Download = "https://pypi.org/project/pyrato/"
Homepage = "https://pyfar.org/"
Source = "https://github.com/pyfar/pyrato"
Changelog = "https://github.com/pyfar/pyrato/blob/main/HISTORY.rst"

[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages]
find = {} # Scan the project directory with the default parameters


[tool.ruff]
exclude = [
".git",
"docs",
"setup.py",
]
line-length = 79
lint.ignore = []
Expand Down
4 changes: 0 additions & 4 deletions pytest.ini

This file was deleted.

23 changes: 0 additions & 23 deletions requirements_dev.txt

This file was deleted.

17 changes: 0 additions & 17 deletions setup.cfg

This file was deleted.

Loading