1-get-feet-wet-versioning #2

Merged
hygienic-books merged 36 commits from 1-get-feet-wet-versioning into master 2022-05-02 21:04:55 +00:00
16 changed files with 267 additions and 0 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@ -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

View File

@ -0,0 +1,35 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyCompatibilityInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ourVersions">
<value>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="3.11" />
</list>
</value>
</option>
</inspection_tool>
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<value>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="google" />
</list>
</value>
</option>
</inspection_tool>
<inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredIdentifiers">
<list>
<option value="str.decode" />
</list>
</option>
</inspection_tool>
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
</profile>
</component>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/kodi-timekeeper.iml" filepath="$PROJECT_DIR$/.idea/kodi-timekeeper.iml" />
</modules>
</component>
</project>

12
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CommitMessageInspectionProfile">
<profile version="1.0">
<inspection_tool class="CommitFormat" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CommitNamingConvention" enabled="true" level="WARNING" enabled_by_default="true" />
</profile>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -1,2 +1,14 @@
# kodi-timekeeper # 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
```

1
newsfragments/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
!.gitignore

View File

@ -0,0 +1,2 @@
Add rudimentary versioning mechanics
Set up project defaults

105
pyproject.toml Normal file
View File

@ -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_*"

4
requirements.in Normal file
View File

@ -0,0 +1,4 @@
requests
towncrier
semver
pytest

53
requirements.txt Normal file
View File

@ -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

0
src/__init__.py Normal file
View File

View File

0
tests/__init__.py Normal file
View File

View File

View File

@ -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)