{"id":20592332,"url":"https://github.com/levinotik/sprawl","last_synced_at":"2026-06-21T01:04:44.576Z","repository":{"id":141115284,"uuid":"227499081","full_name":"levinotik/sprawl","owner":"levinotik","description":"Python utility package for louder logging","archived":false,"fork":false,"pushed_at":"2019-12-12T02:17:14.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-13T08:39:01.033Z","etag":null,"topics":["debugging","formatting","logging","python","python3"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/levinotik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-12-12T02:01:51.000Z","updated_at":"2019-12-12T16:31:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f704fba-e39f-4929-a071-2fd6c84b5707","html_url":"https://github.com/levinotik/sprawl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/levinotik/sprawl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinotik%2Fsprawl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinotik%2Fsprawl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinotik%2Fsprawl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinotik%2Fsprawl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/levinotik","download_url":"https://codeload.github.com/levinotik/sprawl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/levinotik%2Fsprawl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34590242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["debugging","formatting","logging","python","python3"],"created_at":"2024-11-16T07:43:27.961Z","updated_at":"2026-06-21T01:04:44.552Z","avatar_url":"https://github.com/levinotik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sprawl\n\nA utility package for printing formatted, colorized log messages. \n\n## Why? \n\nSometimes we fall back to good ol' print-driven development (\"PDD\") \nwhen we need to inspect values at runtime. It can be annoying to search through \na terminal window filled with other logs to find the one log statement you're looking \nfor. This makes it easy for your log messages to stand out. \n\n## Installation\n\n`$ pip install sprawl`\n\n## Usage\n\nImport the log function:\n\n```python\nfrom sprawl.loud_log import log\n\n```\n\nConfigure logging however you normally would, for example:\n\n\n```python\nlogging.basicConfig(format='%(asctime)s \\n %(message)s', level=logging.INFO)\n```  \n\nlog a message using the defaults:\n\n```python\nlog('my log message')\n```\n\nprints:\n\n```\n##################################\n my log message\n##################################\n\n```\n\nCenter the log message:\n\n```python\nlog('my log message', center_message=True)\n\n```\n\nprints:\n\n```\n##################################\n           my log message\n##################################\n```\n\nChange the surrounding character:\n\n```python\nlog('my log message', center_message=True, char_to_surround_with='~')\n\n```\n\nprints:\n\n```\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n           my log message\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```\n\nAdd some color:\n\n```python\nlog('my log message', center_message=True, color='yellow')\n\n```\n\nprints:\n\n\u003cimg width=\"450\" alt=\"Screen Shot 2019-12-11 at 8 55 38 PM\" src=\"https://user-images.githubusercontent.com/514174/70675962-a50cca00-1c58-11ea-8484-8ca40617d518.png\"\u003e\n\nLog the name of the function or module from within which this log() was called\n\n\n```python\ndef my_amazing_function():\n    log('my log message', center_message=True, print_func_name=True)\n    \nmy_amazing_function()\n\n```\n\nprints:\n\n```\nlog called from my_amazing_function\n#################################\n           my log message\n#################################\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevinotik%2Fsprawl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flevinotik%2Fsprawl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevinotik%2Fsprawl/lists"}