oe-python-template-example 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. oe_python_template_example-0.0.1/.act-env +2 -0
  2. oe_python_template_example-0.0.1/.act-secret +1 -0
  3. oe_python_template_example-0.0.1/.copier-answers.yml +21 -0
  4. oe_python_template_example-0.0.1/.devcontainer/Dockerfile +7 -0
  5. oe_python_template_example-0.0.1/.devcontainer/devcontainer.json +52 -0
  6. oe_python_template_example-0.0.1/.devcontainer/onCreateCommand +9 -0
  7. oe_python_template_example-0.0.1/.devcontainer/postAttachCommand +4 -0
  8. oe_python_template_example-0.0.1/.devcontainer/postCreateCommand +4 -0
  9. oe_python_template_example-0.0.1/.env.example +1 -0
  10. oe_python_template_example-0.0.1/.github/workflows/docker-image-build-publish.yml +74 -0
  11. oe_python_template_example-0.0.1/.github/workflows/package-build-publish-release.yml +61 -0
  12. oe_python_template_example-0.0.1/.github/workflows/test-and-report.yml +113 -0
  13. oe_python_template_example-0.0.1/.gitignore +72 -0
  14. oe_python_template_example-0.0.1/.pre-commit-config.yaml +60 -0
  15. oe_python_template_example-0.0.1/.python-version +1 -0
  16. oe_python_template_example-0.0.1/.readthedocs.yml +36 -0
  17. oe_python_template_example-0.0.1/.secrets.baseline +127 -0
  18. oe_python_template_example-0.0.1/.vscode/extensions.json +28 -0
  19. oe_python_template_example-0.0.1/.vscode/settings.json +75 -0
  20. oe_python_template_example-0.0.1/CHANGELOG.md +0 -0
  21. oe_python_template_example-0.0.1/CODEOWNERS +3 -0
  22. oe_python_template_example-0.0.1/CONTRIBUTING.md +120 -0
  23. oe_python_template_example-0.0.1/Dockerfile +39 -0
  24. oe_python_template_example-0.0.1/LICENSE +21 -0
  25. oe_python_template_example-0.0.1/PKG-INFO +288 -0
  26. oe_python_template_example-0.0.1/README.md +229 -0
  27. oe_python_template_example-0.0.1/SERVICE_CONNECTIONS.md +62 -0
  28. oe_python_template_example-0.0.1/VERSION +1 -0
  29. oe_python_template_example-0.0.1/_readme_footer.md +15 -0
  30. oe_python_template_example-0.0.1/_readme_header.md +29 -0
  31. oe_python_template_example-0.0.1/_readme_main.md +181 -0
  32. oe_python_template_example-0.0.1/bump +3 -0
  33. oe_python_template_example-0.0.1/codecov.yml +11 -0
  34. oe_python_template_example-0.0.1/compose.yaml +13 -0
  35. oe_python_template_example-0.0.1/docs/Makefile +20 -0
  36. oe_python_template_example-0.0.1/docs/make.bat +35 -0
  37. oe_python_template_example-0.0.1/docs/source/_static/.keep +0 -0
  38. oe_python_template_example-0.0.1/docs/source/conf.py +124 -0
  39. oe_python_template_example-0.0.1/docs/source/contributing.rst +1 -0
  40. oe_python_template_example-0.0.1/docs/source/index.rst +36 -0
  41. oe_python_template_example-0.0.1/docs/source/latexmkrc +11 -0
  42. oe_python_template_example-0.0.1/docs/source/main.rst +2 -0
  43. oe_python_template_example-0.0.1/docs/source/reference.rst +5 -0
  44. oe_python_template_example-0.0.1/docs/source/release-notes.rst +4 -0
  45. oe_python_template_example-0.0.1/examples/__init__.py +1 -0
  46. oe_python_template_example-0.0.1/examples/notebook.ipynb +46 -0
  47. oe_python_template_example-0.0.1/examples/notebook.py +18 -0
  48. oe_python_template_example-0.0.1/examples/script.py +13 -0
  49. oe_python_template_example-0.0.1/examples/streamlit.py +30 -0
  50. oe_python_template_example-0.0.1/github-action-run +4 -0
  51. oe_python_template_example-0.0.1/latexmkrc +11 -0
  52. oe_python_template_example-0.0.1/logo.png +0 -0
  53. oe_python_template_example-0.0.1/noxfile.py +113 -0
  54. oe_python_template_example-0.0.1/pyproject.toml +360 -0
  55. oe_python_template_example-0.0.1/sonar-project.properties +12 -0
  56. oe_python_template_example-0.0.1/src/oe_python_template_example/__init__.py +15 -0
  57. oe_python_template_example-0.0.1/src/oe_python_template_example/cli.py +55 -0
  58. oe_python_template_example-0.0.1/src/oe_python_template_example/constants.py +10 -0
  59. oe_python_template_example-0.0.1/src/oe_python_template_example/service.py +25 -0
  60. oe_python_template_example-0.0.1/tests/__init__.py +1 -0
  61. oe_python_template_example-0.0.1/tests/cli_test.py +39 -0
  62. oe_python_template_example-0.0.1/tests/fixtures/.keep +0 -0
  63. oe_python_template_example-0.0.1/uv.lock +3939 -0
