diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/README.md b/README.md index f8d1d8a..a54f0e2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ # kodi-timekeeper +An approach to having kids use a Kodi media center instance: manage session use and keep track of time spent and available budget. + +## Valid Conventional Commits scopes + +* `meta`: Affects the Git project's structure such as for example a `pyproject.toml` change, adding a new directory or changing how a news fragment file is formatted + * Examples: + ``` + refactor(meta): Move pytest config into 'pyproject.toml' + ``` + ``` + build(meta): Set custom towncrier news topics + ``` \ No newline at end of file diff --git a/newsfragments/.gitignore b/newsfragments/.gitignore new file mode 100644 index 0000000..b722e9e --- /dev/null +++ b/newsfragments/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/newsfragments/1.build.rst b/newsfragments/1.build.rst new file mode 100644 index 0000000..49c115e --- /dev/null +++ b/newsfragments/1.build.rst @@ -0,0 +1,2 @@ +Add rudimentary versioning mechanics +Set up project defaults \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7f9b5ef --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,105 @@ +[project] + name = "kodi-timekeeper" + description = "An approach to letting kids use a Kodi media center instance" + version = "0.1.0" + authors = [ + { name = "hygienic-books", email = "hygienic-books@tentic.net" } + ] + dependencies = [ + "certifi==2021.10.8", + # via requests + "charset-normalizer==2.0.12", + # via requests + "idna==3.3", + # via requests + "requests==2.27.1", + # via -r requirements.in + "urllib3==1.26.9" + # via requests + ] + +[project.optional-dependencies] + dev = [ + "attrs==21.4.0", + # via pytest + "click==8.1.3", + # via + # click-default-group + # towncrier + "click-default-group==1.2.2", + # via towncrier + "incremental==21.3.0", + # via towncrier + "iniconfig==1.1.1", + # via pytest + "jinja2==3.1.2", + # via towncrier + "markupsafe==2.1.1", + # via jinja2 + "packaging==21.3", + # via pytest + "pluggy==1.0.0", + # via pytest + "py==1.11.0", + # via pytest + "pyparsing==3.0.8", + # via packaging + "pytest==7.1.2", + # via -r requirements.in + "semver==2.13.0", + # via -r requirements.in + "tomli==2.0.1", + # via + # pytest + # towncrier + "towncrier==21.9.0" + # via -r requirements.in + ] + +[build-system] + requires = [ + "setuptools==58.0.4", + "wheel==0.37.1" + ] + build-backend = "setuptools.build_meta" + +[tool.semantic_release] + version_toml = "pyproject.toml:project.version" + major_on_zero = false + +[tool.towncrier] + directory = "newsfragments" + package = "kodi-timekeeper" + package_dir = "src" + filename = "CHANGELOG.md" + type = [ + { name = "Features", directory = "feat", showcontent = true }, + { name = "Bug fixes", directory = "fix", showcontent = true }, + { name = "Project structure", directory = "build", showcontent = true }, + { name = "Refactor", directory = "refactor", showcontent = true }, + { name = "Test", directory = "test", showcontent = true }, + { name = "Documentation", directory = "docs", showcontent = true } + ] + +# New format is in the works, not yet part of towncrier 21.9.0 +# News topics from which we may want to choose: +# [tool.towncrier.fragment.build] +# [tool.towncrier.fragment.chore] +# [tool.towncrier.fragment.ci] +# [tool.towncrier.fragment.docs] +# [tool.towncrier.fragment.feat] +# [tool.towncrier.fragment.fix] +# [tool.towncrier.fragment.perf] +# [tool.towncrier.fragment.refactor] +# [tool.towncrier.fragment.revert] +# [tool.towncrier.fragment.style] +# [tool.towncrier.fragment.test] +# [tool.towncrier.fragment.deprecation] +# [tool.towncrier.fragment.remove] +# [tool.towncrier.fragment.trivial] +# [tool.towncrier.fragment.meta] + +[tool.pytest.ini_options] + python_files = "test_*" + python_classes = "*Tests" + python_functions = "test_*" \ No newline at end of file diff --git a/requirements.in b/requirements.in new file mode 100644 index 0000000..02013df --- /dev/null +++ b/requirements.in @@ -0,0 +1,4 @@ +requests +towncrier +semver +pytest \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..edcda7c --- /dev/null +++ b/requirements.txt @@ -0,0 +1,53 @@ +# +# This file is autogenerated by pip-compile with python 3.10 +# To update, run: +# +# pip-compile +# +attrs==21.4.0 + # via pytest +certifi==2021.10.8 + # via requests +charset-normalizer==2.0.12 + # via requests +click==8.1.3 + # via + # click-default-group + # towncrier +click-default-group==1.2.2 + # via towncrier +idna==3.3 + # via requests +incremental==21.3.0 + # via towncrier +iniconfig==1.1.1 + # via pytest +jinja2==3.1.2 + # via towncrier +markupsafe==2.1.1 + # via jinja2 +packaging==21.3 + # via pytest +pluggy==1.0.0 + # via pytest +py==1.11.0 + # via pytest +pyparsing==3.0.8 + # via packaging +pytest==7.1.2 + # via -r requirements.in +requests==2.27.1 + # via -r requirements.in +semver==2.13.0 + # via -r requirements.in +tomli==2.0.1 + # via + # pytest + # towncrier +towncrier==21.9.0 + # via -r requirements.in +urllib3==1.26.9 + # via requests + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/kodi-timekeeper/__init__.py b/src/kodi-timekeeper/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/kodi-timekeeper/__init__.py b/tests/kodi-timekeeper/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/kodi-timekeeper/test_ktk.py b/tests/kodi-timekeeper/test_ktk.py new file mode 100644 index 0000000..8607642 --- /dev/null +++ b/tests/kodi-timekeeper/test_ktk.py @@ -0,0 +1,21 @@ +class KTKTests: + #def test_adding_two_ints_returns_correct_result(self): + # assert alter(1, 2) == 3 + # pass + + def test_one(self): + assert 1 == 1 + + def test_two(self): + expect = (1, 2, 3) + actual = (1, 2, 3) + + +def test_adsasd(): + expect = (1, 2, 3) + actual = (1, 2, 3) + + +def test_aasssd(): + expect = (1, 2, 3) + actual = (1, 2, 3)