From 3fc983f28f7122be0718ecf62b10309d0cf887ba Mon Sep 17 00:00:00 2001 From: Marc Michalsky Date: Sat, 29 Oct 2022 19:00:26 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=EF=B8=8F=20use=20pyproject.toml=20?= =?UTF-8?q?to=20build=20the=20package?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.name | 1 + .idea/modules.xml | 2 +- ...on.iml => project_civiproxy_logs2json.iml} | 2 +- MANIFEST.in | 1 + civiproxy_logs2json/__init__.py | 1 - pyproject.toml | 45 +++++++++++++++++++ setup.py | 24 +--------- src/civiproxy_logs2json/__init__.py | 13 ++++++ .../civiproxy_logs2json}/__main__.py | 23 +++++----- src/civiproxy_logs2json/config.toml | 4 ++ tests/test_translate_logfile.py | 2 +- 11 files changed, 79 insertions(+), 39 deletions(-) create mode 100644 .idea/.name rename .idea/{civiproxy_logs2json.iml => project_civiproxy_logs2json.iml} (81%) create mode 100644 MANIFEST.in delete mode 100644 civiproxy_logs2json/__init__.py create mode 100644 pyproject.toml create mode 100644 src/civiproxy_logs2json/__init__.py rename {civiproxy_logs2json => src/civiproxy_logs2json}/__main__.py (68%) create mode 100644 src/civiproxy_logs2json/config.toml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..047b72f --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +project_civiproxy_logs2json \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 698cbce..69ae855 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/.idea/civiproxy_logs2json.iml b/.idea/project_civiproxy_logs2json.iml similarity index 81% rename from .idea/civiproxy_logs2json.iml rename to .idea/project_civiproxy_logs2json.iml index 6fda86d..ea9e34e 100644 --- a/.idea/civiproxy_logs2json.iml +++ b/.idea/project_civiproxy_logs2json.iml @@ -4,7 +4,7 @@ - + diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..8dd39ec --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +include src/civiproxy_logs2json/*.toml \ No newline at end of file diff --git a/civiproxy_logs2json/__init__.py b/civiproxy_logs2json/__init__.py deleted file mode 100644 index 22d43c6..0000000 --- a/civiproxy_logs2json/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .__main__ import main, translate_logfile diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..0e38919 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,45 @@ +[build-system] +requires = ["setuptools>=61.0.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "civiproxy_logs2json" +version = "1.0.4" +description = "Translate a CiviProxy logfile into JSON format." +readme = "README.md" +authors = [{ name = "Marc Michalsky", email = "michalsky@forumZFD.de" }] +license = { file = "LICENSE" } +classifiers = [ + "License :: OSI Approved :: MIT License", + "Programming Language :: Python", + "Programming Language :: Python :: 3", +] +keywords = ["civicrm", "json", "logs"] +dependencies = ['tomli; python_version < "3.11"',] +requires-python = ">=3.5" + +[project.optional-dependencies] +dev = ["pytest", "bumpver"] + +[project.urls] +Homepage = "https://github.com/MarcMichalsky/civiproxy_logs2json" + +[project.scripts] +cpl2j = "civiproxy_logs2json.__main__:main" + +[tool.bumpver] +current_version = "1.0.3" +version_pattern = "MAJOR.MINOR.PATCH" +commit_message = "🔖 bump version {old_version} -> {new_version}" +commit = true +tag = true +push = true + +[tool.bumpver.file_patterns] +"pyproject.toml" = [ + 'current_version = "{version}"', +] +"src/civiproxy_logs2json/__init__.py" = [ + "{version}" +] + diff --git a/setup.py b/setup.py index 9d74870..6068493 100644 --- a/setup.py +++ b/setup.py @@ -1,23 +1,3 @@ -from setuptools import setup, find_packages +from setuptools import setup -with open("README.md", "r") as fh: - description = fh.read() - -setup( - name="civiproxy_logs2json", - version="1.0.3", - author="Marc Michalsky", - author_email="michalsky@forumZFD.de", - packages=find_packages("civiproxy_logs2json", exclude=["test"]), - description="Translate a CiviProxy logfile into JSON format.", - long_description=description, - long_description_content_type="text/markdown", - url="https://github.com/MarcMichalsky/civiproxy_logs2json", - license='MIT', - python_requires='>=3.5', - entry_points={ - 'console_scripts': [ - 'cpl2j = civiproxy_logs2json.__main__:main', - ], - }, -) +setup() diff --git a/src/civiproxy_logs2json/__init__.py b/src/civiproxy_logs2json/__init__.py new file mode 100644 index 0000000..53371ed --- /dev/null +++ b/src/civiproxy_logs2json/__init__.py @@ -0,0 +1,13 @@ +from importlib import resources +from .__main__ import main, translate_logfile +try: + import tomllib +except ModuleNotFoundError: + import tomli as tomllib + +__version__ = "1.0.3" + +_cfg = tomllib.loads(resources.read_text("civiproxy_logs2json", "config.toml")) +REQUEST_LINE_RE = _cfg["regex"]["request_line"] +VALUES_LINE_RE = _cfg["regex"]["values_line"] +CLOSING_LINE_RE = _cfg["regex"]["closing_line"] diff --git a/civiproxy_logs2json/__main__.py b/src/civiproxy_logs2json/__main__.py similarity index 68% rename from civiproxy_logs2json/__main__.py rename to src/civiproxy_logs2json/__main__.py index 8e8ae59..7c425b4 100644 --- a/civiproxy_logs2json/__main__.py +++ b/src/civiproxy_logs2json/__main__.py @@ -4,21 +4,18 @@ import re import sys from typing import TextIO -REQUEST_LINE_RE = r"^REQUEST FROM (?P(\d{1,3}\.){3}\d{1,3}) ON (?P\d\d\d\d-\d\d-\d\d) (?P