Skip to content

Commit 9bc3e43

Browse files
JonoYangpombredannechinyeungliTG1999keshav-space
authored
Add initial code and update skeleton files (#26)
* Add skeleton release notes to README.rst This was they do not end up in the template CHANGELOG.rst Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Update format Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add Python 3.9 to Travis Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format and remove spurious spaces From aboutcode-org/typecode#20 Reported-by: Pierre Tardy <pierre.tardy@renault.com> Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Bump to more modern version of setuptools_scm And remove v prefix from fallback version Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add space for correct syntax Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Create junction from Scripts to bin * This is handy for windows to have the same path as linux Signed-off-by: Chin Yeung Li <tli@nexb.com> * Check for deps in local thirdparty directory #31 Signed-off-by: Jono Yang <jyang@nexb.com> * Enforce use of requirements.txt #34 Signed-off-by: Jono Yang <jyang@nexb.com> * Add scripts from scancode-toolkit/etc/release/ #33 Signed-off-by: Jono Yang <jyang@nexb.com> * Normalize license in load_pkginfo_data #33 * Create copyright statement from holder information Signed-off-by: Jono Yang <jyang@nexb.com> * Add --init option to configure #33 * This is used for the case where we are starting off a project and have not yet generated requirements files Signed-off-by: Jono Yang <jyang@nexb.com> * Update README.rst #33 Signed-off-by: Jono Yang <jyang@nexb.com> * Use venv as virtual environment directory name #37 * Replace all references to `tmp` with `venv` Signed-off-by: Jono Yang <jyang@nexb.com> * Update configure.bat #33 * Add --init option to configure.bat * Update help text in configure and configure.bat Signed-off-by: Jono Yang <jyang@nexb.com> * Add placeholder requirements.txt files #33 Signed-off-by: Jono Yang <jyang@nexb.com> * Handle multiple options in configure #33 Signed-off-by: Jono Yang <jyang@nexb.com> * Fix path to aboutcode in utils_thirdparty.py #33 * Update README.rst Signed-off-by: Jono Yang <jyang@nexb.com> * Update release notes in README.rst Signed-off-by: Jono Yang <jyang@nexb.com> * Handle ExpressionParseError #33 * Update README.rst with instructions for post-initialization usage Signed-off-by: Jono Yang <jyang@nexb.com> * Update README.rst Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Address review comments #33 * Replace references to scancode-toolkit repo with links to the skeleton repo * Remove --python option from configure.bat Signed-off-by: Jono Yang <jyang@nexb.com> * Update READMEs Signed-off-by: Jono Yang <jyang@nexb.com> * Fixed #41 - Handled encoding issue when generating ABOUT files Signed-off-by: Chin Yeung Li <tli@nexb.com> * Treat text files as text And not a possible binaries Also Ensure that we craft a minimally parsable license expression, even if not correct. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add helper to publish files in GH releases The upload is otherwise shaky. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add code to use curl if wget is not installed Signed-off-by: Chin Yeung Li <tli@nexb.com> * Do not issue warning if thirdparty dir is missing Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Handle as_text correctly in cache Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Handle as_text correctly in cache Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add support for Python 3.10 Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Adopt black style Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Drop Ubuntu 16 add Python 3.10 Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Disable Python 3.10 tests on macOS 10.14 Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add code to remove the symlink before creating * It will prompts "Cannot create a file when that file already exists." if the symlink already exist. Signed-off-by: Chin Yeung Li <tli@nexb.com> * Improve handling licenses without scancode Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add support for deb and rpm containers Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Support licenses when ScanCode is not installed Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Improve wheel build Allow to launch builds and then fetch built wheels later Improve support for newer Pythons and OS versions. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Aligne with latest ScanCode TK updates Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Do not ignore setup.py Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Update scripts Make fetch_built_wheel work Add new strip classifiers option to fix_thirdparty Improve simple requirements parsing to get the latest versions Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Do not use pytest 7.0.0 which is buggy Reference: pytest-dev/pytest#9608 Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Update `configure` to work with space in installation path Signed-off-by: Chin Yeung Li <tli@nexb.com> * Remove echo statement Signed-off-by: Chin Yeung Li <tli@nexb.com> * automate pypi release on a tag Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com> * Refine GH Action definition * Do not use explicit references to Python version and project name in descriptions * Use Python 3.8 as a base * Use only plain ASCII Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format GH action yaml The indentations were not correct Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Use verbose name for job Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add black codestyle test for skeleton - see aboutcode-org/skeleton#54 Signed-off-by: keshav-space <keshav6240@gmail.com> * Update configure.bat Signed-off-by: Chin Yeung Li <tli@nexb.com> * Deprecate windows-2016 images for azure CI Modifies the azure CI for `vs2017-win2016` to `windows-2022` as the former will be deprecated very soon. * Remove macos 10.14 job from azure-pipelines.yml Signed-off-by: Jono Yang <jyang@nexb.com> * Do not use Python 3.6 on Windows 2022 jobs * Python 3.6 is not available on Windows 2022 images Signed-off-by: Jono Yang <jyang@nexb.com> * Deprecate windows-2016 images for azure CI * Modifies the azure CI for `vs2017-win2016` to `windows-2022` as the former will be deprecated very soon. Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Remove macos 10.14 job from azure-pipelines.yml Signed-off-by: Jono Yang <jyang@nexb.com> * Do not use Python 3.6 on Windows 2022 jobs * Python 3.6 is not available on Windows 2022 images Signed-off-by: Jono Yang <jyang@nexb.com> * Run tests on macOS 11 Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Align configuration scripts on POSIX and Windows Doing so helps with keeping them in sync Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Update README Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refactor and streamline thirdparty utilities There is now a single primary script "fetch_thirdparty.py" that handles everything in a simplified way. There is no utility to build wheels anymore: these MUST be available before hand on PyPI or built manually and uploaded in our self-hosted PyPI repository. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Cleanup whitespaces Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add usage instructions to README.rst Signed-off-by: Jono Yang <jyang@nexb.com> * Format code Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Reorg setup sections This is now organized with more important data first. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Do not depend on click. Use argparse. These boostrap scripts cannot depend on click. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Correct configure scripts These were no longer working Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Remove remnants of configure --init This does not exists anymore Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Pytyon 3.6 is not available on Windows 2022 Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add long_description_content_type Twine and PyPI prefer having it. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Run fewer Azure jobs This new configuration means that all the Python versions are tested in a single CI job. This allows doing fewer checkouts and improves CI throughput overall. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add RTD css templates Adds changes to conf.py and html template theme_overrides.css created by @johnmhoran Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Add GitHub action for doc build tests Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Fix conf.py to fix doc build Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Add docs option in configure Adds a --docs option to the configure script to also install requirements for the documentation builds. Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Add documentation contribute page Adds documentation page on contributing to the docs, and also modifies directory structure to avoid having the skeleton directory in docs merged in projects. Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Properly check for existance of thirdparty dir Signed-off-by: Jono Yang <jyang@nexb.com> * Improve GH action documentation Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Use Python 3.9 as a base for actions Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Remove variable from string in fetch_thirdparty.py * The variable `environment` is not used when fetching sdists Signed-off-by: Jono Yang <jyang@nexb.com> * Improve thirdparty scripts Ensure that site-package dir exists. Other minor adjustments from a scancode-toolkit release Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Update thirdparty fetching utilities These were buggy in some corner cases. They have been updated such that: * --latest-version works. * we can reliable fetch combinations of wheels and sdists for multiple OS combos at once * we now support macOS universal wheels (for ARM CPUs) Caching is now simpler: we have essentially a single file-based cache under .cache. PyPI indexes are fetched and not cached, unless the new --use-cached-index is used which can be useful when fetching many thirdparty in a short timeframe. The first PyPI repository in a list has precendence and we never fetch from other repositories if we find wheels and sdsists there. This avoid pounding too much on the self-hosted repo. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format code with black Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Only use PyPI for downloads This is much faster Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Enable automatic release on tag Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Remove Travis config Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add ScanCode Code of Conduct Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Improve detection of thirdparty dir Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add comment Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Remove the thirdparty directory Signed-off-by: Chin Yeung Li <tli@nexb.com> * Update the azure-piprlines The following images are deprecated in GitHub actions and Azure DevOps: * `ubuntu-18.04` : actions/runner-images#6002 * `macos-10.15` : actions/runner-images#5583 Due to this there was failing tests due to planned brownouts. Updated ubuntu18 to ubuntu22 Updated macos-1015 to macos12 Signed-off-by: Chin Yeung Li <tli@nexb.com> * Add missing os import in utils_requirements.py * Rename references to etc/release with etc/scripts Signed-off-by: Jono Yang <jyang@nexb.com> * Reinstate Ubuntu 18 and drop Python 3.6 and 3.7 3.7 is not available anymore on newer OSes and is retired in 2023. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Replace packaging with packvers * import update in src/scripts/utils_dejacode * Packvers replacing packaging in other src/scripts * Added packvers in src/scripts/requirments.txt Signed-off-by: swastik <swastkk@gmail.com> * Ignore egginfo Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Drop Python 3.7 add Python 3.11 Also test on latest Ubuntu and macOS Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Clean .cache and .eggs Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add COC to redistributed license-like files Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add new Makefile Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Align scripts with latest ScanCode Toolkit Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add pycodestyle in setup.cfg Signed-off-by: Arnav Mandal <arnav.mandal1234@gmail.com> * Remove deprecated github-actions/azure images - remove deprecated `ubuntu-18.04` image - remove deprecated `macos-10.15` image Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Pin Sphinx version to 6.2.1 Signed-off-by: Jono Yang <jyang@nexb.com> * Publish PDF version of RTD documentation Made changes in the .readthedocs.yaml to enable format for downloading pdf and epub versions of the documentation and added latex_elements in the conf.py file which generates the pdf without blank pages. The minimum version requirement for sphinx was 6.2.1 which was causing build failure in read the docs, hence changing it 3.3.1 as written in setup.cfg of nexB/aboutcode Signed-off-by: Arijit De <arijitde2050@gmail.com> * Bump github actions versions #75 Update the following actions: * actions/checkout * actions/setup-python Reference: aboutcode-org/skeleton#75 Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Update github actions Reference: aboutcode-org/skeleton#75 Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Update RTD buil Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Fix unordered lists issue Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Add redirects for docs Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Create script to update repo skeleton #80 Signed-off-by: Jono Yang <jyang@nexb.com> * Add macOS-13 job in azure-pipelines.yml Signed-off-by: Jono Yang <jyang@nexb.com> * Added docs server script, dark mode & copybutton for docs Signed-off-by: Omkar Phansopkar <omkarphansopkar@gmail.com> * Update CSS to widen page and handle mobile #84 Reference: aboutcode-org/skeleton#84 Signed-off-by: John M. Horan <johnmhoran@gmail.com> * Delete theme_overrides_SUPERSEDED.css as no longer needed #84 Reference: aboutcode-org/skeleton#84 Signed-off-by: John M. Horan <johnmhoran@gmail.com> * Fix top padding for rst content Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Update CI runners and python version Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Replace deprecated macos CI runners Replace macos-11 runners with macos-14 runners. Reference: https://github.com/actions/runner-images?tab=readme-ov-file#available-images Reference: aboutcode-org/skeleton#89 Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Update minimum required python version to 3.8 Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Update link references of ownership from nexB to aboutcode-org Signed-off-by: Chin Yeung Li <tli@nexb.com> * Drop deprecated macos-12 runner * Update CI/Actions runners Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Replace black and isort with ruff * Use ruff config and Make commands from scancode.io Signed-off-by: Jono Yang <jyang@nexb.com> * Use org standard 100 line length Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Lint all common code directories Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Remove unused targets Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Improve import sorting Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Apply small code updates Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format code Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Apply cosmetic refactorings Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Reformat test code Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format code Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refine ruff configuration Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format doc Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Run doc8 on all rst files Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Enable doc style checks Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add support for new OS versions Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Update scripts aboutcode references Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Do not format more test data Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Do not treat rst as Python Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Combine testing and docs extra for simplicity Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refine checking of docs with doc8 Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refine doc handling * remove CI scripts and use Makefile targets instead * ensure doc8 runs quiet * add new docs-check make target to run documentation and links checks * update oudated doc for docs contribution Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add twine check to release publication Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refine doc contribution docs Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Replace black and isort with ruff * Use ruff config and Make commands from scancode.io Signed-off-by: Jono Yang <jyang@nexb.com> * Use org standard 100 line length Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Lint all common code directories Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Remove unused targets Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Improve import sorting Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Apply small code updates Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format code Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Apply cosmetic refactorings Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Reformat test code Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format code Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refine ruff configuration Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format doc Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Run doc8 on all rst files Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Enable doc style checks Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Do not format more test data Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Do not treat rst as Python Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Combine testing and docs extra for simplicity Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refine checking of docs with doc8 Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refine doc handling * remove CI scripts and use Makefile targets instead * ensure doc8 runs quiet * add new docs-check make target to run documentation and links checks * update oudated doc for docs contribution Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add twine check to release publication Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Refine doc contribution docs Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Update codestyle command * Remove trailing whitespace Signed-off-by: Jono Yang <jyang@nexb.com> * Update README.rst Signed-off-by: Jono Yang <jyang@nexb.com> * Update BUILDDIR envvar in docs/Makefile Signed-off-by: Jono Yang <jyang@nexb.com> * Fix doc line length Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Format code Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Correct supported runner on Azure See for details: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml macOS ARM images do not seem to be supported there Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add code checks to CI Remove running "make check" as a test Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Revert support for Python 3.13 This is not yet supported everywhere Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Ignore local .env file Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add correct extras for documentation Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Improve MANIFEST Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Improve cleaning on POSIX Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Rename dev extra to "dev" Instead of testing ... and update references accordingly Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add more excludes from tests Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Do not lint django migrations Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Add README.rst to list of "license files" Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Use Python 3.9 as lowest suupported version Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Drop pycodestyle Not used anymore Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Bump pytest minimal version Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> * Update CI runners and scripts Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Add missing wheel builds on release CI Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Drop python3.9 support and add python 3.14 Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Support trusted-publishing for package releases Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Update RTD build python version Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> * Add initial code Signed-off-by: Jono Yang <jyang@nexb.com> * Add initial purl map Signed-off-by: Jono Yang <jyang@nexb.com> * Remove functions to create PurlValidator from purl list * This was done for dev purposes Signed-off-by: Jono Yang <jyang@nexb.com> * Remove unnecessary code Signed-off-by: Jono Yang <jyang@nexb.com> * Update comments Signed-off-by: Jono Yang <jyang@nexb.com> * Update AUTHORS.rst Signed-off-by: Jono Yang <jyang@nexb.com> * Update requirements.txt Signed-off-by: Jono Yang <jyang@nexb.com> * Add tests Signed-off-by: Jono Yang <jyang@nexb.com> * Update formatting Signed-off-by: Jono Yang <jyang@nexb.com> --------- Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com> Signed-off-by: Chin Yeung Li <tli@nexb.com> Signed-off-by: Jono Yang <jyang@nexb.com> Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com> Signed-off-by: keshav-space <keshav6240@gmail.com> Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> Signed-off-by: swastik <swastkk@gmail.com> Signed-off-by: Arnav Mandal <arnav.mandal1234@gmail.com> Signed-off-by: Arijit De <arijitde2050@gmail.com> Signed-off-by: Omkar Phansopkar <omkarphansopkar@gmail.com> Signed-off-by: John M. Horan <johnmhoran@gmail.com> Co-authored-by: Philippe Ombredanne <pombredanne@nexb.com> Co-authored-by: Chin Yeung Li <tli@nexb.com> Co-authored-by: Tushar Goel <tushar.goel.dav@gmail.com> Co-authored-by: Philippe Ombredanne <pombredanne@gmail.com> Co-authored-by: keshav-space <keshav6240@gmail.com> Co-authored-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com> Co-authored-by: swastik <swastkk@gmail.com> Co-authored-by: Arnav Mandal <arnav.mandal1234@gmail.com> Co-authored-by: Arijit De <arijitde2050@gmail.com> Co-authored-by: Omkar Phansopkar <omkarphansopkar@gmail.com> Co-authored-by: John M. Horan <johnmhoran@gmail.com> Co-authored-by: Keshav Priyadarshi <git@keshav.space>
1 parent 1025684 commit 9bc3e43

17 files changed

Lines changed: 282 additions & 33 deletions

.github/workflows/pypi-release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ jobs:
7171
needs:
7272
- create-gh-release
7373
runs-on: ubuntu-24.04
74+
environment: pypi-publish
75+
permissions:
76+
id-token: write
7477

7578
steps:
7679
- name: Download built archives
@@ -82,5 +85,3 @@ jobs:
8285
- name: Publish to PyPI
8386
if: startsWith(github.ref, 'refs/tags')
8487
uses: pypa/gh-action-pypi-publish@release/v1
85-
with:
86-
password: ${{ secrets.PYPI_API_TOKEN }}

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ version: 2
99
build:
1010
os: ubuntu-22.04
1111
tools:
12-
python: "3.11"
12+
python: "3.13"
1313

1414
# Build PDF & ePub
1515
formats:

AUTHORS.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
The following organizations or individuals have contributed to this repo:
22

3-
-
3+
- Michael Herzog
4+
- Philippe Ombredanne
5+
- Jono Yang

README.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
purl-validator
22
================================
33

4-
PURLs are everywhere in SBOMs. But with adoption comes widespread errors.
4+
PURLs are everywhere in SBOMs. But with adoption comes widespread errors.
55
A recent study on the quality of SBOMs revealed that for many proprietary and
6-
open source tools, PURLs in SBOMs are inconsistent, fake, incorrect, or
7-
misleading. This is a serious problem to any application of SBOMs for
8-
cybersecurity and application security, as well as related compliance
9-
regulations. This project is to create a PURL validator that's decentralized
6+
open source tools, PURLs in SBOMs are inconsistent, fake, incorrect, or
7+
misleading. This is a serious problem to any application of SBOMs for
8+
cybersecurity and application security, as well as related compliance
9+
regulations. This project is to create a PURL validator that's decentralized
1010
such that libraries can use it offline and help them create better PURLs.
1111

12-
Building this compact dataset is new territory. There is research
13-
and exploration necessary for creating a super compact data structure
14-
that is also easy and fast to query across multiple languages. The data
12+
Building this compact dataset is new territory. There is research
13+
and exploration necessary for creating a super compact data structure
14+
that is also easy and fast to query across multiple languages. The data
1515
structure will also need memory-mapping to avoid running out of memory.

azure-pipelines.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,54 +19,54 @@ jobs:
1919
parameters:
2020
job_name: ubuntu22_cpython
2121
image_name: ubuntu-22.04
22-
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
22+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
2323
test_suites:
2424
all: venv/bin/pytest -n 2 -vvs
2525

2626
- template: etc/ci/azure-posix.yml
2727
parameters:
2828
job_name: ubuntu24_cpython
2929
image_name: ubuntu-24.04
30-
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
30+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
3131
test_suites:
3232
all: venv/bin/pytest -n 2 -vvs
3333

3434
- template: etc/ci/azure-posix.yml
3535
parameters:
3636
job_name: macos13_cpython
3737
image_name: macOS-13
38-
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
38+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
3939
test_suites:
4040
all: venv/bin/pytest -n 2 -vvs
4141

4242
- template: etc/ci/azure-posix.yml
4343
parameters:
4444
job_name: macos14_cpython
4545
image_name: macOS-14
46-
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
46+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
4747
test_suites:
4848
all: venv/bin/pytest -n 2 -vvs
4949

5050
- template: etc/ci/azure-posix.yml
5151
parameters:
5252
job_name: macos15_cpython
5353
image_name: macOS-15
54-
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
54+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
5555
test_suites:
5656
all: venv/bin/pytest -n 2 -vvs
5757

5858
- template: etc/ci/azure-win.yml
5959
parameters:
6060
job_name: win2022_cpython
6161
image_name: windows-2022
62-
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
62+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
6363
test_suites:
6464
all: venv\Scripts\pytest -n 2 -vvs
6565

6666
- template: etc/ci/azure-win.yml
6767
parameters:
6868
job_name: win2025_cpython
6969
image_name: windows-2025
70-
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
70+
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
7171
test_suites:
7272
all: venv\Scripts\pytest -n 2 -vvs

etc/scripts/utils_requirements.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def split_req(req):
153153
if not req:
154154
raise ValueError("req is required")
155155
# do not allow multiple constraints and tags
156-
if not any(c in req for c in ",;"):
156+
if any(c in req for c in ",;"):
157157
raise Exception(f"complex requirements with : or ; not supported: {req}")
158158
req = "".join(req.split())
159159
if not any(c in req for c in comparators):

etc/scripts/utils_thirdparty.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,14 @@
115115
TRACE_ULTRA_DEEP = False
116116

117117
# Supported environments
118-
PYTHON_VERSIONS = "39", "310", "311", "312", "313"
118+
PYTHON_VERSIONS = "310", "311", "312", "313", "314"
119119

120120
PYTHON_DOT_VERSIONS_BY_VER = {
121-
"39": "3.9",
122121
"310": "3.10",
123122
"311": "3.11",
124123
"312": "3.12",
125124
"313": "3.13",
125+
"314": "3.14",
126126
}
127127

128128

@@ -134,11 +134,11 @@ def get_python_dot_version(version):
134134

135135

136136
ABIS_BY_PYTHON_VERSION = {
137-
"39": ["cp39", "cp39m", "abi3"],
138137
"310": ["cp310", "cp310m", "abi3"],
139138
"311": ["cp311", "cp311m", "abi3"],
140139
"312": ["cp312", "cp312m", "abi3"],
141140
"313": ["cp313", "cp313m", "abi3"],
141+
"314": ["cp314", "cp314m", "abi3"],
142142
}
143143

144144
PLATFORMS_BY_OS = {

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["setuptools >= 50", "wheel", "setuptools_scm[toml] >= 6"]
2+
requires = ["setuptools >= 50", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[tool.setuptools_scm]
@@ -68,7 +68,7 @@ include = [
6868
"."
6969

7070
]
71-
# ignore test data and testfiles: they should never be linted nor formatted
71+
# ignore test data and testfiles: they should never be linted nor formatted
7272
exclude = [
7373
# main style
7474
"**/tests/data/**/*",

requirements-dev.txt

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
aboutcode-toolkit==11.1.1
2+
alabaster==1.0.0
3+
anyio==4.11.0
4+
babel==2.17.0
5+
boolean.py==5.0
6+
cffi==2.0.0
7+
colorama==0.4.6
8+
cryptography==46.0.3
9+
doc8==2.0.0
10+
docutils==0.21.2
11+
et_xmlfile==2.0.0
12+
execnet==2.1.1
13+
h11==0.16.0
14+
id==1.5.0
15+
imagesize==1.4.1
16+
iniconfig==2.3.0
17+
jaraco.classes==3.4.0
18+
jaraco.context==6.0.1
19+
jaraco.functools==4.3.0
20+
jeepney==0.9.0
21+
jinja2==3.1.6
22+
keyring==25.6.0
23+
license-expression==30.4.4
24+
markdown-it-py==4.0.0
25+
markupsafe==3.0.3
26+
mdurl==0.1.2
27+
more-itertools==10.8.0
28+
nh3==0.3.1
29+
openpyxl==3.1.5
30+
packageurl-python==0.17.5
31+
packaging==25.0
32+
pluggy==1.6.0
33+
pycparser==2.23
34+
pygments==2.19.2
35+
pytest==8.4.2
36+
pytest-xdist==3.8.0
37+
readme_renderer==44.0
38+
requests-toolbelt==1.0.0
39+
restructuredtext_lint==1.4.0
40+
rfc3986==2.0.0
41+
rich==14.2.0
42+
roman-numerals-py==3.1.0
43+
ruff==0.14.2
44+
secretstorage==3.4.0
45+
sniffio==1.3.1
46+
snowballstemmer==3.0.1
47+
sphinx==8.2.3
48+
sphinx-autobuild==2025.8.25
49+
sphinx-copybutton==0.5.2
50+
sphinx-reredirects==1.0.0
51+
sphinx-rtd-dark-mode==1.3.0
52+
sphinx-rtd-theme==3.0.2
53+
sphinxcontrib-applehelp==2.0.0
54+
sphinxcontrib-devhelp==2.0.0
55+
sphinxcontrib-htmlhelp==2.1.0
56+
sphinxcontrib-jquery==4.1
57+
sphinxcontrib-jsmath==1.0.1
58+
sphinxcontrib-qthelp==2.0.0
59+
sphinxcontrib-serializinghtml==2.0.0
60+
starlette==0.48.0
61+
stevedore==5.5.0
62+
twine==6.2.0
63+
uvicorn==0.38.0
64+
watchfiles==1.1.1
65+
websockets==15.0.1

requirements.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
attrs==25.4.0
2+
beautifulsoup4==4.14.2
3+
certifi==2025.10.5
4+
chardet==5.2.0
5+
charset-normalizer==3.4.4
6+
click==8.3.0
7+
commoncode==32.4.0
8+
ducer==1.2.0
9+
idna==3.11
10+
pip==25.2
11+
PyYAML==6.0.3
12+
requests==2.32.5
13+
saneyaml==0.6.1
14+
setuptools==80.9.0
15+
soupsieve==2.8
16+
text-unidecode==1.3
17+
typing_extensions==4.15.0
18+
urllib3==2.5.0

0 commit comments

Comments
 (0)