Skip to content

Modularization, Settings and Info #13

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

Merged
merged 6 commits into from
Apr 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 3 additions & 1 deletion .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
_commit: v0.9.4
_commit: v0.11.0
_src_path: gh:helmut-hoffer-von-ankershoffen/oe-python-template
attestations_enabled: false
author_email: helmut@aignostics.com
Expand All @@ -24,4 +24,6 @@ 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
28 changes: 19 additions & 9 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
CLIENT_ID_DEVICE=YOUR_CLIENT_ID_DEVICE
CLIENT_ID_INTERACTIVE=YOUR_CLIENT_ID_INTERACTIVE
SCOPE=YOUR_SCOPE_ELEMENT,YOUR_SCOPE_ELEMENT
REDIRECT_URI=YOUR_REDIRECT_URI
AUDIENCE=YOUR_AUDIENCE
AUTHORIZATION_BASE_URL=YOUR_AUTHORIZATION_BASE_URL
TOKEN_URL=YOUR_TOKEN_URL
DEVICE_URL=YOUR_DEVICE_URL
JWS_JSON_URL=YOUR_JWS_JSON_URL
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
39 changes: 21 additions & 18 deletions .github/workflows/test-and-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,22 @@ jobs:
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
run: |
TOML_VERSION=$(uv run python -c "import tomli; print(tomli.load(open('pyproject.toml', 'rb'))['project']['version'])")
echo "Development build - Current version in pyproject.toml: $TOML_VERSION"

echo "Development build - Current version in pyproject.toml: $TOML_VERSION"

- name: Create .env file
uses: SpicyPizza/create-envfile@ace6d4f5d7802b600276c23ca417e669f1a06f6f # v2.0.3
with:
envkey_ENV: "TEST"
envkey_AIGNOSTICS_LOGFIRE_TOKEN: "${{ secrets.AIGNOSTICS_LOGFIRE_TOKEN }}"
envkey_AIGNOSTICS_SENTRY_DSN: "${{ secrets.AIGNOSTICS_SENTRY_DSN }}"
envkey_AIGNOSTICS_LOG_LEVEL: "DEBUG"
envkey_AIGNOSTICS_LOG_FILE_ENABLED: 1
envkey_AIGNOSTICS_API_ROOT: https://platform.aignostics.com
envkey_AIGNOSTICS_CLIENT_ID_DEVICE: ${{ secrets.AIGNOSTICS_CLIENT_ID_DEVICE }}
envkey_AIGNOSTICS_CLIENT_ID_INTERACTIVE: ${{ secrets.AIGNOSTICS_CLIENT_ID_INTERACTIVE }}
envkey_AIGNOSTICS_REFRESH_TOKEN: ${{ secrets.AIGNOSTICS_REFRESH_TOKEN }}
fail_on_empty: false

- name: Validate installation
run: |
OUTPUT=$(uv run --no-dev aignostics --help)
Expand All @@ -59,22 +73,15 @@ jobs:
exit 1
fi

- name: Set up cloud credentials
env:
CREDENTIALS: ${{ secrets.GCP_CREDENTIALS }}
- name: Set up GCP credentials for bucket access
run: |
echo "$CREDENTIALS" | base64 -d > credentials.json
echo "${{ secrets.GCP_CREDENTIALS }}" | base64 -d > credentials.json
echo "GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/credentials.json" >> $GITHUB_ENV

- name: Smoke tests
env:
AIGNOSTICS_API_ROOT: https://platform.aignostics.com
AIGNOSTICS_CLIENT_ID_DEVICE: ${{ secrets.AIGNOSTICS_CLIENT_DEVICE_ID }}
AIGNOSTICS_CLIENT_ID_INTERACTIVE: ${{ secrets.AIGNOSTICS_CLIENT_ID_INTERACTIVE }}
AIGNOSTICS_REFRESH_TOKEN: ${{ secrets.AIGNOSTICS_REFRESH_TOKEN }}
run: |
uv run --no-dev aignostics platform health
uv run --no-dev aignostics platform info
uv run --no-dev aignostics system health
uv run --no-dev aignostics system info

