{ "name": "jpawlowski/hass.tibber_prices", "image": "mcr.microsoft.com/devcontainers/python:3.13", "postCreateCommand": "scripts/setup/setup", "postStartCommand": "scripts/motd", "containerEnv": { "PYTHONASYNCIODEBUG": "1" }, "forwardPorts": [ 8123 ], "portsAttributes": { "8123": { "label": "Home Assistant", "onAutoForward": "notify" } }, "customizations": { "vscode": { "extensions": [ "charliermarsh.ruff", "EditorConfig.EditorConfig", "esbenp.prettier-vscode", "github.copilot", "github.vscode-pull-request-github", "ms-python.python", "ms-python.vscode-pylance", "ms-vscode-remote.remote-containers", "redhat.vscode-yaml", "ryanluker.vscode-coverage-gutters" ], "settings": { "editor.tabSize": 4, "editor.formatOnSave": true, "editor.formatOnType": false, "extensions.ignoreRecommendations": false, "files.eol": "\n", "files.trimTrailingWhitespace": true, "python.analysis.typeCheckingMode": "basic", "python.analysis.autoImportCompletions": true, "python.analysis.diagnosticMode": "workspace", "python.analysis.diagnosticSeverityOverrides": { "reportUnusedImport": "none", "reportUnusedVariable": "none", "reportUnusedCoroutine": "none", "reportMissingTypeStubs": "none" }, "python.analysis.include": [ "custom_components/tibber_prices" ], "python.analysis.exclude": [ "**/.venv/**", "**/venv/**", "**/__pycache__/**", "**/.git/**", "**/.github/**", "**/docs/**", "**/node_modules/**" ], "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python", "python.analysis.extraPaths": [ "${workspaceFolder}/.venv/lib/python3.13/site-packages" ], "python.terminal.activateEnvironment": true, "python.terminal.activateEnvInCurrentTerminal": true, "python.testing.pytestArgs": [ "--no-cov" ], "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.ruff": "explicit", "source.organizeImports.ruff": "explicit" } }, "[markdown]": { "editor.wordWrap": "on" }, "yaml.customTags": [ "!secret scalar", "!include scalar", "!include_dir_list scalar", "!include_dir_merge_list scalar", "!include_dir_named scalar", "!include_dir_merge_named scalar", "!input scalar" ], "markdown.validate.enabled": false, "markdown.validate.fileLinks.enabled": "ignore", "markdown.validate.fragmentLinks.enabled": "ignore", "json.schemas": [ { "fileMatch": [ "homeassistant/components/*/manifest.json" ], "url": "${containerWorkspaceFolder}/schemas/json/manifest_schema.json" }, { "fileMatch": [ "homeassistant/components/*/translations/*.json" ], "url": "${containerWorkspaceFolder}/schemas/json/translation_schema.json" } ] } } }, "remoteUser": "vscode", "features": { "ghcr.io/devcontainers/features/github-cli:1": {}, "ghcr.io/devcontainers/features/node:1": { "version": "22" }, "ghcr.io/devcontainers/features/rust:1": { "version": "latest", "profile": "minimal" }, "ghcr.io/devcontainers-extra/features/apt-packages:1": { "packages": [ "ffmpeg", "libturbojpeg0", "libpcap-dev" ] } } }