diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml index 6872160..9fe9988 100644 --- a/.github/workflows/docker_build.yml +++ b/.github/workflows/docker_build.yml @@ -15,7 +15,7 @@ on: - completed jobs: - push-tfutils-image: + push-tfutility-image: runs-on: ubuntu-latest defaults: run: @@ -33,6 +33,6 @@ jobs: - name: 'Build Inventory Image' run: | - docker build . --tag ghcr.io/eieste/tfutils:latest - docker push ghcr.io/eieste/tfutils:latest + docker build . --tag ghcr.io/eieste/tfutility:latest + docker push ghcr.io/eieste/tfutility:latest diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index e50525f..32bdfc4 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -67,4 +67,4 @@ jobs: - name: Test Install run: | pip3 install .; - tfutils --help \ No newline at end of file + tfutility --help \ No newline at end of file diff --git a/.pre-commit-hooks.yaml b/.pre-commit-hooks.yaml index a7982a7..b82b61a 100644 --- a/.pre-commit-hooks.yaml +++ b/.pre-commit-hooks.yaml @@ -1,21 +1,21 @@ - id: check-forcedremotesource name: forcedremoutesources description: Check if all modules hase remote sources. - entry: tfutils + entry: tfutility args: ["forcedremotesource"] language: python files: (\.tf)$ - id: check-moveddate name: forcedremoutesources description: Check if all moved blocks has dates defined. - entry: tfutils + entry: tfutility args: ["moveddate"] language: python files: (\.tf)$ - id: check-importdate name: importdate description: Check if all imports has dates defined - entry: tfutils + entry: tfutility args: ["importdate"] language: python files: (\.tf)$ diff --git a/.releaserc.prerelease.yaml b/.releaserc.prerelease.yaml index c289884..3906f1c 100644 --- a/.releaserc.prerelease.yaml +++ b/.releaserc.prerelease.yaml @@ -22,4 +22,4 @@ fail: - "@semantic-release/github" -repositoryUrl: git@github.com:eieste/tfutils.git +repositoryUrl: git@github.com:eieste/tfutility.git diff --git a/Dockerfile b/Dockerfile index 96f36ca..ebac804 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,10 @@ FROM python:3.13-alpine LABEL MAINTAINER="Stefan Eiermann " -ENV PS1="\[\e[0;33m\]|> tfutils <| \[\e[1;35m\]\W\[\e[0m\] \[\e[0m\]# " +ENV PS1="\[\e[0;33m\]|> tfutility <| \[\e[1;35m\]\W\[\e[0m\] \[\e[0m\]# " WORKDIR /src COPY . /src RUN pip install --no-cache-dir -r requirements.txt \ && python setup.py install WORKDIR / -ENTRYPOINT ["tfutils"] +ENTRYPOINT ["tfutility"] diff --git a/MANIFEST.in b/MANIFEST.in index d78b8e6..fc835ed 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -3,6 +3,5 @@ include setup.cfg include README.md CHANGELOG.md LICENSE include VERSION include *.txt -recursive-include src/tfutils/templates * - -recursive-include src/tfutils * +recursive-include src/tfutility/templates * +recursive-include src/tfutility * diff --git a/Makefile b/Makefile index 142a7a3..4b64aeb 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ clean: find . -name '*.py[co]' -delete virtualenv: - virtualenv --prompt '|> tfutils <| ' env + virtualenv --prompt '|> tfutility <| ' env env/bin/pip install -r requirements-dev.txt env/bin/python setup.py develop @echo @@ -14,13 +14,13 @@ virtualenv: test: python -m pytest \ -v \ - --cov=tfutils \ + --cov=tfutility \ --cov-report=term \ --cov-report=html:coverage-report \ tests/ docker: clean - docker build -t tfutils:latest . + docker build -t tfutility:latest . dist: clean rm -rf dist/* diff --git a/README.md b/README.md index e7ac859..71e06ce 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# TFUtils +# TfUtility -[![Validate](https://github.com/eieste/tfutils/actions/workflows/validate.yml/badge.svg)](https://github.com/eieste/tfutils/actions/workflows/validate.yml) +[![Validate](https://github.com/eieste/tfutility/actions/workflows/validate.yml/badge.svg)](https://github.com/eieste/tfutility/actions/workflows/validate.yml) provides different tools for Terraform Developers @@ -8,7 +8,7 @@ provides different tools for Terraform Developers ## Installation ``` -$ pip install tfutils +$ pip install tfutility ``` # TF-Rule-Checker diff --git a/VERSION b/VERSION index 77d6f4c..8acdd82 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.0 +0.0.1 diff --git a/docs/source/code/main.rst b/docs/source/code/main.rst index 838992c..de35a70 100644 --- a/docs/source/code/main.rst +++ b/docs/source/code/main.rst @@ -4,7 +4,7 @@ main -.. autoclass:: tfutils.main.TfUtils +.. autoclass:: tfutility.main.TfUtility :members: :inherited-members: :undoc-members: diff --git a/docs/source/code/tffile.rst b/docs/source/code/tffile.rst index 201d98b..390371f 100644 --- a/docs/source/code/tffile.rst +++ b/docs/source/code/tffile.rst @@ -3,19 +3,19 @@ tffile ====== -.. autoclass:: tfutils.core.tffile.TfFile +.. autoclass:: tfutility.core.tffile.TfFile :members: :inherited-members: :undoc-members: -.. autoclass:: tfutils.core.tffile.TfBlock +.. autoclass:: tfutility.core.tffile.TfBlock :members: :inherited-members: :undoc-members: -.. autoclass:: tfutils.core.tffile.TfUtilDecorator +.. autoclass:: tfutility.core.tffile.TfUtilDecorator :members: :inherited-members: :undoc-members: diff --git a/docs/source/code/tfpaths.rst b/docs/source/code/tfpaths.rst index 20f4746..24c4c8d 100644 --- a/docs/source/code/tfpaths.rst +++ b/docs/source/code/tfpaths.rst @@ -2,7 +2,7 @@ tfpaths ======= -.. autoclass:: tfutils.core.tfpaths.TfPaths +.. autoclass:: tfutility.core.tfpaths.TfPaths :members: :inherited-members: :undoc-members: diff --git a/docs/source/users/forcedremotesource.rst b/docs/source/users/forcedremotesource.rst index 17a2eea..d822219 100644 --- a/docs/source/users/forcedremotesource.rst +++ b/docs/source/users/forcedremotesource.rst @@ -27,7 +27,7 @@ Example usage ``# @forcedremotesource`` -The following Code tells tfutils this module should have an remote source. +The following Code tells tfutility this module should have an remote source. But as you can see the module has an local path .. code-block:: hcl @@ -56,7 +56,7 @@ This raises an version missing error .. code-block:: sh :linenos: - $ tfutils forcedremotesource test.tf + $ tfutility forcedremotesource test.tf Command Line Arguments @@ -67,9 +67,9 @@ Usage in Terraform .. argparse:: - :module: tfutils.main + :module: tfutility.main :func: _get_parser_only - :prog: tfutils + :prog: tfutility :path: forcedremotesource diff --git a/docs/source/users/importdate.rst b/docs/source/users/importdate.rst index 6d0fc27..fbcbaf9 100644 --- a/docs/source/users/importdate.rst +++ b/docs/source/users/importdate.rst @@ -45,9 +45,9 @@ Terraform } .. argparse:: - :module: tfutils.main + :module: tfutility.main :func: _get_parser_only - :prog: tfutils + :prog: tfutility :path: importdate diff --git a/docs/source/users/moveddate.rst b/docs/source/users/moveddate.rst index 7c106ed..d76e885 100644 --- a/docs/source/users/moveddate.rst +++ b/docs/source/users/moveddate.rst @@ -44,7 +44,7 @@ Terraform .. argparse:: - :module: tfutils.main + :module: tfutility.main :func: _get_parser_only - :prog: tfutils + :prog: tfutility :path: moveddate diff --git a/docs/source/users/swapsource.rst b/docs/source/users/swapsource.rst index 9cec64b..315ff00 100644 --- a/docs/source/users/swapsource.rst +++ b/docs/source/users/swapsource.rst @@ -33,7 +33,7 @@ Terraform .. argparse:: - :module: tfutils.main + :module: tfutility.main :func: _get_parser_only - :prog: tfutils + :prog: tfutility :path: sourceswap \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index eb58340..26e57ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,8 +3,8 @@ requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" [project] -name = "tfutils" -description = "TFUtils provides different tools for Terraform Developers" +name = "tfutility" +description = "TfUtility provides different tools for Terraform Developers" dynamic = ["version"] readme = { file = 'README.md', content-type = 'text/markdown' } license = { file = 'LICENSE' } @@ -13,7 +13,7 @@ dependencies = ["python-hcl2"] [tool.setuptools] -packages = ["tfutils"] +packages = ["tfutility"] [tool.setuptools.dynamic] version = { file = "VERSION" } @@ -44,7 +44,7 @@ exclude = ''' profile = "black" line_length = 88 # known_third_party = ["your_third_party_lib"] -# known_first_party = "tfutils" +# known_first_party = "tfutility" [tool.flake8] max-line-length = 88 @@ -55,9 +55,9 @@ extend-ignore = "E203, W503" [tool.coverage.run] branch = true -#include = ["src/tfutils/*"] +#include = ["src/tfutility/*"] # command_line = "-m unittest discover -s tests/" source = ["."] [project.scripts] -tfutils = "tfutils.main:main" +tfutility = "tfutility.main:main" diff --git a/setup.py b/setup.py index 3411ef8..ee371b7 100644 --- a/setup.py +++ b/setup.py @@ -11,18 +11,18 @@ f.close() setup( - name="tfutils", + name="tfutility", version=VERSION, - description="TFUtils provides different tools for Terraform Developers", + description="TfUtility provides different tools for Terraform Developers", long_description=LONG_DESCRIPTION, long_description_content_type="text/markdown", author="Stefan Eiermann", author_email="foss@ultraapp.de", - url="https://github.com/eieste/tfutils.git", + url="https://github.com/eieste/tfutility.git", license="AGPLv3", packages=find_packages(), package_dir={"": "src"}, - package_data={"tfutils": ["templates/*"]}, + package_data={"tfutility": ["templates/*"]}, include_package_data=True, - entry_points={"console_scripts": ["tfutils = tfutils.main:main"]}, + entry_points={"console_scripts": ["tfutility = tfutility.main:main"]}, ) diff --git a/src/tfutils/__init__.py b/src/tfutility/__init__.py similarity index 100% rename from src/tfutils/__init__.py rename to src/tfutility/__init__.py diff --git a/src/tfutils/contrib/deprecation.py b/src/tfutility/contrib/deprecation.py similarity index 100% rename from src/tfutils/contrib/deprecation.py rename to src/tfutility/contrib/deprecation.py diff --git a/src/tfutils/controllers/__init__.py b/src/tfutility/controllers/__init__.py similarity index 100% rename from src/tfutils/controllers/__init__.py rename to src/tfutility/controllers/__init__.py diff --git a/src/tfutils/controllers/blockdate.py b/src/tfutility/controllers/blockdate.py similarity index 96% rename from src/tfutils/controllers/blockdate.py rename to src/tfutility/controllers/blockdate.py index 34b71b9..1b9aca0 100644 --- a/src/tfutils/controllers/blockdate.py +++ b/src/tfutility/controllers/blockdate.py @@ -2,9 +2,9 @@ import sys from datetime import datetime, timedelta -from tfutils.core.base import Command -from tfutils.core.tffile import TfFile -from tfutils.core.tfpaths import TFPaths +from tfutility.core.base import Command +from tfutility.core.tffile import TfFile +from tfutility.core.tfpaths import TFPaths class BlockDateHandler(TFPaths, Command): diff --git a/src/tfutils/controllers/forcedremotesource.py b/src/tfutility/controllers/forcedremotesource.py similarity index 93% rename from src/tfutils/controllers/forcedremotesource.py rename to src/tfutility/controllers/forcedremotesource.py index 33e4c25..89da7c1 100644 --- a/src/tfutils/controllers/forcedremotesource.py +++ b/src/tfutility/controllers/forcedremotesource.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- import sys -from tfutils.core.base import Command -from tfutils.core.tffile import TfFile -from tfutils.core.tfpaths import TFPaths +from tfutility.core.base import Command +from tfutility.core.tffile import TfFile +from tfutility.core.tfpaths import TFPaths class ForcedRemoteSourceHandler(TFPaths, Command): diff --git a/src/tfutils/controllers/sourceswap.py b/src/tfutility/controllers/sourceswap.py similarity index 97% rename from src/tfutils/controllers/sourceswap.py rename to src/tfutility/controllers/sourceswap.py index 786d016..478453f 100644 --- a/src/tfutils/controllers/sourceswap.py +++ b/src/tfutility/controllers/sourceswap.py @@ -3,9 +3,9 @@ import re import sys -from tfutils.core.base import Command -from tfutils.core.tffile import TfFile -from tfutils.core.tfpaths import TFPaths +from tfutility.core.base import Command +from tfutility.core.tffile import TfFile +from tfutility.core.tfpaths import TFPaths class SWITCH_DIRECTION(enum.Enum): diff --git a/src/tfutils/core/abstract.py b/src/tfutility/core/abstract.py similarity index 100% rename from src/tfutils/core/abstract.py rename to src/tfutility/core/abstract.py diff --git a/src/tfutils/core/base.py b/src/tfutility/core/base.py similarity index 93% rename from src/tfutils/core/base.py rename to src/tfutility/core/base.py index 59a8100..bb7e8a7 100644 --- a/src/tfutils/core/base.py +++ b/src/tfutility/core/base.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import argparse -from tfutils.core.abstract import AbstractCommand +from tfutility.core.abstract import AbstractCommand class Command(AbstractCommand): diff --git a/src/tfutils/core/exp.py b/src/tfutility/core/exp.py similarity index 100% rename from src/tfutils/core/exp.py rename to src/tfutility/core/exp.py diff --git a/src/tfutils/core/tffile.py b/src/tfutility/core/tffile.py similarity index 94% rename from src/tfutils/core/tffile.py rename to src/tfutility/core/tffile.py index 6d6cad6..4da4466 100644 --- a/src/tfutils/core/tffile.py +++ b/src/tfutility/core/tffile.py @@ -5,16 +5,16 @@ import hcl2 -from tfutils.contrib.deprecation import deprecated +from tfutility.contrib.deprecation import deprecated # \#\s?\@([a-z]+)(\((.*)\))? OpendTfFile = namedtuple("OpendTfFile", ("path", "lines", "parsed")) -class TfUtilDecorator: +class TfUtilityDecorator: """ - Represents a tfutils decorator used in tf files above blocks + Represents a tfutility decorator used in tf files above blocks """ # Parses key="value", parameters ( used inside the decorator braces ) @@ -54,7 +54,7 @@ def _parse(self, data: str): :return: A dictionary of key-value pairs """ result = {} - for regfind in TfUtilDecorator.PARAM_REGEX.findall(data): + for regfind in TfUtilityDecorator.PARAM_REGEX.findall(data): result[regfind[0]] = regfind[1].strip('"') return result @@ -64,7 +64,7 @@ class TfBlock: Represents a block in a terraform file """ - # Parses an tfutils decorator inside terraform files + # Parses an tfutility decorator inside terraform files DECORATOR_REGEX = re.compile( r"#\s?\@([a-z]+)(\((.*)\))?", ) @@ -150,7 +150,7 @@ def tffile(self): def content(self): return self._content - def get_decorator(self, name: str) -> TfUtilDecorator | None: + def get_decorator(self, name: str) -> TfUtilityDecorator | None: """ find a decorator with the given name above the current block @@ -198,7 +198,7 @@ def _find_decorators(self): found_decorator = self.get_tfile().lines[line_nr].strip() result = TfBlock.DECORATOR_REGEX.fullmatch(found_decorator) decorator_list.append( - TfUtilDecorator(self, result.group(1), result.group(2)) + TfUtilityDecorator(self, result.group(1), result.group(2)) ) line_nr = -1 diff --git a/src/tfutils/core/tfpaths.py b/src/tfutility/core/tfpaths.py similarity index 94% rename from src/tfutils/core/tfpaths.py rename to src/tfutility/core/tfpaths.py index 9881279..b7b7ac2 100644 --- a/src/tfutils/core/tfpaths.py +++ b/src/tfutility/core/tfpaths.py @@ -2,8 +2,8 @@ import argparse import pathlib -from tfutils.core.abstract import AbstractCommand -from tfutils.core.exp import PathIsNotValid +from tfutility.core.abstract import AbstractCommand +from tfutility.core.exp import PathIsNotValid class TFPaths(AbstractCommand): @@ -57,6 +57,6 @@ def get_file_list(self, paths: pathlib.Path) -> list[pathlib.Path]: if len(file_list) <= 0: self.get_logger().warning( - "The Search-Methoud found Zero files tha tcan be used by tfutils " + "The Search-Methoud found Zero files tha tcan be used by tfutility " ) return file_list diff --git a/src/tfutils/main.py b/src/tfutility/main.py similarity index 88% rename from src/tfutils/main.py rename to src/tfutility/main.py index a71704b..f3f6ec9 100644 --- a/src/tfutils/main.py +++ b/src/tfutility/main.py @@ -3,18 +3,18 @@ import logging from collections import namedtuple -from tfutils.controllers.blockdate import ImportDateHandler, MovedDateHandler -from tfutils.controllers.forcedremotesource import ForcedRemoteSourceHandler -from tfutils.controllers.sourceswap import SourceSwapHandler +from tfutility.controllers.blockdate import ImportDateHandler, MovedDateHandler +from tfutility.controllers.forcedremotesource import ForcedRemoteSourceHandler +from tfutility.controllers.sourceswap import SourceSwapHandler HandlerInfo = namedtuple("HandlerInfo", ("handler_cls", "handler_obj", "init_parser")) -log = logging.getLogger("tfutils") +log = logging.getLogger("tfutility") -class TfUtils: +class TfUtility: """ - TfUtils Initial class. This class initializes all CLI arguments + TfUtility Initial class. This class initializes all CLI arguments """ # List of all Available CLI Handlers @@ -108,12 +108,12 @@ def _get_parser_only() -> argparse.ArgumentParser: """ returns only the initialized parser """ - app = TfUtils() + app = TfUtility() return app._init_parser() def main(): - app = TfUtils() + app = TfUtility() app.do() diff --git a/tests/test_core_tfparse.py b/tests/test_core_tfparse.py index 9b14ffa..713eaaf 100644 --- a/tests/test_core_tfparse.py +++ b/tests/test_core_tfparse.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import hcl2 -from tfutils.core.tffile import OpendTfFile, TfBlock, TfFile +from tfutility.core.tffile import OpendTfFile, TfBlock, TfFile def test_filemetadata_extract_blocks_simple(mocker): - mocker.patch("tfutils.core.tffile.TfFile.read_tf") + mocker.patch("tfutility.core.tffile.TfFile.read_tf") fm = TfFile("") fm._extract_blocks( @@ -27,7 +27,7 @@ def test_filemetadata_extract_blocks_simple(mocker): def test_filemetadata_extract_blocks_more(mocker): - mocker.patch("tfutils.core.tffile.TfFile.read_tf") + mocker.patch("tfutility.core.tffile.TfFile.read_tf") fm = TfFile("") with open("./tests/testcode/main.tf", "r") as fobj: @@ -49,7 +49,7 @@ def test_filemetadata_extract_blocks_more(mocker): def test_find_decorators_nothing_found(mocker): mocker.patch( - "tfutils.core.tffile.TfFile.read_tf", + "tfutility.core.tffile.TfFile.read_tf", return_value=OpendTfFile(None, ["a", "b", "c", "d"], None), ) tff = TfFile("", autoparse=False) @@ -59,7 +59,7 @@ def test_find_decorators_nothing_found(mocker): def test_find_decorators_found(mocker): mocker.patch( - "tfutils.core.tffile.TfFile.read_tf", + "tfutility.core.tffile.TfFile.read_tf", return_value=OpendTfFile( None, ['# @bar(bar="test")', "a", '# @fooo(bar="test", party="hard")', "c", "d"], diff --git a/tests/test_core_tfpaths.py b/tests/test_core_tfpaths.py index 286c8fa..2b6331e 100644 --- a/tests/test_core_tfpaths.py +++ b/tests/test_core_tfpaths.py @@ -6,8 +6,8 @@ import pytest -from tfutils.core.exp import PathIsNotValid -from tfutils.core.tfpaths import TFPaths +from tfutility.core.exp import PathIsNotValid +from tfutility.core.tfpaths import TFPaths def test_get_file_list_invalid_path(caplog):