Skip to content

Commit

Permalink
Add missing types and update tooling
Browse files Browse the repository at this point in the history
  • Loading branch information
Josef-Friedrich committed Jan 2, 2024
1 parent 753eee1 commit 49df004
Show file tree
Hide file tree
Showing 9 changed files with 342 additions and 343 deletions.
6 changes: 4 additions & 2 deletions .python-version
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
3.6.12
3.7.9
3.8.18
3.9.18
3.11.6
3.12.0
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Test

::

tox
poetry run tox

Publish a new version
---------------------
Expand Down
4 changes: 1 addition & 3 deletions README_template.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@ Test

::

tox

poetry run tox

Publish a new version
---------------------
Expand All @@ -66,7 +65,6 @@ Publish a new version
poetry build
poetry publish


Package documentation
---------------------

Expand Down
618 changes: 302 additions & 316 deletions poetry.lock

Large diffs are not rendered by default.

18 changes: 11 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,19 @@ repository = "https://github.com/Josef-Friedrich/tmep"

[tool.poetry.dependencies]
python = "^3.8"
Unidecode = "^1.3.4"
Unidecode = "^1.3.7"

[tool.poetry.group.dev.dependencies]
pytest = "^5.2"
pytest = "^7.4.4"
mypy = "^0.961"
autopep8 = "^1.6.0"
readme-patcher = "^0.6.0"
black = "^22.6.0"
isort = "^5.10.1"
tox = "^3.25.1"
tox = "^4.11.4"
ruff = "^0.1.9"

[build-system]
requires = ["poetry>=1.5.1"]
build-backend = "poetry.masonry.api"
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.poetry.scripts]
tmep-doc = "tmep.doc:print_doc"
Expand All @@ -44,3 +43,8 @@ dest = "README.rst"
[[tool.readme_patcher.file]]
src = ".functions_template.rst"
dest = "docs/functions.rst"

[tool.pyright]
reportPrivateUsage = false
reportUnusedExpression = false
reportInvalidStringEscapeSequence = false
15 changes: 12 additions & 3 deletions tmep/__init__.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,30 @@
from importlib import metadata
from typing import Optional

from tmep import doc, functions, template
from tmep.types import FunctionCollection, Values

__version__: str = metadata.version("tmep")

doc


class Template(template.Template):
def __init__(self, template):
def __init__(self, template: str) -> None:
super(Template, self).__init__(template)


class Functions(functions.Functions):
def __init__(self, values=None):
def __init__(self, values: Optional[Values] = None) -> None:
super(Functions, self).__init__(values)


def parse(template: str, values=None, additional_functions=None, functions=None):
def parse(
template: str,
values: Optional[Values] = None,
additional_functions: Optional[FunctionCollection] = None,
functions: Optional[FunctionCollection] = None,
) -> str:
template_ = Template(template)
if not functions:
functions_ = Functions(values)
Expand All @@ -27,4 +34,6 @@ def parse(template: str, values=None, additional_functions=None, functions=None)
for k, v in additional_functions.items():
functions[k] = v

if not values:
values = {}
return template_.substitute(values, functions)
1 change: 0 additions & 1 deletion tmep/doc.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@


class Doc(object):

synopsises: FunctionDoc
examples: FunctionDoc
descriptions: FunctionDoc
Expand Down
2 changes: 1 addition & 1 deletion tmep/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

from unidecode import unidecode

from .types import FunctionCollection, Values
from tmep.types import FunctionCollection, Values


def _int_arg(s: str) -> int:
Expand Down
19 changes: 10 additions & 9 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
[tox]
envlist = py{38,39,310,311}, format, docs, lint
envlist = py{38,39,310,311,312}, format, docs, lint
isolated_build = True

[testenv]
deps =
nose2==0.11.0
nose2==0.14.0
commands = nose2 {posargs}

[testenv:format]
deps =
isort==5.10.1
black==22.6.0
ruff==0.1.9
commands =
isort .
black .
; sort imports
ruff check --select I --fix .
ruff format

[testenv:docs]
deps =
Expand All @@ -26,13 +26,14 @@ commands =

[testenv:lint]
deps =
flake8==4.0.1
commands =
flake8 tmep tests
ruff==0.1.9
commands =
ruff check

[gh-actions]
python =
3.8: py38
3.9: py39
3.10: py310, docs, lint
3.11: py311
3.12: py312

0 comments on commit 49df004

Please sign in to comment.