From 6329d05bfeb8d4924294cb55de61009ca9ea6a89 Mon Sep 17 00:00:00 2001 From: Tronic Date: Tue, 25 Jan 2022 14:36:18 +0000 Subject: [PATCH] Setup Python project template. --- .gitignore | 4 ++++ README.md | 0 About.page => example/About.page | 0 Home.page => example/Home.page | 0 navbar => example/navbar | 0 gsitegen/__init__.py | 0 generate.py => gsitegen/generate.py | 0 setup.py | 32 +++++++++++++++++++++++++++++ tests/test_generate.py | 7 +++++++ tox.ini | 31 ++++++++++++++++++++++++++++ 10 files changed, 74 insertions(+) create mode 100644 README.md rename About.page => example/About.page (100%) rename Home.page => example/Home.page (100%) rename navbar => example/navbar (100%) create mode 100644 gsitegen/__init__.py rename generate.py => gsitegen/generate.py (100%) create mode 100644 setup.py create mode 100644 tests/test_generate.py create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore index a5fbb87..ae249c0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ +/.* +/*.egg-info website-output +__pycache__ +coverage.xml diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/About.page b/example/About.page similarity index 100% rename from About.page rename to example/About.page diff --git a/Home.page b/example/Home.page similarity index 100% rename from Home.page rename to example/Home.page diff --git a/navbar b/example/navbar similarity index 100% rename from navbar rename to example/navbar diff --git a/gsitegen/__init__.py b/gsitegen/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/generate.py b/gsitegen/generate.py similarity index 100% rename from generate.py rename to gsitegen/generate.py diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..9539b36 --- /dev/null +++ b/setup.py @@ -0,0 +1,32 @@ +from setuptools import find_packages, setup + +setup( + name="gsitegen", + author="Govindas", + author_email="govindas@govindas.invalid", + description="File and message encryption GUI and CLI", + long_description=open("README.md").read(), + long_description_content_type="text/markdown", + url="https://git.limework.net/Govindas/SiteGenerator", + use_scm_version=True, + setup_requires=["setuptools_scm"], + packages=find_packages(), + python_requires=">=3.8", + classifiers=[ + "Programming Language :: Python :: 3", + "License :: Public Domain", + "Operating System :: OS Independent", + ], + install_requires=[ + "html5tagger>=1.1.0", + "markdown>=3.3.6", + ], + extras_require={ + "test": ["pytest", "pytest-sugar", "pytest-mock", "coverage", "mypy", "bandit", "types-Markdown"], + "dev": ["tox", "isort", "yapf"], + }, + include_package_data=True, + entry_points=dict( + console_scripts=["gsitegen = gsitegen.generate:main"], + ), +) diff --git a/tests/test_generate.py b/tests/test_generate.py new file mode 100644 index 0000000..b7fd86f --- /dev/null +++ b/tests/test_generate.py @@ -0,0 +1,7 @@ +from gsitegen.generate import * +from html5tagger import E + +def test_something(): + doc = E() + parseMarkdown(doc, "## Heading 2") + assert str(doc) == "

Heading 2

" diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..27f3825 --- /dev/null +++ b/tox.ini @@ -0,0 +1,31 @@ +[tox] +envlist = clean, py39, py310, coverage, security, type-checking + +[coverage:run] +include = gsitegen/*.py +branch = true + +[testenv:clean] +whitelist_externals = rm +commands = + rm -f .coverage + +[testenv] +usedevelop = true +extras = test +commands = + coverage run --append -m pytest {posargs:tests} + +[testenv:coverage] +commands = + coverage report -i + coverage html -i + coverage xml -i + +[testenv:type-checking] +commands = + mypy gsitegen --ignore-missing-imports + +[testenv:security] +commands = + bandit --recursive gsitegen --skip B101