mirror of
https://github.com/moraroy/NonSteamLaunchers-On-Steam-Deck.git
synced 2024-11-20 08:09:18 +01:00
Add tooling
This commit is contained in:
parent
6264667aff
commit
a786689fcd
13
.devcontainer/.dockerignore
Normal file
13
.devcontainer/.dockerignore
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
!poetry.lock
|
||||||
|
!pyproject.toml
|
||||||
|
.cache
|
||||||
|
.devcontainer
|
||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.pytest_cache
|
||||||
|
.tool-versions
|
||||||
|
.venv
|
||||||
|
.vscode
|
||||||
|
**/__pycache__
|
||||||
|
Dockerfile*
|
||||||
|
README.md
|
136
.devcontainer/Dockerfile
Normal file
136
.devcontainer/Dockerfile
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
# syntax=docker/dockerfile:1.6
|
||||||
|
|
||||||
|
# full semver just for python base image
|
||||||
|
ARG PYTHON_VERSION=3.11.4
|
||||||
|
|
||||||
|
FROM python:${PYTHON_VERSION}-slim-bullseye AS builder
|
||||||
|
|
||||||
|
# avoid stuck build due to user prompt
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# update apt repos and install dependencies
|
||||||
|
RUN apt -qq update && apt -qq install \
|
||||||
|
--no-install-recommends -y \
|
||||||
|
curl \
|
||||||
|
gcc \
|
||||||
|
libpq-dev \
|
||||||
|
python3-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# pip env vars
|
||||||
|
ENV PIP_NO_CACHE_DIR=off
|
||||||
|
ENV PIP_DISABLE_PIP_VERSION_CHECK=on
|
||||||
|
ENV PIP_DEFAULT_TIMEOUT=100
|
||||||
|
|
||||||
|
# poetry env vars
|
||||||
|
ENV POETRY_HOME="/opt/poetry"
|
||||||
|
ENV POETRY_VERSION=1.5.1
|
||||||
|
ENV POETRY_VIRTUALENVS_IN_PROJECT=true
|
||||||
|
ENV POETRY_NO_INTERACTION=1
|
||||||
|
|
||||||
|
# path
|
||||||
|
ENV VENV="/opt/venv"
|
||||||
|
ENV PATH="$POETRY_HOME/bin:$VENV/bin:$PATH"
|
||||||
|
|
||||||
|
COPY requirements.txt requirements.txt
|
||||||
|
|
||||||
|
RUN python -m venv $VENV \
|
||||||
|
&& . "${VENV}/bin/activate"\
|
||||||
|
&& python -m pip install "poetry==${POETRY_VERSION}" \
|
||||||
|
&& python -m pip install -r requirements.txt
|
||||||
|
|
||||||
|
FROM python:${PYTHON_VERSION}-slim-bullseye AS runner
|
||||||
|
|
||||||
|
# setup standard non-root user for use downstream
|
||||||
|
ENV USER_NAME=appuser
|
||||||
|
ENV USER_GROUP=appuser
|
||||||
|
ENV HOME="/home/${USER_NAME}"
|
||||||
|
ENV HOSTNAME="${HOST:-localhost}"
|
||||||
|
ENV VENV="/opt/venv"
|
||||||
|
|
||||||
|
ENV PATH="${VENV}/bin:${VENV}/lib/python${PYTHON_VERSION}/site-packages:/usr/local/bin:${HOME}/.local/bin:/bin:/usr/bin:/usr/share/doc:$PATH"
|
||||||
|
|
||||||
|
# standardise on locale, don't generate .pyc, enable tracebacks on seg faults
|
||||||
|
ENV LANG C.UTF-8
|
||||||
|
ENV LC_ALL C.UTF-8
|
||||||
|
ENV PYTHONDONTWRITEBYTECODE 1
|
||||||
|
ENV PYTHONFAULTHANDLER 1
|
||||||
|
|
||||||
|
# workers per core
|
||||||
|
# https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker/blob/master/README.md#web_concurrency
|
||||||
|
ENV WEB_CONCURRENCY=2
|
||||||
|
|
||||||
|
# avoid stuck build due to user prompt
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# install dependencies
|
||||||
|
RUN apt -qq update && apt -qq install \
|
||||||
|
--no-install-recommends -y \
|
||||||
|
bat \
|
||||||
|
curl \
|
||||||
|
dpkg \
|
||||||
|
git \
|
||||||
|
iputils-ping \
|
||||||
|
lsof \
|
||||||
|
p7zip \
|
||||||
|
perl \
|
||||||
|
shellcheck \
|
||||||
|
tldr \
|
||||||
|
tree \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN groupadd $USER_NAME \
|
||||||
|
&& useradd -m $USER_NAME -g $USER_GROUP
|
||||||
|
|
||||||
|
# create read/write dirs
|
||||||
|
RUN <<EOF
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
mkdir -p /app/{certs,staticfiles}
|
||||||
|
chown -R "${USER_NAME}:${USER_GROUP}" /app/
|
||||||
|
EOF
|
||||||
|
|
||||||
|
USER $USER_NAME
|
||||||
|
WORKDIR $HOME
|
||||||
|
|
||||||
|
COPY --from=builder --chown=${USER_NAME}:${USER_GROUP} $VENV $VENV
|
||||||
|
|
||||||
|
# qol: tooling
|
||||||
|
RUN <<EOF
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# gh
|
||||||
|
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
|
||||||
|
chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
|
||||||
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null
|
||||||
|
apt update && apt install gh -y
|
||||||
|
apt remove dpkg -y
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# fzf
|
||||||
|
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
|
||||||
|
yes | ~/.fzf/install
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# qol: .bashrc
|
||||||
|
RUN tee -a $HOME/.bashrc <<EOF
|
||||||
|
# shared history
|
||||||
|
HISTFILE=/var/tmp/.bash_history
|
||||||
|
HISTFILESIZE=100
|
||||||
|
HISTSIZE=100
|
||||||
|
|
||||||
|
stty -ixon
|
||||||
|
|
||||||
|
[ -f ~/.fzf.bash ] && . ~/.fzf.bash
|
||||||
|
|
||||||
|
# aliases
|
||||||
|
alias ..='cd ../'
|
||||||
|
alias ...='cd ../../'
|
||||||
|
alias ll='ls -la --color=auto'
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# $PATH
|
||||||
|
ENV PATH=$VENV_PATH/bin:$HOME/.local/bin:$PATH
|
||||||
|
|
||||||
|
# port needed by app
|
||||||
|
EXPOSE 8000
|
||||||
|
|
||||||
|
CMD ["sleep", "infinity"]
|
32
.devcontainer/devcontainer.json
Normal file
32
.devcontainer/devcontainer.json
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// 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": "Dev Environment",
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile"
|
||||||
|
},
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"extensions": [
|
||||||
|
"aaron-bond.better-comments",
|
||||||
|
"codezombiech.gitignore",
|
||||||
|
"eamodio.gitlens",
|
||||||
|
"EditorConfig.EditorConfig",
|
||||||
|
"GitHub.copilot-chat",
|
||||||
|
"GitHub.copilot",
|
||||||
|
"mads-hartmann.bash-ide-vscode",
|
||||||
|
"ms-azuretools.vscode-docker",
|
||||||
|
"ms-python.python",
|
||||||
|
"ms-vscode.atom-keybindings",
|
||||||
|
"ms-vsliveshare.vsliveshare",
|
||||||
|
"redhat.vscode-yaml",
|
||||||
|
"timonwong.shellcheck",
|
||||||
|
"yzhang.markdown-all-in-one"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// "forwardPorts": [
|
||||||
|
// 8080,
|
||||||
|
// 8081
|
||||||
|
// ]
|
||||||
|
}
|
21
.devcontainer/requirements.txt
Normal file
21
.devcontainer/requirements.txt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
asttokens==2.2.1
|
||||||
|
backcall==0.2.0
|
||||||
|
decorator==5.1.1
|
||||||
|
executing==1.2.0
|
||||||
|
ipython==8.14.0
|
||||||
|
jedi==0.19.0
|
||||||
|
markdown-it-py==3.0.0
|
||||||
|
matplotlib-inline==0.1.6
|
||||||
|
mdurl==0.1.2
|
||||||
|
parso==0.8.3
|
||||||
|
pexpect==4.8.0
|
||||||
|
pickleshare==0.7.5
|
||||||
|
prompt-toolkit==3.0.39
|
||||||
|
ptyprocess==0.7.0
|
||||||
|
pure-eval==0.2.2
|
||||||
|
Pygments==2.16.1
|
||||||
|
rich==13.5.2
|
||||||
|
six==1.16.0
|
||||||
|
stack-data==0.6.2
|
||||||
|
traitlets==5.9.0
|
||||||
|
wcwidth==0.2.6
|
34
.editorconfig
Normal file
34
.editorconfig
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# EditorConfig is awesome: https://EditorConfig.org
|
||||||
|
|
||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Unix-style newlines and whitespace cleanup
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
# Protect whitespace in markdown files
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
|
# general formatting
|
||||||
|
[*.{bash,go,sh,zsh,justfile,Makefile}]
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# Set default charset
|
||||||
|
[*.{html,xml,js,css,py}]
|
||||||
|
charset = utf-8
|
||||||
|
|
||||||
|
# python
|
||||||
|
[*.py]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# webdev et al
|
||||||
|
[*.{html,xml,js,css,json,gql,lua,tf,tfvars,yml,yaml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
18
.github/dependabot.yml
vendored
Normal file
18
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# package ecosystems to update and where the package manifests are located.
|
||||||
|
# Please see the documentation for all configuration options:
|
||||||
|
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||||
|
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
|
||||||
|
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#directory
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "pip" # package manager
|
||||||
|
directory: "/" # Files stored in repository root
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
|
day: "saturday"
|
||||||
|
time: "10:00"
|
||||||
|
timezone: "America/Chicago"
|
||||||
|
open-pull-requests-limit: 5
|
||||||
|
versioning-strategy: increase-if-necessary
|
163
.gitignore
vendored
Normal file
163
.gitignore
vendored
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
# ETC
|
||||||
|
*.out
|
||||||
|
|
||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
cover/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
.pybuilder/
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
# For a library or package, you might want to ignore these files since the code is
|
||||||
|
# intended to run in multiple environments; otherwise, check them in:
|
||||||
|
# .python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||||
|
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||||
|
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||||
|
# install all needed dependencies.
|
||||||
|
#Pipfile.lock
|
||||||
|
|
||||||
|
# poetry
|
||||||
|
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
||||||
|
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
||||||
|
# commonly ignored for libraries.
|
||||||
|
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
||||||
|
#poetry.lock
|
||||||
|
|
||||||
|
# pdm
|
||||||
|
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
||||||
|
#pdm.lock
|
||||||
|
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
||||||
|
# in version control.
|
||||||
|
# https://pdm.fming.dev/#use-with-ide
|
||||||
|
.pdm.toml
|
||||||
|
|
||||||
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
||||||
|
|
||||||
|
# pytype static type analyzer
|
||||||
|
.pytype/
|
||||||
|
|
||||||
|
# Cython debug symbols
|
||||||
|
cython_debug/
|
||||||
|
|
||||||
|
# PyCharm
|
||||||
|
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
||||||
|
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||||
|
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||||
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||||
|
#.idea/
|
1
.shellcheckrc
Normal file
1
.shellcheckrc
Normal file
@ -0,0 +1 @@
|
|||||||
|
disable=SC2153,SC2155,SC2046,SC1073,SC1078,SC1079,SC2016,SC1091,SC2034,SC2086,SC2153,SC2155,SC2236,SC2317,SC3037,SC3045,SC2046
|
2
.tool-versions
Normal file
2
.tool-versions
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
python 3.11.4
|
||||||
|
poetry 1.5.1
|
92
.vscode/launch.json
vendored
Normal file
92
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
// pytest: https://stackoverflow.com/questions/70259564/how-to-debug-the-current-python-test-file-with-pytest-in-vs-code
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Python: Current File",
|
||||||
|
"type": "python",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${file}",
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"cwd": "${fileDirname}",
|
||||||
|
"pythonArgs": [
|
||||||
|
"-Xfrozen_modules=off"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"PYDEVD_DISABLE_FILE_VALIDATION": "1"
|
||||||
|
}
|
||||||
|
// "args": ["-i", "response.xml", "-o", "response.csv"],
|
||||||
|
// "args": ["-d", "/Volumes/Data"],
|
||||||
|
// "args": ["-f", "menubar.dmg"],
|
||||||
|
// "args": ["-h"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Python: Django",
|
||||||
|
"type": "python",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}/manage.py",
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"args": [
|
||||||
|
"runserver"
|
||||||
|
],
|
||||||
|
"django": true,
|
||||||
|
"justMyCode": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Python: Flask",
|
||||||
|
"type": "python",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}/.venv/bin/flask",
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"args": [
|
||||||
|
"run",
|
||||||
|
"--host",
|
||||||
|
"0.0.0.0",
|
||||||
|
"--port",
|
||||||
|
"8000"
|
||||||
|
],
|
||||||
|
"justMyCode": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Python: Flet",
|
||||||
|
"type": "python",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}/.venv/bin/flet",
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"args": [
|
||||||
|
"run",
|
||||||
|
"main.py",
|
||||||
|
"-d"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"PYDEVD_DISABLE_FILE_VALIDATION": "1",
|
||||||
|
},
|
||||||
|
"justMyCode": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Python: Debug Tests",
|
||||||
|
"type": "python",
|
||||||
|
"request": "launch",
|
||||||
|
"module": "pytest",
|
||||||
|
"args": [
|
||||||
|
"${file}"
|
||||||
|
],
|
||||||
|
"console": "integratedTerminal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Node: Current File",
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${file}",
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"skipFiles": [
|
||||||
|
"<node_internals>/**"
|
||||||
|
],
|
||||||
|
// "runtimeExecutable": "${env:HOME}/.n/bin/node"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ansible.python.interpreterPath": "${workspaceFolder}/.venv/bin/python"
|
||||||
|
}
|
14
.vscode/settings.json
vendored
Normal file
14
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"[python]": {
|
||||||
|
"editor.insertSpaces": true,
|
||||||
|
"editor.tabSize": 4,
|
||||||
|
},
|
||||||
|
"python.testing.pytestArgs": [
|
||||||
|
"."
|
||||||
|
],
|
||||||
|
// ! only disable analysis (pylance) if ruff is installed
|
||||||
|
// https://github.com/astral-sh/ruff-vscode
|
||||||
|
// "python.analysis.ignore": [
|
||||||
|
// "*"
|
||||||
|
// ],
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user