diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml new file mode 100644 index 0000000..e828331 --- /dev/null +++ b/.github/workflows/codeql.yaml @@ -0,0 +1,44 @@ +name: CodeQL Extended + +on: + pull_request: + schedule: + - cron: '0 9 * * 1' # Monday morning at 9am + +jobs: + analyze: + name: Analyze Python code + runs-on: ubuntu-latest + timeout-minutes: 360 + permissions: + security-events: write + packages: read + actions: read + contents: read + + strategy: + fail-fast: false + matrix: + python-version: [3.11, 3.12, 3.13] + + steps: + - uses: actions/checkout@v5 + + # Set up Python for each version specified in the matrix + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + # Initialize CodeQL with the current Python version + - name: Initialize CodeQL + uses: github/codeql-action/init@v4 + with: + languages: python + build-mode: none + queries: security-extended + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v4 + with: + category: "/language:python" \ No newline at end of file diff --git a/csvw-safe-library/README.md b/csvw-safe-library/README.md index efb8b45..bc9f458 100644 --- a/csvw-safe-library/README.md +++ b/csvw-safe-library/README.md @@ -1,5 +1,16 @@ # CSVW-SAFE Utility Library +![GitHub License](https://img.shields.io/github/license/dscc-admin-ch/csvw-safe) + +![PyPI - Python Version](https://img.shields.io/pypi/pyversions/csvw-safe) +[![Documentation](https://img.shields.io/badge/docs-Read%20the%20Docs-blue)](https://dscc-admin-ch.github.io/csvw-safe-docs/index.html) + +[![Coverage](https://raw.githubusercontent.com/dscc-admin-ch/csvw-safe/python-coverage-comment-action-data/badge.svg)](https://htmlpreview.github.io/?https://github.com/dscc-admin-ch/csvw-safe/blob/python-coverage-comment-action-data/htmlcov/index.html) + +[![CodeQL](https://github.com/dscc-admin-ch/csvw-safe/actions/workflows/codeql.yml/badge.svg)](https://github.com/dscc-admin-ch/csvw-safe/actions/workflows/codeql.yml) + +[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) + This library provides Python utilities for generating, validating, and testing CSVW-SAFE metadata and associated dummy datasets for differential privacy (DP) development and safe data modeling workflows. It includes five main scripts: