{"id":20466030,"url":"https://github.com/withprecedent/sabaka","last_synced_at":"2025-03-05T12:29:27.541Z","repository":{"id":84321382,"uuid":"605707628","full_name":"WithPrecedent/sabaka","owner":"WithPrecedent","description":"Flexible python error messaging","archived":false,"fork":false,"pushed_at":"2023-02-25T21:21:23.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-17T13:04:47.194Z","etag":null,"topics":["error-handling","errors","exception-handling","exceptions","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WithPrecedent.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":"2023-02-23T18:22:56.000Z","updated_at":"2023-03-24T02:52:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"83dd79e8-38ce-48cd-bda4-9f0e023149d8","html_url":"https://github.com/WithPrecedent/sabaka","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"ee1a75c8fbeb5f799eecb6e0957e06667fe3b84c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WithPrecedent%2Fsabaka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WithPrecedent%2Fsabaka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WithPrecedent%2Fsabaka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WithPrecedent%2Fsabaka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WithPrecedent","download_url":"https://codeload.github.com/WithPrecedent/sabaka/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242027481,"owners_count":20060106,"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":["error-handling","errors","exception-handling","exceptions","python"],"created_at":"2024-11-15T13:21:08.272Z","updated_at":"2025-03-05T12:29:27.513Z","avatar_url":"https://github.com/WithPrecedent.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/) [![PyPI Latest Release](https://img.shields.io/pypi/v/sabaka.svg)](https://pypi.org/project/sabaka/) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Documentation Status](https://readthedocs.org/projects/sabaka/badge/?version=latest)](http://sabaka.readthedocs.io/?badge=latest)\n\n# What is sabaka?\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://www.indiewire.com/wp-content/uploads/2018/07/NUP_179022_0915.jpg\" height=\"300\"/\u003e\n\u003c/p\u003e\n\n\n\nIn Belter Creole, in the TV show The Expanse (and in the books on which the show was based), \"Sabaka\" means [\"a general-purpose curse; \"Dammit!\" or \"You bastard!\"](https://expanse.fandom.com/wiki/Belter_Creole), a suitable name for an error messaging package. The purpose of **sabaka** is to expand options for error messages beyond passed strings to include:\n\n1. a message composed from passed args and kwargs; and\n2. a default message.\n   \nThis is done by either using one of the included Exception subclasses or by mixing-in one of the mixin classes which add other messaging options to Python's base exceptions.\n\n# Examples\n\n# API\n\n## Exceptions\n\n\n## Exception Mixins\n\n\n# Contributing \n\nContributors are always welcome and should find **sabaka** easy to work with. The project is highly documented so that users and developers can make **sabaka** work with their projects. It is designed for Python coders at all levels. Beginners should be able to follow the readable code and internal documentation to understand how it works. More advanced users should find complex and tricky problems addressed through efficient code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwithprecedent%2Fsabaka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwithprecedent%2Fsabaka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwithprecedent%2Fsabaka/lists"}