Working on Ruff
Building Ruff. Python, Rust, and WebAssembly.
Past: Staff software engineer @ Spring Discovery, Khan Academy.
- Brooklyn, NY
- https://crmarsh.com
- @charliermarsh
Block or Report
Block or report charliermarsh
Report abuse
Contact GitHub support about this user’s behavior. Learn more about reporting abuse.
Report abusePinned
3,977 contributions in the last year
Less
More
Contribution activity
November 2022
Created 6 repositories
- charliermarsh/pre-commit.com Python
- charliermarsh/homebrew-core Ruby
- charliermarsh/get-license-helper Rust
- charliermarsh/staged-recipes Python
- charliermarsh/dagger Go
-
charliermarsh/vscode-ruff
Python
•
Built by
Created a pull request in conda-forge/staged-recipes that received 15 comments
Add Ruff recipe
This PR adds [Ruff] to conda-forge. As Ruff is written in Rust, and distributed via Maturin, I've mirrored the setup from pysyntect (#11315), incl…
+527
−0
•
15
comments
Opened 186 other pull requests in 6 repositories
charliermarsh/ruff
163
merged
2
open
1
closed
- Add Pylint parity to FAQ
- Uses dashes for README options
- Add pyupgrade's --keep-runtime-typing option
- Add format setting to pyproject.toml
- Rename pyupgrade rules from UXXX to UPXXX
- Remove pre-commit note in README.md
- Allow preservation of external check codes
- Rewrite type annotations on Python 3.7 when __future__ enabled
- Allow long lines that consist of only a URL
- Implement eradicate
-
Allow
@overridemethods to be undocumented - Add all plugin options to README reference
- Document all top-level configuration options
- Allow varargs and kwargs to be prefixed with stars
- Add some user testimonials
- Use alternative TOML format for per-file-ignores in README
- Add Homebrew installation to README
- Track aliased import-from members
- Avoid flagging redundant open modes when open is rebound
- Respect noqa comments in U009
- Respect f-string locations in B023 check
- Preserve existing noqa codes in --add-noqa
- Implement B023 (function uses loop variable)
- Move some main.rs subcommands to a new module
- Remove UserConfiguration struct
- Some pull requests not shown.
charliermarsh/vscode-ruff
11
merged
1
closed
- Bump Ruff version to 0.0.138
- Publish to OpenVSX
- Bump version to 2022.0.15
- Bump Ruff version to 0.0.132
- Bump version to 2022.0.14
- Bump Ruff version to 0.0.121
- Bump Ruff version to 0.0.117
- Use scripts path when interpreter is set
- Attempt to debug missing native binaries
- Add .idea and .ruff_cache to .vscodeignore
- Automate multi-platform builds and publishing to Code Marketplace
- Use absolute path to bundled binary
RustPython/RustPython
3
merged
1
closed
cds-astro/get-license-helper
2
open
Homebrew/homebrew-core
1
closed
dagger/dagger
1
merged
Reviewed 59 pull requests in 5 repositories
charliermarsh/ruff
25 pull requests
- Add JUnit xml output format
- Grouped format implementation
- Rewrite type annotations on Python 3.7 when __future__ enabled
- fix(flake8_boolean_trap): add whitelist for dict methods
- Don’t require files with --explain or --generate-shell-completion
- F50x implementation
- Implement F522-F525
- Implement F521
- Implement B904
-
Add
--explain - Issue 662 explore globset
- Make it visible under light theme
- Implement autofix for B013
- Automatically remove redundant open modes #640
- Add RUF to list of fixable defaults
- Fix N804 class method with positional only args
- Add convert exit() to sys.exit() rule
- Implement autofix for B010
- Exempt parameters with immutable annotations from B006
- Implement autofix for E713 and E714
- Add flake8-boolean-trap
- Ignore globals when checking local variable names
- Trigger N818 when parent ends in Error or Exception
- Implement C901 (mccabe)
- Implement auto-fix for E711 and E712
- Some pull request reviews not shown.
pypa/hatch
1 pull request
charliermarsh/vscode-ruff
1 pull request
RustPython/RustPython
1 pull request
pydantic/pydantic
1 pull request
Created an issue in charliermarsh/vscode-ruff that received 13 comments
Migrate to ruffd
We should use ruffd instead of pygls for the Language Server. Similar to rust-analyzer, we should bundle ruffd into the extension directly.
13
comments
Opened 55 other issues in 5 repositories
charliermarsh/ruff
12
open
34
closed
- Implement Pylint
- Discussion: check code representations
-
Auto-generate options reference in
README.md -
Add Homebrew installation to
README.md -
Add user testimonials to
README.md -
Document all
pyproject.tomlfields - Add Ruff to Conda
- Publish to Homebrew
-
Add support for
vulture-like dead code detection -
Rename pyupgrade rules from
U001toUP001 - Upgrade autofix to fix-until-stable
-
Come up with a more declarative interface for adding simple checks to
Checker - Improve performance of import matching code
- Import tracking should take aliases into account
- Check all valid import forms during import tracking
-
Pick up
flake8-bugbearsettings inflake8-to-ruff -
Make
combine_as_imports = falsethe default sorting behavior -
Add comment text to
Tok::Commentin RustPython -
Replace
settings.enabledwith a flat array or bitset library -
Refactor
from_importsand import matching - Deletions need to avoid creating unused blocks
- Explore use of globset
- Handle conflicting autofix instructions
- Expose Ruff's public API as a Python library
-
Support calling Ruff as a python module (
python -m ruff) - Some issues not shown.
charliermarsh/vscode-ruff
4
open
2
closed
- Add CI workflow via GitHub Actions
- Build platform-specific extensions to enable bundling the Ruff binary
-
Extension is unable to find Ruff binary under
fromBundledstrategy - Support Ruff configuration settings as VS Code extension options
-
Pick up
pyproject.tomlbased on file path or workspace - Enable code action for fixable lint errors
EclipseFdn/open-vsx.org
1
closed
jdan/twitter
1
open
RustPython/RustPython
1
closed
24
contributions
in private repositories
Nov 23 – Nov 29





