diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..e897414 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,26 @@ +// 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", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye", + "features": { + "ghcr.io/devcontainers-contrib/features/ruff:1": {}, + "ghcr.io/devcontainers-contrib/features/tox:2": {} + }, + + // 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": "python -m pip install .[dev]" + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..f33a02c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +# 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 more information: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +# https://containers.dev/guide/dependabot + +version: 2 +updates: + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: weekly diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4745f6e..e60c937 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -2,7 +2,7 @@ on: push: jobs: build: - name: Build exectuable 📦 + name: Build executable 📦 runs-on: windows-latest steps: - uses: actions/checkout@v4 @@ -11,7 +11,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.9" + python-version: "3.12" - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.gitignore b/.gitignore index 8bb693d..342eb15 100644 --- a/.gitignore +++ b/.gitignore @@ -132,4 +132,4 @@ env/ test/ -.DS_Store \ No newline at end of file +.DS_Store diff --git a/compose-dev.yaml b/compose-dev.yaml new file mode 100644 index 0000000..a92f701 --- /dev/null +++ b/compose-dev.yaml @@ -0,0 +1,12 @@ +services: + app: + entrypoint: + - sleep + - infinity + image: docker/dev-environments-default:stable-1 + init: true + volumes: + - type: bind + source: /var/run/docker.sock + target: /var/run/docker.sock + diff --git a/pyproject.toml b/pyproject.toml index 6ee0eed..1d5acac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools >= 61.0"] +requires = ["setuptools >= 70.0"] build-backend = "setuptools.build_meta" @@ -8,7 +8,7 @@ name = "forensicsim" description = "A forensic open-source parser module for Autopsy that allows extracting the messages, comments, posts, contacts, calendar entries and reactions from a Microsoft Teams IndexedDB LevelDB database." readme = "README.md" license = {file = "LICENSE.md"} -requires-python = ">=3.9" +requires-python = ">=3.12" authors = [ { name = "Alexander Bilz", email = "github@alexbilz.com" }, { name = "Markus Bilz", email = "github@markusbilz.com" } @@ -16,7 +16,7 @@ authors = [ dependencies = [ "beautifulsoup4", "click", -"chromedb @ git+https://github.com/lxndrblz/chromedb@main", +"ccl_chromium_reader @ git+https://github.com/cclgroupltd/ccl_chromium_reader@master", "dataclasses-json", "pause", "pyautogui", @@ -113,14 +113,14 @@ commands = # Auto Formatting [testenv:format] commands = - python -m ruff src tests --fix + python -m ruff check --fix src tests python -m ruff format src # Syntax Checks [testenv:lint] commands = python -m mypy src/forensicsim/backend.py - python -m ruff --output-format=github src + python -m ruff check --output-format=github src python -m ruff format src --check # Pre-Commit diff --git a/src/forensicsim/backend.py b/src/forensicsim/backend.py index 648870f..1adafb9 100644 --- a/src/forensicsim/backend.py +++ b/src/forensicsim/backend.py @@ -26,7 +26,7 @@ from pathlib import Path from typing import Any, Optional -from chromedb import ( +from ccl_chromium_reader import ( ccl_chromium_indexeddb, ccl_chromium_localstorage, ccl_chromium_sessionstorage,