5 Commits
5 changed files with 56 additions and 29 deletions

No files matched your search

+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
- name: Install Poetry - name: Install Poetry
run: | run: |
pip install poetry pip install "poetry>=2,<3"
poetry self add poetry-plugin-export poetry self add poetry-plugin-export
- name: Install pip-audit - name: Install pip-audit
+7 -1
View File
@@ -3,19 +3,25 @@ repos:
rev: 1.9.4 rev: 1.9.4
hooks: hooks:
- id: bandit - id: bandit
name: Security Scan with Bandit
files: ^chguard/ files: ^chguard/
args: ["-lll", "-iii", "-s", "B110,B112"] args: ["-lll", "-iii", "-s", "B110,B112"]
- repo: https://github.com/psf/black-pre-commit-mirror - repo: https://github.com/psf/black-pre-commit-mirror
rev: 26.3.1 rev: 26.5.1
hooks: hooks:
- id: black - id: black
name: Enforce Black formatting
language_version: python3 language_version: python3
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0 rev: v6.0.0
hooks: hooks:
- id: trailing-whitespace - id: trailing-whitespace
name: Enforce removal of trailing whitespace
- id: end-of-file-fixer - id: end-of-file-fixer
name: Enforce end of the file format
- id: check-yaml - id: check-yaml
name: Check YAML syntax
- id: check-toml - id: check-toml
name: Check TOML syntax
+6
View File
@@ -283,3 +283,9 @@ Run the pytest suite with:
``` ```
poetry run pytest poetry run pytest
``` ```
## Support
If you find **chguard** useful, consider supporting its development:
[![Support me on Ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/mdaleo404)
Generated
+27 -14
View File
@@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.4.0 and should not be changed by hand. # This file is automatically @generated by Poetry 2.5.0 and should not be changed by hand.
[[package]] [[package]]
name = "argcomplete" name = "argcomplete"
@@ -73,14 +73,14 @@ test = ["pytest (>=6)"]
[[package]] [[package]]
name = "filelock" name = "filelock"
version = "3.20.3" version = "4.0.8"
description = "A platform independent file lock." description = "A platform independent file lock."
optional = false optional = false
python-versions = ">=3.10" python-versions = ">=3.10"
groups = ["main", "dev"] groups = ["main", "dev"]
files = [ files = [
{file = "filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1"}, {file = "filelock-4.0.8-py3-none-any.whl", hash = "sha256:325ff22f358c18443b1fcdfa0a7aa3faec4b500c2807c554719da4567b533d31"},
{file = "filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1"}, {file = "filelock-4.0.8.tar.gz", hash = "sha256:733d9b6b153fc63672f86104324186818b6bbe9dd7db84e9bb9887b6a04a2775"},
] ]
[[package]] [[package]]
@@ -261,6 +261,21 @@ tomli = {version = ">=1", markers = "python_version < \"3.11\""}
[package.extras] [package.extras]
dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"] dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"]
[[package]]
name = "python-discovery"
version = "1.6.1"
description = "Python interpreter discovery"
optional = false
python-versions = ">=3.8"
groups = ["dev"]
files = [
{file = "python_discovery-1.6.1-py3-none-any.whl", hash = "sha256:d43fcdef879fe795352bd13ccf8d185ba5a9f86f36cfcd00529f596e737442b3"},
{file = "python_discovery-1.6.1.tar.gz", hash = "sha256:cf87d3627dfb4412437fdd5b13eae402607722998d21567993aedbc59b23c15e"},
]
[package.dependencies]
filelock = ">=3.15.4"
[[package]] [[package]]
name = "pyyaml" name = "pyyaml"
version = "6.0.3" version = "6.0.3"
@@ -436,27 +451,25 @@ files = [
[[package]] [[package]]
name = "virtualenv" name = "virtualenv"
version = "20.36.1" version = "21.14.2"
description = "Virtual Python Environment builder" description = "Virtual Python Environment builder"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.9"
groups = ["dev"] groups = ["dev"]
files = [ files = [
{file = "virtualenv-20.36.1-py3-none-any.whl", hash = "sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f"}, {file = "virtualenv-21.14.2-py3-none-any.whl", hash = "sha256:6a8b7fd4e4ee00ebcdc1c5ee8cffd035d1fe130e354e8c9a44f510aac8affdc1"},
{file = "virtualenv-20.36.1.tar.gz", hash = "sha256:8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba"}, {file = "virtualenv-21.14.2.tar.gz", hash = "sha256:571930928b11e43db690073ad8228162eca8a3f8fd3a87acdeae07df7dd57068"},
] ]
[package.dependencies] [package.dependencies]
distlib = ">=0.3.7,<1" distlib = ">=0.3.7,<1"
filelock = {version = ">=3.20.1,<4", markers = "python_version >= \"3.10\""} filelock = {version = ">=3.24.2,<5", markers = "python_version >= \"3.10\""}
packaging = ">=23.1"
platformdirs = ">=3.9.1,<5" platformdirs = ">=3.9.1,<5"
python-discovery = ">=1.6"
typing-extensions = {version = ">=4.13.2", markers = "python_version < \"3.11\""} typing-extensions = {version = ">=4.13.2", markers = "python_version < \"3.11\""}
[package.extras]
docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"]
test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8) ; platform_python_implementation == \"PyPy\" or platform_python_implementation == \"GraalVM\" or platform_python_implementation == \"CPython\" and sys_platform == \"win32\" and python_version >= \"3.13\"", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10) ; platform_python_implementation == \"CPython\""]
[metadata] [metadata]
lock-version = "2.1" lock-version = "2.1"
python-versions = ">=3.10,<4.0" python-versions = ">=3.10,<4.0"
content-hash = "e2c2d57a74d31e7a59cc63daae9511890c9e21db043df7a5c8d9ac33e967e393" content-hash = "9cdd17377277900f5cb132fa000030ec980678f09d5e413d5e8f7e66058d571c"
+15 -13
View File
@@ -1,21 +1,23 @@
[tool.poetry] [project]
name = "chguard" name = "chguard"
version = "0.5.0" version = "0.5.1"
description = "Safety-first tool to snapshot and restore filesystem ownership and permissions." description = "Safety-first tool to snapshot and restore filesystem ownership and permissions."
authors = ["Marco D'Aleo <marco@marcodaleo.com>"] authors = [{ name = "Marco D'Aleo", email = "marco@marcodaleo.com" }]
license = "GPL-3.0-or-later" license = "GPL-3.0-or-later"
readme = "README.md" readme = "README.md"
homepage = "https://git.sysmd.uk/guardutils/chguard" requires-python = ">=3.10,<4.0"
repository = "https://git.sysmd.uk/guardutils/chguard" dependencies = [
"rich>=12",
"argcomplete>=2",
"platformdirs>=4.2.2",
"filelock>=3.15.4",
]
[tool.poetry.dependencies] [project.urls]
python = ">=3.10,<4.0" Homepage = "https://git.sysmd.uk/guardutils/chguard"
rich = ">=12" Repository = "https://git.sysmd.uk/guardutils/chguard"
argcomplete = ">=2"
platformdirs = ">=4.2.2"
filelock = ">=3.15.4"
[tool.poetry.scripts] [project.scripts]
chguard = "chguard.cli:main" chguard = "chguard.cli:main"
[tool.poetry.group.dev.dependencies] [tool.poetry.group.dev.dependencies]
@@ -29,5 +31,5 @@ line-length = 79
testpaths = ["tests"] testpaths = ["tests"]
[build-system] [build-system]
requires = ["poetry-core"] requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api" build-backend = "poetry.core.masonry.api"