diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml
index d06ec02..f7d178e 100644
--- a/.github/workflows/build-docs.yml
+++ b/.github/workflows/build-docs.yml
@@ -20,7 +20,7 @@ jobs:
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
- - uses: astral-sh/setup-uv@v10.2.0
+ - uses: astral-sh/setup-uv@v10.3.2
with:
python-version: "3.12"
- name: Install Dependencies
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 75f9e66..f4f09a8 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -14,7 +14,7 @@ jobs:
steps:
- uses: "actions/checkout@v4"
- - uses: "astral-sh/setup-uv@v10.2.0"
+ - uses: "astral-sh/setup-uv@v10.3.2"
- name: Build
run: uv build
- name: Publish
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 9127cc3..3d34ad8 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -20,7 +20,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install uv and set up Python ${{ matrix.python-version }}
- uses: astral-sh/setup-uv@v10.2.0
+ uses: astral-sh/setup-uv@v10.3.2
with:
python-version: ${{ matrix.python-version }}
enable-cache: true
@@ -43,7 +43,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install uv
- uses: astral-sh/setup-uv@v10.2.0
+ uses: astral-sh/setup-uv@v10.3.2
- name: get coverage files
uses: actions/download-artifact@v8
with:
diff --git a/README.md b/README.md
index 36d8ade..289c795 100644
--- a/README.md
+++ b/README.md
@@ -66,10 +66,10 @@ installed when you install SQLAlchemy-file.
$ pip install sqlalchemy-file
```
-### Poetry
+### uv
```shell
-$ poetry add sqlalchemy-file
+$ uv add sqlalchemy-file
```
### Optional dependencies (extras)
@@ -87,7 +87,7 @@ $ pip install "sqlalchemy-file[local,pillow]"
```
```shell
-$ poetry add "sqlalchemy-file[all]"
+$ uv add "sqlalchemy-file[all]"
```
Without the matching extra you get an explicit `ImportError` telling you which extra to install
diff --git a/docs/changelog.md b/docs/changelog.md
index e4975ec..e72d5e6 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## [0.7.0] - 2026-10-22
+## [0.7.0] - 2026-10-24
---
diff --git a/docs/index.md b/docs/index.md
index 2f65cfe..4daf675 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -53,7 +53,7 @@ The key features are:
## Requirements
A recent and currently supported version of Python (right
-now, Python supports versions 3.7 and
+now, Python supports versions 3.11 and
above).
As **SQLAlchemy-file** is based on **Apache Libcloud** and **SQLAlchemy**, it requires them. They will be automatically
@@ -67,10 +67,28 @@ installed when you install SQLAlchemy-file.
$ pip install sqlalchemy-file
```
-### Poetry
+### uv
```shell
-$ poetry add sqlalchemy-file
+$ uv add sqlalchemy-file
+```
+
+### Optional dependencies (extras)
+
+Some features need third-party packages that are **not** installed by default:
+
+| Extra | Installs | Required for |
+|--------------------------------|---------------------------------------------|---------------------------------------------------------------------|
+| `sqlalchemy-file[pillow]` | `Pillow` | `ImageField`, `ImageValidator`, `ThumbnailGenerator` |
+| `sqlalchemy-file[local]` | `fasteners` | `LocalStorageDriver` backend (required by libcloud's local storage) |
+| `sqlalchemy-file[all]` | `Pillow` + `fasteners` | Everything above |
+
+```shell
+$ pip install "sqlalchemy-file[local,pillow]"
+```
+
+```shell
+$ uv add "sqlalchemy-file[all]"
```
## Example
diff --git a/docs/tutorial/quick-start.md b/docs/tutorial/quick-start.md
index b08a3a9..0152a95 100644
--- a/docs/tutorial/quick-start.md
+++ b/docs/tutorial/quick-start.md
@@ -10,10 +10,10 @@ You can simply install **SQLAlchemy-file** from the PyPi:
$ pip install sqlalchemy-file
```
-### Poetry
+### uv
```shell
-$ poetry add sqlalchemy-file
+$ uv add sqlalchemy-file
```
## Usage
diff --git a/pyproject.toml b/pyproject.toml
index 531182e..a29d4af 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -104,7 +104,7 @@ conflicts = [
{ group = "sqla21" },
],
]
-# sqla21 default so plain `uv sync` tests the 2.1 series. sqla20 is opt-in;
+# sqla21 default so plain `uv sync` tests the 2.1 series. sqla20 is opt-in.
# conflicting groups require `uv run --no-default-groups --group sqla20 ...`.
default-groups = ["dev", "lint", "test", "cov", "docs", "sqla21"]
diff --git a/sqlalchemy_file/__init__.py b/sqlalchemy_file/__init__.py
index 9e87eb3..03a8d35 100644
--- a/sqlalchemy_file/__init__.py
+++ b/sqlalchemy_file/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "0.7.0.rc1"
+__version__ = "0.7.0"
from .file import File as File
from .types import FileField as FileField