{"id":13501049,"url":"https://github.com/rednafi/pysanity","last_synced_at":"2025-03-29T07:32:20.917Z","repository":{"id":99898391,"uuid":"206503885","full_name":"rednafi/pysanity","owner":"rednafi","description":"Opinionated coding guidelines and best practices in Python","archived":true,"fork":false,"pushed_at":"2020-08-01T19:44:14.000Z","size":634,"stargazers_count":208,"open_issues_count":0,"forks_count":12,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-31T19:37:48.363Z","etag":null,"topics":["best-practices","guidelines","python"],"latest_commit_sha":null,"homepage":"https://pysanity.netlify.com/","language":null,"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/rednafi.png","metadata":{"files":{"readme":"README.md","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":"2019-09-05T07:37:43.000Z","updated_at":"2024-09-01T04:22:55.000Z","dependencies_parsed_at":"2023-05-10T23:15:45.454Z","dependency_job_id":null,"html_url":"https://github.com/rednafi/pysanity","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rednafi%2Fpysanity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rednafi%2Fpysanity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rednafi%2Fpysanity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rednafi%2Fpysanity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rednafi","download_url":"https://codeload.github.com/rednafi/pysanity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246155998,"owners_count":20732355,"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":["best-practices","guidelines","python"],"created_at":"2024-07-31T22:01:23.585Z","updated_at":"2025-03-29T07:32:20.899Z","avatar_url":"https://github.com/rednafi.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003e PySanity \u003c/h1\u003e\n    \u003ch4\u003e \u003ca href=\"https://pysanity.netlify.app\"\u003e Python Coding Guidelines for Sanity \u003c/a\u003e \u003c/h4\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cspan align=\"center\"\u003e\n\u003cpre\u003e\n\u003ca href=\"https://github.com/rednafi/pysanity\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/30027932/86592037-7ff4f580-bfb4-11ea-86b9-077ebe2ae801.png\" height=\"450\" width=\"450\" align=\"center\"/\u003e\u003c/a\u003e\n\n\u003ch3\u003e````¯¯¯¯\\____\u003cb\u003ephilosophy____\u003c/b\u003e/¯¯¯¯````\u003c/h3\u003e\n\u003ch3\u003e\n__Practicality Beats Purity__\n___Automation Brings Salvation___\n____Abstraction is Chaos, Concealed by Confusion____\n\u003c/h3\u003e\n\n\u003c/pre\u003e\n\u003c/span\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://github.com/rednafi/pysanity/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/rednafi/pysanity\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/rednafi/pysanity/network/members\"\u003e\u003cimg src=\"https://img.shields.io/github/forks/rednafi/pysanity\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/rednafi/pysanity/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/rednafi/pysanity\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/rednafi/pysanity/blob/master/LICENSE\" \u003cimg src=\"https://img.shields.io/github/license/rednafi/pysanity\"\u003e\n        \u003ca href=\"https://twitter.com/intent/retweet?tweet_id=1222434622442594304\"\u003e\u003cimg src=\"https://img.shields.io/twitter/url?url=https%3A%2F%2Fgithub.com%2Frednafi%2Fpysanity\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/rednafi/pysanity\"\u003e\u003cimg src=\"https://img.shields.io/badge/code%20style-pysanity-teal\" /\u003e\n        \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ch2\u003e What is this? \u003c/h2\u003e\n\u003c/div\u003e\n\n\u003cp\u003e This is an ever evolving, battle tested and marginally opinionated python coding guideline that is currently being enforced at my company ShopUp. Primarily, it is an attempt to document some of the implicit lessons and good practices that we have picked up while writing, maintaining and documenting python code in production. You may not agree with all the conventions mentioned here but other than the style guide where everyone has different ideas about how code should be formatted, the conventions mentioned here are almost universally accepted as good practices by the python community. The aim is not to have a strict guideline that is imposed upon every codebase, rather it exists to provide a baseline and reduce unnecessary cognitive overload that arises from disagreements during internal code reviews. The guideline is divided into three major segments.\n\n• **Styling Guideline:** A mashup of simplified pep8, pep257 and a few tools for styling automation\n\n• **Coding Guideline:** Conventions, best practices and design patterns\n\n• **Documentation Guideline:** An attempt to streamline API documentation\n\u003c/p\u003e\n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ch3\u003e Read the guideline \u003ca href=\"https://pysanity.netlify.com\"\u003e here. \u003c/a\u003e\u003c/h3\u003e\n\u003c/div\u003e\n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ch3\u003e Contribution Instructions \u003c/h3\u003e Fork the repo\n    \u003cbr\u003e Go to \u003ccode\u003edocs/README.md\u003c/code\u003e\n    \u003cbr\u003e Make your edit, push to a new branch \u0026 send a pull request\n    \u003cbr\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frednafi%2Fpysanity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frednafi%2Fpysanity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frednafi%2Fpysanity/lists"}