Claude Code
dfd3f7b316
ci(lint): enforce no function-body imports (PLC0415) with targeted ignores
...
Follow-up to #40231 (merged), where a reviewer flagged a function-body
`from datetime import datetime, timedelta` instead of a top-of-file
import. Adds a `ruff-import-placement` pre-commit hook running
`ruff check --select PLC0415 --preview --no-fix`.
Per @rusackas's pushback on the first cut of this PR — which spammed
2,657 `# noqa: PLC0415` annotations across ~410 files without fixing
anything — this revision is a much smaller surface area:
1. **Per-file-ignores** for whole directories where function-body
imports are a deliberate pattern, not an oversight:
- `superset/cli/**` and `scripts/**`: subcommand-deferred imports
keep heavy modules out of the CLI startup path.
- `superset/tasks/**`: Celery task bodies defer imports of the
modules they orchestrate.
- `superset/migrations/versions/**`: Alembic migrations interact
with model state at runtime, not at module load.
- `superset/mcp_service/**`: MCP tools lazy-load resources on
invocation so the server can register many tools without paying
their import cost at startup.
- `superset/db_engine_specs/**`: engine specs defer driver imports
so optional DB drivers don't have to be installed.
- `superset/initialization/__init__.py`, `superset/extensions/__init__.py`,
`superset/app.py`: the app-factory and extension wiring are
intentionally full of circular-import workarounds.
- `tests/**`: test files routinely defer imports for fixture
isolation; the rule still applies to production code.
2. **Per-line `# noqa: PLC0415`** on the 259 remaining genuine
circular-import sites (security/manager.py, sql/execution/executor.py,
semantic_layers/labels.py, tags/core.py, core_api_injection.py, etc.).
These are foundational modules where moving the imports up would
actually break things.
Net result: ~410 files / 2,657 grandfathered → ~73 files / 259 actual
noqa annotations. The rule still catches every new function-body
import outside the explicitly-allowed directories.
Also: silences a pre-existing C901 on `mcp_service/sql_lab/tool/execute_sql.py`
that fires under newer local ruff but not CI's pinned ruff 0.9.7 — blocks
the local pre-commit run otherwise.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-20 13:55:14 -07:00
Daniel Vaz Gaspar
11257c0536
fix(examples): skip URI safety check for system imports ( #37577 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-02 09:24:16 -08:00
Jean Massucatto
55ec1152ec
fix(deckgl): change deck gl Path default line width unit to meters ( #37248 )
2026-01-29 19:58:50 +03:00
Evan Rusackas
dee063a4c5
feat(examples): Modernize example data loading with Parquet and YAML configs ( #36538 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-01-21 12:42:15 -08:00
Richard Fogaca Nienkotter
f4474b2e3e
feat: Dynamic currency ( #36416 )
2026-01-16 21:58:41 -08:00
Maxime Beauchemin
088ecdd0bf
refactor: Enable G logging rules and comprehensive ruff improvements ( #35081 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-15 12:42:49 -07:00
Maxime Beauchemin
cb27d5fe8d
chore: proper current_app.config proxy usage ( #34345 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-07-31 19:27:42 -07:00
Maxime Beauchemin
16db999067
fix: rate limiting issues with example data hosted on github.com ( #34381 )
2025-07-29 11:19:29 -07:00
Maxime Beauchemin
3f8472ca7b
chore: move some rules from ruff -> pylint ( #34292 )
2025-07-24 09:40:49 -07:00
Paul Lavacquery
da6947d295
feat(deckgl): add support for OpenStreetMap as our new default and make "tile-providers" more configurable FIX ( #34204 )
2025-07-18 15:25:32 -07:00
Damian Pendrak
7229e1ccf3
feat(deckgl): add new color controls with color breakpoints ( #34017 )
2025-07-11 17:29:26 +03:00
Paul Lavacquery
d951158ce6
feat(deckgl): add support for OpenStreetMap as our new default and make "tile-providers" more configurable ( #33603 )
...
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com >
2025-07-08 14:04:10 -07:00
Vladislav Korenkov
9f0523977d
feat(plugin-chart-echarts): add Gantt Chart plugin ( #33716 )
2025-07-03 14:23:50 -07:00
Maxime Beauchemin
dd129fa403
feat(theming): land Ant Design v5 overhaul — dynamic themes, real dark mode + massive styling refactor ( #31590 )
...
Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com >
Co-authored-by: Diego Pucci <diegopucci.me@gmail.com >
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me >
Co-authored-by: Geido <60598000+geido@users.noreply.github.com >
Co-authored-by: Alexandru Soare <37236580+alexandrusoare@users.noreply.github.com >
Co-authored-by: Damian Pendrak <dpendrak@gmail.com >
Co-authored-by: Pius Iniobong <67148161+payose@users.noreply.github.com >
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com >
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com >
2025-06-20 13:38:58 -07:00
Beto Dealmeida
a26e1d822a
chore: remove sqlparse ( #33564 )
2025-06-04 19:31:41 -04:00
Beto Dealmeida
c03964dc5f
chore: remove useless-suppression ( #33549 )
2025-05-21 14:11:58 -04:00
Maxime Beauchemin
7f14e434c8
fix: loading examples in CI returns http error "too many requests" ( #33412 )
2025-05-13 08:36:12 -07:00
Maxime Beauchemin
f045a73e2d
fix: loading examples from raw.githubusercontent.com fails with 429 errors ( #33354 )
2025-05-05 13:07:23 +02:00
Evan Rusackas
7c9c30db1d
chore(examples): Touching up Vehicle Sales a bit ( #32623 )
2025-03-14 09:31:02 -06:00
Michael S. Molina
386aa93e24
fix: Histogram examples config ( #32122 )
2025-02-03 13:53:34 -03:00
Maxime Beauchemin
7bd53a84d5
feat: improve docker-compose services boot sequence ( #31747 )
2025-01-09 16:24:53 -08:00
Michael S. Molina
399b709aaf
refactor: Removes 5.0 approved legacy charts ( #31582 )
2025-01-09 16:45:05 -03:00
Maxime Beauchemin
e51b95ffa8
chore: enforce more ruff rules ( #31447 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
2024-12-18 17:41:34 -08:00
Geido
90572be95a
fix(Dashboard): Retain colors when color scheme not set ( #30646 )
2024-11-21 19:58:32 +02:00
Joe Li
bd42e336c7
chore: add native filters to Covid Vaccines dashboard ( #30495 )
2024-10-02 10:32:04 -07:00
Michael S. Molina
eb2d69a5e6
fix: Duplicated example dataset ( #29993 )
2024-08-22 14:46:26 -03:00
John Bodley
8fb8199a55
chore(dao/command): Add transaction decorator to try to enforce "unit of work" ( #24969 )
2024-06-28 12:33:56 -07:00
Michael S. Molina
c83d5b88e1
feat: Adds the ECharts Sankey chart ( #29329 )
2024-06-26 08:36:07 -03:00
Michael S. Molina
95706d9be2
feat: Adds the Featured Charts dashboard ( #28789 )
2024-06-04 16:59:10 -03:00
Eyal Ezer
07b2449bd7
refactor: Unify all json.(loads|dumps) usage to utils.json ( #28702 )
...
Co-authored-by: Eyal Ezer <eyal.ezer@ge.com >
2024-05-28 14:17:41 -07:00
Evan Rusackas
1e47e65ac5
fix(maps): adds Crimea back to Ukraine 🇺🇦 ( #28226 )
2024-04-25 17:56:41 -06:00
Beto Dealmeida
6cf681df68
feat(SIP-95): new endpoint for table metadata ( #28122 )
2024-04-25 12:23:49 -04:00
Maxime Beauchemin
2d63722150
chore: set up ruff as a new linter/formatter ( #28158 )
2024-04-24 17:19:53 -07:00
Beto Dealmeida
99a1601aea
refactor: rename get_sqla_engine_with_context ( #28012 )
2024-04-12 13:31:05 -04:00
Evan Rusackas
a47469f4c5
chore(examples): organizing example chart yaml files into dashboard folders ( #27572 )
2024-03-21 23:09:50 -06:00
Michael S. Molina
8a2f7d378a
refactor: Removes the deprecated GENERIC_CHART_AXES feature flag ( #26372 )
2024-01-31 09:45:57 -05:00
Michael S. Molina
4d9144eca5
refactor: Migrates legacy Sunburst charts to ECharts and removes legacy code ( #26350 )
2024-01-18 11:59:08 -03:00
Michael S. Molina
77f58fc8fa
fix: Removes non-existent columns in the 2018 FCC Survey dataset ( #26380 )
2024-01-03 11:13:07 -03:00
Michael S. Molina
3ab27c6ec9
chore: Clean up the examples dashboards ( #26158 )
2023-12-04 16:05:08 -03:00
John Bodley
07551dc3d4
chore(connector): Cleanup base models and views according to SIP-92 ( #24773 )
2023-11-21 10:11:50 -08:00
John Bodley
dd58b31cc4
chore(sqlalchemy): Remove erroneous SQLAlchemy ORM session.merge operations ( #24776 )
2023-11-20 17:25:41 -08:00
Josh Soref
0735680674
chore(backend): Spelling ( #25457 )
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-09-29 09:36:50 -07:00
Kamil Gabryjelski
d26ea980ac
feat: Add line width unit control in deckgl Polygon and Path ( #24755 )
2023-07-27 18:41:50 +02:00
John Bodley
1b5a6790f0
chore: Remove obsolete legacy visualizations ( #24694 )
2023-07-18 08:17:52 -07:00
John Bodley
ae00489779
chore(dao): Add explicit ON DELETE CASCADE for ownership ( #24628 )
2023-07-11 11:39:03 -07:00
Kamil Gabryjelski
fe2c14ff3a
fix: Ensure metrics is an array in Mixed Chart ( #24643 )
2023-07-10 18:04:38 +02:00
cwegener
7081a0e73d
refactor: pkg_resources -> importlib.resources ( #24578 )
2023-07-05 14:26:07 -07:00
Michael S. Molina
6ce85921fc
feat: Removes the Multiple Line Charts ( #23933 )
2023-06-08 14:41:58 -03:00
Michael S. Molina
f5148ef728
feat: Migrates Dual Line Chart to Mixed Chart ( #23910 )
2023-06-08 12:31:28 -03:00
Michael S. Molina
af24092440
feat: Migrates TreeMap chart ( #23741 )
2023-06-08 11:27:08 -03:00