diff --git a/.devcontainer/Python 2.7/devcontainer.json b/.devcontainer/Python 2.7/devcontainer.json new file mode 100644 index 00000000..ce0f9a92 --- /dev/null +++ b/.devcontainer/Python 2.7/devcontainer.json @@ -0,0 +1,38 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/debian +{ + "name": "Python 2.7", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/base:bullseye", + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + "features": { + "ghcr.io/devcontainers-contrib/features/apt-get-packages:1": { + "packages": "python2" + } + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "sudo ln -s /usr/bin/python2.7 /usr/bin/python; curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /tmp/get-pip.py && sudo python /tmp/get-pip.py && pip install --user -r requirements-dev.txt", + + // Configure tool-specific properties. + "customizations": { + "vscode": { + "extensions": [ + "mikestead.dotenv", + "EditorConfig.EditorConfig", + "GitHub.vscode-pull-request-github", + "hbenl.vscode-test-explorer", + "redhat.vscode-xml", + "ninoseki.vscode-pylens" + ] + } + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/Python 3.11/devcontainer.json b/.devcontainer/Python 3.11/devcontainer.json new file mode 100644 index 00000000..154e481d --- /dev/null +++ b/.devcontainer/Python 3.11/devcontainer.json @@ -0,0 +1,33 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/python +{ + "name": "Python 3.11", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:1-3.11-bookworm", + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "pip3 install --user -r requirements-dev.txt", + + // Configure tool-specific properties. + "customizations": { + "vscode": { + "extensions": [ + "mikestead.dotenv", + "EditorConfig.EditorConfig", + "GitHub.vscode-pull-request-github", + "hbenl.vscode-test-explorer", + "redhat.vscode-xml", + "ninoseki.vscode-pylens" + ] + } + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.gitignore b/.gitignore index a3b78682..7dfead0d 100644 --- a/.gitignore +++ b/.gitignore @@ -66,7 +66,9 @@ Thumbs.db .idea/ .DS_Store -.vscode/ +.vscode/* +!.vscode/extensions.json +!.vscode/settings.json pyinstrument/ # Now managed by templates diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..894e9d73 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "ms-vscode-remote.remote-containers" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..9009f569 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,16 @@ +{ + "editor.formatOnSave": true, + "python.formatting.provider": "black", + "python.linting.enabled": true, + "python.linting.flake8Enabled": true, + "python.linting.mypyEnabled": true, + "python.testing.pytestEnabled": true, + "python.analysis.diagnosticMode": "workspace", + "files.associations": { + "requirements-*.txt": "pip-requirements" + }, + "sonarlint.connectedMode.project": { + "connectionId": "jellyfin", + "projectKey": "jellyfin_jellyfin-kodi" + }, +} diff --git a/requirements-dev.txt b/requirements-dev.txt index d17fb063..2649a745 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -3,6 +3,7 @@ six >= 1.13 python-dateutil >= 2.8.1 requests >= 2.22 futures >= 2.2; python_version < '3.0' +PyYAML >= 6.0 Kodistubs ~= 18.0; python_version < '3.0' Kodistubs ~= 20.0; python_version >= '3.6' @@ -15,3 +16,12 @@ coverage >= 5.2 flake8 >= 3.8 flake8-import-order >= 0.18 websocket-client >= 0.57.0 + +types-requests >= 2.31 +types-PyYAML >= 6.0 +types-six >= 1.13 +types-python-dateutil >= 2.8.1 +types-setuptools >= 44.1.1 + +types-Pygments +types-colorama