diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fe5d4fd..6252b97 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -14,7 +14,7 @@ jobs: test: strategy: matrix: - python-version: [3.9, "3.10", 3.11, 3.12, 3.13] + python-version: [3.9, "3.10", 3.11, 3.12, 3.13, 3.14] os: [ubuntu-latest] fail-fast: false diff --git a/pyproject.toml b/pyproject.toml index 63337cc..551a3cf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,6 +17,8 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] requires-python = ">=3.9" license = {text = "MIT license"} diff --git a/requirements.sh b/requirements.sh index 18482f1..1fba851 100755 --- a/requirements.sh +++ b/requirements.sh @@ -5,4 +5,6 @@ set -u cd "$(dirname "$0")" -python3.10 -m piptools compile "pyproject.toml" --extra "dev" +python3 -m uv pip compile "pyproject.toml" \ + --extra "dev" --python-version "3.9" \ + | tee requirements.txt diff --git a/requirements.txt b/requirements.txt index 32c7f56..74417f6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,48 +1,53 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# pip-compile --extra=dev pyproject.toml -# +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml --extra dev --python-version 3.9 black==22.10.0 # via joinem (pyproject.toml) -build==1.0.3 +build==1.4.0 # via pip-tools bump2version==1.0.1 # via joinem (pyproject.toml) -click==8.1.7 +click==8.1.8 # via # black # pip-tools +importlib-metadata==8.7.1 + # via build isort==5.12.0 # via joinem (pyproject.toml) -mypy-extensions==1.0.0 +mypy-extensions==1.1.0 # via black -packaging==23.2 - # via build -pathspec==0.12.1 +packaging==26.0 + # via + # build + # wheel +pathspec==1.0.4 # via black +pip==26.0.1 + # via pip-tools pip-tools==7.3.0 # via joinem (pyproject.toml) -platformdirs==4.2.0 +platformdirs==4.4.0 # via black -polars==1.26.0 +polars==1.36.1 # via joinem (pyproject.toml) -pyproject-hooks==1.0.0 +polars-runtime-32==1.36.1 + # via polars +pyproject-hooks==1.2.0 # via build ruff==0.1.11 # via joinem (pyproject.toml) -tomli==2.0.1 +setuptools==82.0.0 + # via pip-tools +tomli==2.4.0 # via # black # build # pip-tools - # pyproject-hooks -tqdm==4.66.2 +tqdm==4.67.3 # via joinem (pyproject.toml) -wheel==0.42.0 +typing-extensions==4.15.0 + # via black +wheel==0.46.3 # via pip-tools - -# The following packages are considered to be unsafe in a requirements file: -# pip -# setuptools +zipp==3.23.0 + # via importlib-metadata diff --git a/tests/assets/horizontal1.pqt b/tests/assets/horizontal1.pqt new file mode 100644 index 0000000..5938af0 Binary files /dev/null and b/tests/assets/horizontal1.pqt differ diff --git a/tests/assets/horizontal2.pqt b/tests/assets/horizontal2.pqt new file mode 100644 index 0000000..fc41a4f Binary files /dev/null and b/tests/assets/horizontal2.pqt differ diff --git a/tests/test_smoke.sh b/tests/test_smoke.sh index e637856..fdf41f5 100755 --- a/tests/test_smoke.sh +++ b/tests/test_smoke.sh @@ -61,3 +61,7 @@ cat assets/x.0.csv | python3 -m joinem "/dev/stdout" --stdin --read-kwarg infer_ cat assets/x.0.csv.gz | python3 -m joinem "/dev/stdout" --stdin --output-filetype csv --input-filetype csv --shrink-dtypes > out/stdout cat assets/x.0.csv.gz | python3 -m joinem "/dev/stdout" --stdin --output-filetype csv --input-filetype csv.gz --string-cache > out/stdout + +ls assets/horizontal{1,2}.pqt | python3 -m joinem out/horizontal.csv --how horizontal + +ls assets/horizontal{1,2}.pqt | python3 -m joinem out/horizontal.pqt --how horizontal --shrink-dtypes