{"id":16195125,"url":"https://github.com/ashcrow/package-verify","last_synced_at":"2025-09-29T07:32:41.933Z","repository":{"id":13392632,"uuid":"16080873","full_name":"ashcrow/package-verify","owner":"ashcrow","description":"Package verification tool","archived":false,"fork":false,"pushed_at":"2014-01-23T18:50:08.000Z","size":172,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T15:55:16.384Z","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/ashcrow.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}},"created_at":"2014-01-20T19:34:17.000Z","updated_at":"2014-01-23T18:50:08.000Z","dependencies_parsed_at":"2022-09-23T12:20:52.789Z","dependency_job_id":null,"html_url":"https://github.com/ashcrow/package-verify","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ashcrow/package-verify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashcrow%2Fpackage-verify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashcrow%2Fpackage-verify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashcrow%2Fpackage-verify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashcrow%2Fpackage-verify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashcrow","download_url":"https://codeload.github.com/ashcrow/package-verify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashcrow%2Fpackage-verify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277483275,"owners_count":25825559,"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","status":"online","status_checked_at":"2025-09-29T02:00:09.175Z","response_time":84,"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-10T08:26:20.527Z","updated_at":"2025-09-29T07:32:41.895Z","avatar_url":"https://github.com/ashcrow.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"package-verify\n==============\n\nPackage verification tool which will be renamed at some point.\n\n\nUsage\n-----\n```\nusage: package-verify [-h] [-q] [-V {devspec}] manifest\n\npositional arguments:\n  manifest              The manifest file to validate.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -q, --quiet           Goes silent. Success/failure is only noted in the\n                        return code.\n  -V {devspec}, --validator {devspec}\n                        Select a specific validator to use.\n```\n\nExample Output\n--------------\n*Pass Examples*\n```\n$ package-verify pass.json \n$ echo $?\n0\n$\n```\n\n```\n$ package-verify -q pass.json \n$ echo $?\n0\n$\n```\n\n*Failure Examples*\n```\n$ package-verify fail.json \nE: name is missing\nE: files is missing\n$ echo $?\n1\n$\n```\n\n```\n$ package-verify -q fail.json \n$ echo $?\n1\n$\n```\n\n\nMaking a Validator\n------------------\nTo make a validator follow these rules:\n\n* subclass package\\_verify.validator.\\_Validator\n* name the subclass *Validator*\n* implement the validate method\n* place the file in package\\_verify.validator.validators so it can be found for listing and loading\n\n```python\n# filename: testvalidator.py\n\nfrom package_verify.validator import error, _Validator\n\n\nclass Validator(_Validator):\n\n    def validate(self, data):\n        \"\"\"\n        Validates input data.\n\n        :param str data: String of info to validate.\n        :raises WrongFormatError: if the format is not useable\n        :rtype: tuple\n        :returns: Warnings and errors\n        \"\"\"\n        # Do stuff here\n        return (warnings_list, errors_list)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashcrow%2Fpackage-verify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashcrow%2Fpackage-verify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashcrow%2Fpackage-verify/lists"}