Skip to content

chore(deps): update codecov/codecov-action action to v5.4.3 #15

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 112 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
a22048d
Add initial client implementation
akunft Apr 1, 2025
e36561e
chore: prep for bump
helmut-hoffer-von-ankershoffen Apr 3, 2025
72d0553
feat: integration spike
helmut-hoffer-von-ankershoffen Apr 3, 2025
59bcd86
chore: scheduled
helmut-hoffer-von-ankershoffen Apr 3, 2025
a81f0a5
chore: scheduled
helmut-hoffer-von-ankershoffen Apr 3, 2025
fe0c6f2
refactor: (a) openapi schema dump from file / can be later switched t…
helmut-hoffer-von-ankershoffen Apr 3, 2025
27e341c
feat(cli,service): basic diagnostics
helmut-hoffer-von-ankershoffen Apr 3, 2025
40a96a4
feat(cli): applications, runs, and system sub-apps
helmut-hoffer-von-ankershoffen Apr 3, 2025
d07fe77
chore(cicd): introduce CLIENT_ID_DEVICE and CLIENT_ID_INTERACTIVE as …
helmut-hoffer-von-ankershoffen Apr 3, 2025
4f9c17d
chore(scheduled): now working, just mark a test with pytest.mark.sche…
helmut-hoffer-von-ankershoffen Apr 3, 2025
0cac576
fix(scheduled): typo
helmut-hoffer-von-ankershoffen Apr 3, 2025
94e823f
fix(scheduled): typo
helmut-hoffer-von-ankershoffen Apr 3, 2025
f1b7591
fix(scheduled): typo
helmut-hoffer-von-ankershoffen Apr 3, 2025
10667d5
refactor(scheduled): simplify workflow
helmut-hoffer-von-ankershoffen Apr 3, 2025
1492306
chore(scheduled): run only with one python version
helmut-hoffer-von-ankershoffen Apr 3, 2025
2e7c57f
docs(scheduled): polish
helmut-hoffer-von-ankershoffen Apr 3, 2025
617aa52
feat(test_scheduled): make test_scheduled for local checks
helmut-hoffer-von-ankershoffen Apr 3, 2025
ea4577e
chore(client): Update client & package structure
akunft Apr 3, 2025
a063f16
chore(test): Add two task app scheduled test
akunft Apr 3, 2025
559f120
refactor(codegen): schema now integrated in codegen folder; added mak…
helmut-hoffer-von-ankershoffen Apr 4, 2025
0a3d7c5
docs: added codegen/README.md
helmut-hoffer-von-ankershoffen Apr 4, 2025
e17187d
chore: Pass tests & linting
akunft Apr 4, 2025
27faff4
chore: Move from pre-commit -> pre-push
akunft Apr 5, 2025
d31c53a
chore: Add token verification & tests for openapi
akunft Apr 5, 2025
9d08160
fix: Add missing codegen/out folder
akunft Apr 5, 2025
d77575b
other: intermediate
helmut-hoffer-von-ankershoffen Apr 5, 2025
8b69def
chore: intermediate
helmut-hoffer-von-ankershoffen Apr 6, 2025
49caf2c
chore(deps): update from template, so we have auto-generated CLI refe…
helmut-hoffer-von-ankershoffen Apr 6, 2025
c865206
chore(ci): smoke test
helmut-hoffer-von-ankershoffen Apr 6, 2025
e2ac936
fix(types): fix typing errors. remaining: _authentication
helmut-hoffer-von-ankershoffen Apr 6, 2025
34d8359
fix(authentication): type safety; introduce pydantic settings to actu…
helmut-hoffer-von-ankershoffen Apr 6, 2025
7c2b650
chore: works, now cont
helmut-hoffer-von-ankershoffen Apr 6, 2025
ae54717
chore(audit): no bioformats for now
helmut-hoffer-von-ankershoffen Apr 6, 2025
21f29ab
chore(secrets): properly use secrets
helmut-hoffer-von-ankershoffen Apr 6, 2025
dafe45a
chore(auth): show settings, masked
helmut-hoffer-von-ankershoffen Apr 6, 2025
f1b1b56
fix(auth settings): on empty scope
helmut-hoffer-von-ankershoffen Apr 6, 2025
8ba0921
chore(dev_env): trying to reverse engineer
helmut-hoffer-von-ankershoffen Apr 6, 2025
28210a2
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
04f8011
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
e90d9f7
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
8b566f9
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
5d9182e
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
0e86b79
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
09bbdf8
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
be94959
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
44e230a
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
5fa8356
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
d3017a0
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
e44a5d8
chore: debug
helmut-hoffer-von-ankershoffen Apr 6, 2025
e4653dd
docs: no epilog in cli reference --no-verify
helmut-hoffer-von-ankershoffen Apr 6, 2025
d5387b8
docs: no epilog in cli reference --no-verify
helmut-hoffer-von-ankershoffen Apr 6, 2025
4f7f259
fix: Fix retrieving client id for refresh token login
akunft Apr 6, 2025
340f58a
chore: Update openapi spec
akunft Apr 6, 2025
d09c4fc
fix(security): dont't expose refresh token to 3rd party actions
helmut-hoffer-von-ankershoffen Apr 6, 2025
c366d14
chore(sonarqube): don't check codegen
helmut-hoffer-von-ankershoffen Apr 6, 2025
82ee17b
refactor(settings): now in _settings, computing defaults from api_roo…
helmut-hoffer-von-ankershoffen Apr 6, 2025
6f911f4
fix(smoke test): removed authentication-settings, now part of platfor…
helmut-hoffer-von-ankershoffen Apr 6, 2025
11260fe
feat(cli): human readable info
helmut-hoffer-von-ankershoffen Apr 6, 2025
6bd7fa9
docs(readme): headline
helmut-hoffer-von-ankershoffen Apr 6, 2025
003f6ff
docs: rebuild
helmut-hoffer-von-ankershoffen Apr 6, 2025
a4b9bb4
docs(readme): fix typo
helmut-hoffer-von-ankershoffen Apr 6, 2025
296f9b7
refactor(settings): move consts to constants
helmut-hoffer-von-ankershoffen Apr 6, 2025
6111595
chore(deps): update from template
helmut-hoffer-von-ankershoffen Apr 6, 2025
a43be09
refactor(sonarqube): some
helmut-hoffer-von-ankershoffen Apr 6, 2025
3914076
chore(test): fix double run
helmut-hoffer-von-ankershoffen Apr 6, 2025
d91d1e5
refactor(client): use named groups in regexp
helmut-hoffer-von-ankershoffen Apr 6, 2025
809a772
test(cli): check all commands can be called
helmut-hoffer-von-ankershoffen Apr 6, 2025
1f9dcb6
test(settings): unit tests
helmut-hoffer-von-ankershoffen Apr 6, 2025
a7d717a
fix(lint): in new tests
helmut-hoffer-von-ankershoffen Apr 6, 2025
67fd592
feat(cli): show process info as part of platform info
helmut-hoffer-von-ankershoffen Apr 6, 2025
aad5902
feat(cli): themed console
helmut-hoffer-von-ankershoffen Apr 6, 2025
d269401
test(cli): test full platform info
helmut-hoffer-von-ankershoffen Apr 6, 2025
e79e013
test(cli): info with json output
helmut-hoffer-von-ankershoffen Apr 6, 2025
b4c145a
test(client/utils): start to build unit tests
helmut-hoffer-von-ankershoffen Apr 6, 2025
ddd8422
fix(lint): of new tests
helmut-hoffer-von-ankershoffen Apr 6, 2025
9031c44
test(settings): no tmp
helmut-hoffer-von-ankershoffen Apr 6, 2025
0d2b18b
chore: Refined pkce & device flow
akunft Apr 6, 2025
c15b9ac
fix: Add openapi spec w/ safe mime type regex
akunft Apr 6, 2025
47344a1
core: Cleanup auth module
akunft Apr 6, 2025
b75a260
chore: docker intermediate
helmut-hoffer-von-ankershoffen Apr 7, 2025
15732b5
Merge branch 'main' of https://github.com/aignostics/python-sdk
helmut-hoffer-von-ankershoffen Apr 7, 2025
96e0fea
chore: merge for docs
helmut-hoffer-von-ankershoffen Apr 7, 2025
12f9806
docs: some
helmut-hoffer-von-ankershoffen Apr 7, 2025
51d462c
test(docker): skip for now
helmut-hoffer-von-ankershoffen Apr 7, 2025
5fcdd8a
docs: provide some content
helmut-hoffer-von-ankershoffen Apr 7, 2025
6d80d91
docs: fix typo
helmut-hoffer-von-ankershoffen Apr 7, 2025
d6c303a
chore: Add tests for _authentication module
akunft Apr 7, 2025
9735cff
chore: Remove empty openapi tests
akunft Apr 7, 2025
c1bbf5a
fix: Fix token validation algorithm
akunft Apr 7, 2025
9167774
chore: Add production environment constants
akunft Apr 7, 2025
85bcf72
chore: Move to prod environment
akunft Apr 7, 2025
116b146
fix: Reintroduce credentials setup for scheduled tests
akunft Apr 12, 2025
fb1f64b
chore: Adjust docs for lib & api
akunft Apr 11, 2025
f3025bd
chore: Harden port logic for interactive flow
akunft Apr 13, 2025
de4aec4
chore: Change default callback port to 8989
akunft Apr 13, 2025
407e74f
chore: Add pagination to list API calls
akunft Apr 13, 2025
e646ee8
chore: Extend library documentation
akunft Apr 13, 2025
bc71276
Modularization, Settings and Info (#13)
helmut-hoffer-von-ankershoffen Apr 14, 2025
8bd4b78
chore: Rework documentation
akunft Apr 14, 2025
5295f39
chore: Integrate public API rework
akunft Apr 13, 2025
a03f124
fix: Adjust checksum in payload to changed image file
akunft Apr 22, 2025
296b8cb
Feature/idc (#17)
helmut-hoffer-von-ankershoffen Apr 22, 2025
34116d2
chore: Add scheduled test for HETA
akunft Apr 24, 2025
6039f48
security(vulnerability): force fix in h11
helmut-hoffer-von-ankershoffen Apr 25, 2025
3dd2db6
chore: Move aignostics.client -> aignostics.platform
akunft Apr 25, 2025
673ba5d
Lazy Load, CI, Diagnostics
helmut-hoffer-von-ankershoffen Apr 27, 2025
2e0eea4
fix(system/info): wired on linux
helmut-hoffer-von-ankershoffen Apr 27, 2025
35b3256
fix(system/info): freq
helmut-hoffer-von-ankershoffen Apr 27, 2025
bff4251
chore: fix hearbeat
helmut-hoffer-von-ankershoffen Apr 28, 2025
77f1e22
chore: betterstack
helmut-hoffer-von-ankershoffen Apr 28, 2025
413a184
chore: Expose ApplicationRun & Status
akunft Apr 29, 2025
f585061
chore(deps): update codecov/codecov-action action to v5.4.3
renovate[bot] May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
_commit: v0.8.9
_commit: v0.16.12
_src_path: gh:helmut-hoffer-von-ankershoffen/oe-python-template
attestations_enabled: false
author_email: helmut@aignostics.com
Expand All @@ -24,4 +24,7 @@ readthedocs_domain: readthedocs.org
readthedocs_project_key: aignostics
sonarqube_key: aignostics_python-sdk
streamlit_project_key: aignostics
uptime_badge_snippet: '[![Better Stack Badge](https://uptime.betterstack.com/status-badges/v1/monitor/1vtu1.svg)](https://aignostics.betteruptime.com/)'
vercel_badge_snippet: ''
vercel_function_enabled: false

96 changes: 96 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# .dockerignore of project Aignostics Python SDK

# .dockerfile specifics

**/.git
**/.gitignore
Dockerfile
docker-compose.yml

# Environment
**/.env
**/.env.backup
**/.env.bak
**/ENV/
**/env/
**/.envrc

## secrets
**/.secret
**/.secrets
**/.secrets.toml
**/.secrets.yaml
**/.secrets.yml
**/.secrets.json
**/.act-env-secret

# More secrets
**/.ssh
**/.aws

# Python virtual environment
**/venv/
**/.venv/

# Python temps
**/*.py[cdo]
**/__pycache__/
**/*.so
**/*.egg
**/*.egg-info/
**/*.log
**/dist/
**/build/
**/eggs/
**/parts/
**/sdist/
**/develop-eggs/
**/.installed.cfg
**/.Python
**/.pytest_cache/
**/.ruff_cache/
**/.nox
**/.dmypy.json
**/.mypy_cache/
**/.coverage
**/.coverage.*


# Build Report
**/reports/*
**/!reports/.keep
**/!reports/README.md

# IDE
**/.idea/
**/*.swp
**/*.swo

# macOS
**/.DS_Store

# Other OS
**/lib/
**/lib64/

# Data
**/var/
**/tmp/

# Node temps
**/node_modules/

# AI workflow
**/.fixme

# Copier
**/*.rej

# Vercel
**/.vercel

# Scalene
profile.json
profile.html

# Application specific
20 changes: 19 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
@@ -1 +1,19 @@
OE_PYTHON_TEMPLATE_LANGUAGE=de_DE
ENV=local
AIGNOSTICS_SYSTEM_TOKEN=YOUR_SECRET_TOKEN
AIGNOSTICS_LOG_LEVEL=INFO
AIGNOSTICS_LOG_FILE_ENABLED=false
AIGNOSTICS_LOG_FILE_NAME=aignostics.log
AIGNOSTICS_LOG_CONSOLE_ENABLED=false
AIGNOSTICS_LOGFIRE_TOKEN=YOUR_LOGFIRE_TOKEN
AIGNOSTICS_LOGFIRE_INSTRUMENT_SYSTEM_METRICS=true
AIGNOSTICS_SENTRY_DSN=YOUR_SENTRY_DSN
AIGNOSTICS_SENTRY_DEBUG=false
AIGNOSTICS_SENTRY_SEND_DEFAULT_PII=false
AIGNOSTICS_SENTRY_MAX_BREADCRUMBS=5
AIGNOSTICS_SENTRY_SAMPLE_RATE=1.0
AIGNOSTICS_SENTRY_TRACES_SAMPLE_RATE=1.0
AIGNOSTICS_SENTRY_PROFILES_SAMPLE_RATE=1.0
AIGNOSTICS_API_ROOT=https://platform.aignostics.com
AIGNOSTICS_CLIENT_ID_DEVICE=YOUR_CLIENT_ID_DEVICE_RETRIEVED_FROM_DASHBOARD
AIGNOSTICS_CLIENT_ID_INTERACTIVE=YOUR_CLIENT_ID_INTERACTIVE_RETRIEVED_FROM_DASHBOARD
GOOGLE_APPLICATION_CREDENTIALS=..../gcp-credentials.json
49 changes: 49 additions & 0 deletions .github/workflows/_audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: "Audit"

on:
workflow_call:
# No inputs needed at this time

jobs:
audit:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: read
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0

- name: Install uv
uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1
with:
version: "0.6.3"
enable-cache: true
cache-dependency-glob: uv.lock

- name: Install dev tools
shell: bash
run: .github/workflows/_install_dev_tools.bash

- name: Install Python, venv and dependencies
run: uv sync --all-extras --frozen --link-mode=copy

- name: Audit
run: make audit

- name: Upload audit results
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
if: ${{ always() && (env.GITHUB_WORKFLOW_RUNTIME != 'ACT') }}
with:
name: audit-results
path: |
reports/sbom.json
reports/sbom.spdx
reports/licenses.csv
reports/licenses.json
reports/licenses_grouped.json
reports/vulnerabilities.json
retention-days: 30
121 changes: 121 additions & 0 deletions .github/workflows/_docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
name: "Publish Docker Image"

on:
workflow_call:
# No inputs needed at this time

jobs:
docker_publish:
runs-on: ubuntu-latest
permissions:
attestations: write
contents: read
id-token: write
packages: write

env:
DOCKER_IO_REGISTRY: docker.io
DOCKER_IO_IMAGE_NAME_ALL: helmuthva/aignostics-python-sdk
DOCKER_IO_IMAGE_NAME_SLIM: helmuthva/aignostics-python-sdk-slim

steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Install dev tools
shell: bash
run: .github/workflows/_install_dev_tools.bash

- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0


- name: Log in to Docker Hub
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:

username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}



- name: Log in to GitHub container registry
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ghcr.io

username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}


