diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2a43b7a..885a757 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,10 +13,10 @@ jobs: if: github.ref == 'refs/heads/main' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.11" cache: "pip" @@ -40,7 +40,7 @@ jobs: DROPBOX_ACCESS_TOKEN: ${{ secrets.DROPBOX_ACCESS_TOKEN }} shell: bash - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: database.db diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4f827cb..49bfc19 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,10 +9,10 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.11" cache: "pip" @@ -30,6 +30,6 @@ jobs: APPIDS_FILE: test_data/app_list_limited.json - name: "Upload coverage to Codecov" - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: fail_ci_if_error: false diff --git a/README.md b/README.md index 3bb4ac7..824c58e 100644 --- a/README.md +++ b/README.md @@ -53,29 +53,29 @@ To install the project locally: ## Manage dependencies -1. install/upgrade pip-tools: `pip install pip-tools -U` or globally with [pipx](https://github.com/pypa/pipx): `pipx install pip-tools` +1. install/upgrade uv: `pipx install uv` 2. Create lock files with: ```sh - pip-compile -o requirements.txt pyproject.toml --quiet && \ - pip-compile --extra dev -c requirements.txt -o dev-requirements.txt pyproject.toml --quiet + uv pip compile -o requirements.txt pyproject.toml --quiet && \ + uv pip compile --extra dev -c requirements.txt -o dev-requirements.txt pyproject.toml --quiet ``` 3. Upgrade a package: ```sh - pip-compile -o requirements.txt pyproject.toml --quiet --upgrade-package PACKAGE && \ - pip-compile --extra dev -c requirements.txt -o dev-requirements.txt pyproject.toml --quiet + uv pip compile -o requirements.txt pyproject.toml --quiet --upgrade-package PACKAGE && \ + uv pip compile --extra dev -c requirements.txt -o dev-requirements.txt pyproject.toml --quiet ``` 4. Upgrade all packages with: ```sh - pip-compile -o requirements.txt pyproject.toml --quiet --upgrade && \ - pip-compile --extra dev -c requirements.txt -o dev-requirements.txt pyproject.toml --quiet --upgrade + uv pip compile -o requirements.txt pyproject.toml --quiet --upgrade && \ + uv pip compile --extra dev -c requirements.txt -o dev-requirements.txt pyproject.toml --quiet --upgrade ``` -More here: +More here: ## Run diff --git a/dev-requirements.txt b/dev-requirements.txt index 971771e..49bc070 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,74 +1,44 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --constraint=requirements.txt --extra=dev --output-file=dev-requirements.txt pyproject.toml -# +# This file was autogenerated by uv via the following command: +# uv pip compile --extra dev -c requirements.txt -o dev-requirements.txt pyproject.toml aiofiles==23.2.1 - # via - # -c requirements.txt - # datasette + # via datasette alembic==1.13.1 - # via - # -c requirements.txt - # steam2sqlite (pyproject.toml) aniso8601==9.0.1 # via graphene anyio==4.3.0 - # via - # -c requirements.txt - # httpx + # via httpx asgi-csrf==0.9 - # via - # -c requirements.txt - # datasette + # via datasette asgiref==3.7.2 - # via - # -c requirements.txt - # datasette + # via datasette certifi==2024.2.2 # via - # -c requirements.txt # httpcore # httpx # requests charset-normalizer==3.3.2 - # via - # -c requirements.txt - # requests + # via requests click==8.1.7 # via - # -c requirements.txt # click-default-group # datasette # sqlite-utils # uvicorn click-default-group==1.2.4 # via - # -c requirements.txt # datasette # sqlite-utils -coverage[toml]==7.4.3 +coverage==7.4.3 # via pytest-cov datasette==0.64.6 # via - # -c requirements.txt # datasette-graphql # datasette-publish-fly # datasette-vega - # steam2sqlite (pyproject.toml) datasette-graphql==2.2 - # via steam2sqlite (pyproject.toml) datasette-publish-fly==1.3.1 - # via - # -c requirements.txt - # steam2sqlite (pyproject.toml) datasette-vega==0.6.2 - # via steam2sqlite (pyproject.toml) dropbox==11.36.2 - # via - # -c requirements.txt - # steam2sqlite (pyproject.toml) graphene==3.3 # via datasette-graphql graphql-core==3.2.3 @@ -79,30 +49,19 @@ graphql-core==3.2.3 graphql-relay==3.2.0 # via graphene greenlet==3.0.3 - # via - # -c requirements.txt - # sqlalchemy + # via sqlalchemy h11==0.14.0 # via - # -c requirements.txt # httpcore # uvicorn httpcore==1.0.4 - # via - # -c requirements.txt - # httpx + # via httpx httpx==0.27.0 - # via - # -c requirements.txt - # datasette - # steam2sqlite (pyproject.toml) + # via datasette hupper==1.12.1 - # via - # -c requirements.txt - # datasette + # via datasette idna==3.6 # via - # -c requirements.txt # anyio # httpx # requests @@ -110,138 +69,87 @@ iniconfig==2.0.0 # via pytest itsdangerous==2.1.2 # via - # -c requirements.txt # asgi-csrf # datasette janus==1.0.0 - # via - # -c requirements.txt - # datasette + # via datasette jinja2==3.1.3 - # via - # -c requirements.txt - # datasette + # via datasette loguru==0.7.2 - # via - # -c requirements.txt - # steam2sqlite (pyproject.toml) mako==1.3.2 - # via - # -c requirements.txt - # alembic + # via alembic markupsafe==2.1.5 # via - # -c requirements.txt # jinja2 # mako mergedeep==1.3.4 - # via - # -c requirements.txt - # datasette + # via datasette packaging==23.2 # via pytest pint==0.23 - # via - # -c requirements.txt - # datasette + # via datasette +pip==24.0 + # via datasette pluggy==1.4.0 # via - # -c requirements.txt # datasette # pytest # sqlite-utils ply==3.11 - # via - # -c requirements.txt - # stone + # via stone pydantic==1.10.14 - # via - # -c requirements.txt - # sqlmodel + # via sqlmodel pytest==8.0.2 # via # pytest-asyncio # pytest-cov - # steam2sqlite (pyproject.toml) pytest-asyncio==0.23.5 - # via steam2sqlite (pyproject.toml) pytest-cov==4.1.0 - # via steam2sqlite (pyproject.toml) python-dateutil==2.8.2 # via sqlite-utils python-dotenv==1.0.1 - # via - # -c requirements.txt - # steam2sqlite (pyproject.toml) python-multipart==0.0.9 - # via - # -c requirements.txt - # asgi-csrf + # via asgi-csrf pyyaml==6.0.1 - # via - # -c requirements.txt - # datasette + # via datasette requests==2.31.0 - # via - # -c requirements.txt - # dropbox + # via dropbox ruff==0.2.2 - # via steam2sqlite (pyproject.toml) +setuptools==69.1.1 + # via datasette six==1.16.0 # via - # -c requirements.txt # dropbox # python-dateutil # stone sniffio==1.3.0 # via - # -c requirements.txt # anyio # httpx sqlalchemy==1.4.51 # via - # -c requirements.txt # alembic # sqlmodel sqlalchemy2-stubs==0.0.2a38 - # via - # -c requirements.txt - # sqlmodel + # via sqlmodel sqlite-fts4==1.0.3 # via sqlite-utils sqlite-utils==3.36 # via datasette-graphql sqlmodel==0.0.11 - # via - # -c requirements.txt - # steam2sqlite (pyproject.toml) stone==3.3.1 - # via - # -c requirements.txt - # dropbox + # via dropbox tabulate==0.9.0 # via sqlite-utils typing-extensions==4.9.0 # via - # -c requirements.txt # alembic # janus # pint # pydantic # sqlalchemy2-stubs urllib3==2.2.1 - # via - # -c requirements.txt - # requests + # via requests uvicorn==0.27.1 - # via - # -c requirements.txt - # datasette + # via datasette uvloop==0.19.0 - # via - # -c requirements.txt - # steam2sqlite (pyproject.toml) - -# The following packages are considered to be unsafe in a requirements file: -# pip -# setuptools diff --git a/requirements.txt b/requirements.txt index b2f54c4..b58b408 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,13 +1,8 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --output-file=requirements.txt pyproject.toml -# +# This file was autogenerated by uv via the following command: +# uv pip compile -o requirements.txt pyproject.toml aiofiles==23.2.1 # via datasette alembic==1.13.1 - # via steam2sqlite (pyproject.toml) anyio==4.3.0 # via httpx asgi-csrf==0.9 @@ -29,13 +24,9 @@ click==8.1.7 click-default-group==1.2.4 # via datasette datasette==0.64.6 - # via - # datasette-publish-fly - # steam2sqlite (pyproject.toml) + # via datasette-publish-fly datasette-publish-fly==1.3.1 - # via steam2sqlite (pyproject.toml) dropbox==11.36.2 - # via steam2sqlite (pyproject.toml) greenlet==3.0.3 # via sqlalchemy h11==0.14.0 @@ -45,9 +36,7 @@ h11==0.14.0 httpcore==1.0.4 # via httpx httpx==0.27.0 - # via - # datasette - # steam2sqlite (pyproject.toml) + # via datasette hupper==1.12.1 # via datasette idna==3.6 @@ -64,7 +53,6 @@ janus==1.0.0 jinja2==3.1.3 # via datasette loguru==0.7.2 - # via steam2sqlite (pyproject.toml) mako==1.3.2 # via alembic markupsafe==2.1.5 @@ -75,6 +63,8 @@ mergedeep==1.3.4 # via datasette pint==0.23 # via datasette +pip==24.0 + # via datasette pluggy==1.4.0 # via datasette ply==3.11 @@ -82,13 +72,14 @@ ply==3.11 pydantic==1.10.14 # via sqlmodel python-dotenv==1.0.1 - # via steam2sqlite (pyproject.toml) python-multipart==0.0.9 # via asgi-csrf pyyaml==6.0.1 # via datasette requests==2.31.0 # via dropbox +setuptools==69.1.1 + # via datasette six==1.16.0 # via # dropbox @@ -104,7 +95,6 @@ sqlalchemy==1.4.51 sqlalchemy2-stubs==0.0.2a38 # via sqlmodel sqlmodel==0.0.11 - # via steam2sqlite (pyproject.toml) stone==3.3.1 # via dropbox typing-extensions==4.9.0 @@ -119,8 +109,3 @@ urllib3==2.2.1 uvicorn==0.27.1 # via datasette uvloop==0.19.0 - # via steam2sqlite (pyproject.toml) - -# The following packages are considered to be unsafe in a requirements file: -# pip -# setuptools