From d1c48016eb9b306627ee71fe7463427ad5f4fa91 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 6 Mar 2023 08:43:22 -0500 Subject: [PATCH] Rename `ruff_python` crate to `ruff_python_stdlib` (#3354) In hindsight, `ruff_python` is too general. A good giveaway is that it's actually a prefix of some other crates. The intent of this crate is to reimplement pieces of the Python standard library and CPython itself, so `ruff_python_stdlib` feels appropriate. --- Cargo.lock | 22 +++++++++---------- crates/flake8_to_ruff/Cargo.toml | 3 ++- crates/ruff/Cargo.toml | 6 ++--- crates/ruff/src/ast/context.rs | 2 +- crates/ruff/src/ast/typing.rs | 2 +- crates/ruff/src/checkers/ast/mod.rs | 2 +- .../rules/getattr_with_constant.rs | 7 +++--- .../rules/raise_without_from_inside_except.rs | 2 +- .../rules/setattr_with_constant.rs | 7 +++--- .../ruff/src/rules/flake8_builtins/rules.rs | 8 ++++--- crates/ruff/src/rules/flake8_pie/rules.rs | 7 +++--- .../flake8_simplify/rules/yoda_conditions.rs | 5 +++-- .../flake8_tidy_imports/relative_imports.rs | 5 +++-- crates/ruff/src/rules/isort/categorize.rs | 2 +- crates/ruff/src/rules/isort/sorting.rs | 2 +- crates/ruff/src/rules/pep8_naming/helpers.rs | 2 +- .../rules/camelcase_imported_as_acronym.rs | 5 +++-- .../rules/camelcase_imported_as_constant.rs | 5 +++-- .../rules/camelcase_imported_as_lowercase.rs | 5 +++-- .../constant_imported_as_non_constant.rs | 5 +++-- .../pep8_naming/rules/invalid_module_name.rs | 2 +- .../lowercase_imported_as_non_lowercase.rs | 5 +++-- crates/ruff/src/rules/pydocstyle/helpers.rs | 2 +- .../rules/multi_line_summary_start.rs | 2 +- crates/ruff/src/rules/pyflakes/fixes.rs | 2 +- .../ruff/src/rules/pyflakes/rules/imports.rs | 5 +++-- ...convert_named_tuple_functional_to_class.rs | 4 ++-- .../convert_typed_dict_functional_to_class.rs | 4 ++-- .../rules/printf_string_formatting.rs | 7 +++--- crates/ruff_python_formatter/Cargo.toml | 2 +- .../ruff_python_formatter/src/core/helpers.rs | 20 ++++++++--------- .../Cargo.toml | 2 +- .../src/builtins.rs | 0 .../src/bytes.rs | 0 .../src/future.rs | 0 .../src/identifiers.rs | 0 .../src/keyword.rs | 0 .../src/lib.rs | 0 .../src/str.rs | 0 .../src/sys.rs | 0 .../src/typing.rs | 0 41 files changed, 88 insertions(+), 73 deletions(-) rename crates/{ruff_python => ruff_python_stdlib}/Cargo.toml (89%) rename crates/{ruff_python => ruff_python_stdlib}/src/builtins.rs (100%) rename crates/{ruff_python => ruff_python_stdlib}/src/bytes.rs (100%) rename crates/{ruff_python => ruff_python_stdlib}/src/future.rs (100%) rename crates/{ruff_python => ruff_python_stdlib}/src/identifiers.rs (100%) rename crates/{ruff_python => ruff_python_stdlib}/src/keyword.rs (100%) rename crates/{ruff_python => ruff_python_stdlib}/src/lib.rs (100%) rename crates/{ruff_python => ruff_python_stdlib}/src/str.rs (100%) rename crates/{ruff_python => ruff_python_stdlib}/src/sys.rs (100%) rename crates/{ruff_python => ruff_python_stdlib}/src/typing.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 8ae249830d..e3e1ba6c75 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2000,7 +2000,7 @@ dependencies = [ "result-like", "ruff_cache", "ruff_macros", - "ruff_python", + "ruff_python_stdlib", "ruff_rustpython", "rustc-hash", "rustpython-common", @@ -2120,15 +2120,6 @@ dependencies = [ "textwrap", ] -[[package]] -name = "ruff_python" -version = "0.0.0" -dependencies = [ - "once_cell", - "regex", - "rustc-hash", -] - [[package]] name = "ruff_python_formatter" version = "0.0.0" @@ -2140,7 +2131,7 @@ dependencies = [ "itertools", "once_cell", "ruff_formatter", - "ruff_python", + "ruff_python_stdlib", "ruff_rustpython", "ruff_testing_macros", "ruff_text_size", @@ -2151,6 +2142,15 @@ dependencies = [ "test-case", ] +[[package]] +name = "ruff_python_stdlib" +version = "0.0.0" +dependencies = [ + "once_cell", + "regex", + "rustc-hash", +] + [[package]] name = "ruff_rustpython" version = "0.0.0" diff --git a/crates/flake8_to_ruff/Cargo.toml b/crates/flake8_to_ruff/Cargo.toml index b922c356be..42dcc38872 100644 --- a/crates/flake8_to_ruff/Cargo.toml +++ b/crates/flake8_to_ruff/Cargo.toml @@ -5,13 +5,14 @@ edition = { workspace = true } rust-version = { workspace = true } [dependencies] +ruff = { path = "../ruff", default-features = false } + anyhow = { workspace = true } clap = { workspace = true } colored = { workspace = true } configparser = { version = "3.0.2" } once_cell = { workspace = true } regex = { workspace = true } -ruff = { path = "../ruff", default-features = false } rustc-hash = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } diff --git a/crates/ruff/Cargo.toml b/crates/ruff/Cargo.toml index b55d574638..ec7e489834 100644 --- a/crates/ruff/Cargo.toml +++ b/crates/ruff/Cargo.toml @@ -16,10 +16,10 @@ crate-type = ["cdylib", "rlib"] doctest = false [dependencies] -ruff_macros = { path = "../ruff_macros" } -ruff_python = { path = "../ruff_python" } -ruff_rustpython = { path = "../ruff_rustpython" } ruff_cache = { path = "../ruff_cache" } +ruff_macros = { path = "../ruff_macros" } +ruff_python_stdlib = { path = "../ruff_python_stdlib" } +ruff_rustpython = { path = "../ruff_rustpython" } anyhow = { workspace = true } bisection = { version = "0.1.0" } diff --git a/crates/ruff/src/ast/context.rs b/crates/ruff/src/ast/context.rs index 15f75d9c98..5f97980666 100644 --- a/crates/ruff/src/ast/context.rs +++ b/crates/ruff/src/ast/context.rs @@ -5,7 +5,7 @@ use rustc_hash::FxHashMap; use rustpython_parser::ast::{Expr, Stmt}; use smallvec::smallvec; -use ruff_python::typing::TYPING_EXTENSIONS; +use ruff_python_stdlib::typing::TYPING_EXTENSIONS; use crate::ast::helpers::{collect_call_path, from_relative_import, Exceptions}; use crate::ast::types::{Binding, BindingKind, CallPath, ExecutionContext, RefEquality, Scope}; diff --git a/crates/ruff/src/ast/typing.rs b/crates/ruff/src/ast/typing.rs index 5d841f55ad..aeb79a5cd4 100644 --- a/crates/ruff/src/ast/typing.rs +++ b/crates/ruff/src/ast/typing.rs @@ -1,4 +1,4 @@ -use ruff_python::typing::{PEP_585_BUILTINS_ELIGIBLE, PEP_593_SUBSCRIPTS, SUBSCRIPTS}; +use ruff_python_stdlib::typing::{PEP_585_BUILTINS_ELIGIBLE, PEP_593_SUBSCRIPTS, SUBSCRIPTS}; use rustpython_parser::ast::{Expr, ExprKind}; use crate::ast::types::CallPath; diff --git a/crates/ruff/src/checkers/ast/mod.rs b/crates/ruff/src/checkers/ast/mod.rs index c5751f6bfe..f6270dcad3 100644 --- a/crates/ruff/src/checkers/ast/mod.rs +++ b/crates/ruff/src/checkers/ast/mod.rs @@ -13,7 +13,7 @@ use rustpython_parser::ast::{ Suite, }; -use ruff_python::builtins::{BUILTINS, MAGIC_GLOBALS}; +use ruff_python_stdlib::builtins::{BUILTINS, MAGIC_GLOBALS}; use crate::ast::context::Context; use crate::ast::helpers::{binding_range, extract_handled_exceptions, to_module_path, Exceptions}; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs b/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs index c0b2081d2e..2090470d0b 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/getattr_with_constant.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::identifiers::{is_identifier, is_mangled_private}; -use ruff_python::keyword::KWLIST; use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Location}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::identifiers::{is_identifier, is_mangled_private}; +use ruff_python_stdlib::keyword::KWLIST; + use crate::ast::helpers::unparse_expr; use crate::ast::types::Range; use crate::checkers::ast::Checker; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs b/crates/ruff/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs index 72aeef3e26..b9d57af2b8 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/raise_without_from_inside_except.rs @@ -1,7 +1,7 @@ use rustpython_parser::ast::{ExprKind, Stmt}; use ruff_macros::{derive_message_formats, violation}; -use ruff_python::str::is_lower; +use ruff_python_stdlib::str::is_lower; use crate::ast::helpers::RaiseStatementVisitor; use crate::ast::visitor; diff --git a/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs b/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs index dcb583ca65..d642ecc1d3 100644 --- a/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs +++ b/crates/ruff/src/rules/flake8_bugbear/rules/setattr_with_constant.rs @@ -1,8 +1,9 @@ -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::identifiers::{is_identifier, is_mangled_private}; -use ruff_python::keyword::KWLIST; use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Location, Stmt, StmtKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::identifiers::{is_identifier, is_mangled_private}; +use ruff_python_stdlib::keyword::KWLIST; + use crate::ast::helpers::unparse_stmt; use crate::ast::types::Range; use crate::checkers::ast::Checker; diff --git a/crates/ruff/src/rules/flake8_builtins/rules.rs b/crates/ruff/src/rules/flake8_builtins/rules.rs index 6b32f83a2b..e0895212fb 100644 --- a/crates/ruff/src/rules/flake8_builtins/rules.rs +++ b/crates/ruff/src/rules/flake8_builtins/rules.rs @@ -1,12 +1,14 @@ -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::builtins::BUILTINS; use rustpython_parser::ast::Located; -use super::types::ShadowingType; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::builtins::BUILTINS; + use crate::ast::types::Range; use crate::registry::{Diagnostic, DiagnosticKind}; use crate::violation::Violation; +use super::types::ShadowingType; + /// ## What it does /// Checks for variable (and function) assignments that use the same name /// as a builtin. diff --git a/crates/ruff/src/rules/flake8_pie/rules.rs b/crates/ruff/src/rules/flake8_pie/rules.rs index a51b93ccbd..54367bfc00 100644 --- a/crates/ruff/src/rules/flake8_pie/rules.rs +++ b/crates/ruff/src/rules/flake8_pie/rules.rs @@ -1,10 +1,11 @@ use log::error; -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::identifiers::is_identifier; -use ruff_python::keyword::KWLIST; use rustc_hash::FxHashSet; use rustpython_parser::ast::{Boolop, Constant, Expr, ExprKind, Keyword, Stmt, StmtKind}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::identifiers::is_identifier; +use ruff_python_stdlib::keyword::KWLIST; + use crate::ast::comparable::ComparableExpr; use crate::ast::helpers::{match_trailing_comment, unparse_expr}; use crate::ast::types::{Range, RefEquality}; diff --git a/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs b/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs index 892cd2a023..c1cf19bdfd 100644 --- a/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs +++ b/crates/ruff/src/rules/flake8_simplify/rules/yoda_conditions.rs @@ -1,9 +1,10 @@ use anyhow::Result; use libcst_native::{Codegen, CodegenState, CompOp}; -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::str::{self}; use rustpython_parser::ast::{Cmpop, Expr, ExprKind, Unaryop}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::str::{self}; + use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::cst::matchers::{match_comparison, match_expression}; diff --git a/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs b/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs index d267176b1c..2495fd702f 100644 --- a/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs +++ b/crates/ruff/src/rules/flake8_tidy_imports/relative_imports.rs @@ -1,9 +1,10 @@ -use ruff_macros::{derive_message_formats, violation, CacheKey}; -use ruff_python::identifiers::is_module_name; use rustpython_parser::ast::{Stmt, StmtKind}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use ruff_macros::{derive_message_formats, violation, CacheKey}; +use ruff_python_stdlib::identifiers::is_module_name; + use crate::ast::helpers::{create_stmt, from_relative_import, unparse_stmt}; use crate::ast::types::Range; use crate::checkers::ast::Checker; diff --git a/crates/ruff/src/rules/isort/categorize.rs b/crates/ruff/src/rules/isort/categorize.rs index a71f80d9d3..c321d13b07 100644 --- a/crates/ruff/src/rules/isort/categorize.rs +++ b/crates/ruff/src/rules/isort/categorize.rs @@ -4,7 +4,7 @@ use std::path::{Path, PathBuf}; use log::debug; use ruff_macros::CacheKey; -use ruff_python::sys::KNOWN_STANDARD_LIBRARY; +use ruff_python_stdlib::sys::KNOWN_STANDARD_LIBRARY; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use strum_macros::EnumIter; diff --git a/crates/ruff/src/rules/isort/sorting.rs b/crates/ruff/src/rules/isort/sorting.rs index c41b24b2f6..5b68acfdec 100644 --- a/crates/ruff/src/rules/isort/sorting.rs +++ b/crates/ruff/src/rules/isort/sorting.rs @@ -3,7 +3,7 @@ use std::cmp::Ordering; use std::collections::BTreeSet; use crate::rules::isort::types::Importable; -use ruff_python::str; +use ruff_python_stdlib::str; use super::settings::RelativeImportsOrder; use super::types::EitherImport::{Import, ImportFrom}; diff --git a/crates/ruff/src/rules/pep8_naming/helpers.rs b/crates/ruff/src/rules/pep8_naming/helpers.rs index 01cf8b2b39..1ea17901b4 100644 --- a/crates/ruff/src/rules/pep8_naming/helpers.rs +++ b/crates/ruff/src/rules/pep8_naming/helpers.rs @@ -1,5 +1,5 @@ use itertools::Itertools; -use ruff_python::str::{is_lower, is_upper}; +use ruff_python_stdlib::str::{is_lower, is_upper}; use rustpython_parser::ast::{ExprKind, Stmt, StmtKind}; use crate::checkers::ast::Checker; diff --git a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs index cdf2d3a801..a9601fadef 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_acronym.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::str::{self}; use rustpython_parser::ast::Stmt; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::str::{self}; + use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs index 1410fedb03..fa524723d8 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_constant.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::str::{self}; use rustpython_parser::ast::Stmt; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::str::{self}; + use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs index 151baeeb31..b828ef182d 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/camelcase_imported_as_lowercase.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::str; use rustpython_parser::ast::Stmt; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::str; + use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; use crate::rules::pep8_naming::helpers; diff --git a/crates/ruff/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs b/crates/ruff/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs index 47bdbf31df..fa946941c4 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/constant_imported_as_non_constant.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::str; use rustpython_parser::ast::Stmt; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::str; + use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; use crate::source_code::Locator; diff --git a/crates/ruff/src/rules/pep8_naming/rules/invalid_module_name.rs b/crates/ruff/src/rules/pep8_naming/rules/invalid_module_name.rs index c99c25492f..8451e76696 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/invalid_module_name.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/invalid_module_name.rs @@ -1,7 +1,7 @@ use std::path::Path; use ruff_macros::{derive_message_formats, violation}; -use ruff_python::identifiers::is_module_name; +use ruff_python_stdlib::identifiers::is_module_name; use crate::ast::types::Range; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs b/crates/ruff/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs index e91ff6c189..9da7ad144d 100644 --- a/crates/ruff/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs +++ b/crates/ruff/src/rules/pep8_naming/rules/lowercase_imported_as_non_lowercase.rs @@ -1,7 +1,8 @@ -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::str; use rustpython_parser::ast::Stmt; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::str; + use crate::ast::helpers::identifier_range; use crate::registry::Diagnostic; use crate::source_code::Locator; diff --git a/crates/ruff/src/rules/pydocstyle/helpers.rs b/crates/ruff/src/rules/pydocstyle/helpers.rs index 471f1f4e2b..a95dbc0dfa 100644 --- a/crates/ruff/src/rules/pydocstyle/helpers.rs +++ b/crates/ruff/src/rules/pydocstyle/helpers.rs @@ -1,6 +1,6 @@ use std::collections::BTreeSet; -use ruff_python::str::{ +use ruff_python_stdlib::str::{ SINGLE_QUOTE_PREFIXES, SINGLE_QUOTE_SUFFIXES, TRIPLE_QUOTE_PREFIXES, TRIPLE_QUOTE_SUFFIXES, }; diff --git a/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs b/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs index 19af4edcf8..6fdd6274a0 100644 --- a/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs +++ b/crates/ruff/src/rules/pydocstyle/rules/multi_line_summary_start.rs @@ -1,5 +1,5 @@ use ruff_macros::{derive_message_formats, violation}; -use ruff_python::str::TRIPLE_QUOTE_PREFIXES; +use ruff_python_stdlib::str::TRIPLE_QUOTE_PREFIXES; use crate::ast::types::Range; use crate::ast::whitespace::LinesWithTrailingNewline; diff --git a/crates/ruff/src/rules/pyflakes/fixes.rs b/crates/ruff/src/rules/pyflakes/fixes.rs index f9ff1eda8f..5dda436d6a 100644 --- a/crates/ruff/src/rules/pyflakes/fixes.rs +++ b/crates/ruff/src/rules/pyflakes/fixes.rs @@ -1,6 +1,6 @@ use anyhow::{bail, Result}; use libcst_native::{Call, Codegen, CodegenState, Dict, DictElement, Expression}; -use ruff_python::str::strip_quotes_and_prefixes; +use ruff_python_stdlib::str::strip_quotes_and_prefixes; use rustpython_parser::ast::{Excepthandler, Expr}; use rustpython_parser::{lexer, Mode, Tok}; diff --git a/crates/ruff/src/rules/pyflakes/rules/imports.rs b/crates/ruff/src/rules/pyflakes/rules/imports.rs index d8ca6ddebd..0ea0a3986c 100644 --- a/crates/ruff/src/rules/pyflakes/rules/imports.rs +++ b/crates/ruff/src/rules/pyflakes/rules/imports.rs @@ -1,8 +1,9 @@ use itertools::Itertools; -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::future::ALL_FEATURE_NAMES; use rustpython_parser::ast::Alias; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::future::ALL_FEATURE_NAMES; + use crate::ast::types::Range; use crate::checkers::ast::Checker; use crate::registry::Diagnostic; diff --git a/crates/ruff/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs b/crates/ruff/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs index 35ed751c1c..218e8e20f7 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/convert_named_tuple_functional_to_class.rs @@ -3,8 +3,8 @@ use log::debug; use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Keyword, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; -use ruff_python::identifiers::is_identifier; -use ruff_python::keyword::KWLIST; +use ruff_python_stdlib::identifiers::is_identifier; +use ruff_python_stdlib::keyword::KWLIST; use crate::ast::helpers::{create_expr, create_stmt, unparse_stmt}; use crate::ast::types::Range; diff --git a/crates/ruff/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs b/crates/ruff/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs index fdb387fb84..6f5e32d4c4 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/convert_typed_dict_functional_to_class.rs @@ -3,8 +3,8 @@ use log::debug; use rustpython_parser::ast::{Constant, Expr, ExprContext, ExprKind, Keyword, Stmt, StmtKind}; use ruff_macros::{derive_message_formats, violation}; -use ruff_python::identifiers::is_identifier; -use ruff_python::keyword::KWLIST; +use ruff_python_stdlib::identifiers::is_identifier; +use ruff_python_stdlib::keyword::KWLIST; use crate::ast::helpers::{create_expr, create_stmt, unparse_stmt}; use crate::ast::types::Range; diff --git a/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs b/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs index bf7ecba582..33c42e1e18 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/printf_string_formatting.rs @@ -1,14 +1,15 @@ use std::str::FromStr; -use ruff_macros::{derive_message_formats, violation}; -use ruff_python::identifiers::is_identifier; -use ruff_python::keyword::KWLIST; use rustpython_common::cformat::{ CConversionFlags, CFormatPart, CFormatPrecision, CFormatQuantity, CFormatString, }; use rustpython_parser::ast::{Constant, Expr, ExprKind, Location}; use rustpython_parser::{lexer, Mode, Tok}; +use ruff_macros::{derive_message_formats, violation}; +use ruff_python_stdlib::identifiers::is_identifier; +use ruff_python_stdlib::keyword::KWLIST; + use crate::ast::types::Range; use crate::ast::whitespace::indentation; use crate::checkers::ast::Checker; diff --git a/crates/ruff_python_formatter/Cargo.toml b/crates/ruff_python_formatter/Cargo.toml index 44add45612..7a745c65e5 100644 --- a/crates/ruff_python_formatter/Cargo.toml +++ b/crates/ruff_python_formatter/Cargo.toml @@ -7,7 +7,7 @@ rust-version = { workspace = true } [dependencies] ruff_formatter = { path = "../ruff_formatter" } -ruff_python = { path = "../ruff_python" } +ruff_python_stdlib = { path = "../ruff_python_stdlib" } ruff_rustpython = { path = "../ruff_rustpython" } ruff_text_size = { path = "../ruff_text_size" } diff --git a/crates/ruff_python_formatter/src/core/helpers.rs b/crates/ruff_python_formatter/src/core/helpers.rs index b3db52783e..a4ff965e0c 100644 --- a/crates/ruff_python_formatter/src/core/helpers.rs +++ b/crates/ruff_python_formatter/src/core/helpers.rs @@ -6,11 +6,11 @@ use crate::core::types::Range; /// Return the leading quote for a string or byte literal (e.g., `"""`). pub fn leading_quote(content: &str) -> Option<&str> { if let Some(first_line) = content.lines().next() { - for pattern in ruff_python::str::TRIPLE_QUOTE_PREFIXES + for pattern in ruff_python_stdlib::str::TRIPLE_QUOTE_PREFIXES .iter() - .chain(ruff_python::bytes::TRIPLE_QUOTE_PREFIXES) - .chain(ruff_python::str::SINGLE_QUOTE_PREFIXES) - .chain(ruff_python::bytes::SINGLE_QUOTE_PREFIXES) + .chain(ruff_python_stdlib::bytes::TRIPLE_QUOTE_PREFIXES) + .chain(ruff_python_stdlib::str::SINGLE_QUOTE_PREFIXES) + .chain(ruff_python_stdlib::bytes::SINGLE_QUOTE_PREFIXES) { if first_line.starts_with(pattern) { return Some(pattern); @@ -22,9 +22,9 @@ pub fn leading_quote(content: &str) -> Option<&str> { /// Return the trailing quote string for a string or byte literal (e.g., `"""`). pub fn trailing_quote(content: &str) -> Option<&&str> { - ruff_python::str::TRIPLE_QUOTE_SUFFIXES + ruff_python_stdlib::str::TRIPLE_QUOTE_SUFFIXES .iter() - .chain(ruff_python::str::SINGLE_QUOTE_SUFFIXES) + .chain(ruff_python_stdlib::str::SINGLE_QUOTE_SUFFIXES) .find(|&pattern| content.ends_with(pattern)) } @@ -160,11 +160,11 @@ pub fn is_elif(orelse: &[rustpython_parser::ast::Stmt], locator: &Locator) -> bo mod tests { #[test] fn test_prefixes() { - let prefixes = ruff_python::str::TRIPLE_QUOTE_PREFIXES + let prefixes = ruff_python_stdlib::str::TRIPLE_QUOTE_PREFIXES .iter() - .chain(ruff_python::bytes::TRIPLE_QUOTE_PREFIXES) - .chain(ruff_python::str::SINGLE_QUOTE_PREFIXES) - .chain(ruff_python::bytes::SINGLE_QUOTE_PREFIXES) + .chain(ruff_python_stdlib::bytes::TRIPLE_QUOTE_PREFIXES) + .chain(ruff_python_stdlib::str::SINGLE_QUOTE_PREFIXES) + .chain(ruff_python_stdlib::bytes::SINGLE_QUOTE_PREFIXES) .collect::>(); for i in 1..prefixes.len() { for j in 0..i - 1 { diff --git a/crates/ruff_python/Cargo.toml b/crates/ruff_python_stdlib/Cargo.toml similarity index 89% rename from crates/ruff_python/Cargo.toml rename to crates/ruff_python_stdlib/Cargo.toml index 6bb6ed4fd8..f6c68fc508 100644 --- a/crates/ruff_python/Cargo.toml +++ b/crates/ruff_python_stdlib/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "ruff_python" +name = "ruff_python_stdlib" version = "0.0.0" publish = false edition = { workspace = true } diff --git a/crates/ruff_python/src/builtins.rs b/crates/ruff_python_stdlib/src/builtins.rs similarity index 100% rename from crates/ruff_python/src/builtins.rs rename to crates/ruff_python_stdlib/src/builtins.rs diff --git a/crates/ruff_python/src/bytes.rs b/crates/ruff_python_stdlib/src/bytes.rs similarity index 100% rename from crates/ruff_python/src/bytes.rs rename to crates/ruff_python_stdlib/src/bytes.rs diff --git a/crates/ruff_python/src/future.rs b/crates/ruff_python_stdlib/src/future.rs similarity index 100% rename from crates/ruff_python/src/future.rs rename to crates/ruff_python_stdlib/src/future.rs diff --git a/crates/ruff_python/src/identifiers.rs b/crates/ruff_python_stdlib/src/identifiers.rs similarity index 100% rename from crates/ruff_python/src/identifiers.rs rename to crates/ruff_python_stdlib/src/identifiers.rs diff --git a/crates/ruff_python/src/keyword.rs b/crates/ruff_python_stdlib/src/keyword.rs similarity index 100% rename from crates/ruff_python/src/keyword.rs rename to crates/ruff_python_stdlib/src/keyword.rs diff --git a/crates/ruff_python/src/lib.rs b/crates/ruff_python_stdlib/src/lib.rs similarity index 100% rename from crates/ruff_python/src/lib.rs rename to crates/ruff_python_stdlib/src/lib.rs diff --git a/crates/ruff_python/src/str.rs b/crates/ruff_python_stdlib/src/str.rs similarity index 100% rename from crates/ruff_python/src/str.rs rename to crates/ruff_python_stdlib/src/str.rs diff --git a/crates/ruff_python/src/sys.rs b/crates/ruff_python_stdlib/src/sys.rs similarity index 100% rename from crates/ruff_python/src/sys.rs rename to crates/ruff_python_stdlib/src/sys.rs diff --git a/crates/ruff_python/src/typing.rs b/crates/ruff_python_stdlib/src/typing.rs similarity index 100% rename from crates/ruff_python/src/typing.rs rename to crates/ruff_python_stdlib/src/typing.rs