{"id":16617548,"url":"https://github.com/ddworken/vigil","last_synced_at":"2026-04-22T02:33:00.961Z","repository":{"id":80931881,"uuid":"72966298","full_name":"ddworken/vigil","owner":"ddworken","description":"https://github.com/munificent/vigil but as a python package","archived":false,"fork":false,"pushed_at":"2016-11-06T04:10:43.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-25T13:45:53.741Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ddworken.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2016-11-06T02:49:41.000Z","updated_at":"2020-03-10T03:25:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"b26900c8-c6f7-413d-aa06-ce566ee0104e","html_url":"https://github.com/ddworken/vigil","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ddworken/vigil","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddworken%2Fvigil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddworken%2Fvigil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddworken%2Fvigil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddworken%2Fvigil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ddworken","download_url":"https://codeload.github.com/ddworken/vigil/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddworken%2Fvigil/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32118109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"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":[],"created_at":"2024-10-12T02:17:04.755Z","updated_at":"2026-04-22T02:33:00.945Z","avatar_url":"https://github.com/ddworken.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vigil\n\nhttps://github.com/munificent/vigil but as a python package\n\nTo quote the above, \"Vigil is truly vigilant about not allowing code that fails to pass programmatic specifications.\"\n\n### Implore\n\nFunctions can state the oaths they promise to uphold via ```vigil.implore```: \n\n``` python\nimport math\nimport vigil\n\n# The 0th argument to sqrt must always be greater than or equal to zero. \n@vigil.implore(\"\u003e=\", 0, 0)\ndef sqrt(x):\n    return math.sqrt(x)\n```\n\nIf a caller fails to meet the requirement, a ```VigilError``` will be thrown and the caller will be punished as defined in the ```vigil.conf```. \n\n### Swear\n\nFunctions can state the oaths they promise to uphold via ```vigil.swear```: \n\n``` python\nimport math\nimport vigil\n\n# The output must be greater than 0\n@vigil.swear(\"\u003e=\", 0)\ndef sqr(x):\n    return x*x\n```\n\nIf a function fails to meet its oath, a ```VigilError``` will be thrown and the function will be punished as defined in the ```vigil.conf```. \n\n### Punishment\n\nThe punishment for misbehaving functions is defined in a ```vigil.conf```. vigil.conf can either say ```deleteFunctions = False``` or ```deleteFunctions = True```. \n\n### [FAQ](https://github.com/munificent/vigil)\n\n#### Is this serious?\n\nEternal moral vigilance is no laughing matter.\n\n#### But isn't a language that deletes code crazy?\n\nNo, wanting to keep code that demonstrably has bugs according to its own specifications is crazy. What good could it possibly serve? It is corrupted and must be cleansed from your codebase.\n\nVigil will do this for you automatically.\n\n#### Vigil deleted a function. Won't that cause the functions that call it to fail?\n\nIt would seem that those functions appear to be corrupted as well. Run Vigil again and it will take care of that for you. Several invocations may be required to fully excise all bugs from your code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddworken%2Fvigil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fddworken%2Fvigil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddworken%2Fvigil/lists"}