{"id":16177782,"url":"https://github.com/grantjenks/blue","last_synced_at":"2025-05-16T03:05:34.050Z","repository":{"id":38400628,"uuid":"292369405","full_name":"grantjenks/blue","owner":"grantjenks","description":"The slightly less uncompromising Python code formatter.","archived":false,"fork":false,"pushed_at":"2024-02-06T19:04:00.000Z","size":145,"stargazers_count":401,"open_issues_count":37,"forks_count":23,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-09T03:39:06.764Z","etag":null,"topics":["autopep8","black","code","codeformatter","formatter","gofmt","pyfmt","python","yapf"],"latest_commit_sha":null,"homepage":"https://blue.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grantjenks.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-02T18:57:19.000Z","updated_at":"2025-04-30T12:44:45.000Z","dependencies_parsed_at":"2024-06-18T15:25:09.828Z","dependency_job_id":"691f9656-6d84-4183-b1e8-8c3e103a0530","html_url":"https://github.com/grantjenks/blue","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grantjenks%2Fblue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grantjenks%2Fblue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grantjenks%2Fblue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grantjenks%2Fblue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grantjenks","download_url":"https://codeload.github.com/grantjenks/blue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254459088,"owners_count":22074605,"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":["autopep8","black","code","codeformatter","formatter","gofmt","pyfmt","python","yapf"],"created_at":"2024-10-10T05:10:19.011Z","updated_at":"2025-05-16T03:05:29.044Z","avatar_url":"https://github.com/grantjenks.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"====\nBlue\n====\n\nSome folks like `black \u003chttps://black.readthedocs.io/en/stable/\u003e`_ but I\nprefer `blue \u003chttps://blue.readthedocs.io/en/latest/\u003e`_.\n\n\nWhat is blue?\n=============\n\n``blue`` is a somewhat less uncompromising code formatter than ``black``, the\nOG of Python formatters.  We love the idea of automatically formatting Python\ncode, for the same reasons that inspired ``black``, however we take issue with\nsome of the decisions ``black`` makes.  Kudos to ``black`` for pioneering code\nformatting for Python, and for its excellent implementation.\n\nWhere the ``blue`` maintainers disagree with the stylistic (and\nunconfigurable) choices made by ``black``, we monkeypatch to change these\ndecisions to our own liking.  We intend for these differences to be minimal;\neven in cases where we'd prefer something different, there's a lot we can live\nwith for the sake of consistency.\n\nWe'd prefer not to fork or monkeypatch.  Instead, our hope is that eventually\nwe'll be able to work with the ``black`` maintainers to add just a little bit\nof configuration and merge back into the ``black`` project.  We'd be ecstatic\nif ``blue`` eventually were retired.  Until then, we'll maintain our small set\nof hacks on top of ``black`` and carefully consider what other deviations are\nneeded to assuage our sensitive, but experienced, eye.\n\n\nHow do I use blue?\n==================\n\nExactly the same as you would use ``black``.  Invoke and configure ``blue`` as\nyou would ``black`` -- just replace the ``black`` command with ``blue``, sit\nback, and enjoy even betterly formatted Python code!  You can refer to\n`black's \u003chttps://black.readthedocs.io/en/stable/\u003e`_ documentation for\nanything not listed here.\n\nTry it out now using `iblueit.dev \u003chttps://iblueit.dev/\u003e`_.\n\nSo what's different?\n====================\n\nHere is a brief list of differences between ``blue`` and ``black``:\n\n* ``blue`` defaults to single-quoted strings.  This is probably the most\n  painful ``black`` choice to our eyes, and the thing that inspired ``blue``.\n  We strongly prefer using single quoted strings over double quoted strings for\n  everything *except* docstrings and triple quoted strings (TQS).  Don't ask us\n  why we prefer double-quotes for TQS; it just looks better to us!  For all\n  other strings, ``blue`` defaults to single quoted strings.  In the case of\n  docstrings, those always use TQS with double-quotes.\n\n* ``blue`` defaults to line lengths of 79 characters. Nearly every project\n  creates a pyproject.toml just to change this one setting so making it\n  consistent with PEP 8 seems relatively harmless.\n\n* ``blue`` preserves the whitespace before the hash mark for right hanging\n  comments.\n\n* ``blue`` supports multiple config files: ``pyproject.toml``, ``setup.cfg``,\n  ``tox.ini``, and ``.blue``.\n\nWe are `accumulating \u003chttps://github.com/grantjenks/blue/issues/2\u003e`_ a list of\nother deviations we are considering.  As we decide to implement any particular\nsuggestion, we'll turn those into individual issues and tackle them\none-by-one.  If you have suggestions for other deviations from ``black``'s\nchoices, please open a separate ticket on our tracker, and we'll see how it\ngoes!\n\n\nWhy \"blue\"?\n===========\n\nSeveral reasons!  If your formatter is going to beat up your code, it'll leave\nit black and blue, or maybe in this case, black *or* blue.  Blue is better!\n\nWe also thought about \"tan\" because, yum!  But that project name was already\ntaken.  Frankly, \"blue\" was also taken, but largely unused.  Our thanks to\nNick Ficano for donating the project namespace to us!\n\nBlue is also the color of `LinkedIn \u003chttps://www.linkedin.com/\u003e`_, the\nauthors' gracious employer, and we intend to socialize its use within our\ncompany code base.\n\n\nContributors\n============\n\n``blue`` thanks this list of contributors for all its wonderful goodness.\n\n* The `wonderful folks \u003chttps://github.com/psf/black#authors\u003e`_ from the\n  ``black`` project.\n* Grant Jenks\n* Barry Warsaw\n* Corey from FutureSpaceDesigns for the unofficial logo and `blue project\n  merchandise \u003chttps://www.teepublic.com/t-shirt/6556561-tobias-blue\u003e`_.\n\n``blue`` is licensed under the terms of the Apache License Version 2.0.\n``black`` is `licensed \u003chttps://github.com/psf/black#license\u003e`_ under the\nterms of the MIT license.\n\n\nProject details\n===============\n\n.. image:: https://img.shields.io/badge/code%20style-blue-blue.svg\n   :target: https://blue.readthedocs.io/\n\n.. image:: https://github.com/grantjenks/blue/workflows/integration/badge.svg\n   :target: https://github.com/grantjenks/blue/actions?query=workflow%3Aintegration\n\n.. image:: https://github.com/grantjenks/blue/workflows/release/badge.svg\n   :target: https://github.com/grantjenks/blue/actions?query=workflow%3Arelease\n\n* Project home: https://github.com/grantjenks/blue\n* Report bugs and suggestions at: https://github.com/grantjenks/blue/issues\n* Code hosting: https://github.com/grantjenks/blue.git\n* Documentation: https://blue.readthedocs.io/en/latest\n* Try it out: https://iblueit.dev\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrantjenks%2Fblue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrantjenks%2Fblue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrantjenks%2Fblue/lists"}