{"id":31772031,"url":"https://github.com/aboutcode-org/purl-validator","last_synced_at":"2025-10-10T03:55:10.993Z","repository":{"id":312192053,"uuid":"1023624744","full_name":"aboutcode-org/purl-validator","owner":"aboutcode-org","description":"Let's create a PURL validator that's decentralized such that libraries can use it offline and help them create better PURLs.","archived":false,"fork":false,"pushed_at":"2025-07-21T12:49:42.000Z","size":47,"stargazers_count":0,"open_issues_count":16,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-17T12:00:37.213Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aboutcode-org.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"aboutcode-org","open_collective":"aboutcode","custom":["https://causes.benevity.org/causes/056-5528680976845_a486","Benevity"]}},"created_at":"2025-07-21T12:49:40.000Z","updated_at":"2025-07-21T12:49:46.000Z","dependencies_parsed_at":"2025-08-29T06:34:42.436Z","dependency_job_id":"8ab25e5a-ad65-428e-a47b-397df5babcba","html_url":"https://github.com/aboutcode-org/purl-validator","commit_stats":null,"previous_names":["aboutcode-org/purl-validator"],"tags_count":0,"template":false,"template_full_name":"aboutcode-org/skeleton","purl":"pkg:github/aboutcode-org/purl-validator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fpurl-validator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fpurl-validator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fpurl-validator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fpurl-validator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aboutcode-org","download_url":"https://codeload.github.com/aboutcode-org/purl-validator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fpurl-validator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002601,"owners_count":26083426,"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-10-10T02:00:06.843Z","response_time":62,"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":"2025-10-10T03:55:08.864Z","updated_at":"2025-10-10T03:55:10.982Z","avatar_url":"https://github.com/aboutcode-org.png","language":"Python","readme":"A Simple Python Project Skeleton\n================================\n\nThis repo attempts to standardize the structure of the Python-based project's\nrepositories using modern Python packaging and configuration techniques.\nUsing this `blog post`_ as inspiration, this repository serves as the base for\nall new Python projects and is mergeable in existing repositories as well.\n\n.. _blog post: https://blog.jaraco.com/a-project-skeleton-for-python-projects/\n\n\nUsage\n=====\n\nA brand new project\n-------------------\n\n.. code-block:: bash\n\n    git init my-new-repo\n    cd my-new-repo\n    git pull git@github.com:nexB/skeleton\n\n    # Create the new repo on GitHub, then update your remote\n    git remote set-url origin git@github.com:nexB/your-new-repo.git\n\nFrom here, you can make the appropriate changes to the files for your specific project.\n\nUpdate an existing project\n---------------------------\n\n.. code-block:: bash\n\n    cd my-existing-project\n    git remote add skeleton git@github.com:nexB/skeleton\n    git fetch skeleton\n    git merge skeleton/main --allow-unrelated-histories\n\nThis is also the workflow to use when updating the skeleton files in any given repository.\n\nMore usage instructions can be found in ``docs/skeleton-usage.rst``.\n\n\nRelease Notes\n=============\n\n- 2025-03-31:\n\n    - Use ruff as the main code formatting tool, add ruff rules to pyproject.toml\n\n- 2025-03-29:\n\n    - Add support for beta macOS-15\n    - Add support for beta windows-2025\n\n- 2025-02-14:\n\n    - Drop support for Python 3.8, add support in CI for Python 3.13, use Python 3.12 as default\n      version.\n\n- 2025-01-17:\n\n    - Drop support for macOS-12, add support for macOS-14\n    - Add support in CI for ubuntu-24.04\n    - Add support in CI for Python 3.12\n\n- 2024-08-20:\n\n    - Update references of ownership from nexB to aboutcode-org\n\n- 2024-07-01:\n\n    - Drop support for Python 3.8\n    - Drop support for macOS-11, add support for macOS-14\n\n- 2024-02-19:\n\n    - Replace support in CI of default ubuntu-20.04 by ubuntu-22.04\n\n- 2023-10-18:\n\n    - Add dark mode support in documentation\n\n- 2023-07-18:\n\n    - Add macOS-13 job in azure-pipelines.yml\n\n- 2022-03-04:\n\n    - Synchronize configure and configure.bat scripts for sanity\n    - Update CI operating system support with latest Azure OS images\n    - Streamline utility scripts in etc/scripts/ to create, fetch and manage third-party\n      dependencies. There are now fewer scripts. See etc/scripts/README.rst for details\n\n- 2021-09-03:\n    - ``configure`` now requires pinned dependencies via the use of ``requirements.txt``\n      and ``requirements-dev.txt``\n    - ``configure`` can now accept multiple options at once\n    - Add utility scripts from scancode-toolkit/etc/release/ for use in generating project files\n    - Rename virtual environment directory from ``tmp`` to ``venv``\n    - Update README.rst with instructions for generating ``requirements.txt``\n      and ``requirements-dev.txt``, as well as collecting dependencies as wheels and generating\n      ABOUT files for them.\n\n- 2021-05-11:\n    - Adopt new configure scripts from ScanCode TK that allows correct configuration of which\n      Python version is used.\n","funding_links":["https://github.com/sponsors/aboutcode-org","https://opencollective.com/aboutcode","https://causes.benevity.org/causes/056-5528680976845_a486","Benevity"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faboutcode-org%2Fpurl-validator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faboutcode-org%2Fpurl-validator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faboutcode-org%2Fpurl-validator/lists"}