From 2be428be7028390ea23f707754ac1dc68a72d383 Mon Sep 17 00:00:00 2001 From: missytake Date: Fri, 4 Apr 2025 10:33:11 +0200 Subject: [PATCH] initial commit: basicpy project structure --- .gitignore | 6 +++++ LICENSE | 13 +++++++++ README.md | 10 +++++++ pyproject.toml | 6 +++++ setup.cfg | 51 +++++++++++++++++++++++++++++++++++ src/keyserver_bot/__init__.py | 2 ++ src/keyserver_bot/__main__.py | 3 +++ 7 files changed, 91 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 pyproject.toml create mode 100644 setup.cfg create mode 100644 src/keyserver_bot/__init__.py create mode 100644 src/keyserver_bot/__main__.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7c463ec --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.swp +*.egg-info/ +__pycache__/ +/.tox/ +/build/ +/venv/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8048702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2025 missytake + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f711c79 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# Keyserver Bot + +## Setup + +``` +python3 -m venv venv +. venv/bin/activate +pip install -e . +keyserver-bot --help +``` diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..374b58c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,6 @@ +[build-system] +requires = [ + "setuptools>=42", + "wheel" +] +build-backend = "setuptools.build_meta" diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..d8b6c73 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,51 @@ +[metadata] +name = keyserver-bot +version = 0.0.1 +author = missytake +author_email = missytake@systemli.org +description = A Chatmail bot to query contacts from keys.openpgp.org +long_description = file: README.md +long_description_content_type = text/markdown +url = https://git.0x90.space/missytake/keyserver-bot +project_urls = + Bug Tracker = https://git.0x90.space/missytake/keyserver-bot/issues + +[options] +package_dir = + = src +packages = find: +python_requires = >=3.11 +install_requires = + deltachat-rpc-client + deltachat-rpc-server + +[options.packages.find] +where = src + +[options.entry_points] +console_scripts = + keyserver-bot = keyserver_bot:main + +[tox:tox] +envlist = lint, py311, py312 +isolated_build = True + +[testenv:lint] +skip_install = True +deps = + black + flake8 + mypy +commands = + black --check --diff --line-length 120 src tests + flake8 src tests + mypy --disallow-untyped-defs src tests + +[testenv] +deps = + pytest +commands = + pytest tests + +[flake8] +max_line_length = 120 diff --git a/src/keyserver_bot/__init__.py b/src/keyserver_bot/__init__.py new file mode 100644 index 0000000..9169e98 --- /dev/null +++ b/src/keyserver_bot/__init__.py @@ -0,0 +1,2 @@ +def main() -> None: + print("Hello World") diff --git a/src/keyserver_bot/__main__.py b/src/keyserver_bot/__main__.py new file mode 100644 index 0000000..8273c4f --- /dev/null +++ b/src/keyserver_bot/__main__.py @@ -0,0 +1,3 @@ +from . import main + +main()