Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
890ec21
initial f0 and intensity tracking
JoFrhwld Feb 7, 2026
328beea
intensity has samd time domain as formants
JoFrhwld Feb 8, 2026
058cd81
propogating the new pitch_floor
JoFrhwld Feb 8, 2026
80ed98b
finalizing
JoFrhwld Feb 8, 2026
129f262
drop tk to manage plots
JoFrhwld Feb 8, 2026
dfc39d6
Merge pull request #112 from FastTrackiverse/111-include-f0-and-inten…
JoFrhwld Feb 8, 2026
06b8783
fixed time_domain
JoFrhwld Feb 8, 2026
4ebe8fd
updating typing
JoFrhwld Feb 8, 2026
78dcf25
update typing
JoFrhwld Feb 8, 2026
e3dbd03
update typing
JoFrhwld Feb 8, 2026
2d516c5
fix typing error
JoFrhwld Feb 8, 2026
34c34f3
more typing updates
JoFrhwld Feb 8, 2026
7fc7995
finalizing typing
JoFrhwld Feb 8, 2026
a32d64d
Merge pull request #113 from FastTrackiverse/108-bug-report-time-doma…
JoFrhwld Feb 8, 2026
0fe65ae
Merge branch 'dev' into 114-typing-update
JoFrhwld Feb 9, 2026
5fd2ce9
fix dataframe checking
JoFrhwld Feb 9, 2026
69d2722
error in test
JoFrhwld Feb 9, 2026
6d68886
final typing update
JoFrhwld Feb 9, 2026
c0e7c20
Merge pull request #115 from FastTrackiverse/114-typing-update
JoFrhwld Feb 9, 2026
79143d8
new testing organization
JoFrhwld Feb 9, 2026
dc1d610
drop unnecessary unlinks
JoFrhwld Feb 9, 2026
5a1bb07
Merge pull request #117 from FastTrackiverse/116-testing-infrastructu…
JoFrhwld Feb 9, 2026
eadcb97
first attempt
JoFrhwld Feb 10, 2026
950e56e
docs built test
JoFrhwld Feb 10, 2026
66bf436
delete poetry config
JoFrhwld Feb 10, 2026
faac082
Merge pull request #119 from FastTrackiverse/118-port-to-uv
JoFrhwld Feb 10, 2026
909c678
re-estabish interactive
JoFrhwld Feb 10, 2026
9930616
try tkfix
JoFrhwld Feb 10, 2026
644ab4a
only set on windows
JoFrhwld Feb 10, 2026
5e5919c
conditionally import tkinter
JoFrhwld Feb 10, 2026
25ddf7b
Merge pull request #120 from FastTrackiverse/hotfix
JoFrhwld Feb 10, 2026
c79c798
docs reexecute
JoFrhwld Feb 10, 2026
032c6ec
version bump
JoFrhwld Feb 10, 2026
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
36 changes: 12 additions & 24 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,24 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- id: setup-python
uses: actions/setup-python@v5
- name: Install uv and set the Python version
uses: astral-sh/setup-uv@v7
with:
python-version: "3.11"
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true

- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}

- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --with docs
python-version: "3.12"
enable-cache: true

- name: Install Project
run:
uv sync --group docs
- name: Quardo Doc Build
run: |
cd docs
poetry run quartodoc build
poetry run python objects.py
poetry run quartodoc interlinks
uv run quartodoc build
uv run python objects.py
uv run quartodoc interlinks
- uses: quarto-dev/quarto-actions/setup@v2
- name: Render and publish to gh pages
run: |
git config --global user.email "quarto-github-actions-publish@example.com"
git config --global user.name "Quarto GHA Workflow Runner"
poetry run quarto publish gh-pages docs --no-browser
uv run quarto publish gh-pages docs --no-browser
14 changes: 12 additions & 2 deletions .github/workflows/pypi-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,20 @@ on:
jobs:
publish:
runs-on: ubuntu-latest
environment:
name: pypi
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
with:
ref: main
- uses: JRubics/poetry-publish@v2.0
- name: Install uv and set the Python version
uses: astral-sh/setup-uv@v7
with:
pypi_token: ${{ secrets.PYPI_TOKEN }}
python-version: "3.12"
- name: Build
run: uv build
- name: Publish
run: uv publish
37 changes: 14 additions & 23 deletions .github/workflows/test-and-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,36 +12,27 @@ jobs:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
os: [ubuntu-latest, windows-latest, macos-latest]
exclude:
- os: windows-latest
python-version: "3.9"

fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v5
# with:
# python-version: ${{ matrix.python-version }}
# cache: "pip"
- name: Install uv and set the Python version
uses: astral-sh/setup-uv@v7
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest pytest-cov codecov
pip install -e .
- name: Lint with flake8
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
enable-cache: true
- name: Install project
run: uv sync --group test
- name: Test with pytest
run: |
python -m pytest --cov=./ --cov-report=xml tests/ -p no:faulthandler
run: uv run pytest
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
uses: codecov/codecov-action@v4.0.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
322 changes: 98 additions & 224 deletions docs/usage/dct.ipynb

Large diffs are not rendered by default.

3,994 changes: 3,938 additions & 56 deletions docs/usage/pythonic_use.ipynb

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
def main():
print("Hello from fasttrackpy!")


if __name__ == "__main__":
main()
2 changes: 0 additions & 2 deletions poetry.toml

This file was deleted.

106 changes: 54 additions & 52 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,75 +1,77 @@
[tool.poetry]
[project]
name = "fasttrackpy"
version = "0.5.5"
version = "0.6.0"
requires-python = ">=3.10,<3.14"
description = "A python implementation of FastTrack"
authors = [
"JoFrhwld <JoFrhwld@gmail.com>",
"santiagobarreda <sbarreda@ucdavis.edu>"
{name="Josef Fruehwald", email="JoFrhwld@gmail.com"},
{name = "Santiago Barreda", email = "sbarreda@ucdavis.edu"}
]
license = "MIT"
readme = "README.md"
packages = [{include = "fasttrackpy", from="src"}]
exclude = [
"notebooks/",
"examples/",
"docs/"
dependencies = [
"aligned-textgrid>=0.8.1",
"click>=8.3.1",
"cloudpickle>=3.1.2",
"cloup>=3.0.8",
"filetype>=1.2.0",
"joblib>=1.5.3",
"matplotlib>=3.10.8",
"numba>=0.61.0",
"polars>=1.38.1",
"praat-parselmouth>=0.4.7",
"pyyaml>=6.0.3",
"scipy>=1.15.3",
"tqdm>=4.67.3",
]
homepage = "https://fasttrackiverse.github.io/fasttrackpy/"
repository = "https://github.com/FastTrackiverse/fasttrackpy"

[tool.poetry.dependencies]
python = ">=3.10,<3.14"
praat-parselmouth = "^0.4.3"
scipy = {version = "^1.11.3", python = ">=3.10,<3.14"}
pytest-cov = "^4.1.0"
pytest = "^7.4.3"
click = "^8.1.7"
cloup = "^3.0.3"
matplotlib = "^3.8.2"
tqdm = "^4.66.1"
joblib = "^1.5.3"
pyyaml = "^6.0.1"
cloudpickle = "^3.0.0"
numba = "^0.61.0"
polars = "^1.23.0"
aligned-textgrid = "^0.8"
filetype = "^1.2.0"

[tool.poetry.group.dev.dependencies]
jupyter = "^1.0.0"
pytest = "^7.4.3"
plotly = "^5.18.0"
pandas = "^2.1.2"
ipython = "^8.17.2"
kaleido = "0.2.1"
pillow = "^10.2.0"


[tool.poetry.group.docs.dependencies]
quartodoc = "^0.6.5"
nbformat = "^5.9.2"
jupyter = "^1.0.0"
ipython = "^8.18.0"
hvplot = "^0.9.2"
pyarrow = "^19.0.1"
[project.urls]
Homepage = "https://fasttrackiverse.github.io/fasttrackpy/"
Repository = "https://github.com/FastTrackiverse/fasttrackpy"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
requires = ["uv_build>=0.10.0,<0.11.0"]
build-backend = "uv_build"


[tool.pytest.ini_options]
addopts = [
"--import-mode=importlib",
"--cov-config=tests/.coveragerc",
"--cov-report=xml",
"--cov",
"--log-cli-level=INFO"
"--log-cli-level=CRITICAL"
]
filterwarnings =[
"ignore::UserWarning"
"ignore::UserWarning",
"ignore::DeprecationWarning"
]

pythonpath = "src"
testpaths = "tests"

[tool.poetry.scripts]
fasttrack = 'fasttrackpy.cli:fasttrack'
[dependency-groups]
dev = [
"altair>=6.0.0",
"ipython>=8.38.0",
"jupyter>=1.1.1",
"kaleido>=1.2.0",
"pandas>=2.3.3",
"pillow>=12.1.0",
"plotly>=6.5.2",
]
docs = [
"hvplot>=0.12.2",
"ipython>=8.38.0",
"jupyter>=1.1.1",
"pyarrow>=23.0.0",
"quartodoc>=0.11.1",
]
test = [
"pytest>=9.0.2",
"pytest-cov>=7.0.0",
"pytest-datafiles>=3.0.1",
]

[project.scripts]
fasttrack = 'fasttrackpy.cli:fasttrack'
Loading