1
0

Implemented content upload app with tests and pre-commit hooks

This commit is contained in:
2026-03-13 11:30:28 +00:00
commit 342d39d457
33 changed files with 2740 additions and 0 deletions

1
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1 @@
FROM mcr.microsoft.com/devcontainers/base:ubuntu

View File

@@ -0,0 +1,29 @@
{
"name": "Python + uv",
"dockerComposeFile": "./docker-compose.yml",
"service": "app",
"workspaceFolder": "/workspace",
"remoteUser": "vscode",
"features": {
"ghcr.io/devcontainers-extra/features/uv:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"charliermarsh.ruff",
"ms-python.mypy-type-checker",
"ms-toolsai.jupyter"
]
}
},
"remoteEnv": {
"PROJECT_NAME": "Python + uv",
"PYTHON_VERSION": "3.13",
"UV_INIT_BARE": "false",
"INSTALL_IPYKERNEL": "false"
},
"postCreateCommand": "make post-create",
"mounts": []
}

View File

@@ -0,0 +1,10 @@
version: '3.8'
services:
app:
build: .
image: python_playground
container_name: python_playground
volumes:
- ..:/workspace:cached
command: sleep infinity

View File

@@ -0,0 +1,70 @@
#!/bin/bash
PROJECT_NAME=${PROJECT_NAME:-Python + uv}
echo "=== Testing Installed Tools ==="
echo "Run date: $(date -Is)"
echo
echo "Documentation: Tools included in ${PROJECT_NAME} devcontainer"
echo "================================================================"
echo
echo "Core Tools (from Ubuntu base + uv feature):"
echo " - uv: Python package manager"
echo " - bash: Shell"
echo " - git: Version control"
echo " - curl: Data transfer/downloads"
echo " - wget: Downloads"
echo " - build-essential: C/C++ compiler, make, build tools"
echo " - apt: Package manager"
echo " - openssh-client: SSH tools"
echo " - gnupg: Encryption/signing"
echo " - zip/unzip: Archive tools"
echo " - Standard utilities: grep, sed, awk, cut, sort, find, etc."
echo
echo "Note: Python is NOT pre-installed. Use 'uv python install' to add it."
echo
echo "=== Running Tool Tests ==="
echo
report_tool() {
local name="$1"; shift
local cmd="$*"
if command -v "$name" >/dev/null 2>&1; then
if [ -n "$cmd" ]; then
local v
v=$($cmd 2>/dev/null | head -1)
echo "${name}: ${v}"
else
echo "${name}: available"
fi
else
echo "${name}: not found"
fi
}
report_tool uv "uv --version"
report_tool python "python --version"
report_tool bash "bash --version"
report_tool zsh "zsh --version"
report_tool git "git --version"
report_tool zip "zip --version"
report_tool unzip "unzip -v"
report_tool grep "grep --version"
report_tool sed "sed --version"
report_tool awk "awk --version"
report_tool find "find --version"
report_tool cut "cut --version"
report_tool sort "sort --version"
report_tool cat
report_tool ls
report_tool mkdir
report_tool rm
echo
echo "=== Test Complete ==="
# Final summary
echo "✅ Apps are ready for '${PROJECT_NAME}'"
echo " Using python-uv devcontainer template"
echo " https://github.com/metinsenturk/devcontainer-templates/tree/main/src/python-uv"