biome
yapf
biome | yapf | |
---|---|---|
23 | 21 | |
10,694 | 13,655 | |
11.0% | 0.3% | |
9.9 | 8.0 | |
2 days ago | 10 days ago | |
Rust | Python | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
biome
-
I switch from Eslint to Biome
{ "$schema": "https://biomejs.dev/schemas/1.7.0/schema.json", "organizeImports": { "enabled": true }, "files": { "ignore": ["package.json", "package-lock.json"] }, "linter": { "enabled": true, "rules": { "recommended": true, "style": { "noUnusedTemplateLiteral": "off" } } }, "formatter": { "indentStyle": "space", "indentWidth": 4, "lineWidth": 320 }, "javascript": { "formatter": { "semicolons": "asNeeded" } } }
- Fast, Declarative, Reproduble and Composable Developer Environments Using Nix
- Biome – fast JavaScript linter and formatter
-
What is the most useful project you've ever worked on?
It is great to see that so many users are enthusiastic about Biome. It is really gratifying to work on a project that is appreciated and useful to the community.
[0] https://biomejs.dev/
- Biomejs.dev (previously Rome-tools by Meta)
-
Build a Vite 5 backend integration with Flask
Once you build a simple Vite backend integration, try not to complicate Vite's configuration unless you absolutely must. Vite has become one of the most popular bundlers in the frontend space, but it wasn't the first and it certainly won't be the last. In my 7 years of building for the web, I've used Grunt, Gulp, Webpack, esbuild, and Parcel. Snowpack and Rome came-and-went before I ever had a chance to try them. Bun is vying for the spot of The New Hotness in bundling, Rome has been forked into Biome, and Vercel is building a Rust-based Webpack alternative.
-
Why is Prettier rock solid?
> My only bad experience with prettier, besides the incredible slowness (orders of magnitude slower than ruff)
Ruff is based on the same foundations that Biome (https://biomejs.dev/). Although Biome doesn't support all languages that Prettier supports, you should give a try, it is fast.
- RFC: Biome Plugins
-
BiomeJS 2024 Roadmap
I am also confused by this goal, I've started a discussion in the repo to get some clarity on intent and direction there: https://github.com/biomejs/biome/discussions/1642
-
Tailwind CSS: Automatic Class Sorting with Prettier
Biome [0], a fast Prettier-compatible formatter, is currently working on adding class sorting [1]. We expect to ship the feature with the next release (on February). We are discussing which options to provide for the feature (mainly on the Discord of Biome).
[0] https://biomejs.dev/
yapf
-
Enhance Your Project Quality with These Top Python Libraries
YAPF (Yet Another Python Formatter): YAPF takes a different approach in that it’s based off of ‘clang-format’, a popular formatter for C++ code. YAPF reformats Python code so that it conforms to the style guide and looks good.
-
Why is Prettier rock solid?
I think I agree about the testing and labor of complicated translation rules.
But it doesn't appear that almost every pretty printer uses the Wadler pretty printing paper. It seems like MOST of them don't?
e.g. clang-format is one of the biggest and best, and it has a model that includes "unwrapped lines", a "layouter", a line break cost function, exhaustive search with memoization, and Dijikstra's algorithm:
https://llvm.org/devmtg/2013-04/jasper-slides.pdf
The YAPF Python formatter is based on this same algorithm - https://github.com/google/yapf
The Dart formatter used a model of "chunks, rules, and spans"
https://journal.stuffwithstuff.com/2015/09/08/the-hardest-pr...
It almost seems like there are 2 camps -- the functional algorithms for functional/expression-based languages, and other algorithms for more statement-based languages.
Though I guess Prettier/JavaScript falls on the functional side.
I just ran across this survey on lobste.rs and it seems to cover the functional pretty printing languages influenced by Wadler, but functional style, but not the other kind of formatter ("Google" formatters perhaps)
https://arxiv.org/pdf/2310.01530.pdf
-
A Tale of Two Kitchens - Hypermodernizing Your Python Code Base
To get all your code into a consistent format the next step is to run a formatter. I recommend black, the well-known uncompromising code formatter, which is the most popular choice. Alternatives to black are autoflake, prettier and yapf, if you do not agree with blacks constraints.
-
Front page news headline scraping data engineering project
Use yapf to format code -> https://github.com/google/yapf
-
Confused by Google's docstring "Attributes" section.
Google is surprisingly rigorous when it comes to code formatting. I have been a software engineer at Amazon and it was nothing like what the book says happens at Google. So the conventions you see for python docstring formatting are primarily designed to integrate with Google's internal tooling. By using docstrings following the Google conventions, you will ultimately end up with automated documentation and other fancy automated things (like type checking which they did in the docstring before there were type hints). Also notably, Google has an open source python formatting tool that they use internally called YAPF (which stands for "Yet Another Python Formatter". So if you really want to go all-in on Google python style, grab that, too.
- Alternate python spacing.
-
Not sure if this is the worst or most genius indentation I've seen
https://github.com/google/yapf has configs, do ctrl+f SPLIT_COMPLEX_COMPREHENSION in the readme
- Google Python Style Guide
-
Enable hyphenation only for code blocks
Only as recommendation: If the lines of the source code (here: you C code you aim to document) are kept short, in manageable bytes (similar to entries parser.add_argument in Clark's "Tiny Python Projects", example seldomly pass beyond the frequently recommended threshold of 80 characters/line), reporting with listings becomes easier (equally, the reading of the difference logs/views by git and vimdiff), than with lines of say 120 characters per line. Though we no longer are constrained to 80 characters per line by terminals/screens and punch cards (when Fortran still was FORTRAN), this is a reason e.g., yapf for Python allows you to choose between 4 spaces/indentation (PEP8 style), or 2 spaces/indentation (Google style).
-
3 popular Python style guides that will help your team write better code
There is also a formatter for Python files called yapf that your team can use to avoid arguing over formatting conventions. Plus, Google also provides a settings file for Vim, noting that the default settings should be enough if you're using Emacs.
What are some alternatives?
prettier - Prettier is an opinionated code formatter.
black - The uncompromising Python code formatter
rspack - A fast Rust-based web bundler 🦀️
isort - A Python utility / library to sort imports.
tools - Unified developer tools for JavaScript, TypeScript, and the web
flake8
prettier-plugin-sort-imports - A prettier plugin to sort imports in typescript and javascript files by the provided RegEx order.
autopep8 - A tool that automatically formats Python code to conform to the PEP 8 style guide.
jest - Delightful JavaScript Testing.
awesome-python-typing - Collection of awesome Python types, stubs, plugins, and tools to work with them.
tsc-files - A tiny tool to run `tsc` on specific files without ignoring tsconfig.json
pyright - Static Type Checker for Python