Skip to content

Commit

Permalink
feat: enhanced typehints and typing (#27)
Browse files Browse the repository at this point in the history
Even tough some structures are refactored, no public API is changed.
No runtime is changed.
TypeCheckers might behave differently, which is intentional due to bug fixes. This is considered a non-breaking change, as it does not affect runtime. 

---------

Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
  • Loading branch information
jkowalleck authored Oct 6, 2023
1 parent bd604c8 commit 410372a
Show file tree
Hide file tree
Showing 6 changed files with 559 additions and 387 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# Exclude coverage
test-reports

/.pytype/

# Exlude IDE related files
.idea/*
Expand Down
89 changes: 89 additions & 0 deletions .pytype.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# config file for https://pypi.org/project/pytype/
# generated via `pytype --generate-config .pytype.toml`
# run via `pytype --config .pytype.toml`

# NOTE: All relative paths are relative to the location of this file.

[tool.pytype]

# Space-separated list of files or directories to exclude.
exclude = [
'**/*_test.py',
'**/test_*.py',
]

# Space-separated list of files or directories to process.
inputs = [
'serializable',
# 'tests/model.py'
]

# Keep going past errors to analyze as many files as possible.
keep_going = true

# Run N jobs in parallel. When 'auto' is used, this will be equivalent to the
# number of CPUs on the host system.
# jobs = 4

# All pytype output goes here.
output = '.pytype'

# Platform (e.g., "linux", "win32") that the target code runs on.
# platform = 'linux'

# Paths to source code directories, separated by ':'.
pythonpath = '.'

# Python version (major.minor) of the target code.
# python_version = '3.7'

# Enable parameter count checks for overriding methods. This flag is temporary
# and will be removed once this behavior is enabled by default.
overriding_parameter_count_checks = true

# Enable parameter count checks for overriding methods with renamed arguments.
# This flag is temporary and will be removed once this behavior is enabled by
# default.
overriding_renamed_parameter_count_checks = false

# Use the enum overlay for more precise enum checking. This flag is temporary
# and will be removed once this behavior is enabled by default.
use_enum_overlay = false

# Variables initialized as None retain their None binding. This flag is
# temporary and will be removed once this behavior is enabled by default.
strict_none_binding = false

# Support the third-party fiddle library. This flag is temporary and will be
# removed once this behavior is enabled by default.
use_fiddle_overlay = false

# Opt-in: Do not allow Any as a return type.
no_return_any = false

# Experimental: Infer precise return types even for invalid function calls.
precise_return = false

# Experimental: Solve unknown types to label with structural types.
protocols = false

# Experimental: Only load submodules that are explicitly imported.
strict_import = false

# Experimental: Enable exhaustive checking of function parameter types.
strict_parameter_checks = false

# Experimental: Emit errors for comparisons between incompatible primitive
# types.
strict_primitive_comparisons = false

# Experimental: Check that variables are defined in all possible code paths.
strict_undefined_checks = false

# Space-separated list of error names to ignore.
disable = [
'pyi-error',
]

# Don't report errors.
report_errors = true
Loading

0 comments on commit 410372a

Please sign in to comment.