DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: ruff 0.15.17+ds-1

Package Information

DescriptionFast linter for Python, written in Rust

Ruff is a linter for Python that includes implementations of many common checks implemented by flake8, flake8 plugins, and pylint.

MaintainerDebian Python Team <team+python@tracker.debian.org>
Changed ByMaximiliano Curia <maxy@debian.org>
Sponsormaxy@debian.org
Distributionexperimental
Architectureany all
VCSgit: https://salsa.debian.org/python-team/packages/ruff.git (browse)
Popcon Installs117
Binary NEWYes (binary-only upload)
Trackerhttps://tracker.debian.org/pkg/ruff
Uploaded1 month, 22 days ago

New Package Report

.changes
Changed-ByMaximiliano Curia
Architecturesource all amd64
Distributionexperimental
DateThu, 23 Jul 2026 17:22:05 -0300
Sourceruff
Version0.15.17+ds-1
Changelog
ruff (0.15.17+ds-1) experimental; urgency=medium
 .
   [ Jelmer Vernooij ]
   * New upstream release.
 .
   [ Andreas Tille ]
   * Add watch file
 .
   [ Carl Keinath ]
   * Added gbp.conf.
   * d/rules:
     - use cargo wrapper for building.
   * d/control:
     - added myself to uploaders.
     - update rust deps
   * d/watch:
     - migrate to Version 5
     - add repack suffix +ds, as playground dir is not distributed
   * d/copyright:
     - add Comment for Files-Excluded
   * Add patch similar3-compat.patch
 .
   [ Maximiliano Curia ]
   * New upstream version 0.15.17+ds
   * Update zip dependency (#25812)
   * Update patches.
   * Update build dependencies
   * Add patch find-ruff-debian-usr-bin
   * Explicit call to dh-cargo-built-using
   * Add Dversion-Mangle field to watch file
   * Lintian Ignore field too long
   * Add manpages
   * Add myself as uploader
   * Add patch to set ty version
   * Set a combined version for the ty package
.dsc
Sectionpython
Priorityoptional
Componentmain
Package-Listpython3-ruff deb python optional arch=all
ruff deb python optional arch=any
ty deb python optional arch=any
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/astral-sh/ruff
Upstream-Name: Ruff
Upstream-Contact: Astral Software Inc. <hey@astral.sh>
Files-Excluded:
 playground
Comment: The in-browser playground is not distributed as part
 of the Debian package and is therefore excluded.

Files: *
Copyright: 2017-2018, Anthony Sottile
           2024, Apple Inc
           2022, Charles Marsh
           2012-2015, Charlie Marsh <very-long-email-address@fake.com>
           2005-2011, Divmod, Inc
           2009-2014, Florent Xicluna <florent.xicluna@gmail.com>
           2012-2016, Ian Cordasco <graffatcolmingov@gmail.com>
           2014-2020, Ian Lee <IanLee1521@gmail.com>
           2023, Jelle Zijlstra
           2006-2009, Johann C. Rocholl <johann@rocholl.net>
           2020, Martin Thoma
           Microsoft Corporation
           2018, Nikita Sobolev
           Rome Tools, Inc. and its affiliates
           2022-2023, Ruff
           2020, RustPython Team
           2023, Some Author
           2012-2018, Steven Myint
           2021, Taneli Hukkinen
           2011-2013, Tarek Ziade <tarek@ziade.org>
           2013, Timothy Edmund Crosley
           2016, Łukasz Langa
License: MIT

Files: crates/ty_vendored/vendor/*
Copyright: 2008, Armin Ronacher
           2000, Bastian Kleineidam
           CNRI
           2000, Guido van Rossum
           2000, Luke Kenneth Casson Leighton <lkcl@samba.org>
           2001-2003, Python Software Foundation
           1999-2003, Steve Purcell
           2001-2022, Vinay Sajip
License: Apache-2 and MIT
Comment: No explicit license found, using license(s) from:
 crates/ty_vendored/vendor/typeshed/LICENSE

Files: crates/ruff_annotate_snippets/*
Copyright: Individual contributors
License: MIT or Apache-2
Comment: No explicit license found, using license(s) from:
 crates/ruff_annotate_snippets/LICENSE-APACHE
 crates/ruff_annotate_snippets/LICENSE-MIT

Files: crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb
Copyright: 2020, The TensorFlow Authors
License: Apache-2

Files: crates/ty_vendored/vendor/typeshed/LICENSE
Copyright: 2015, Jukka Lehtosalo
License: Apache-2 and MIT

Files: .github/workflows/release.yml
Copyright: 2022-2024, axodotdev
License: MIT or Apache-2

Files: debian/*
Copyright: 2023, Jelmer Vernooij <jelmer@debian.org>
License: MIT

License: Apache-2
 Licensed 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 copy of
 the License at
 .
 http://www.apache.org/licenses/LICENSE-2.0
 .
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 License for the specific language governing permissions and limitations under
 the License.
 .
 On Debian systems, the complete text of the Apache License, Version 2.0 can
 be found in `/usr/share/common-licenses/Apache-2.0'.

License: MIT
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included in all
 copies or substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.

Review Information

accepted — allocated to eamanu 1 month, 17 days ago, started 1 month, 17 days ago, completed 7 days ago.

Final Comment

Public Notes

7 days ago ● public

debian/copyright check

Command: cme check dpkg-copyright
Exit code: 0

Warning in 'Files:"*" License short_name': value is "MIT". There are many versions of the MIT license. Please use Expat instead, when it matches. See L<Debian copyright format|https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification> and L<wikipedia|https://en.wikipedia.org/wiki/MIT_License#Various_versions>for details.
Offending value: 'MIT'
Warning in 'Files:"crates/ty_vendored/vendor/*" License short_name': value is "Apache-2 and MIT". There are many versions of the MIT license. Please use Expat instead, when it matches. See L<Debian copyright format|https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification> and L<wikipedia|https://en.wikipedia.org/wiki/MIT_License#Various_versions>for details.
Offending value: 'Apache-2 and MIT'
Warning in 'Files:"crates/ruff_annotate_snippets/*" License short_name': value is "MIT or Apache-2". There are many versions of the MIT license. Please use Expat instead, when it matches. See L<Debian copyright format|https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification> and L<wikipedia|https://en.wikipedia.org/wiki/MIT_License#Various_versions>for details.
Offending value: 'MIT or Apache-2'
Warning in 'Files:"crates/ty_vendored/vendor/typeshed/LICENSE" License short_name': value is "Apache-2 and MIT". There are many versions of the MIT license. Please use Expat instead, when it matches. See L<Debian copyright format|https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification> and L<wikipedia|https://en.wikipedia.org/wiki/MIT_License#Various_versions>for details.
Offending value: 'Apache-2 and MIT'
Warning in 'Files:".github/workflows/release.yml" License short_name': value is "MIT or Apache-2". There are many versions of the MIT license. Please use Expat instead, when it matches. See L<Debian copyright format|https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification> and L<wikipedia|https://en.wikipedia.org/wiki/MIT_License#Various_versions>for details.
Offending value: 'MIT or Apache-2'
Warning in 'Files:"debian/*" License short_name': value is "MIT". There are many versions of the MIT license. Please use Expat instead, when it matches. See L<Debian copyright format|https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification> and L<wikipedia|https://en.wikipedia.org/wiki/MIT_License#Various_versions>for details.
Offending value: 'MIT'
you can try 'cme fix dpkg-copyright' to fix the warnings shown above
7 days ago ● public

licenserecon

Command: licenserecon
Exit code: 3

en: Versions: licenserecon '17.0'  licensecheck '3.3.9-1'

Parsing Source Tree  ....
Reading d/copyright  ....
Running licensecheck ....

d/copyright      | licensecheck

MIT or Apache-2  | Apache-2.0        crates/ruff_annotate_snippets/LICENSE-APACHE
MIT or Apache-2  | Expat             crates/ruff_annotate_snippets/LICENSE-MIT
MIT              | JSON              crates/ruff_python_formatter/src/options.rs
Apache-2 and MIT | Apache-2.0        crates/ty_vendored/vendor/typeshed/LICENSE
Apache-2 and MIT | CNRI-Python       crates/ty_vendored/vendor/typeshed/stdlib/ast.pyi
MIT or Apache-2  | Expat             .github/workflows/release.yml

7 days ago ● public

Look for SPDX

Command: grep -r -B1 'SPDX-'
Exit code: 0

.github/workflows/release.yml-# Copyright 2022-2024, axodotdev
.github/workflows/release.yml:# SPDX-License-Identifier: MIT or Apache-2.0
--
crates/ruff_benchmark/resources/tomllib/__init__.py:# SPDX-License-Identifier: MIT
crates/ruff_benchmark/resources/tomllib/__init__.py:# SPDX-FileCopyrightText: 2021 Taneli Hukkinen
--
crates/ruff_benchmark/resources/tomllib/_re.py:# SPDX-License-Identifier: MIT
crates/ruff_benchmark/resources/tomllib/_re.py:# SPDX-FileCopyrightText: 2021 Taneli Hukkinen
--
crates/ruff_benchmark/resources/tomllib/_parser.py:# SPDX-License-Identifier: MIT
crates/ruff_benchmark/resources/tomllib/_parser.py:# SPDX-FileCopyrightText: 2021 Taneli Hukkinen
--
crates/ruff_benchmark/resources/tomllib/_types.py:# SPDX-License-Identifier: MIT
crates/ruff_benchmark/resources/tomllib/_types.py:# SPDX-FileCopyrightText: 2021 Taneli Hukkinen
--
crates/ruff_linter/resources/test/fixtures/pycodestyle/E501.py-# OK
crates/ruff_linter/resources/test/fixtures/pycodestyle/E501.py:# SPDX-FileCopyrightText: Copyright 2012-2015 Charlie Marsh <very-long-email-address@fake.com>
crates/ruff_linter/resources/test/fixtures/pycodestyle/E501.py:# SPDX-License-Identifier: a very long license identifier that exceeds the line length limit
--
crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs-/// 4. Ignores SPDX license identifiers and copyright notices
crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs:///    (e.g., `# SPDX-License-Identifier: MIT`), which are machine-readable
--
crates/ruff_linter/src/rules/pycodestyle/overlong.rs-            (first_chunk, second_chunk),
crates/ruff_linter/src/rules/pycodestyle/overlong.rs:            ("#", "SPDX-License-Identifier:" | "SPDX-FileCopyrightText:")
--
crates/ruff_linter/src/rules/eradicate/detection.rs-        |   ty:\s*ignore
crates/ruff_linter/src/rules/eradicate/detection.rs:        |   SPDX-License-Identifier:
--
crates/ruff_linter/src/rules/eradicate/detection.rs-        assert!(!comment_contains_code(
crates/ruff_linter/src/rules/eradicate/detection.rs:            "# SPDX-License-Identifier: MIT",
7 days ago ● public

Lintian

Command: lintian -i -I -v --pedantic
Exit code: 1

Skipping ../ruff_0.15.17+ds-1_amd64.changes: ../ty_0.0.49+ruff0.15.17+ds-1_amd64.deb does not exist, exiting

No packages selected.
7 days ago ● public

duck

Command: duck
Exit code: 0

I: debian/copyright:76: URL: http://www.apache.org/licenses/LICENSE-2.0: INFORMATION (Certainty:wild-guess)
   Curl:0 HTTP:200 No error 
   Website seems to be outdated, is probably a parked domain or for sale. Please update your links!
   Matching regular expression(s):
    m/\breplaced with\b/i

I: debian/copyright:76: URL: http://www.apache.org/licenses/LICENSE-2.0: INFORMATION (Certainty:wild-guess)
   URL schema changed from HTTP to HTTPS during redirect(s): http://www.apache.org -> https://www.apache.org
   Please investigate and update the URL eventually, to avoid unnecessary redirects!

I: debian/upstream/metadata:URL: https://github.com/astral-sh/ruff: INFORMATION (Certainty:wild-guess)
   Curl:0 HTTP:200 No error 
   Website seems to be outdated, is probably a parked domain or for sale. Please update your links!
   Matching regular expression(s):
    m/\breplaced with\b/i

I: debian/control: Homepage: https://github.com/astral-sh/ruff/: INFORMATION (Certainty:wild-guess)
   Curl:0 HTTP:200 No error 
   Website seems to be outdated, is probably a parked domain or for sale. Please update your links!
   Matching regular expression(s):
    m/\breplaced with\b/i

I: debian/upstream/metadata:URL: https://github.com/astral-sh/ruff.git: INFORMATION (Certainty:wild-guess)
   Curl:0 HTTP:200 No error 
   Website seems to be outdated, is probably a parked domain or for sale. Please update your links!
   Matching regular expression(s):
    m/\breplaced with\b/i

I: debian/copyright:2: URL: https://github.com/astral-sh/ruff: INFORMATION (Certainty:wild-guess)
   Curl:0 HTTP:200 No error 
   Website seems to be outdated, is probably a parked domain or for sale. Please update your links!
   Matching regular expression(s):
    m/\breplaced with\b/i

7 days ago ● public

look for copyright

Command: egrep -R -i copyright
Exit code: 0

LICENSE:Copyright (c) 2022 Charles Marsh
LICENSE:The above copyright notice and this permission notice shall be included in all
LICENSE:AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (C) 2012-2018 Steven Myint
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) 2023 Jelle Zijlstra
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (C) 2011-2013 Tarek Ziade <tarek@ziade.org>
LICENSE:    Copyright (C) 2012-2016 Ian Cordasco <graffatcolmingov@gmail.com>
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) 2018 Nikita Sobolev
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) 2016 Łukasz Langa
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) 2020 Martin Thoma
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) 2013 Timothy Edmund Crosley
LICENSE:    The above copyright notice and this permission notice shall be included in
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) 2018 Anthony Sottile
LICENSE:    The above copyright notice and this permission notice shall be included in
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright © 2006-2009 Johann C. Rocholl <johann@rocholl.net>
LICENSE:    Copyright © 2009-2014 Florent Xicluna <florent.xicluna@gmail.com>
LICENSE:    Copyright © 2014-2020 Ian Lee <IanLee1521@gmail.com>
LICENSE:    The above copyright notice and this permission notice shall be
LICENSE:    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
LICENSE:    Copyright (c) 2012 GreenSteam, <http://greensteam.dk/>
LICENSE:    Copyright (c) 2014-2020 Amir Rachum, <http://amir.rachum.com/>
LICENSE:    Copyright (c) 2020 Sambhav Kothari, <https://github.com/samj1912>
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright 2005-2011 Divmod, Inc.
LICENSE:    Copyright 2013-2014 Florent Xicluna
LICENSE:    The above copyright notice and this permission notice shall be
LICENSE:    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LICENSE:    Copyright (c) Microsoft Corporation. All rights reserved.
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) 2017 Anthony Sottile
LICENSE:    The above copyright notice and this permission notice shall be included in
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) Rome Tools, Inc. and its affiliates.
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    Copyright (c) 2020 RustPython Team
LICENSE:    The above copyright notice and this permission notice shall be included in all
LICENSE:    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LICENSE:    The above copyright notice and this permission notice
LICENSE:    SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
docs/faq.md:- [flake8-copyright](https://pypi.org/project/flake8-copyright/)
docs/faq.md:- [flake8-copyright](https://pypi.org/project/flake8-copyright/)
.github/workflows/release.yml:# Copyright 2022-2024, axodotdev
debian/copyright:Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
debian/copyright:Copyright: 2017-2018, Anthony Sottile
debian/copyright:Copyright: 2008, Armin Ronacher
debian/copyright:Copyright: Individual contributors
debian/copyright:Copyright: 2020, The TensorFlow Authors
debian/copyright:Copyright: 2015, Jukka Lehtosalo
debian/copyright:Copyright: 2022-2024, axodotdev
debian/copyright:Copyright: 2023, Jelmer Vernooij <jelmer@debian.org>
debian/copyright: The above copyright notice and this permission notice shall be included in all
debian/copyright: AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
debian/changelog:  * d/copyright:
README.md:- [flake8-copyright](https://pypi.org/project/flake8-copyright/)
changelogs/0.3.x.md:- \[`flake8-copyright`\] Allow © in copyright notices ([#10065](https://github.com/astral-sh/ruff/pull/10065))
changelogs/0.3.x.md:- \[`flake8-copyright`\] Accept commas in default copyright pattern ([#9498](https://github.com/astral-sh/ruff/pull/9498))
changelogs/0.2.x.md:- `ruff.flake8-copyright` → [`ruff.lint.flake8-copyright`](https://docs.astral.sh//ruff/settings/#lint_flake8-copyright)
changelogs/0.4.x.md:- \[`flake8-copyright`\] Update `CPY001` to check the first 4096 bytes instead of 1024 ([#11927](https://github.com/astral-sh/ruff/pull/11927))
ruff.schema.json:    "flake8-copyright": {
ruff.schema.json:      "description": "Options for the `flake8-copyright` plugin.",
ruff.schema.json:          "$ref": "#/definitions/Flake8CopyrightOptions"
ruff.schema.json:    "Flake8CopyrightOptions": {
ruff.schema.json:      "description": "Options for the `flake8-copyright` plugin.",
ruff.schema.json:          "description": "Author to enforce within the copyright notice. If provided, the\nauthor must be present immediately following the copyright notice.",
ruff.schema.json:          "description": "A minimum file size (in bytes) required for a copyright notice to\nbe enforced. By default, all files are validated.",
ruff.schema.json:          "description": "The regular expression used to match the copyright notice, compiled\nwith the [`regex`](https://docs.rs/regex/latest/regex/) crate.\nDefaults to `(?i)Copyright\\s+((?:\\(C\\)|©)\\s+)?\\d{4}((-|,\\s)\\d{4})*`, which matches\nthe following:\n\n- `Copyright 2023`\n- `Copyright (C) 2023`\n- `Copyright 2021-2023`\n- `Copyright (C) 2021-2023`\n- `Copyright (C) 2021, 2023`",
ruff.schema.json:        "flake8-copyright": {
ruff.schema.json:          "description": "Options for the `flake8-copyright` plugin.",
ruff.schema.json:              "$ref": "#/definitions/Flake8CopyrightOptions"
crates/ruff_python_stdlib/src/builtins.rs:    "copyright",
crates/ruff_python_stdlib/src/builtins.rs:                | "copyright"
crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb:        "##### Copyright 2020 The TensorFlow Authors."
crates/ruff/tests/integration_test.rs:    -:1:1: error[CPY001] Missing copyright notice at top of file
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_no_target_fallback.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_no_target_fallback.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_no_target_fallback.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_pyproject_toml_above_with_tool.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_pyproject_toml_above_with_tool.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_pyproject_toml_above_with_tool.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool_preview_enabled.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool_preview_enabled.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool_preview_enabled.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_above.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_above.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_above.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__show_settings__display_settings_from_nested_directory.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__show_settings__display_settings_from_nested_directory.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__show_settings__display_settings_from_nested_directory.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_extend_from_shared_config.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_extend_from_shared_config.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_extend_from_shared_config.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_above-2.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_above-2.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_ruff_toml_above-2.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_pyproject_toml_above.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_pyproject_toml_above.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_pyproject_toml_above.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__show_settings__display_default_settings.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__show_settings__display_default_settings.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__show_settings__display_default_settings.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool_target_version_override.snap:linter.flake8_copyright.notice_rgx = (?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool_target_version_override.snap:linter.flake8_copyright.author = none
crates/ruff/tests/cli/snapshots/cli__lint__requires_python_no_tool_target_version_override.snap:linter.flake8_copyright.min_file_size = 0
crates/ruff_annotate_snippets/LICENSE-APACHE:      "Licensor" shall mean the copyright owner or entity authorized by
crates/ruff_annotate_snippets/LICENSE-APACHE:      the copyright owner that is granting the License.
crates/ruff_annotate_snippets/LICENSE-APACHE:      copyright notice that is included in or attached to the work
crates/ruff_annotate_snippets/LICENSE-APACHE:      submitted to Licensor for inclusion in the Work by the copyright owner
crates/ruff_annotate_snippets/LICENSE-APACHE:      the copyright owner. For the purposes of this definition, "submitted"
crates/ruff_annotate_snippets/LICENSE-APACHE:      designated in writing by the copyright owner as "Not a Contribution."
crates/ruff_annotate_snippets/LICENSE-APACHE:   2. Grant of Copyright License. Subject to the terms and conditions of
crates/ruff_annotate_snippets/LICENSE-APACHE:      copyright license to reproduce, prepare Derivative Works of,
crates/ruff_annotate_snippets/LICENSE-APACHE:          that You distribute, all copyright, patent, trademark, and
crates/ruff_annotate_snippets/LICENSE-APACHE:      You may add Your own copyright statement to Your modifications and
crates/ruff_annotate_snippets/LICENSE-APACHE:      same "printed page" as the copyright notice for easier
crates/ruff_annotate_snippets/LICENSE-APACHE:   Copyright {yyyy} {name of copyright owner}
crates/ruff_annotate_snippets/LICENSE-MIT:Copyright (c) Individual contributors
crates/ruff_annotate_snippets/LICENSE-MIT:The above copyright notice and this permission notice shall be included in all
crates/ruff_annotate_snippets/LICENSE-MIT:AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
crates/ruff_benchmark/resources/tomllib/__init__.py:# SPDX-FileCopyrightText: 2021 Taneli Hukkinen
crates/ruff_benchmark/resources/tomllib/_re.py:# SPDX-FileCopyrightText: 2021 Taneli Hukkinen
crates/ruff_benchmark/resources/tomllib/_parser.py:# SPDX-FileCopyrightText: 2021 Taneli Hukkinen
crates/ruff_benchmark/resources/tomllib/_types.py:# SPDX-FileCopyrightText: 2021 Taneli Hukkinen
crates/ty_vendored/vendor/typeshed/stdlib/logging/handlers.pyi:Copyright (C) 2001-2021 Vinay Sajip. All Rights Reserved.
crates/ty_vendored/vendor/typeshed/stdlib/logging/__init__.pyi:Copyright (C) 2001-2022 Vinay Sajip. All Rights Reserved.
crates/ty_vendored/vendor/typeshed/stdlib/logging/config.pyi:Copyright (C) 2001-2022 Vinay Sajip. All Rights Reserved.
crates/ty_vendored/vendor/typeshed/stdlib/urllib/robotparser.pyi:Copyright (C) 2000  Bastian Kleineidam
crates/ty_vendored/vendor/typeshed/stdlib/wsgiref/headers.pyi:so portions are Copyright (C) 2001 Python Software Foundation, and were
crates/ty_vendored/vendor/typeshed/stdlib/builtins.pyi:copyright: _sitebuiltins._Printer
crates/ty_vendored/vendor/typeshed/stdlib/venv/__init__.pyi:Copyright (C) 2011-2014 Vinay Sajip.
crates/ty_vendored/vendor/typeshed/stdlib/ast.pyi::copyright: Copyright 2008 by Armin Ronacher.
crates/ty_vendored/vendor/typeshed/stdlib/site.pyi:def setcopyright() -> None:  # undocumented
crates/ty_vendored/vendor/typeshed/stdlib/site.pyi:    """Set 'copyright' and 'credits' in builtins"""
crates/ty_vendored/vendor/typeshed/stdlib/socketserver.pyi:  Copyright (C) 2000  Luke Kenneth Casson Leighton <lkcl@samba.org>
crates/ty_vendored/vendor/typeshed/stdlib/unittest/__init__.pyi:Copyright (c) 1999-2003 Steve Purcell
crates/ty_vendored/vendor/typeshed/stdlib/unittest/__init__.pyi:Copyright (c) 2003 Python Software Foundation
crates/ty_vendored/vendor/typeshed/stdlib/unittest/__init__.pyi:it under the same terms as Python itself, so long as this copyright message
crates/ty_vendored/vendor/typeshed/stdlib/_sitebuiltins.pyi:    contributors and the copyright notice.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/undefined.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/utf_16_be.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/charmap.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/utf_16.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/utf_16_le.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/__init__.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/unicode_escape.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/latin_1.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/mac_latin2.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/mac_latin2.pyi:(c) Copyright 2000 Guido van Rossum.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/utf_8.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/raw_unicode_escape.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/ascii.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/ptcp154.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/ptcp154.pyi:(c) Copyright 2000 Guido van Rossum.
crates/ty_vendored/vendor/typeshed/stdlib/encodings/mbcs.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/stdlib/sys/__init__.pyi:copyright -- copyright notice pertaining to this interpreter
crates/ty_vendored/vendor/typeshed/stdlib/sys/__init__.pyi:copyright: str
crates/ty_vendored/vendor/typeshed/stdlib/codecs.pyi:(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
crates/ty_vendored/vendor/typeshed/LICENSE:      "Licensor" shall mean the copyright owner or entity authorized by
crates/ty_vendored/vendor/typeshed/LICENSE:      the copyright owner that is granting the License.
crates/ty_vendored/vendor/typeshed/LICENSE:      copyright notice that is included in or attached to the work
crates/ty_vendored/vendor/typeshed/LICENSE:      submitted to Licensor for inclusion in the Work by the copyright owner
crates/ty_vendored/vendor/typeshed/LICENSE:      the copyright owner. For the purposes of this definition, "submitted"
crates/ty_vendored/vendor/typeshed/LICENSE:      designated in writing by the copyright owner as "Not a Contribution."
crates/ty_vendored/vendor/typeshed/LICENSE:   2. Grant of Copyright License. Subject to the terms and conditions of
crates/ty_vendored/vendor/typeshed/LICENSE:      copyright license to reproduce, prepare Derivative Works of,
crates/ty_vendored/vendor/typeshed/LICENSE:          that You distribute, all copyright, patent, trademark, and
crates/ty_vendored/vendor/typeshed/LICENSE:      You may add Your own copyright statement to Your modifications and
crates/ty_vendored/vendor/typeshed/LICENSE:      same "printed page" as the copyright notice for easier
crates/ty_vendored/vendor/typeshed/LICENSE:   Copyright {yyyy} {name of copyright owner}
crates/ty_vendored/vendor/typeshed/LICENSE:Copyright (c) 2015 Jukka Lehtosalo and contributors
crates/ty_vendored/vendor/typeshed/LICENSE:The above copyright notice and this permission notice shall be included in
crates/ty_vendored/vendor/typeshed/LICENSE:AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
crates/ruff_workspace/src/options.rs:    flake8_copyright, flake8_errmsg, flake8_gettext, flake8_implicit_str_concat,
crates/ruff_workspace/src/options.rs:    /// Options for the `flake8-copyright` plugin.
crates/ruff_workspace/src/options.rs:    pub flake8_copyright: Option<Flake8CopyrightOptions>,
crates/ruff_workspace/src/options.rs:/// Options for the `flake8-copyright` plugin.
crates/ruff_workspace/src/options.rs:pub struct Flake8CopyrightOptions {
crates/ruff_workspace/src/options.rs:    /// The regular expression used to match the copyright notice, compiled
crates/ruff_workspace/src/options.rs:    /// Defaults to `(?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*`, which matches
crates/ruff_workspace/src/options.rs:    /// - `Copyright 2023`
crates/ruff_workspace/src/options.rs:    /// - `Copyright (C) 2023`
crates/ruff_workspace/src/options.rs:    /// - `Copyright 2021-2023`
crates/ruff_workspace/src/options.rs:    /// - `Copyright (C) 2021-2023`
crates/ruff_workspace/src/options.rs:    /// - `Copyright (C) 2021, 2023`
crates/ruff_workspace/src/options.rs:        default = r#""(?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*""#,
crates/ruff_workspace/src/options.rs:        example = r#"notice-rgx = "(?i)Copyright \\(C\\) \\d{4}""#
crates/ruff_workspace/src/options.rs:    /// Author to enforce within the copyright notice. If provided, the
crates/ruff_workspace/src/options.rs:    /// author must be present immediately following the copyright notice.
crates/ruff_workspace/src/options.rs:    /// A minimum file size (in bytes) required for a copyright notice to
crates/ruff_workspace/src/options.rs:impl Flake8CopyrightOptions {
crates/ruff_workspace/src/options.rs:    pub fn try_into_settings(self) -> anyhow::Result<flake8_copyright::settings::Settings> {
crates/ruff_workspace/src/options.rs:        Ok(flake8_copyright::settings::Settings {
crates/ruff_workspace/src/options.rs:                .unwrap_or_else(|| flake8_copyright::settings::COPYRIGHT.clone()),
crates/ruff_workspace/src/options.rs:    flake8_copyright: Option<Flake8CopyrightOptions>,
crates/ruff_workspace/src/options.rs:            flake8_copyright,
crates/ruff_workspace/src/options.rs:                flake8_copyright,
crates/ruff_workspace/src/configuration.rs:    Flake8CopyrightOptions, Flake8ErrMsgOptions, Flake8GetTextOptions,
crates/ruff_workspace/src/configuration.rs:                flake8_copyright: lint
crates/ruff_workspace/src/configuration.rs:                    .flake8_copyright
crates/ruff_workspace/src/configuration.rs:                    .map(Flake8CopyrightOptions::try_into_settings)
crates/ruff_workspace/src/configuration.rs:    pub flake8_copyright: Option<Flake8CopyrightOptions>,
crates/ruff_workspace/src/configuration.rs:            flake8_copyright: options.common.flake8_copyright,
crates/ruff_workspace/src/configuration.rs:            flake8_copyright: self.flake8_copyright.combine(config.flake8_copyright),
crates/ruff_workspace/src/configuration.rs:        flake8_copyright,
crates/ruff_workspace/src/configuration.rs:    if flake8_copyright.is_some() {
crates/ruff_workspace/src/configuration.rs:        used_options.push("flake8-copyright");
crates/ruff_workspace/src/configuration.rs:    use ruff_linter::codes::{Flake8Copyright, Pycodestyle, Refurb};
crates/ruff_workspace/src/configuration.rs:                select: Some(vec![Linter::Flake8Copyright.into()]),
crates/ruff_workspace/src/configuration.rs:                select: Some(vec![Linter::Flake8Copyright.into()]),
crates/ruff_workspace/src/configuration.rs:        let expected = RuleSet::from_rule(Rule::MissingCopyrightNotice);
crates/ruff_workspace/src/configuration.rs:                select: Some(vec![Flake8Copyright::_0.into()]),
crates/ruff_workspace/src/configuration.rs:                select: Some(vec![Flake8Copyright::_0.into()]),
crates/ruff_workspace/src/configuration.rs:        let expected = RuleSet::from_rule(Rule::MissingCopyrightNotice);
crates/ruff_linter/resources/test/fixtures/pycodestyle/E501.py:# SPDX-FileCopyrightText: Copyright 2012-2015 Charlie Marsh <very-long-email-address@fake.com>
crates/ruff_linter/resources/test/fixtures/flake8_builtins/A006.py:lambda print, copyright: print
crates/ruff_linter/resources/test/fixtures/flake8_builtins/A001.py:copyright: 'annotation' = 2
crates/ruff_linter/resources/test/fixtures/isort/required_imports/comments_and_newlines.py:# A copyright notice could go here
crates/ruff_linter/src/settings/mod.rs:    flake8_comprehensions, flake8_copyright, flake8_errmsg, flake8_gettext,
crates/ruff_linter/src/settings/mod.rs:    pub flake8_copyright: flake8_copyright::settings::Settings,
crates/ruff_linter/src/settings/mod.rs:                self.flake8_copyright | nested,
crates/ruff_linter/src/settings/mod.rs:            flake8_copyright: flake8_copyright::settings::Settings::default(),
crates/ruff_linter/src/registry.rs:    /// [flake8-copyright](https://pypi.org/project/flake8-copyright/)
crates/ruff_linter/src/registry.rs:    Flake8Copyright,
crates/ruff_linter/src/registry.rs:            | Rule::MissingCopyrightNotice
crates/ruff_linter/src/checkers/physical_lines.rs:use crate::rules::flake8_copyright::rules::missing_copyright_notice;
crates/ruff_linter/src/checkers/physical_lines.rs:    let enforce_copyright_notice = context.is_rule_enabled(Rule::MissingCopyrightNotice);
crates/ruff_linter/src/checkers/physical_lines.rs:    if enforce_copyright_notice {
crates/ruff_linter/src/checkers/physical_lines.rs:        missing_copyright_notice(locator, settings, context);
crates/ruff_linter/src/codes.rs:        // flake8-copyright
crates/ruff_linter/src/codes.rs:        (Flake8Copyright, "001") => rules::flake8_copyright::rules::MissingCopyrightNotice,
crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs:/// 4. Ignores SPDX license identifiers and copyright notices
crates/ruff_linter/src/rules/pycodestyle/overlong.rs:            ("#", "SPDX-License-Identifier:" | "SPDX-FileCopyrightText:")
crates/ruff_linter/src/rules/flake8_copyright/settings.rs://! Settings for the `flake8-copyright` plugin.
crates/ruff_linter/src/rules/flake8_copyright/settings.rs:pub static COPYRIGHT: LazyLock<Regex> =
crates/ruff_linter/src/rules/flake8_copyright/settings.rs:    LazyLock::new(|| Regex::new(r"(?i)Copyright\s+((?:\(C\)|©)\s+)?\d{4}((-|,\s)\d{4})*").unwrap());
crates/ruff_linter/src/rules/flake8_copyright/settings.rs:            notice_rgx: COPYRIGHT.clone(),
crates/ruff_linter/src/rules/flake8_copyright/settings.rs:            namespace = "linter.flake8_copyright",
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:/// Checks for the absence of copyright notices within Python files.
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:/// - `lint.flake8-copyright.author`
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:/// - `lint.flake8-copyright.min-file-size`
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:/// - `lint.flake8-copyright.notice-rgx`
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:pub(crate) struct MissingCopyrightNotice;
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:impl Violation for MissingCopyrightNotice {
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:        "Missing copyright notice at top of file".to_string()
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:pub(crate) fn missing_copyright_notice(
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:    // Ignore files that are too small to contain a copyright notice.
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:    if locator.len() < settings.flake8_copyright.min_file_size {
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:    // Locate the copyright notice.
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:    if let Some(match_) = settings.flake8_copyright.notice_rgx.find(contents) {
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:        match settings.flake8_copyright.author {
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:    context.report_diagnostic(MissingCopyrightNotice, TextRange::default());
crates/ruff_linter/src/rules/flake8_copyright/rules/mod.rs:pub(crate) use missing_copyright_notice::*;
crates/ruff_linter/src/rules/flake8_copyright/rules/mod.rs:mod missing_copyright_notice;
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__char_boundary.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__char_boundary.snap:CPY001 Missing copyright notice at top of file
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__notice.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_comma_invalid_no_space.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_comma_invalid_no_space.snap:CPY001 Missing copyright notice at top of file
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__invalid_author.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__invalid_author.snap:CPY001 Missing copyright notice at top of file
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__notice_with_c.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_comma_valid_space.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__notice_with_comma.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__notice_with_range.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_dash_invalid_space.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_dash_invalid_space.snap:CPY001 Missing copyright notice at top of file
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_dash.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_comma_invalid_spaces.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_comma_invalid_spaces.snap:CPY001 Missing copyright notice at top of file
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__notice_with_unicode_c.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__small_file.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_dash_invalid_spaces.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__valid_author_with_dash_invalid_spaces.snap:CPY001 Missing copyright notice at top of file
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__late_notice.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__late_notice.snap:CPY001 Missing copyright notice at top of file
crates/ruff_linter/src/rules/flake8_copyright/snapshots/ruff_linter__rules__flake8_copyright__tests__notice_with_caps.snap:source: crates/ruff_linter/src/rules/flake8_copyright/mod.rs
crates/ruff_linter/src/rules/flake8_copyright/mod.rs://! Rules from [flake8-copyright](https://pypi.org/project/flake8-copyright/).
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright 2023
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:            &settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2023
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:            &settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright © 2023
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:            &settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# COPYRIGHT (C) 2023
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:            &settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2021-2023
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:            &settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2021, 2022
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:            &settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2023 Ruff
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2022-2023 Ruff
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2022- 2023 Ruff
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2022 - 2023 Ruff
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2022,2023 Ruff
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2022 , 2023 Ruff
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2022, 2023 Ruff
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright (C) 2023 Some Author
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                flake8_copyright: super::settings::Settings {
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:                ..settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice])
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:# Copyright 2023
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:            &settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
crates/ruff_linter/src/rules/flake8_copyright/mod.rs:            &settings::LinterSettings::for_rules(vec![Rule::MissingCopyrightNotice]),
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py.snap:A001 Variable `copyright` is shadowing a Python builtin
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap:A001 Variable `copyright` is shadowing a Python builtin
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A001_A001.py_builtins_ignorelist.snap:6 | copyright: 'annotation' = 2
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py_builtins_ignorelist.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py_builtins_ignorelist.snap:A006 Lambda argument `copyright` is shadowing a Python builtin
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py_builtins_ignorelist.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py_builtins_ignorelist.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py_builtins_ignorelist.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py_builtins_ignorelist.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py.snap:A006 Lambda argument `copyright` is shadowing a Python builtin
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/flake8_builtins/snapshots/ruff_linter__rules__flake8_builtins__tests__A006_A006.py.snap:1 | lambda print, copyright: print
crates/ruff_linter/src/rules/mod.rs:pub mod flake8_copyright;
7 days ago ● public

look for license

Command: egrep -R -i license
Exit code: 0

scripts/ty_benchmark/package-lock.json:      "license": "MIT",
scripts/ty_benchmark/package-lock.json:      "license": "MIT",
_typos.toml:    "LICENSEs",
.pc/use-cachedir-0.3/Cargo.toml:license = "MIT"
.pc/use-similar-2/Cargo.toml:license = "MIT"
.pc/use-jod-thread-0.1/Cargo.toml:license = "MIT"
.pc/use-matchit-0.8/Cargo.toml:license = "MIT"
.pc/use-quick-junit-0.5/Cargo.toml:license = "MIT"
.pc/use-hashbrown-0.16/Cargo.toml:license = "MIT"
.pc/use-get-size2-0.10/Cargo.toml:license = "MIT"
.pc/set-ty-version/crates/ty/Cargo.toml:license.workspace = true
.pc/use-salsa-0.26/Cargo.toml:license = "MIT"
.pc/drop-benchmark/Cargo.toml:license = "MIT"
.pc/use-indicatif-0.17/Cargo.toml:license = "MIT"
.pc/use-unicode-names2-2/Cargo.toml:license = "MIT"
.pc/use-argfile-0.2/Cargo.toml:license = "MIT"
.pc/use-gen-lsp-types-0.10/Cargo.toml:license = "MIT"
.pc/use-unicode-general-category/Cargo.toml:license = "MIT"
.pc/use-unicode-general-category/crates/ruff_python_literal/Cargo.toml:license = { workspace = true }
.pc/use-mimalloc-0.1/Cargo.toml:license = "MIT"
.pc/use-bincode-1/Cargo.toml:license = "MIT"
.pc/use-bincode-1/crates/ruff/Cargo.toml:license = { workspace = true }
dist-workspace.toml:# Whether to auto-include files like READMEs, LICENSEs, and CHANGELOGs (default true)
Cargo.toml:license = "MIT"
LICENSE:MIT License
LICENSE:to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- autoflake, licensed as follows:
LICENSE:    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
LICENSE:- autotyping, licensed as follows:
LICENSE:    MIT License
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- Flake8, licensed as follows:
LICENSE:    == Flake8 License (MIT) ==
LICENSE:    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
LICENSE:- flake8-eradicate, licensed as follows:
LICENSE:    MIT License
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- flake8-pyi, licensed as follows:
LICENSE:    The MIT License (MIT)
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- flake8-simplify, licensed as follows:
LICENSE:    MIT License
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- isort, licensed as follows:
LICENSE:    The MIT License (MIT)
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- pygrep-hooks, licensed as follows:
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- pycodestyle, licensed as follows:
LICENSE:    Licensed under the terms of the Expat License
LICENSE:    publish, distribute, sublicense, and/or sell copies of the Software,
LICENSE:- pydocstyle, licensed as follows:
LICENSE:    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
LICENSE:- Pyflakes, licensed as follows:
LICENSE:    distribute, sublicense, and/or sell copies of the Software, and to
LICENSE:- Pyright, licensed as follows:
LICENSE:    MIT License
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- pyupgrade, licensed as follows:
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- rome/tools, licensed under the MIT license:
LICENSE:    MIT License
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- RustPython, licensed as follows:
LICENSE:    MIT License
LICENSE:    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
LICENSE:- rust-analyzer/text-size, licensed under the MIT license:
LICENSE:    publish, distribute, sublicense, and/or sell copies of
pyproject.toml:license = "MIT"
pyproject.toml:license-files = ["LICENSE"]
.github/workflows/build-wasm.yml:      - run: cp LICENSE crates/ruff_wasm/pkg # wasm-pack does not put the LICENSE file in the pkg
.github/workflows/sync_typeshed.yaml:          cp typeshed/LICENSE "ruff/${VENDORED_TYPESHED}"
.github/workflows/release.yml:# SPDX-License-Identifier: MIT or Apache-2.0
debian/copyright:License: MIT
debian/copyright:License: Apache-2 and MIT
debian/copyright:Comment: No explicit license found, using license(s) from:
debian/copyright: crates/ty_vendored/vendor/typeshed/LICENSE
debian/copyright:License: MIT or Apache-2
debian/copyright:Comment: No explicit license found, using license(s) from:
debian/copyright: crates/ruff_annotate_snippets/LICENSE-APACHE
debian/copyright: crates/ruff_annotate_snippets/LICENSE-MIT
debian/copyright:License: Apache-2
debian/copyright:Files: crates/ty_vendored/vendor/typeshed/LICENSE
debian/copyright:License: Apache-2 and MIT
debian/copyright:License: MIT or Apache-2
debian/copyright:License: MIT
debian/copyright:License: Apache-2
debian/copyright: Licensed under the Apache License, Version 2.0 (the "License"); you may not
debian/copyright: use this file except in compliance with the License. You may obtain a copy of
debian/copyright: the License at
debian/copyright: http://www.apache.org/licenses/LICENSE-2.0
debian/copyright: distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
debian/copyright: License for the specific language governing permissions and limitations under
debian/copyright: the License.
debian/copyright: On Debian systems, the complete text of the Apache License, Version 2.0 can
debian/copyright: be found in `/usr/share/common-licenses/Apache-2.0'.
debian/copyright:License: MIT
debian/copyright: to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
README.md:[![image](https://img.shields.io/pypi/l/ruff.svg)](https://github.com/astral-sh/ruff/blob/main/LICENSE)
README.md:1. [License](#license)
README.md:Ruff is released under the MIT license.
README.md:## License<a id="license"></a>
README.md:This repository is licensed under the [MIT License](https://github.com/astral-sh/ruff/blob/main/LICENSE)
changelogs/0.3.x.md:- \[`pycodestyle`\] Allow SPDX license headers to exceed the line length (`E501`) ([#10481](https://github.com/astral-sh/ruff/pull/10481))
crates/ty_project/Cargo.toml:license.workspace = true
crates/ty_project/src/glob/portable.rs:            parse_err("licenses/.."),
crates/ty_project/src/glob/portable.rs:            parse_err("licenses/LICEN!E.txt"),
crates/ty_project/src/glob/portable.rs:            parse_err("licenses/LICEN[!C]E.txt"),
crates/ty_project/src/glob/portable.rs:            parse_err("licenses/LICEN[C?]E.txt"),
crates/ty_project/src/glob/portable.rs:            parse_err("licenses/**license"),
crates/ty_project/src/glob/portable.rs:            parse_err("licenses/***/licenses.csv"),
crates/ty_project/src/glob/portable.rs:            parse_err(r"licenses\\MIT.txt"),
crates/ty_project/src/glob/portable.rs:            parse_err(r"licenses\/MIT.txt"),
crates/ty_project/src/glob/portable.rs:            r"licenses/*.txt",
crates/ty_project/src/glob/portable.rs:            r"licenses/**/*.txt",
crates/ty_project/src/glob/portable.rs:            r"LICENSE..txt",
crates/ty_project/src/glob/portable.rs:            r"LICENSE_file-1.txt",
crates/ty_project/src/glob/portable.rs:            r"licenses/라이센스*.txt",
crates/ty_project/src/glob/portable.rs:            r"licenses/ライセンス*.txt",
crates/ty_project/src/glob/portable.rs:            r"licenses/执照*.txt",
crates/ty_test/Cargo.toml:license.workspace = true
crates/ty_completion_eval/Cargo.toml:license = { workspace = true }
crates/ty_module_resolver/Cargo.toml:license = { workspace = true }
crates/ruff_python_stdlib/Cargo.toml:license = { workspace = true }
crates/ruff_python_stdlib/src/builtins.rs:    "license",
crates/ruff_python_stdlib/src/builtins.rs:                | "license"
crates/ruff_dev/Cargo.toml:license = { workspace = true }
crates/ruff_server/Cargo.toml:license = { workspace = true }
crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb:        "#@title Licensed under the Apache License, Version 2.0 (the \"License\");\n",
crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb:        "# you may not use this file except in compliance with the License.\n",
crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb:        "# You may obtain a copy of the License at\n",
crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb:        "# https://www.apache.org/licenses/LICENSE-2.0\n",
crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb:        "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb:        "# See the License for the specific language governing permissions and\n",
crates/ruff_server/resources/test/fixtures/tensorflow_test_notebook.ipynb:        "# limitations under the License."
crates/ty_combine/Cargo.toml:license.workspace = true
crates/ruff_text_size/Cargo.toml:license = { workspace = true }
crates/ruff_python_formatter/Cargo.toml:license = { workspace = true }
crates/ruff_python_formatter/resources/test/fixtures/black/cases/comments.py.expect:# Some license here.
crates/ruff_python_formatter/resources/test/fixtures/black/cases/comments.py:# Some license here.
crates/ruff_graph/Cargo.toml:license.workspace = true
crates/ty_site_packages/Cargo.toml:license = { workspace = true }
crates/ruff/Cargo.toml:license = { workspace = true }
crates/ty_python_semantic/Cargo.toml:license = { workspace = true }
crates/ruff_index/Cargo.toml:license = { workspace = true }
crates/ruff_annotate_snippets/tests/fixtures/color/fold_trailing.toml:license = "MIT"
crates/ruff_annotate_snippets/tests/fixtures/color/fold_leading.toml:license = "MIT"
crates/ruff_annotate_snippets/Cargo.toml:license = "MIT OR Apache-2.0"
crates/ruff_annotate_snippets/LICENSE-APACHE:                                 Apache License
crates/ruff_annotate_snippets/LICENSE-APACHE:                        http://www.apache.org/licenses/
crates/ruff_annotate_snippets/LICENSE-APACHE:      "License" shall mean the terms and conditions for use, reproduction,
crates/ruff_annotate_snippets/LICENSE-APACHE:      the copyright owner that is granting the License.
crates/ruff_annotate_snippets/LICENSE-APACHE:      exercising permissions granted by this License.
crates/ruff_annotate_snippets/LICENSE-APACHE:      Object form, made available under the License, as indicated by a
crates/ruff_annotate_snippets/LICENSE-APACHE:      of this License, Derivative Works shall not include works that remain
crates/ruff_annotate_snippets/LICENSE-APACHE:   2. Grant of Copyright License. Subject to the terms and conditions of
crates/ruff_annotate_snippets/LICENSE-APACHE:      this License, each Contributor hereby grants to You a perpetual,
crates/ruff_annotate_snippets/LICENSE-APACHE:      copyright license to reproduce, prepare Derivative Works of,
crates/ruff_annotate_snippets/LICENSE-APACHE:      publicly display, publicly perform, sublicense, and distribute the
crates/ruff_annotate_snippets/LICENSE-APACHE:   3. Grant of Patent License. Subject to the terms and conditions of
crates/ruff_annotate_snippets/LICENSE-APACHE:      this License, each Contributor hereby grants to You a perpetual,
crates/ruff_annotate_snippets/LICENSE-APACHE:      (except as stated in this section) patent license to make, have made,
crates/ruff_annotate_snippets/LICENSE-APACHE:      where such license applies only to those patent claims licensable
crates/ruff_annotate_snippets/LICENSE-APACHE:      or contributory patent infringement, then any patent licenses
crates/ruff_annotate_snippets/LICENSE-APACHE:      granted to You under this License for that Work shall terminate
crates/ruff_annotate_snippets/LICENSE-APACHE:          Derivative Works a copy of this License; and
crates/ruff_annotate_snippets/LICENSE-APACHE:          do not modify the License. You may add Your own attribution
crates/ruff_annotate_snippets/LICENSE-APACHE:          as modifying the License.
crates/ruff_annotate_snippets/LICENSE-APACHE:      may provide additional or different license terms and conditions
crates/ruff_annotate_snippets/LICENSE-APACHE:      the conditions stated in this License.
crates/ruff_annotate_snippets/LICENSE-APACHE:      this License, without any additional terms or conditions.
crates/ruff_annotate_snippets/LICENSE-APACHE:      the terms of any separate license agreement you may have executed
crates/ruff_annotate_snippets/LICENSE-APACHE:   6. Trademarks. This License does not grant permission to use the trade
crates/ruff_annotate_snippets/LICENSE-APACHE:      risks associated with Your exercise of permissions under this License.
crates/ruff_annotate_snippets/LICENSE-APACHE:      result of this License or out of the use or inability to use the
crates/ruff_annotate_snippets/LICENSE-APACHE:      License. However, in accepting such obligations, You may act only
crates/ruff_annotate_snippets/LICENSE-APACHE:   APPENDIX: How to apply the Apache License to your work.
crates/ruff_annotate_snippets/LICENSE-APACHE:      To apply the Apache License to your work, attach the following
crates/ruff_annotate_snippets/LICENSE-APACHE:   Licensed under the Apache License, Version 2.0 (the "License");
crates/ruff_annotate_snippets/LICENSE-APACHE:   you may not use this file except in compliance with the License.
crates/ruff_annotate_snippets/LICENSE-APACHE:   You may obtain a copy of the License at
crates/ruff_annotate_snippets/LICENSE-APACHE:       http://www.apache.org/licenses/LICENSE-2.0
crates/ruff_annotate_snippets/LICENSE-APACHE:   distributed under the License is distributed on an "AS IS" BASIS,
crates/ruff_annotate_snippets/LICENSE-APACHE:   See the License for the specific language governing permissions and
crates/ruff_annotate_snippets/LICENSE-APACHE:   limitations under the License.
crates/ruff_annotate_snippets/LICENSE-MIT:to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
crates/ty_completion_bench/Cargo.toml:license = { workspace = true }
crates/ruff_python_trivia/Cargo.toml:license = { workspace = true }
crates/ruff_markdown/Cargo.toml:license = { workspace = true }
crates/ruff_python_parser/Cargo.toml:license = { workspace = true }
crates/ruff_python_trivia_integration_tests/Cargo.toml:license.workspace = true
crates/ruff_python_importer/Cargo.toml:license = { workspace = true }
crates/ty_wasm/Cargo.toml:license = { workspace = true }
crates/ruff_source_file/Cargo.toml:license = { workspace = true }
crates/ruff_benchmark/Cargo.toml:license = { workspace = true }
crates/ruff_benchmark/resources/tomllib/__init__.py:# SPDX-License-Identifier: MIT
crates/ruff_benchmark/resources/tomllib/__init__.py:# Licensed to PSF under a Contributor Agreement.
crates/ruff_benchmark/resources/tomllib/_re.py:# SPDX-License-Identifier: MIT
crates/ruff_benchmark/resources/tomllib/_re.py:# Licensed to PSF under a Contributor Agreement.
crates/ruff_benchmark/resources/tomllib/_parser.py:# SPDX-License-Identifier: MIT
crates/ruff_benchmark/resources/tomllib/_parser.py:# Licensed to PSF under a Contributor Agreement.
crates/ruff_benchmark/resources/tomllib/_types.py:# SPDX-License-Identifier: MIT
crates/ruff_benchmark/resources/tomllib/_types.py:# Licensed to PSF under a Contributor Agreement.
crates/ruff_benchmark/resources/README.md:running benchmarks offline and for simplicity. They're licensed
crates/ruff_benchmark/resources/README.md:according to their original licenses (see link).
crates/ruff_wasm/Cargo.toml:license = { workspace = true }
crates/ty_vendored/vendor/typeshed/stdlib/urllib/robotparser.pyi:You can choose between two licenses when using this package:
crates/ty_vendored/vendor/typeshed/stdlib/urllib/robotparser.pyi:2) PSF license for Python 2.2
crates/ty_vendored/vendor/typeshed/stdlib/distutils/dist.pyi:    license: str | None
crates/ty_vendored/vendor/typeshed/stdlib/distutils/dist.pyi:    def get_license(self) -> str: ...
crates/ty_vendored/vendor/typeshed/stdlib/distutils/dist.pyi:    def get_license(self) -> str: ...
crates/ty_vendored/vendor/typeshed/stdlib/distutils/dist.pyi:    license: str | Literal[0]
crates/ty_vendored/vendor/typeshed/stdlib/distutils/core.pyi:    license: str = ...,
crates/ty_vendored/vendor/typeshed/stdlib/builtins.pyi:license: _sitebuiltins._Printer
crates/ty_vendored/vendor/typeshed/stdlib/venv/__init__.pyi:Licensed to the PSF under a contributor agreement.
crates/ty_vendored/vendor/typeshed/stdlib/ast.pyi::license: Python License.
crates/ty_vendored/vendor/typeshed/stdlib/_sitebuiltins.pyi:    """interactive prompt objects for printing the license text, a list of
crates/ty_vendored/vendor/typeshed/LICENSE:The "typeshed" project is licensed under the terms of the Apache license, as
crates/ty_vendored/vendor/typeshed/LICENSE:Apache License
crates/ty_vendored/vendor/typeshed/LICENSE:                        http://www.apache.org/licenses/
crates/ty_vendored/vendor/typeshed/LICENSE:      "License" shall mean the terms and conditions for use, reproduction,
crates/ty_vendored/vendor/typeshed/LICENSE:      the copyright owner that is granting the License.
crates/ty_vendored/vendor/typeshed/LICENSE:      exercising permissions granted by this License.
crates/ty_vendored/vendor/typeshed/LICENSE:      Object form, made available under the License, as indicated by a
crates/ty_vendored/vendor/typeshed/LICENSE:      of this License, Derivative Works shall not include works that remain
crates/ty_vendored/vendor/typeshed/LICENSE:   2. Grant of Copyright License. Subject to the terms and conditions of
crates/ty_vendored/vendor/typeshed/LICENSE:      this License, each Contributor hereby grants to You a perpetual,
crates/ty_vendored/vendor/typeshed/LICENSE:      copyright license to reproduce, prepare Derivative Works of,
crates/ty_vendored/vendor/typeshed/LICENSE:      publicly display, publicly perform, sublicense, and distribute the
crates/ty_vendored/vendor/typeshed/LICENSE:   3. Grant of Patent License. Subject to the terms and conditions of
crates/ty_vendored/vendor/typeshed/LICENSE:      this License, each Contributor hereby grants to You a perpetual,
crates/ty_vendored/vendor/typeshed/LICENSE:      (except as stated in this section) patent license to make, have made,
crates/ty_vendored/vendor/typeshed/LICENSE:      where such license applies only to those patent claims licensable
crates/ty_vendored/vendor/typeshed/LICENSE:      or contributory patent infringement, then any patent licenses
crates/ty_vendored/vendor/typeshed/LICENSE:      granted to You under this License for that Work shall terminate
crates/ty_vendored/vendor/typeshed/LICENSE:          Derivative Works a copy of this License; and
crates/ty_vendored/vendor/typeshed/LICENSE:          do not modify the License. You may add Your own attribution
crates/ty_vendored/vendor/typeshed/LICENSE:          as modifying the License.
crates/ty_vendored/vendor/typeshed/LICENSE:      may provide additional or different license terms and conditions
crates/ty_vendored/vendor/typeshed/LICENSE:      the conditions stated in this License.
crates/ty_vendored/vendor/typeshed/LICENSE:      this License, without any additional terms or conditions.
crates/ty_vendored/vendor/typeshed/LICENSE:      the terms of any separate license agreement you may have executed
crates/ty_vendored/vendor/typeshed/LICENSE:   6. Trademarks. This License does not grant permission to use the trade
crates/ty_vendored/vendor/typeshed/LICENSE:      risks associated with Your exercise of permissions under this License.
crates/ty_vendored/vendor/typeshed/LICENSE:      result of this License or out of the use or inability to use the
crates/ty_vendored/vendor/typeshed/LICENSE:      License. However, in accepting such obligations, You may act only
crates/ty_vendored/vendor/typeshed/LICENSE:   APPENDIX: How to apply the Apache License to your work.
crates/ty_vendored/vendor/typeshed/LICENSE:      To apply the Apache License to your work, attach the following
crates/ty_vendored/vendor/typeshed/LICENSE:   Licensed under the Apache License, Version 2.0 (the "License");
crates/ty_vendored/vendor/typeshed/LICENSE:   you may not use this file except in compliance with the License.
crates/ty_vendored/vendor/typeshed/LICENSE:   You may obtain a copy of the License at
crates/ty_vendored/vendor/typeshed/LICENSE:       http://www.apache.org/licenses/LICENSE-2.0
crates/ty_vendored/vendor/typeshed/LICENSE:   distributed under the License is distributed on an "AS IS" BASIS,
crates/ty_vendored/vendor/typeshed/LICENSE:   See the License for the specific language governing permissions and
crates/ty_vendored/vendor/typeshed/LICENSE:   limitations under the License.
crates/ty_vendored/vendor/typeshed/LICENSE:Parts of typeshed are licensed under different licenses (like the MIT
crates/ty_vendored/vendor/typeshed/LICENSE:license), reproduced below.
crates/ty_vendored/vendor/typeshed/LICENSE:The MIT License
crates/ty_vendored/vendor/typeshed/LICENSE:the rights to use, copy, modify, merge, publish, distribute, sublicense,
crates/ty_vendored/Cargo.toml:license = { workspace = true }
crates/ruff_db/Cargo.toml:license = { workspace = true }
crates/ruff_python_codegen/Cargo.toml:license = { workspace = true }
crates/ruff_cache/Cargo.toml:license = { workspace = true }
crates/ty_static/Cargo.toml:license = { workspace = true }
crates/ruff_python_index/Cargo.toml:license = { workspace = true }
crates/ruff_python_ast_integration_tests/Cargo.toml:license.workspace = true
crates/ruff_python_ast/Cargo.toml:license = { workspace = true }
crates/ruff_workspace/Cargo.toml:license = { workspace = true }
crates/ruff_options_metadata/Cargo.toml:license = { workspace = true }
crates/ruff_python_semantic/Cargo.toml:license = { workspace = true }
crates/ruff_notebook/Cargo.toml:license = { workspace = true }
crates/ruff_memory_usage/Cargo.toml:license = { workspace = true }
crates/ruff_linter/Cargo.toml:license = { workspace = true }
crates/ruff_linter/resources/test/fixtures/pycodestyle/E501.py:# SPDX-License-Identifier: a very long license identifier that exceeds the line length limit
crates/ruff_linter/resources/test/fixtures/ruff/pyproject_toml/maturin/pyproject.toml:    "license",
crates/ruff_linter/resources/test/fixtures/ruff/pyproject_toml/pep639/pyproject.toml:license = "MIT OR GPL-2.0-or-later OR (FSFUL AND BSD-2-Clause)"
crates/ruff_linter/resources/test/fixtures/ruff/pyproject_toml/pep639/pyproject.toml:license-files = ["LICEN[CS]E*", "AUTHORS*", "licenses/LICENSE.MIT"]
crates/ruff_linter/resources/test/fixtures/ruff/pyproject_toml/various_invalid/pyproject.toml:license-files = [ "license.txt",]
crates/ruff_linter/resources/test/fixtures/pyflakes/F811_36.py:    from faststream.specification.schema import Contact, License
crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs:/// 4. Ignores SPDX license identifiers and copyright notices
crates/ruff_linter/src/rules/pycodestyle/rules/line_too_long.rs:///    (e.g., `# SPDX-License-Identifier: MIT`), which are machine-readable
crates/ruff_linter/src/rules/pycodestyle/overlong.rs:        // Do not enforce the line length limit for SPDX license headers, which are machine-readable
crates/ruff_linter/src/rules/pycodestyle/overlong.rs:            ("#", "SPDX-License-Identifier:" | "SPDX-FileCopyrightText:")
crates/ruff_linter/src/rules/flake8_executable/helpers.rs:/// Adapted from is-wsl by Sean Larkin, MIT License.
crates/ruff_linter/src/rules/flake8_executable/helpers.rs:/// Adapted from is-docker by Sean Larkin, MIT License.
crates/ruff_linter/src/rules/ruff/rules/invalid_pyproject_toml.rs:/// - [Draft but implemented license declaration extensions](https://peps.python.org/pep-0639)
crates/ruff_linter/src/rules/eradicate/detection.rs:        |   SPDX-License-Identifier:
crates/ruff_linter/src/rules/eradicate/detection.rs:            "# SPDX-License-Identifier: MIT",
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:/// In some codebases, it's common to have a license header at the top of every
crates/ruff_linter/src/rules/flake8_copyright/rules/missing_copyright_notice.rs:/// file. This rule ensures that the license header is present.
crates/ruff_linter/src/rules/pyflakes/snapshots/ruff_linter__rules__pyflakes__tests__preview__F811_F811_36.py.snap:8 |     from faststream.specification.schema import Contact, License
crates/ruff_linter/src/rules/pyflakes/snapshots/ruff_linter__rules__pyflakes__tests__preview__F811_F811_36.py.snap:7 |     from faststream.specification.schema import Contact, License
crates/ruff_mdtest/Cargo.toml:license.workspace = true
crates/ruff_macros/Cargo.toml:license = { workspace = true }
crates/ty_python_core/Cargo.toml:license = { workspace = true }
crates/ruff_python_literal/Cargo.toml:license = { workspace = true }
crates/ruff_formatter/Cargo.toml:license = { workspace = true }
crates/ty_server/Cargo.toml:license = { workspace = true }
crates/ty_ide/Cargo.toml:license = { workspace = true }
crates/mdtest/Cargo.toml:license.workspace = true
crates/ruff_diagnostics/Cargo.toml:license = { workspace = true }
crates/ty/Cargo.toml:license.workspace = true
CHANGELOG.md:- Use PEP 639 license information ([#19661](https://github.com/astral-sh/ruff/pull/19661))

Back to Dashboard | View all reviews for this package