This is an automated email from the ASF dual-hosted git repository.

maximebeauchemin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 0735680674 chore(backend): Spelling (#25457)
0735680674 is described below

commit 0735680674416ff56403635d9ebeb335ff744144
Author: Josh Soref <[email protected]>
AuthorDate: Fri Sep 29 12:36:50 2023 -0400

    chore(backend): Spelling (#25457)
    
    Signed-off-by: Josh Soref <[email protected]>
---
 superset/advanced_data_type/plugins/internet_address.py  |  4 ++--
 superset/advanced_data_type/plugins/internet_port.py     |  4 ++--
 superset/advanced_data_type/types.py                     |  2 +-
 superset/charts/schemas.py                               |  8 ++++----
 superset/cli/test_db.py                                  |  2 +-
 superset/columns/models.py                               |  6 +++---
 superset/config.py                                       |  6 +++---
 superset/connectors/sqla/models.py                       |  2 +-
 superset/daos/report.py                                  |  2 +-
 superset/dashboards/permalink/schemas.py                 |  2 +-
 superset/dashboards/schemas.py                           |  2 +-
 superset/databases/decorators.py                         |  2 +-
 superset/datasets/commands/create.py                     |  2 +-
 superset/db_engine_specs/README.md                       | 16 ++++++++--------
 superset/db_engine_specs/base.py                         |  4 ++--
 superset/db_engine_specs/lib.py                          |  2 +-
 superset/errors.py                                       |  2 +-
 .../examples/configs/charts/Messages_per_Channel.yaml    |  2 +-
 .../examples/configs/dashboards/Slack_Dashboard.yaml     |  2 +-
 superset/models/dashboard.py                             |  2 +-
 superset/models/user_attributes.py                       |  2 +-
 superset/reports/schemas.py                              |  2 +-
 superset/security/manager.py                             |  2 +-
 superset/translations/en/LC_MESSAGES/messages.json       |  2 +-
 superset/translations/en/LC_MESSAGES/messages.po         |  2 +-
 superset/translations/messages.pot                       |  2 +-
 superset/utils/core.py                                   |  2 +-
 superset/utils/dashboard_filter_scopes_converter.py      |  6 +++---
 superset/utils/webdriver.py                              |  2 +-
 superset/views/base.py                                   |  6 +++---
 superset/viz.py                                          | 10 +++++-----
 31 files changed, 56 insertions(+), 56 deletions(-)

diff --git a/superset/advanced_data_type/plugins/internet_address.py 
b/superset/advanced_data_type/plugins/internet_address.py
index 8ab20fe2d0..f4a6faffe9 100644
--- a/superset/advanced_data_type/plugins/internet_address.py
+++ b/superset/advanced_data_type/plugins/internet_address.py
@@ -1,10 +1,10 @@
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
-# regarding coperatoryright ownership.  The ASF licenses this file
+# regarding copyright ownership.  The ASF licenses this file
 # to you under the Apache License, Version 2.0 (the
 # "License"); you may not use this file except in compliance
-# with the License.  You may obtain a coperatory of the License at
+# with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
diff --git a/superset/advanced_data_type/plugins/internet_port.py 
b/superset/advanced_data_type/plugins/internet_port.py
index 8983e41422..6776c7d0d2 100644
--- a/superset/advanced_data_type/plugins/internet_port.py
+++ b/superset/advanced_data_type/plugins/internet_port.py
@@ -1,10 +1,10 @@
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
-# regarding coperatoryright ownership.  The ASF licenses this file
+# regarding copyright ownership.  The ASF licenses this file
 # to you under the Apache License, Version 2.0 (the
 # "License"); you may not use this file except in compliance
-# with the License.  You may obtain a coperatory of the License at
+# with the License.  You may obtain a copy of the License at
 #
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
diff --git a/superset/advanced_data_type/types.py 
b/superset/advanced_data_type/types.py
index e8d5de9143..66a6d7ea7d 100644
--- a/superset/advanced_data_type/types.py
+++ b/superset/advanced_data_type/types.py
@@ -49,7 +49,7 @@ class AdvancedDataTypeResponse(TypedDict, total=False):
 @dataclass
 class AdvancedDataType:
     """
-    Used for coverting base type value into an advanced type value
+    Used for converting base type value into an advanced type value
     """
 
     verbose_name: str
diff --git a/superset/charts/schemas.py b/superset/charts/schemas.py
index 6476c409ec..0ad68ceb49 100644
--- a/superset/charts/schemas.py
+++ b/superset/charts/schemas.py
@@ -91,7 +91,7 @@ query_context_description = (
 )
 query_context_generation_description = (
     "The query context generation represents whether the query_context"
-    "is user generated or not so that it does not update user modfied"
+    "is user generated or not so that it does not update user modified"
     "state."
 )
 cache_timeout_description = (
@@ -101,12 +101,12 @@ cache_timeout_description = (
 )
 datasource_id_description = (
     "The id of the dataset/datasource this new chart will use. "
-    "A complete datasource identification needs `datasouce_id` "
+    "A complete datasource identification needs `datasource_id` "
     "and `datasource_type`."
 )
 datasource_uid_description = (
     "The uid of the dataset/datasource this new chart will use. "
-    "A complete datasource identification needs `datasouce_uid` "
+    "A complete datasource identification needs `datasource_uid` "
 )
 datasource_type_description = (
     "The type of dataset/datasource identified on `datasource_id`."
@@ -1593,7 +1593,7 @@ CHART_SCHEMAS = (
     ChartDataResponseSchema,
     ChartDataAsyncResponseSchema,
     # TODO: These should optimally be included in the QueryContext schema as 
an `anyOf`
-    #  in ChartDataPostPricessingOperation.options, but since `anyOf` is not
+    #  in ChartDataPostProcessingOperation.options, but since `anyOf` is not
     #  by Marshmallow<3, this is not currently possible.
     ChartDataAdhocMetricSchema,
     ChartDataAggregateOptionsSchema,
diff --git a/superset/cli/test_db.py b/superset/cli/test_db.py
index dc8787c723..7ec69b044c 100644
--- a/superset/cli/test_db.py
+++ b/superset/cli/test_db.py
@@ -125,7 +125,7 @@ def test_datetime(console: Console, engine: Engine) -> None:
         stmt = select(table)
         row = engine.execute(stmt).fetchone()
         assert row[0] == now
-        console.print(":thumbs_up: [green]Succcess!")
+        console.print(":thumbs_up: [green]Success!")
     except Exception as ex:  # pylint: disable=broad-except
         console.print(f"[red]Test failed: {ex}")
         console.print("[bold]Exiting...")
diff --git a/superset/columns/models.py b/superset/columns/models.py
index 766a315fb6..1abaa7bf02 100644
--- a/superset/columns/models.py
+++ b/superset/columns/models.py
@@ -32,7 +32,7 @@ from superset.models.helpers import (
     ImportExportMixin,
 )
 
-UNKOWN_TYPE = "UNKNOWN"
+UNKNOWN_TYPE = "UNKNOWN"
 
 
 class Column(
@@ -92,9 +92,9 @@ class Column(
     # [1] https://www.postgresql.org/docs/9.1/datatype-character.html
     name = sa.Column(sa.Text)
     # Raw type as returned and used by db engine.
-    type = sa.Column(sa.Text, default=UNKOWN_TYPE)
+    type = sa.Column(sa.Text, default=UNKNOWN_TYPE)
 
-    # Assigns column advnaced type to determine custom behavior
+    # Assigns column advanced type to determine custom behavior
     # does nothing unless feature flag ENABLE_ADVANCED_DATA_TYPES in true
     advanced_data_type = sa.Column(sa.Text)
 
diff --git a/superset/config.py b/superset/config.py
index e255fa5401..f14eeaa968 100644
--- a/superset/config.py
+++ b/superset/config.py
@@ -472,7 +472,7 @@ DEFAULT_FEATURE_FLAGS: dict[str, bool] = {
     # Enable caching per impersonation key (e.g username) in a datasource 
where user
     # impersonation is enabled
     "CACHE_IMPERSONATION": False,
-    # Enable caching per user key for Superset cache (not datatabase cache 
impersonation)
+    # Enable caching per user key for Superset cache (not database cache 
impersonation)
     "CACHE_QUERY_BY_USER": False,
     # Enable sharing charts with embedding
     "EMBEDDABLE_CHARTS": True,
@@ -743,7 +743,7 @@ CORS_OPTIONS: dict[Any, Any] = {}
 HTML_SANITIZATION = True
 
 # Use this configuration to extend the HTML sanitization schema.
-# By default we use the Gihtub schema defined in
+# By default we use the GitHub schema defined in
 # https://github.com/syntax-tree/hast-util-sanitize/blob/main/lib/schema.js
 # For example, the following configuration would allow the rendering of the
 # style attribute for div elements and the ftp protocol in hrefs:
@@ -1102,7 +1102,7 @@ CSV_DEFAULT_NA_NAMES = list(STR_NA_VALUES)
 # dictionary. Exposing functionality through JINJA_CONTEXT_ADDONS has security
 # implications as it opens a window for a user to execute untrusted code.
 # It's important to make sure that the objects exposed (as well as objects 
attached
-# to those objets) are harmless. We recommend only exposing simple/pure 
functions that
+# to those objects) are harmless. We recommend only exposing simple/pure 
functions that
 # return native types.
 JINJA_CONTEXT_ADDONS: dict[str, Callable[..., Any]] = {}
 
diff --git a/superset/connectors/sqla/models.py 
b/superset/connectors/sqla/models.py
index 467ff331e4..e366940ff2 100644
--- a/superset/connectors/sqla/models.py
+++ b/superset/connectors/sqla/models.py
@@ -227,7 +227,7 @@ class TableColumn(Model, BaseColumn, CertificationMixin):
         """
         Construct a TableColumn object.
 
-        Historically a TableColumn object (from an ORM perspective) was tighly 
bound to
+        Historically a TableColumn object (from an ORM perspective) was 
tightly bound to
         a SqlaTable object, however with the introduction of the Query 
datasource this
         is no longer true, i.e., the SqlaTable relationship is optional.
 
diff --git a/superset/daos/report.py b/superset/daos/report.py
index 77b36041a8..e7470623f0 100644
--- a/superset/daos/report.py
+++ b/superset/daos/report.py
@@ -181,7 +181,7 @@ class ReportScheduleDAO(BaseDAO[ReportSchedule]):
         :param item: The object to update
         :param attributes: The attributes associated with the object to update
         :param commit: Whether to commit the transaction
-        :raises: DAOUpdateFailedError: If the updation failed
+        :raises: DAOUpdateFailedError: If the update failed
         """
 
         # TODO(john-bodley): Determine why we need special handling for 
recipients.
diff --git a/superset/dashboards/permalink/schemas.py 
b/superset/dashboards/permalink/schemas.py
index 059007a1b6..d21e6a4338 100644
--- a/superset/dashboards/permalink/schemas.py
+++ b/superset/dashboards/permalink/schemas.py
@@ -58,6 +58,6 @@ class DashboardPermalinkSchema(Schema):
     dashboardId = fields.String(
         required=True,
         allow_none=False,
-        metadata={"description": "The id or slug of the dasbhoard"},
+        metadata={"description": "The id or slug of the dashboard"},
     )
     state = fields.Nested(DashboardPermalinkStateSchema())
diff --git a/superset/dashboards/schemas.py b/superset/dashboards/schemas.py
index 73c613f05f..e467167297 100644
--- a/superset/dashboards/schemas.py
+++ b/superset/dashboards/schemas.py
@@ -110,7 +110,7 @@ class DashboardJSONMetadataSchema(Schema):
     # chart_configuration for now keeps data about cross-filter scoping for 
charts
     chart_configuration = fields.Dict()
     # global_chart_configuration keeps data about global cross-filter scoping
-    # for charts - can be overriden by chart_configuration for each chart
+    # for charts - can be overridden by chart_configuration for each chart
     global_chart_configuration = fields.Dict()
     # filter_sets_configuration is for dashboard-native filters
     filter_sets_configuration = fields.List(fields.Dict(), allow_none=True)
diff --git a/superset/databases/decorators.py b/superset/databases/decorators.py
index eb05ccbea7..1d49a65d5e 100644
--- a/superset/databases/decorators.py
+++ b/superset/databases/decorators.py
@@ -55,7 +55,7 @@ def check_datasource_access(f: Callable[..., Any]) -> 
Callable[..., Any]:
             database, Table(table_name_parsed, schema_name_parsed)
         ):
             stats_logger_manager.instance.incr(
-                f"permisssion_denied_{self.__class__.__name__}.select_star"
+                f"permission_denied_{self.__class__.__name__}.select_star"
             )
             logger.warning(
                 "Permission denied for user %s on table: %s schema: %s",
diff --git a/superset/datasets/commands/create.py 
b/superset/datasets/commands/create.py
index 51911dabd2..8f486b0c9a 100644
--- a/superset/datasets/commands/create.py
+++ b/superset/datasets/commands/create.py
@@ -46,7 +46,7 @@ class CreateDatasetCommand(CreateMixin, BaseCommand):
             # Creates SqlaTable (Dataset)
             dataset = DatasetDAO.create(attributes=self._properties, 
commit=False)
 
-            # Updates columns and metrics from the datase
+            # Updates columns and metrics from the dataset
             dataset.fetch_metadata(commit=False)
             db.session.commit()
         except (SQLAlchemyError, DAOCreateFailedError) as ex:
diff --git a/superset/db_engine_specs/README.md 
b/superset/db_engine_specs/README.md
index 2f82b42c68..b8c02dc84c 100644
--- a/superset/db_engine_specs/README.md
+++ b/superset/db_engine_specs/README.md
@@ -43,7 +43,7 @@ The table below (generated via `python 
superset/db_engine_specs/lib.py`) summari
 | Allows aliases in the SELECT statement | True | True | True | True | True | 
True | True | True | False | True | True | True | True | True | True | True | 
True | True | True | True | True | True | False | True | True | True | True | 
True | True | True | True | True | True | True | True | True | True | True | 
True | True | True | True | True | True | True | True | True | True | True | 
True | True | True |
 | Allows referencing aliases in the ORDER BY statement | True | True | True | 
True | True | True | True | True | False | True | True | True | True | True | 
True | True | True | True | True | True | True | True | True | True | True | 
True | True | True | True | True | True | True | True | True | True | True | 
True | True | True | True | True | True | True | True | True | True | True | 
True | True | True | True | True |
 | Supports secondary time columns | False | False | False | False | False | 
False | False | False | False | False | False | False | False | False | False | 
True | True | False | False | False | False | False | False | False | True | 
True | False | False | False | False | False | False | False | True | True | 
False | False | False | False | False | False | False | False | False | False | 
False | False | False | False | False | False | False |
-| Allows ommiting time filters from inline GROUP BYs | False | False | False | 
False | False | False | False | False | False | False | False | False | False | 
False | False | True | True | False | False | False | False | False | False | 
False | True | True | False | False | False | False | False | False | False | 
True | True | False | False | False | False | False | False | False | False | 
False | False | False | False | False | False | False | False | False |
+| Allows omitting time filters from inline GROUP BYs | False | False | False | 
False | False | False | False | False | False | False | False | False | False | 
False | False | True | True | False | False | False | False | False | False | 
False | True | True | False | False | False | False | False | False | False | 
True | True | False | False | False | False | False | False | False | False | 
False | False | False | False | False | False | False | False | False |
 | Able to use source column when an alias overshadows it | False | False | 
False | False | False | False | False | False | False | False | False | False | 
False | False | False | False | False | False | False | False | False | False | 
False | False | False | False | False | False | False | False | False | False | 
False | False | False | False | False | False | False | False | True | False | 
False | False | False | False | False | False | False | True | False | False |
 | Allows aggregations in ORDER BY not present in the SELECT | True | True | 
True | True | True | False | True | True | True | True | False | True | True | 
True | True | True | True | True | True | True | False | True | True | True | 
True | True | True | True | True | True | True | True | True | True | True | 
True | True | True | True | True | True | True | True | True | True | True | 
True | True | True | True | True | True |
 | Allows expressions in ORDER BY | False | False | False | False | False | 
False | False | False | False | False | False | False | False | False | False | 
False | False | False | False | False | False | False | False | False | False | 
False | False | False | False | True | False | False | False | False | False | 
False | False | False | False | False | False | False | False | False | False | 
False | False | False | False | False | False | False |
@@ -107,7 +107,7 @@ When running user queries in SQL Lab, Superset needs to 
limit the number of rows
 
 For most databases this is done by parsing the user submitted query and 
applying a limit, if one is not present, or replacing the existing limit if 
it's larger. This is called the `FORCE_LIMIT` method, and is the most 
efficient, since the database will produce at most the number of rows that 
Superset will display.
 
-For some databases this method might not work, and they can use the `WRAP_SQL` 
method, which wraps the original query in a `SELECT *` and applies a limit via 
the SQLAlchemy dialect, which should get translated to the correct syntax. This 
method might be inneficient, since the database optimizer might not be able to 
push the limit to the inner query.
+For some databases this method might not work, and they can use the `WRAP_SQL` 
method, which wraps the original query in a `SELECT *` and applies a limit via 
the SQLAlchemy dialect, which should get translated to the correct syntax. This 
method might be inefficient, since the database optimizer might not be able to 
push the limit to the inner query.
 
 Finally, as a last resource there is the `FETCH_MANY` method. When a DB engine 
spec uses this method the query runs unmodified, but Superset fetches only a 
certain number of rows from the cursor. It's possible that a database using 
this method can optimize the query execution and compute rows as they are being 
read by the cursor, but it's unlikely. This makes this method the least 
efficient of the three.
 
@@ -158,7 +158,7 @@ GROUP BY
 ```
 ### `time_groupby_inline = False`
 
-In theory this attribute should be used to ommit time filters from the 
self-joins. When the attribute is false the time attribute will be present in 
the subquery used to compute limited series, eg:
+In theory this attribute should be used to omit time filters from the 
self-joins. When the attribute is false the time attribute will be present in 
the subquery used to compute limited series, eg:
 
 ```sql
 SELECT DATE_TRUNC('day', ts) AS ts,
@@ -390,7 +390,7 @@ class MssqlEngineSpec(BaseEngineSpec):
 
 ### Function names
 
-DB engine specs should implement a class method called `get_function_names` 
that retuns a list of strings, representing all the function names that the 
database supports. This is used for autocomplete in SQL Lab.
+DB engine specs should implement a class method called `get_function_names` 
that returns a list of strings, representing all the function names that the 
database supports. This is used for autocomplete in SQL Lab.
 
 ### Masked encrypted extra
 
@@ -521,7 +521,7 @@ class GSheetsEngineSpec(ShillelaghEngineSpec):
 
 The method `get_url_for_impersonation` updates the SQLAlchemy URI before every 
query. In this particular case, it will fetch the user's email and add it to 
the `subject` query argument. The driver will then lower the permissions to 
match that given user. This allows the connection to be configured with a 
service account that has access to all the spreadsheets, while giving users 
access to only the spreadsheets they own are have been shared with them (or 
with their organization — Google w [...]
 
-Alternatively, it's also possible to impersonate users by implemeneting the 
`update_impersonation_config`. This is a class method which modifies 
`connect_args` in place. You can use either method, and ideally they [should be 
consolidated in a single one](https://github.com/apache/superset/issues/24910).
+Alternatively, it's also possible to impersonate users by implementing the 
`update_impersonation_config`. This is a class method which modifies 
`connect_args` in place. You can use either method, and ideally they [should be 
consolidated in a single one](https://github.com/apache/superset/issues/24910).
 
 ### File upload
 
@@ -706,13 +706,13 @@ Note that despite being implemented only for Presto, this 
behavior has nothing t
 
 Some databases allow uses to estimate the cost of running a query before 
running it. This is done via the `estimate_query_cost` method in DB engine 
specs, which receives the SQL and returns a list of "costs". The definition of 
what "cost" is varies from database to database (in the few that support this 
functionality), and it can be formatted via the `query_cost_formatter`.
 
-The `query_cost_formatter` can be overriden with an arbitrary function via the 
config `QUERY_COST_FORMATTERS_BY_ENGINE`. This allows custom deployments of 
Superset to format the results in different ways. For example, at some point in 
Lyft the cost for running Presto queries would also show the carbon footprint 
(in trees).
+The `query_cost_formatter` can be overridden with an arbitrary function via 
the config `QUERY_COST_FORMATTERS_BY_ENGINE`. This allows custom deployments of 
Superset to format the results in different ways. For example, at some point in 
Lyft the cost for running Presto queries would also show the carbon footprint 
(in trees).
 
 ### SQL validation
 
 A few databases support validating the syntax of the SQL as the user is typing 
it, indicating in SQL Lab any errors. This is usually done using an `EXPLAIN` 
query and, because it gets called every few seconds as the user types, it's 
important that the database returns the result quickly.
 
-This is currently implement for Presto and Postgres, via custom classes in 
`superset/sql_validators` that should be enabled in the configuration. 
Implementing this as custom classes, instead of a `validate_sql` method in the 
DB engine spec offerts no advantages, and ideally in the future we should move 
the logic to DB engine specs.
+This is currently implement for Presto and Postgres, via custom classes in 
`superset/sql_validators` that should be enabled in the configuration. 
Implementing this as custom classes, instead of a `validate_sql` method in the 
DB engine spec offers no advantages, and ideally in the future we should move 
the logic to DB engine specs.
 
 ## Testing DB engine specs
 
@@ -722,4 +722,4 @@ Superset has a command to test the connection to a given 
database, as well as ch
 superset test-db sqlite://
 ```
 
-If the connection needs additional arguments thay can be passed when the 
command runs.
+If the connection needs additional arguments they can be passed when the 
command runs.
diff --git a/superset/db_engine_specs/base.py b/superset/db_engine_specs/base.py
index a30b5dc426..b9c083e42b 100644
--- a/superset/db_engine_specs/base.py
+++ b/superset/db_engine_specs/base.py
@@ -461,7 +461,7 @@ class BaseEngineSpec:  # pylint: 
disable=too-many-public-methods
         connect_args: dict[str, Any],
     ) -> str | None:
         """
-        Return the schema configured in a SQLALchemy URI and connection 
argments, if any.
+        Return the schema configured in a SQLALchemy URI and connection 
arguments, if any.
         """
         return None
 
@@ -1144,7 +1144,7 @@ class BaseEngineSpec:  # pylint: 
disable=too-many-public-methods
         connection arguments.
 
         For example, in order to specify a default schema in RDS we need to 
run a query
-        at the beggining of the session:
+        at the beginning of the session:
 
             sql> set search_path = my_schema;
 
diff --git a/superset/db_engine_specs/lib.py b/superset/db_engine_specs/lib.py
index 81b695bf3e..2c7d3a3e62 100644
--- a/superset/db_engine_specs/lib.py
+++ b/superset/db_engine_specs/lib.py
@@ -41,7 +41,7 @@ DATABASE_DETAILS = {
     "alias_in_orderby": "Allows referencing aliases in the ORDER BY statement",
     "secondary_time_columns": "Supports secondary time columns",
     "time_groupby_inline": (
-        "Allows ommiting time filters from inline GROUP BYs"
+        "Allows omitting time filters from inline GROUP BYs"
     ),  # E: line too long (80 > 79 characters)
     "alias_to_source_column": (
         "Able to use source column when an alias overshadows it"
diff --git a/superset/errors.py b/superset/errors.py
index 167ec2d3b4..a480ea3d28 100644
--- a/superset/errors.py
+++ b/superset/errors.py
@@ -131,7 +131,7 @@ ISSUE_CODES = {
     1025: _("CVAS (create view as select) query is not a SELECT statement."),
     1026: _("Query is too complex and takes too long to run."),
     1027: _("The database is currently running too many queries."),
-    1028: _("One or more parameters specified in the query are malformatted."),
+    1028: _("One or more parameters specified in the query are malformed."),
     1029: _("The object does not exist in the given database."),
     1030: _("The query has a syntax error."),
     1031: _("The results backend no longer has the data from the query."),
diff --git a/superset/examples/configs/charts/Messages_per_Channel.yaml 
b/superset/examples/configs/charts/Messages_per_Channel.yaml
index 057ffd14c7..c24918af73 100644
--- a/superset/examples/configs/charts/Messages_per_Channel.yaml
+++ b/superset/examples/configs/charts/Messages_per_Channel.yaml
@@ -50,7 +50,7 @@ params:
     dashboards: '#3CCCCB'
     design: '#1FA8C9'
     developers: '#9EE5E5'
-    embedd-dashboards: '#ACE1C4'
+    embedded-dashboards: '#ACE1C4'
     feature-requests: '#454E7C'
     general: '#3CCCCB'
     github-notifications: '#E04355'
diff --git a/superset/examples/configs/dashboards/Slack_Dashboard.yaml 
b/superset/examples/configs/dashboards/Slack_Dashboard.yaml
index ca559d89d8..c6f9d99be4 100644
--- a/superset/examples/configs/dashboards/Slack_Dashboard.yaml
+++ b/superset/examples/configs/dashboards/Slack_Dashboard.yaml
@@ -251,7 +251,7 @@ metadata:
     superset_stage_alerts: "#A38F79"
     contributing: "#8FD3E4"
     graduation: "#A1A6BD"
-    embedd-dashboards: "#ACE1C4"
+    embedded-dashboards: "#ACE1C4"
     helm-k8-deployment: "#FEC0A1"
     visualization_plugins: "#B2B2B2"
     community-feedback: "#EFA1AA"
diff --git a/superset/models/dashboard.py b/superset/models/dashboard.py
index 0027edaefd..18c94aa179 100644
--- a/superset/models/dashboard.py
+++ b/superset/models/dashboard.py
@@ -206,7 +206,7 @@ class Dashboard(Model, AuditMixinNullable, 
ImportExportMixin):
 
     @staticmethod
     def get_url(id_: int, slug: str | None = None) -> str:
-        # To be able to generate URL's without instanciating a Dashboard object
+        # To be able to generate URL's without instantiating a Dashboard object
         return f"/superset/dashboard/{slug or id_}/"
 
     @property
diff --git a/superset/models/user_attributes.py 
b/superset/models/user_attributes.py
index 648e5307c6..b2af44a188 100644
--- a/superset/models/user_attributes.py
+++ b/superset/models/user_attributes.py
@@ -28,7 +28,7 @@ class UserAttribute(Model, AuditMixinNullable):
     Custom attributes attached to the user.
 
     Extending the user attribute is tricky due to its dependency on the
-    authentication typew an circular dependencies in Superset. Instead, we use
+    authentication type and circular dependencies in Superset. Instead, we use
     a custom model for adding attributes.
 
     """
diff --git a/superset/reports/schemas.py b/superset/reports/schemas.py
index cfca8387ac..84c075ffbd 100644
--- a/superset/reports/schemas.py
+++ b/superset/reports/schemas.py
@@ -86,7 +86,7 @@ grace_period_description = (
     "Superset nags you again. (in seconds)"
 )
 working_timeout_description = (
-    "If an alert is staled at a working state, how long until it's state is 
reseted to"
+    "If an alert is staled at a working state, how long until it's state is 
reset to"
     " error"
 )
 creation_method_description = (
diff --git a/superset/security/manager.py b/superset/security/manager.py
index 2935e1eb98..22769591ab 100644
--- a/superset/security/manager.py
+++ b/superset/security/manager.py
@@ -2259,7 +2259,7 @@ class SupersetSecurityManager(  # pylint: 
disable=too-many-public-methods
 
         Note admins are deemed owners of all resources.
 
-        :param resource: The dashboard, dataste, chart, etc. resource
+        :param resource: The dashboard, dataset, chart, etc. resource
         :raises SupersetSecurityException: If the current user is not an owner
         """
 
diff --git a/superset/translations/en/LC_MESSAGES/messages.json 
b/superset/translations/en/LC_MESSAGES/messages.json
index 4dbdebd944..e87511b901 100644
--- a/superset/translations/en/LC_MESSAGES/messages.json
+++ b/superset/translations/en/LC_MESSAGES/messages.json
@@ -2398,7 +2398,7 @@
       "One or more parameters needed to configure a database are missing.": [
         ""
       ],
-      "One or more parameters specified in the query are malformatted.": [""],
+      "One or more parameters specified in the query are malformed.": [""],
       "One or more parameters specified in the query are missing.": [""],
       "One or more required fields are missing in the request. Please try 
again, and if the problem persists contact your administrator.": [
         ""
diff --git a/superset/translations/en/LC_MESSAGES/messages.po 
b/superset/translations/en/LC_MESSAGES/messages.po
index 1ce500bd21..7a84f6d5de 100644
--- a/superset/translations/en/LC_MESSAGES/messages.po
+++ b/superset/translations/en/LC_MESSAGES/messages.po
@@ -10123,7 +10123,7 @@ msgid "One or more parameters needed to configure a 
database are missing."
 msgstr ""
 
 #: superset/errors.py:133
-msgid "One or more parameters specified in the query are malformatted."
+msgid "One or more parameters specified in the query are malformed."
 msgstr ""
 
 #: superset/errors.py:107
diff --git a/superset/translations/messages.pot 
b/superset/translations/messages.pot
index 8131da3844..8c1cc701f7 100644
--- a/superset/translations/messages.pot
+++ b/superset/translations/messages.pot
@@ -10121,7 +10121,7 @@ msgid "One or more parameters needed to configure a 
database are missing."
 msgstr ""
 
 #: superset/errors.py:133
-msgid "One or more parameters specified in the query are malformatted."
+msgid "One or more parameters specified in the query are malformed."
 msgstr ""
 
 #: superset/errors.py:107
diff --git a/superset/utils/core.py b/superset/utils/core.py
index 7cce8795ec..a4d1ec6523 100644
--- a/superset/utils/core.py
+++ b/superset/utils/core.py
@@ -1193,7 +1193,7 @@ def merge_extra_filters(form_data: dict[str, Any]) -> 
None:
 def merge_request_params(form_data: dict[str, Any], params: dict[str, Any]) -> 
None:
     """
     Merge request parameters to the key `url_params` in form_data. Only updates
-    or appends parameters to `form_data` that are defined in `params; 
pre-existing
+    or appends parameters to `form_data` that are defined in `params; 
preexisting
     parameters not defined in params are left unchanged.
 
     :param form_data: object to be updated
diff --git a/superset/utils/dashboard_filter_scopes_converter.py 
b/superset/utils/dashboard_filter_scopes_converter.py
index 38090e22b6..6cabbbb315 100644
--- a/superset/utils/dashboard_filter_scopes_converter.py
+++ b/superset/utils/dashboard_filter_scopes_converter.py
@@ -109,7 +109,7 @@ def convert_filter_scopes_to_native_filters(  # pylint: 
disable=invalid-name,too
     filter-box charts whereas native hierarchical filters are defined via 
explicit
     parental relationships, i.e., the inverse.
 
-    :param json_metata: The dashboard metadata
+    :param json_metadata: The dashboard metadata
     :param position_json: The dashboard layout
     :param filter_boxes: The filter-box charts associated with the dashboard
     :returns: The native filter configuration
@@ -142,7 +142,7 @@ def convert_filter_scopes_to_native_filters(  # pylint: 
disable=invalid-name,too
             **(filter_scopes.get(key, {})),
         }
 
-    # Contruct the native filters.
+    # Construct the native filters.
     for filter_box in filter_boxes:
         key = str(filter_box.id)
         params = json.loads(filter_box.params or "{}")
@@ -303,7 +303,7 @@ def convert_filter_scopes_to_native_filters(  # pylint: 
disable=invalid-name,too
                     isinstance(value, dict)
                     and value["type"] == "CHART"
                     and value["meta"]["chartId"] == filter_box.id
-                    and value["parents"]  # Misnomer as this the the complete 
ancestry.
+                    and value["parents"]  # Misnomer as this the complete 
ancestry.
                 ):
                     ancestors_by_id[filter_box.id] = set(value["parents"])
             except KeyError:
diff --git a/superset/utils/webdriver.py b/superset/utils/webdriver.py
index 888e921a8a..39c6d514d6 100644
--- a/superset/utils/webdriver.py
+++ b/superset/utils/webdriver.py
@@ -249,7 +249,7 @@ class WebDriverProxy:
             )
         except WebDriverException:
             logger.exception(
-                "Encountered an unexpected error when requeating url %s", url
+                "Encountered an unexpected error when requesting url %s", url
             )
         finally:
             self.destroy(driver, 
current_app.config["SCREENSHOT_SELENIUM_RETRIES"])
diff --git a/superset/views/base.py b/superset/views/base.py
index 6951f5a79d..c8802ca25c 100644
--- a/superset/views/base.py
+++ b/superset/views/base.py
@@ -201,7 +201,7 @@ def deprecated(
 
     def _deprecated(f: Callable[..., FlaskResponse]) -> Callable[..., 
FlaskResponse]:
         def wraps(self: "BaseSupersetView", *args: Any, **kwargs: Any) -> 
FlaskResponse:
-            messsage = (
+            message = (
                 "%s.%s "
                 "This API endpoint is deprecated and will be removed in 
version %s"
             )
@@ -211,9 +211,9 @@ def deprecated(
                 eol_version,
             ]
             if new_target:
-                messsage += " . Use the following API endpoint instead: %s"
+                message += " . Use the following API endpoint instead: %s"
                 logger_args.append(new_target)
-            logger.warning(messsage, *logger_args)
+            logger.warning(message, *logger_args)
             return f(self, *args, **kwargs)
 
         return functools.update_wrapper(wraps, f)
diff --git a/superset/viz.py b/superset/viz.py
index a70d9de22d..df77cfadea 100644
--- a/superset/viz.py
+++ b/superset/viz.py
@@ -2019,15 +2019,15 @@ class BaseDeckGLViz(BaseViz):
 
     @staticmethod
     @deprecated(deprecated_in="3.0")
-    def parse_coordinates(latlog: Any) -> tuple[float, float] | None:
-        if not latlog:
+    def parse_coordinates(latlong: Any) -> tuple[float, float] | None:
+        if not latlong:
             return None
         try:
-            point = Point(latlog)
+            point = Point(latlong)
             return (point.latitude, point.longitude)
         except Exception as ex:
             raise SpatialException(
-                _(f"Invalid spatial point encountered: {latlog}")
+                _(f"Invalid spatial point encountered: {latlong}")
             ) from ex
 
     @staticmethod
@@ -2544,7 +2544,7 @@ class PairedTTestViz(BaseViz):
         metrics = self.metric_labels
         df = df.pivot_table(index=DTTM_ALIAS, columns=groups, values=metrics)
         cols = []
-        # Be rid of falsey keys
+        # Be rid of falsy keys
         for col in df.columns:
             if col == "":
                 cols.append("N/A")


Reply via email to