Skip to content

Commit c4fec09

Browse files
Updated Dependencies
1 parent f865d14 commit c4fec09

6 files changed

Lines changed: 364 additions & 916 deletions

File tree

.cursorrules

Lines changed: 5 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Project Context
44

5-
This is CSV2Notion Neo, an advanced command-line tool for uploading and merging CSV or JSON files with images to Notion databases. The project is written in Python 3.9+ and uses Poetry for dependency management.
5+
This is CSV2Notion Neo, an advanced command-line tool for uploading and merging CSV or JSON files with images to Notion databases. The project is written in Python 3.11+ and uses Poetry for dependency management.
66

77
## Version 2.0.0+ Migration
88

@@ -51,7 +51,7 @@ CSV2Notion Neo has been fully migrated to use the official [Notion API](https://
5151
## Dependencies
5252

5353
### Core Dependencies
54-
- Python 3.9+ required
54+
- Python 3.11+ required
5555
- Poetry for dependency management
5656
- Key dependencies: notion-client 3.0.0 (notion-sdk-py), requests, tqdm, emoji, python-dateutil, icecream
5757

@@ -390,34 +390,8 @@ CSV2Notion Neo has been fully migrated to use the official [Notion API](https://
390390
- Analyze API call patterns
391391
- Optimize data processing
392392

393-
## Outdated Packages Held Back Due to Dependency Constraints
394-
395-
The following packages are currently outdated but have not been updated because doing so would break compatibility with other dependencies in the project (such as flake8 plugins, wemake-python-styleguide, etc.):
396-
397-
| Package | Installed | Latest | Reason Held Back |
398-
|--------------------------|-----------|----------|-------------------------------------------------|
399-
| click | 8.1.8 | 8.2.1 | Transitive, constrained by parent dependencies |
400-
| eradicate | 2.3.0 | 3.0.0 | Required by flake8-eradicate/wemake-styleguide |
401-
| flake8 | 3.9.0 | 7.3.0 | Required by wemake-python-styleguide |
402-
| flake8-bandit | 3.0.0 | 4.1.1 | Plugin, version tied to flake8 |
403-
| flake8-broken-line | 0.4.0 | 1.0.0 | Plugin, version tied to flake8 |
404-
| flake8-bugbear | 22.12.6 | 24.12.12 | Plugin, version tied to flake8 |
405-
| flake8-commas | 2.1.0 | 4.0.0 | Plugin, version tied to flake8 |
406-
| flake8-eradicate | 1.4.0 | 1.5.0 | Plugin, version tied to eradicate/flak8 |
407-
| flake8-isort | 4.2.0 | 6.1.2 | Plugin, version tied to flake8/isort |
408-
| flake8-rst-docstrings | 0.2.7 | 0.3.1 | Plugin, version tied to flake8 |
409-
| isort | 5.13.2 | 6.0.1 | Required by flake8-isort |
410-
| mccabe | 0.6.1 | 0.7.0 | Required by flake8 <5 |
411-
| pep8-naming | 0.11.1 | 0.15.1 | Latest requires flake8 >=5 |
412-
| pre-commit | 2.21.0 | 4.2.0 | Not updated to avoid breaking hooks |
413-
| pycodestyle | 2.7.0 | 2.14.0 | Required by flake8 <5 |
414-
| pyfakefs | 4.7.0 | 5.9.1 | Not updated to avoid breaking tests |
415-
| pyflakes | 2.3.1 | 3.4.0 | Required by flake8 <5 |
416-
| pytest | 7.4.4 | 8.4.1 | Not updated to avoid breaking test compatibility |
417-
| pytest-cov | 3.0.0 | 6.2.1 | Not updated to avoid breaking test compatibility |
418-
| testfixtures | 7.2.2 | 9.1.0 | Not updated to avoid breaking test compatibility |
419-
| wemake-python-styleguide | 0.16.1 | 1.3.0 | Latest requires Python >=3.10 |
420-
421-
> These packages will be updated when their dependencies allow, or when the project drops support for Python 3.9 or older plugin versions.
393+
## Dev Toolchain
394+
395+
Dev dependencies: pytest ^9, flake8 ^7.3, wemake-python-styleguide ^1.6, black ^26, isort ^8, mypy ^2, etc. Python **3.11+** required (`testfixtures` ^12). Lint: `setup.cfg` (flakehell removed — incompatible with flake8 7+). See AGENT.MD for the full table.
422396

423397
This cursorrule file should be kept in sync with the AGENT.MD file to ensure consistent development practices and project understanding.

AGENT.MD

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
- [Future Roadmap](#future-roadmap)
5757
- [Planned Features](#planned-features)
5858
- [Technical Debt](#technical-debt)
59-
- [Outdated Packages Held Back Due to Dependency Constraints](#outdated-packages-held-back-due-to-dependency-constraints)
59+
- [Dev Toolchain](#dev-toolchain)
6060

6161
## Project Overview
6262

@@ -220,7 +220,7 @@ CSV2Notion Neo has been fully migrated to use the official [Notion API](https://
220220
- Pre-commit hooks for automated quality checks
221221

222222
### Dependencies
223-
- Python 3.9+ required
223+
- Python 3.11+ required (dev toolchain; local builds use 3.14.5)
224224
- Poetry for dependency management
225225
- Key dependencies: notion-client 3.0.0 (notion-sdk-py), requests, tqdm, emoji, python-dateutil, icecream
226226

@@ -429,32 +429,21 @@ CSV2Notion Neo has been fully migrated to use the official [Notion API](https://
429429

430430
This documentation should be kept in sync with the cursorrule file to ensure consistent development practices and project understanding.
431431

432-
## Outdated Packages Held Back Due to Dependency Constraints
433-
434-
The following packages are currently outdated but have not been updated because doing so would break compatibility with other dependencies in the project (such as flake8 plugins, wemake-python-styleguide, etc.):
435-
436-
| Package | Installed | Latest | Reason Held Back |
437-
|--------------------------|-----------|----------|-------------------------------------------------|
438-
| click | 8.1.8 | 8.2.1 | Transitive, constrained by parent dependencies |
439-
| eradicate | 2.3.0 | 3.0.0 | Required by flake8-eradicate/wemake-styleguide |
440-
| flake8 | 3.9.0 | 7.3.0 | Required by wemake-python-styleguide |
441-
| flake8-bandit | 3.0.0 | 4.1.1 | Plugin, version tied to flake8 |
442-
| flake8-broken-line | 0.4.0 | 1.0.0 | Plugin, version tied to flake8 |
443-
| flake8-bugbear | 22.12.6 | 24.12.12 | Plugin, version tied to flake8 |
444-
| flake8-commas | 2.1.0 | 4.0.0 | Plugin, version tied to flake8 |
445-
| flake8-eradicate | 1.4.0 | 1.5.0 | Plugin, version tied to eradicate/flak8 |
446-
| flake8-isort | 4.2.0 | 6.1.2 | Plugin, version tied to flake8/isort |
447-
| flake8-rst-docstrings | 0.2.7 | 0.3.1 | Plugin, version tied to flake8 |
448-
| isort | 5.13.2 | 6.0.1 | Required by flake8-isort |
449-
| mccabe | 0.6.1 | 0.7.0 | Required by flake8 <5 |
450-
| pep8-naming | 0.11.1 | 0.15.1 | Latest requires flake8 >=5 |
451-
| pre-commit | 2.21.0 | 4.2.0 | Not updated to avoid breaking hooks |
452-
| pycodestyle | 2.7.0 | 2.14.0 | Required by flake8 <5 |
453-
| pyfakefs | 4.7.0 | 5.9.1 | Not updated to avoid breaking tests |
454-
| pyflakes | 2.3.1 | 3.4.0 | Required by flake8 <5 |
455-
| pytest | 7.4.4 | 8.4.1 | Not updated to avoid breaking test compatibility |
456-
| pytest-cov | 3.0.0 | 6.2.1 | Not updated to avoid breaking test compatibility |
457-
| testfixtures | 7.2.2 | 9.1.0 | Not updated to avoid breaking test compatibility |
458-
| wemake-python-styleguide | 0.16.1 | 1.3.0 | Latest requires Python >=3.10 |
459-
460-
> These packages will be updated when their dependencies allow, or when the project drops support for Python 3.9 or older plugin versions.
432+
## Dev Toolchain
433+
434+
The dev toolchain covers the local/CI development stack (not production runtime deps). Lint config lives in `setup.cfg` (`flakehell` was removed — incompatible with flake8 7+).
435+
436+
| Package | Constraint (pyproject) |
437+
|---------|-------------------------|
438+
| pytest | ^9 |
439+
| pytest-cov | ^7 |
440+
| pyfakefs | ^6 |
441+
| testfixtures | ^12 (requires Python 3.11+) |
442+
| black | ^26 |
443+
| isort | ^8 |
444+
| pre-commit | ^4 |
445+
| flake8 | ^7.3 |
446+
| wemake-python-styleguide | ^1.6 |
447+
| mypy | ^2 (optional locally; not run in CI; strict config may report many issues) |
448+
449+
Run lint: `poetry run flake8 csv2notion_neo tests` (after `./scripts/local-test-build.sh`). Tests are configured with relaxed `per-file-ignores`; `csv2notion_neo/` may still report WPS violations under wemake 1.6 until addressed incrementally.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ $ brew uninstall --cask csv2notion-neo
9797
$ pip install --user csv2notion_neo
9898
```
9999

100-
**Python 3.10 or later required** (local builds use 3.14.5 via `scripts/local-test-build.sh`).
100+
**Python 3.11 or later required** (local builds use 3.14.5 via `scripts/local-test-build.sh`).
101101

102102
### From source
103103

0 commit comments

Comments
 (0)