@@ -0,0 +1,2 @@
1
+ GITLAB_WORKFLOW_RUNTIME=ACT
2
+ ACTIONS_RUNTIME_TOKEN=TOKEN
@@ -0,0 +1 @@
1
+ ACTIONS_RUNTIME_TOKEN=TOKEN
@@ -0,0 +1,21 @@
1
+ _commit: v0.1.4-1-g94fa56b
2
+ _src_path: .
3
+ author_email: helmuthva@gmail.com
4
+ author_github_username: helmut-hoffer-von-ankershoffen
5
+ author_name: Helmut Hoffer von Ankershoffen
6
+ docker_io_image_name: oe-python-template-example
7
+ docker_io_owner: helmut-hoffer-von-ankershoffen
8
+ github_repository_name: oe-python-template-example
9
+ github_repository_owner: helmut-hoffer-von-ankershoffen
10
+ github_repository_url_https: https://github.com/helmut-hoffer-von-ankershoffen/oe-python-template-example
11
+ github_repository_url_ssh: git@github.com:helmut-hoffer-von-ankershoffen/oe-python-template-example.git
12
+ org_email: helmuthva@gmail.com
13
+ org_name: Helmut Hoffer von Ankershoffen
14
+ project_description: Example project scaffolded and kept up to date with OE Python
15
+ Template (oe-python-template).
16
+ project_icon: 🧠
17
+ project_name: OE Python Template Example
18
+ pypi_distribution_name: oe-python-template-example
19
+ readthedocs_project_key: oe-python-template-example
20
+ sonarqube_key: helmut-hoffer-von-ankershoffen_oe-python-template-example
21
+ streamlit_project_key: oe-python-template-example
@@ -0,0 +1,7 @@
1
+ FROM mcr.microsoft.com/devcontainers/python:1-3.11-bullseye
2
+
3
+ RUN curl --proto '=https' --tlsv1.2 -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
4
+ apt update -y && \
5
+ apt install -y --no-install-recommends curl gnupg2 jq less nano nodejs procps psmisc && \
6
+ apt-get clean && \
7
+ rm -rf /var/lib/apt/lists/*
@@ -0,0 +1,52 @@
1
+ {
2
+ "build": {
3
+ "dockerfile": "Dockerfile"
4
+ },
5
+ "features": {
6
+ "ghcr.io/devcontainers/features/github-cli:1": {},
7
+ "ghcr.io/va-h/devcontainers-features/uv:1": {},
8
+ "ghcr.io/dhoeric/features/act:1": {},
9
+ "ghcr.io/devcontainers/features/docker-in-docker:2": {},
10
+ "ghcr.io/devcontainers/features/java:1": {},
11
+ "ghcr.io/devcontainers/features/node:1": {}
12
+ },
13
+ "onCreateCommand": ".devcontainer/onCreateCommand",
14
+ "postCreateCommand": ".devcontainer/postCreateCommand",
15
+ "postAttachCommand": ".devcontainer/postAttachCommand",
16
+ "customizations": {
17
+ // Configure properties specific to VS Code.
18
+ "vscode": {
19
+ // Add the IDs of extensions you want installed when the container is created.
20
+ "extensions": [
21
+ "charliermarsh.ruff",
22
+ "codecov.codecov",
23
+ "donjayamanne.python-environment-manager",
24
+ "elagil.pre-commit-helper",
25
+ "fill-labs.dependi",
26
+ "github.vscode-github-actions",
27
+ "github.copilot",
28
+ "github.copilot-chat",
29
+ "gruntfuggly.todo-tree",
30
+ "joshrmosier.streamlit-runner",
31
+ "kaih2o.python-resource-monitor",
32
+ "marimo-team.vscode-marimo",
33
+ "mikestead.dotenv",
34
+ "ms-azuretools.vscode-docker",
35
+ "ms-python.debugpy",
36
+ "ms-python.python",
37
+ "ms-python.vscode-pylance",
38
+ "ms-toolsai.jupyter",
39
+ "oderwat.indent-rainbow",
40
+ "samuelcolvin.jinjahtml",
41
+ "sonarsource.sonarlint-vscode",
42
+ "tamasfe.even-better-toml",
43
+ "tomoki1207.pdf",
44
+ "wayou.vscode-todo-highlight"
45
+ ]
46
+ }
47
+ },
48
+ "mounts": [
49
+ "source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,type=bind,consistency=cached"
50
+ ],
51
+ "forwardPorts": []
52
+ }
@@ -0,0 +1,9 @@
1
+ #!/bin/sh
2
+
3
+ echo "onCreateCommand: start"
4
+ git config --global --add safe.directory /workspaces/
5
+ rm -rf .nox
6
+ rm -rf .venv
7
+ uv sync --frozen
8
+ uv run pre-commit install
9
+ echo "onCreateCommand: end"
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+
3
+ echo "postAttachCommand:start"
4
+ echo "postAttachCommand:end"
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+
3
+ echo "postCreateCommand:start"
4
+ echo "postCreateCommand:end"
@@ -0,0 +1 @@
1
+ THE_KEY=A value
@@ -0,0 +1,74 @@
1
+ name: "Build and publish Docker image to docker.io and ghcr.io"
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+
8
+ env:
9
+ REGISTRY: docker.io
10
+ IMAGE_NAME: helmut-hoffer-von-ankershoffen/oe-python-template-example
11
+
12
+
13
+ jobs:
14
+ docker_image_build_publish:
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ packages: write
18
+ contents: read
19
+ attestations: write
20
+ id-token: write
21
+ steps:
22
+ - name: Checkout
23
+ uses: actions/checkout@v4
24
+
25
+ - name: Set up QEMU
26
+ uses: docker/setup-qemu-action@v3
27
+
28
+ - name: Set up Docker Buildx
29
+ uses: docker/setup-buildx-action@v3
30
+
31
+ - name: Log in to Docker Hub
32
+ uses: docker/login-action@v3
33
+ with:
34
+ username: ${{ secrets.DOCKER_USERNAME }}
35
+ password: ${{ secrets.DOCKER_PASSWORD }}
36
+
37
+ - name: Log in to GitHub container registry
38
+ uses: docker/login-action@v3
39
+ with:
40
+ registry: ghcr.io
41
+ username: ${{ github.actor }}
42
+ password: ${{ secrets.GITHUB_TOKEN }}
43
+ - name: Extract metadata (tags, labels) for Docker
44
+ id: meta
45
+ uses: docker/metadata-action@v5
46
+ with:
47
+ images: |
48
+ ${{ env.IMAGE_NAME }}
49
+ ghcr.io/${{ github.repository }}
50
+ tags: |
51
+ # set latest tag for releases
52
+ type=raw,value=latest
53
+ # set semver tags from git tags (v1.2.3 -> 1.2.3, 1.2, 1)
54
+ type=semver,pattern={{version}}
55
+ type=semver,pattern={{major}}.{{minor}}
56
+ type=semver,pattern={{major}}
57
+
58
+ - name: Build and push Docker image
59
+ id: push
60
+ uses: docker/build-push-action@v6
61
+ with:
62
+ context: .
63
+ file: ./Dockerfile
64
+ platforms: linux/amd64,linux/arm64
65
+ push: true
66
+ tags: ${{ steps.meta.outputs.tags }}
67
+ labels: ${{ steps.meta.outputs.labels }}
68
+
69
+ - name: Generate artifact attestation
70
+ uses: actions/attest-build-provenance@v2
71
+ with:
72
+ subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
73
+ subject-digest: ${{ steps.push.outputs.digest }}
74
+ push-to-registry: true
@@ -0,0 +1,61 @@
1
+ name: "Build package, publish to PyPI, create GitHub release"
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+
8
+ permissions:
9
+ contents: write
10
+ packages: read
11
+
12
+ jobs:
13
+ package_build_publish_release:
14
+ environment: release
15
+ runs-on: ubuntu-latest
16
+
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v4
20
+ with:
21
+ fetch-depth: 0
22
+
23
+ - name: Generate release notes
24
+ uses: orhun/git-cliff-action@v4
25
+ id: git-cliff
26
+ with:
27
+ config: pyproject.toml
28
+ args: --verbose
29
+ env:
30
+ OUTPUT: RELEASE_NOTES.md
31
+ GITHUB_REPO: ${{ github.repository }}
32
+
33
+ - name: Print the release notes
34
+ run: cat "${{ steps.git-cliff.outputs.changelog }}"
35
+
36
+
37
+ - name: Install uv
38
+ uses: astral-sh/setup-uv@v5
39
+ with:
40
+ version: "0.5.9"
41
+ cache-dependency-glob: uv.lock
42
+ enable-cache: true
43
+
44
+ - name: Build package into dist/
45
+ run: uv build
46
+
47
+ - name: Publish package to PyPI
48
+ run: uv publish -t ${{ secrets.UV_PUBLISH_TOKEN }}
49
+
50
+ - name: Create GitHub release
51
+ env:
52
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53
+ run: |
54
+ gh release create ${{ github.ref_name }} ./dist/* --notes-file ${{ steps.git-cliff.outputs.changelog }}
55
+
56
+ - name: Allow other workflows to trigger on release
57
+ env:
58
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59
+ run: |
60
+ gh api repos/helmut-hoffer-von-ankershoffen/oe-python-template-example/dispatches \
61
+ -f event_type=release_created_programatically
@@ -0,0 +1,113 @@
1
+ name: "CI"
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - "**"
7
+ pull_request:
8
+ branches: [main]
9
+
10
+ jobs:
11
+ test:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: Checkout
15
+ uses: actions/checkout@v4
16
+ with:
17
+ fetch-depth: 0
18
+
19
+ - name: Install dependencies
20
+ run: |
21
+ sudo apt-get update && sudo apt-get install -y libcairo2
22
+
23
+ - name: Install dev tools
24
+ run: |
25
+ sudo apt-get install -y curl jq xsltproc gnupg2 libcairo2
26
+
27
+ - name: Install uv (python package manager)
28
+ uses: astral-sh/setup-uv@v5
29
+ with:
30
+ version: "0.5.9"
31
+ enable-cache: true
32
+ cache-dependency-glob: uv.lock
33
+
34
+ - uses: actions/setup-node@v4
35
+ with:
36
+ node-version: 18
37
+ - run: npm install @modelcontextprotocol/inspector@0.3.0
38
+
39
+ - name: Install Python, venv and dependencies
40
+ run: |
41
+ uv sync --all-extras --frozen --link-mode=copy
42
+
43
+ - name: Release version check
44
+ if: startsWith(github.ref, 'refs/tags/v')
45
+ run: |
46
+ TAG_VERSION=${GITHUB_REF#refs/tags/v}
47
+ TOML_VERSION=$(uv run python -c "import tomli; print(tomli.load(open('pyproject.toml', 'rb'))['project']['version'])")
48
+
49
+ if [ "$TAG_VERSION" != "$TOML_VERSION" ]; then
50
+ echo "Release version mismatch: Tag $TAG_VERSION != pyproject.toml $TOML_VERSION"
51
+ exit 1
52
+ fi
53
+
54
+ - name: Print development version info
55
+ if: s${{ !startsWith(github.ref, 'refs/tags/v') }}
56
+ run: |
57
+ TOML_VERSION=$(uv run python -c "import tomli; print(tomli.load(open('pyproject.toml', 'rb'))['project']['version'])")
58
+ echo "Development build - Current version in pyproject.toml: $TOML_VERSION"
59
+
60
+ - name: Create .env file
61
+ uses: SpicyPizza/create-envfile@v2.0
62
+ with:
63
+ envkey_ENV_KEY: "ENV_VALUE"
64
+ fail_on_empty: true
65
+
66
+ - name: Validate installation
67
+ run: |
68
+ OUTPUT=$(uv run oe-python-template-example --help)
69
+ if [[ "$OUTPUT" != *"built with love in Berlin"* ]]; then
70
+ echo "Output does not contain 'built with love in Berlin'"
71
+ exit 1
72
+ fi
73
+
74
+ - name: Smoke tests
75
+ run: |
76
+ uv run oe-python-template-example hello-world
77
+
78
+ - name: Run unit tests, measure coverage, lint, and check vulnerabilities
79
+ run: |
80
+ uv run nox
81
+
82
+ - name: Upload test results
83
+ uses: actions/upload-artifact@v4
84
+ if: ${{ always() && (env.GITLAB_WORKFLOW_RUNTIME != 'ACT') }}
85
+ with:
86
+ name: test-results
87
+ path: |
88
+ junit.xml
89
+ coverage.xml
90
+ coverage_html/
91
+ vulnerabilities.json
92
+ licenses.json
93
+ licenses-inverted.json
94
+ retention-days: 30
95
+
96
+ - name: Upload coverage reports to Codecov
97
+ uses: codecov/codecov-action@v5
98
+ if: ${{ !cancelled() && (env.GITLAB_WORKFLOW_RUNTIME != 'ACT') }}
99
+ with:
100
+ token: ${{ secrets.CODECOV_TOKEN }}
101
+ slug: helmut-hoffer-von-ankershoffen/oe-python-template-example
102
+
103
+ - name: Upload test results to Codecov
104
+ if: ${{ !cancelled() && (env.GITLAB_WORKFLOW_RUNTIME != 'ACT') }}
105
+ uses: codecov/test-results-action@v1
106
+ with:
107
+ token: ${{ secrets.CODECOV_TOKEN }}
108
+ - name: SonarQube Scan
109
+ if: ${{ !cancelled() && (env.GITLAB_WORKFLOW_RUNTIME != 'ACT') }}
110
+ uses: SonarSource/sonarqube-scan-action@v4
111
+ env:
112
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
113
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
@@ -0,0 +1,72 @@
1
+ # .gitignore of project OE Python Template Example
2
+
3
+ # Environment
4
+ .env
5
+ .env.backup
6
+ .env.bak
7
+ ENV/
8
+ env/
9
+ .envrc
10
+
11
+ # Python virtual environment
12
+ venv/
13
+ .venv/
14
+
15
+ # Python temps
16
+ *.py[cdo]
17
+ __pycache__/
18
+ *.so
19
+ *.egg
20
+ *.egg-info/
21
+ *.log
22
+ dist/
23
+ build/
24
+ eggs/
25
+ parts/
26
+ sdist/
27
+ develop-eggs/
28
+ .installed.cfg
29
+ .Python
30
+ .pytest_cache/
31
+ .ruff_cache/
32
+ .nox
33
+ .dmypy.json
34
+ .mypy_cache/
35
+
36
+
37
+ # Build Artefacts
38
+ junit.xml
39
+ .coverage*
40
+ coverage.xml
41
+ coverage_html/
42
+ vulnerabilities.json
43
+ licenses.json
44
+ licenses-inverted.json
45
+ sbom.json
46
+
47
+ # IDE
48
+ .idea/
49
+ *.swp
50
+ *.swo
51
+
52
+ # macOS
53
+ .DS_Store
54
+
55
+ # Other OS
56
+ lib/
57
+ lib64/
58
+
59
+ # Data
60
+ var/
61
+ tmp/
62
+
63
+ # Node temps
64
+ node_modules/
65
+
66
+ # AI workflow
67
+ .fixme
68
+
69
+ # Copier
70
+ *.rej
71
+
72
+ # Application specific
@@ -0,0 +1,60 @@
1
+ # .pre-commit-config.yaml
2
+ default_install_hook_types:
3
+ - pre-commit
4
+ - post-checkout
5
+ - post-merge
6
+ - post-rewrite
7
+ fail_fast: true
8
+ repos:
9
+ - repo: https://github.com/pre-commit/pre-commit-hooks
10
+ rev: v5.0.0
11
+ hooks:
12
+ - id: check-added-large-files
13
+ - id: check-case-conflict
14
+ - id: check-illegal-windows-names
15
+ - id: check-merge-conflict
16
+ args: ["--assume-in-merge"]
17
+ - id: check-shebang-scripts-are-executable
18
+ - id: check-symlinks
19
+ - id: check-toml
20
+ - id: check-xml
21
+ - id: check-yaml
22
+ exclude: |
23
+ (?x)^(
24
+ test.*|
25
+ mkdocs.yml
26
+ )$
27
+ args: [--allow-multiple-documents]
28
+ - id: debug-statements
29
+ - id: destroyed-symlinks
30
+ - id: detect-private-key
31
+ - id: end-of-file-fixer
32
+ exclude: "^tests/fixtures/|.json$"
33
+ - id: fix-byte-order-marker
34
+ - id: fix-encoding-pragma
35
+ args: ["--remove"]
36
+ - id: mixed-line-ending
37
+ - id: name-tests-test
38
+ - id: requirements-txt-fixer
39
+ - id: trailing-whitespace
40
+ - repo: https://github.com/Yelp/detect-secrets
41
+ rev: v1.5.0
42
+ hooks:
43
+ - id: detect-secrets
44
+ args: ['--baseline', '.secrets.baseline']
45
+ additional_dependencies: ["gibberish-detector"]
46
+ exclude: package.lock.json
47
+ - repo: https://github.com/astral-sh/uv-pre-commit
48
+ # uv version.
49
+ rev: 0.5.8
50
+ hooks:
51
+ - id: uv-lock
52
+ - repo: local
53
+ hooks:
54
+ - id: nox
55
+ name: nox
56
+ entry: uv run nox
57
+ language: system
58
+ pass_filenames: false
59
+ always_run: true
60
+ verbose: true
@@ -0,0 +1 @@
1
+ 3.11
@@ -0,0 +1,36 @@
1
+ # Read the Docs configuration file for OE Python Template Example
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+
4
+ # Required
5
+ version: 2
6
+
7
+ # Don't publish the docs if there are any warnings, as they might be relevant
8
+ # https://github.com/readthedocs/readthedocs.org/issues/6837#issuecomment-607229633
9
+ sphinx:
10
+ builder: html
11
+ configuration: docs/source/conf.py
12
+ fail_on_warning: true
13
+
14
+ # Formats of the documentation to be built
15
+ formats:
16
+ - htmlzip
17
+ - pdf
18
+
19
+ # Build configuration
20
+ # We use Ubuntu 22.04 with Python 3.12 and set up uv as package manager
21
+ # for faster and more reliable dependency installation
22
+ build:
23
+ os: ubuntu-22.04
24
+ tools:
25
+ python: "3.12"
26
+ apt_packages:
27
+ - imagemagick
28
+ jobs:
29
+ install:
30
+ - asdf plugin add uv
31
+ - asdf install uv latest
32
+ - asdf global uv latest
33
+ - echo $READTHEDOCS_VIRTUALENV_PATH
34
+ - uv venv $READTHEDOCS_VIRTUALENV_PATH
35
+ - . ${READTHEDOCS_VIRTUALENV_PATH}/bin/activate
36
+ - UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH uv sync --frozen --all-extras
@@ -0,0 +1,127 @@
1
+ {
2
+ "version": "1.5.0",
3
+ "plugins_used": [
4
+ {
5
+ "name": "ArtifactoryDetector"
6
+ },
7
+ {
8
+ "name": "AWSKeyDetector"
9
+ },
10
+ {
11
+ "name": "AzureStorageKeyDetector"
12
+ },
13
+ {
14
+ "name": "Base64HighEntropyString",
15
+ "limit": 4.5
16
+ },
17
+ {
18
+ "name": "BasicAuthDetector"
19
+ },
20
+ {
21
+ "name": "CloudantDetector"
22
+ },
23
+ {
24
+ "name": "DiscordBotTokenDetector"
25
+ },
26
+ {
27
+ "name": "GitHubTokenDetector"
28
+ },
29
+ {
30
+ "name": "GitLabTokenDetector"
31
+ },
32
+ {
33
+ "name": "HexHighEntropyString",
34
+ "limit": 3.0
35
+ },
36
+ {
37
+ "name": "IbmCloudIamDetector"
38
+ },
39
+ {
40
+ "name": "IbmCosHmacDetector"
41
+ },
42
+ {
43
+ "name": "IPPublicDetector"
44
+ },
45
+ {
46
+ "name": "JwtTokenDetector"
47
+ },
48
+ {
49
+ "name": "KeywordDetector",
50
+ "keyword_exclude": ""
51
+ },
52
+ {
53
+ "name": "MailchimpDetector"
54
+ },
55
+ {
56
+ "name": "NpmDetector"
57
+ },
58
+ {
59
+ "name": "OpenAIDetector"
60
+ },
61
+ {
62
+ "name": "PrivateKeyDetector"
63
+ },
64
+ {
65
+ "name": "PypiTokenDetector"
66
+ },
67
+ {
68
+ "name": "SendGridDetector"
69
+ },
70
+ {
71
+ "name": "SlackDetector"
72
+ },
73
+ {
74
+ "name": "SoftlayerDetector"
75
+ },
76
+ {
77
+ "name": "SquareOAuthDetector"
78
+ },
79
+ {
80
+ "name": "StripeDetector"
81
+ },
82
+ {
83
+ "name": "TelegramBotTokenDetector"
84
+ },
85
+ {
86
+ "name": "TwilioKeyDetector"
87
+ }
88
+ ],
89
+ "filters_used": [
90
+ {
91
+ "path": "detect_secrets.filters.allowlist.is_line_allowlisted"
92
+ },
93
+ {
94
+ "path": "detect_secrets.filters.common.is_ignored_due_to_verification_policies",
95
+ "min_level": 2
96
+ },
97
+ {
98
+ "path": "detect_secrets.filters.heuristic.is_indirect_reference"
99
+ },
100
+ {
101
+ "path": "detect_secrets.filters.heuristic.is_likely_id_string"
102
+ },
103
+ {
104
+ "path": "detect_secrets.filters.heuristic.is_lock_file"
105
+ },
106
+ {
107
+ "path": "detect_secrets.filters.heuristic.is_not_alphanumeric_string"
108
+ },
109
+ {
110
+ "path": "detect_secrets.filters.heuristic.is_potential_uuid"
111
+ },
112
+ {
113
+ "path": "detect_secrets.filters.heuristic.is_prefixed_with_dollar_sign"
114
+ },
115
+ {
116
+ "path": "detect_secrets.filters.heuristic.is_sequential_string"
117
+ },
118
+ {
119
+ "path": "detect_secrets.filters.heuristic.is_swagger_file"
120
+ },
121
+ {
122
+ "path": "detect_secrets.filters.heuristic.is_templated_secret"
123
+ }
124
+ ],
125
+ "results": {},
126
+ "generated_at": "2025-03-02T16:57:43Z"
127
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "recommendations": [
3
+ "charliermarsh.ruff",
4
+ "codecov.codecov",
5
+ "donjayamanne.python-environment-manager",
6
+ "elagil.pre-commit-helper",
7
+ "fill-labs.dependi",
8
+ "github.vscode-github-actions",
9
+ "github.copilot",
10
+ "github.copilot-chat",
11
+ "gruntfuggly.todo-tree",
12
+ "joshrmosier.streamlit-runner",
13
+ "kaih2o.python-resource-monitor",
14
+ "marimo-team.vscode-marimo",
15
+ "mikestead.dotenv",
16
+ "ms-azuretools.vscode-docker",
17
+ "ms-python.debugpy",
18
+ "ms-python.python",
19
+ "ms-python.vscode-pylance",
20
+ "ms-toolsai.jupyter",
21
+ "oderwat.indent-rainbow",
22
+ "samuelcolvin.jinjahtml",
23
+ "sonarsource.sonarlint-vscode",
24
+ "tamasfe.even-better-toml",
25
+ "tomoki1207.pdf",
26
+ "wayou.vscode-todo-highlight",
27
+ ]
28
+ }