- name: "(all target): Extract metadata (tags, labels) for Docker"
id: meta-all
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:


images: |
${{ env.DOCKER_IO_IMAGE_NAME_ALL }}
ghcr.io/${{ github.repository }}



tags: |
# set latest tag for releases
type=raw,value=latest
# set semver tags from git tags (v1.2.3 -> 1.2.3, 1.2, 1)
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}


- name: "(slim target): Extract metadata (tags, labels) for Docker"
id: meta-slim
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:


images: |
${{ env.DOCKER_IO_IMAGE_NAME_SLIM }}
ghcr.io/${{ github.repository }}-slim



tags: |
# set latest tag for releases
type=raw,value=latest
# set semver tags from git tags (v1.2.3 -> 1.2.3, 1.2, 1)
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}



- name: "(all target): Build and push Docker image"
id: build-and-push-all
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
with:
context: .
file: ./Dockerfile
target: all
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta-all.outputs.tags }}
labels: ${{ steps.meta-all.outputs.labels }}



- name: "(slim target): Build and push Docker image"
id: build-and-push-slim
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
with:
context: .
file: ./Dockerfile
target: slim
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta-slim.outputs.tags }}
labels: ${{ steps.meta-slim.outputs.labels }}
20 changes: 20 additions & 0 deletions .github/workflows/_install_dev_tools.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash

set -e # Exit immediately if a command exits with a non-zero status
set -o pipefail # Return value of a pipeline is the value of the last command to exit with a non-zero status

# Log function for better debugging
log() {
echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')] $*"
}

log "Starting installation of development tools..."

wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install --no-install-recommends -y curl gnupg2 imagemagick jq trivy xsltproc

.github/workflows/_install_dev_tools_project.bash

log "Completed installation of development tools."
16 changes: 16 additions & 0 deletions .github/workflows/_install_dev_tools_project.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

set -e # Exit immediately if a command exits with a non-zero status
set -o pipefail # Return value of a pipeline is the value of the last command to exit with a non-zero status

# Log function for better debugging
log() {
echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')] $*"
}

log "Starting installation of development tools specific to Aignostics Python SDK..."

# Add your project specific installation commands below
# sudo apt-get install --no-install-recommends -y YOUR_PACKAGE

log "Completed installation of development tools specific to Aignostics Python SDK."
35 changes: 35 additions & 0 deletions .github/workflows/_lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: "Lint"

on:
workflow_call:
# No inputs needed at this time

jobs:
lint:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: read
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0

- name: Install uv
uses: astral-sh/setup-uv@f94ec6bedd8674c4426838e6b50417d36b6ab231 # v5.3.1
with:
version: "0.6.3"
enable-cache: true
cache-dependency-glob: uv.lock

- name: Install dev tools
shell: bash
run: .github/workflows/_install_dev_tools.bash

- name: Install Python, venv and dependencies
run: uv sync --all-extras --frozen --link-mode=copy

- name: Lint
run: make lint
Loading
Loading