- name: Lint
run: make lint
Expand All @@ -83,11 +90,6 @@ jobs:
run: make audit

- name: Test
env:
AIGNOSTICS_API_ROOT: https://platform.aignostics.com
AIGNOSTICS_CLIENT_ID_DEVICE: ${{ secrets.AIGNOSTICS_CLIENT_DEVICE_ID }}
AIGNOSTICS_CLIENT_ID_INTERACTIVE: ${{ secrets.AIGNOSTICS_CLIENT_ID_INTERACTIVE }}
AIGNOSTICS_REFRESH_TOKEN: ${{ secrets.AIGNOSTICS_REFRESH_TOKEN }}
run: make test

- name: Upload test results
Expand All @@ -106,6 +108,7 @@ jobs:
reports/junit.xml
reports/coverage.xml
reports/coverage_html
aignostics.log
retention-days: 30

- name: Upload coverage reports to Codecov
Expand Down
27 changes: 17 additions & 10 deletions .github/workflows/test-scheduled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: "CI Scheduled"

on:
schedule:
- cron: '0 6 * * *'
- cron: '0 * * * *'

jobs:
test-scheduled:
Expand All @@ -26,17 +26,24 @@ jobs:
- name: Install Python, venv and dependencies
run: uv sync --all-extras --frozen --link-mode=copy

- name: Set up cloud credentials & environment file
env:
CREDENTIALS: ${{ secrets.GCP_CREDENTIALS }}
- name: Create .env file
uses: SpicyPizza/create-envfile@ace6d4f5d7802b600276c23ca417e669f1a06f6f # v2.0.3
with:
envkey_ENV: "TEST"
envkey_AIGNOSTICS_LOGFIRE_TOKEN: "${{ secrets.AIGNOSTICS_LOGFIRE_TOKEN }}"
envkey_AIGNOSTICS_SENTRY_DSN: "${{ secrets.AIGNOSTICS_SENTRY_DSN }}"
envkey_AIGNOSTICS_LOG_LEVEL: "DEBUG"
envkey_AIGNOSTICS_LOG_FILE_ENABLED: 1
envkey_AIGNOSTICS_API_ROOT: https://platform.aignostics.com
envkey_AIGNOSTICS_CLIENT_ID_DEVICE: ${{ secrets.AIGNOSTICS_CLIENT_ID_DEVICE }}
envkey_AIGNOSTICS_CLIENT_ID_INTERACTIVE: ${{ secrets.AIGNOSTICS_CLIENT_ID_INTERACTIVE }}
envkey_AIGNOSTICS_REFRESH_TOKEN: ${{ secrets.AIGNOSTICS_REFRESH_TOKEN }}
fail_on_empty: false

- name: Set up GCP credentials for bucket access
run: |
echo "$CREDENTIALS" | base64 -d > credentials.json
echo "${{ secrets.GCP_CREDENTIALS }}" | base64 -d > credentials.json
echo "GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/credentials.json" >> $GITHUB_ENV

- name: Run scheduled tests
env:
AIGNOSTICS_API_ROOT: https://platform.aignostics.com
AIGNOSTICS_CLIENT_ID_DEVICE: ${{ secrets.AIGNOSTICS_CLIENT_DEVICE_ID }}
AIGNOSTICS_CLIENT_ID_INTERACTIVE: ${{ secrets.AIGNOSTICS_CLIENT_ID_INTERACTIVE }}
AIGNOSTICS_REFRESH_TOKEN: ${{ secrets.AIGNOSTICS_REFRESH_TOKEN }}
run: make test_scheduled
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

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

## secrets
.secret
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Read the Docs configuration file for Aignostics Python SDK
# Read the Docs configuration file for {{ project_name }}
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
Expand Down
Loading
Loading