{"id":20269599,"url":"https://github.com/omnilib/vscode-ufmt","last_synced_at":"2025-04-11T04:01:51.542Z","repository":{"id":105074270,"uuid":"521768100","full_name":"omnilib/vscode-ufmt","owner":"omnilib","description":"VS Code extension for µfmt","archived":false,"fork":false,"pushed_at":"2025-02-09T22:24:22.000Z","size":968,"stargazers_count":7,"open_issues_count":2,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T02:01:39.033Z","etag":null,"topics":["black","formatter","hacktoberfest","import","python","ufmt","usort","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://ufmt.omnilib.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omnilib.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-05T20:28:26.000Z","updated_at":"2025-02-09T22:24:26.000Z","dependencies_parsed_at":"2024-10-20T18:33:23.335Z","dependency_job_id":null,"html_url":"https://github.com/omnilib/vscode-ufmt","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":"microsoft/vscode-python-tools-extension-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omnilib%2Fvscode-ufmt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omnilib%2Fvscode-ufmt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omnilib%2Fvscode-ufmt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omnilib%2Fvscode-ufmt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omnilib","download_url":"https://codeload.github.com/omnilib/vscode-ufmt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248339256,"owners_count":21087214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["black","formatter","hacktoberfest","import","python","ufmt","usort","vscode","vscode-extension"],"created_at":"2024-11-14T12:26:01.697Z","updated_at":"2025-04-11T04:01:51.512Z","avatar_url":"https://github.com/omnilib.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# µfmt: safe, atomic formatting and import sorting\n\n[µfmt][] is a code formatter and import sorter for Python and Visual Studio Code,\nbuilt on top of [black][] and [µsort][], with experimental support for [ruff-api][]:\n\n\u003e Black makes code review faster by producing the smallest diffs possible.\n  Blackened code looks the same regardless of the project you’re reading.\n\n\u003e μsort is a safe, minimal import sorter. Its primary goal is to make no “dangerous”\n  changes to code, and to make no changes on code style.\n\nµfmt formats files in-memory, first with µsort and then with black, before\nwriting any changes back to disk. This enables a combined, atomic formatting steps in\nVS Code, without any chance of conflict or intermediate changes between the import\nsorter and the code formatter.\n\nNote:\n\n- This extension requires Python version 3.9 or newer.\n- The extension comes bundled with the latest version of µfmt `2.x`, as well\n  as black, µsort, and ruff-api.\n\n## Usage\n\nOnce installed, \"µfmt\" will be available as a formatter for Python files\n(extension id: `omnilib.ufmt`).\nµfmt can be set as the default formatter by adding the following to your settings:\n\n```json\n\"[python]\": {\n    \"editor.defaultFormatter\": \"omnilib.ufmt\"\n}\n```\n\nor through the command pallete option \"Format Document With...\":\n\n\u003cimg alt=\"Command pallete 'format document with'\" src=\"https://github.com/omnilib/vscode-ufmt/raw/main/enable-formatwith.png\" width=\"600px\" /\u003e\n\n\u003cimg alt=\"Follow-up option 'Configure default formatter'\" src=\"https://github.com/omnilib/vscode-ufmt/raw/main/enable-setdefault.png\" width=\"600px\" /\u003e\n\nBe sure to disable the legacy Python formatter, if enabled:\n\n```json\n\"python.formatting.provider\": \"none\"\n```\n\n## Format on Save\n\nVS Code can automatically format your Python files when saving by adding the following\nto your settings:\n\n```json\n\"[python]\": {\n    \"editor.defaultFormatter\": \"omnilib.ufmt\",\n    \"editor.formatOnSave\": true\n}\n```\n\n## Resources\n\n- [µfmt documentation][µfmt]\n- [black documentation][black]\n- [µsort documentation][µsort]\n\n[black]: https://black.rtfd.io\n[µsort]: https://usort.rtfd.io\n[µfmt]: https://ufmt.omnilib.dev\n[ruff-api]: https://pypi.org/project/ruff-api/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomnilib%2Fvscode-ufmt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomnilib%2Fvscode-ufmt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomnilib%2Fvscode-ufmt/lists"}