summaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
authorChris Patterson <cpatterson@microsoft.com>2022-02-14 12:09:01 -0500
committerGitHub <noreply@github.com>2022-02-14 11:09:01 -0600
commit9ba3ca6ce5013207737e431f52735c7eda3a2fbb (patch)
tree3f240e45f3c2f7d5954234738cd3a92cdecd2417 /pyproject.toml
parent470b4a574514cf87f90682ac2bdd71b5fbbe6139 (diff)
downloadvyos-cloud-init-9ba3ca6ce5013207737e431f52735c7eda3a2fbb.tar.gz
vyos-cloud-init-9ba3ca6ce5013207737e431f52735c7eda3a2fbb.zip
mypy: introduce type checking (#1254)
All currently failing modules are excluded from reporting errors using follow-imports=silent and an exclusion list. Future work can whittle down this failing list. This change will start enforcing new modules and those currently passing. Includes some minor alphabetical reordering in tox.ini. Signed-off-by: Chris Patterson <cpatterson@microsoft.com>
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml115
1 files changed, 115 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml
index 26734e62..a131037f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,3 +6,118 @@ profile = "black"
line_length = 79
# We patch logging in main.py before certain imports
skip = ["cloudinit/cmd/main.py", ".tox", "packages", "tools"]
+
+[tool.mypy]
+follow_imports = "silent"
+exclude=[
+ '^cloudinit/apport\.py$',
+ '^cloudinit/cmd/query\.py$',
+ '^cloudinit/config/cc_apk_configure\.py$',
+ '^cloudinit/config/cc_apt_configure\.py$',
+ '^cloudinit/config/cc_apt_pipelining\.py$',
+ '^cloudinit/config/cc_bootcmd\.py$',
+ '^cloudinit/config/cc_byobu\.py$',
+ '^cloudinit/config/cc_ca_certs\.py$',
+ '^cloudinit/config/cc_chef\.py$',
+ '^cloudinit/config/cc_debug\.py$',
+ '^cloudinit/config/cc_disable_ec2_metadata\.py$',
+ '^cloudinit/config/cc_disk_setup\.py$',
+ '^cloudinit/config/cc_install_hotplug\.py$',
+ '^cloudinit/config/cc_keyboard\.py$',
+ '^cloudinit/config/cc_landscape\.py$',
+ '^cloudinit/config/cc_locale\.py$',
+ '^cloudinit/config/cc_mcollective\.py$',
+ '^cloudinit/config/cc_ntp\.py$',
+ '^cloudinit/config/cc_resizefs\.py$',
+ '^cloudinit/config/cc_rsyslog\.py$',
+ '^cloudinit/config/cc_runcmd\.py$',
+ '^cloudinit/config/cc_snap\.py$',
+ '^cloudinit/config/cc_ubuntu_advantage\.py$',
+ '^cloudinit/config/cc_ubuntu_drivers\.py$',
+ '^cloudinit/config/cc_write_files\.py$',
+ '^cloudinit/config/cc_write_files_deferred\.py$',
+ '^cloudinit/config/cc_zypper_add_repo\.py$',
+ '^cloudinit/config/schema\.py$',
+ '^cloudinit/distros/bsd\.py$',
+ '^cloudinit/distros/freebsd\.py$',
+ '^cloudinit/distros/parsers/networkmanager_conf\.py$',
+ '^cloudinit/distros/parsers/resolv_conf\.py$',
+ '^cloudinit/distros/parsers/sys_conf\.py$',
+ '^cloudinit/dmi\.py$',
+ '^cloudinit/features\.py$',
+ '^cloudinit/handlers/cloud_config\.py$',
+ '^cloudinit/handlers/jinja_template\.py$',
+ '^cloudinit/importer\.py$',
+ '^cloudinit/net/__init__\.py$',
+ '^cloudinit/net/dhcp\.py$',
+ '^cloudinit/net/netplan\.py$',
+ '^cloudinit/net/sysconfig\.py$',
+ '^cloudinit/serial\.py$',
+ '^cloudinit/sources/DataSourceAzure\.py$',
+ '^cloudinit/sources/DataSourceAliYun\.py$',
+ '^cloudinit/sources/DataSourceLXD\.py$',
+ '^cloudinit/sources/DataSourceOracle\.py$',
+ '^cloudinit/sources/DataSourceScaleway\.py$',
+ '^cloudinit/sources/DataSourceSmartOS\.py$',
+ '^cloudinit/sources/DataSourceVMware\.py$',
+ '^cloudinit/sources/__init__\.py$',
+ '^cloudinit/sources/helpers/azure\.py$',
+ '^cloudinit/sources/helpers/vmware/imc/config_file\.py$',
+ '^cloudinit/stages\.py$',
+ '^cloudinit/templater\.py$',
+ '^cloudinit/url_helper\.py$',
+ '^conftest\.py$',
+ '^doc/rtd/conf\.py$',
+ '^setup\.py$',
+ '^tests/integration_tests/clouds\.py$',
+ '^tests/integration_tests/conftest\.py$',
+ '^tests/integration_tests/instances\.py$',
+ '^tests/integration_tests/integration_settings\.py$',
+ '^tests/integration_tests/modules/test_disk_setup\.py$',
+ '^tests/integration_tests/modules/test_growpart\.py$',
+ '^tests/integration_tests/modules/test_ssh_keysfile\.py$',
+ '^tests/unittests/__init__\.py$',
+ '^tests/unittests/cmd/devel/test_render\.py$',
+ '^tests/unittests/cmd/test_clean\.py$',
+ '^tests/unittests/cmd/test_cloud_id\.py$',
+ '^tests/unittests/cmd/test_main\.py$',
+ '^tests/unittests/cmd/test_query\.py$',
+ '^tests/unittests/cmd/test_status\.py$',
+ '^tests/unittests/config/test_cc_chef\.py$',
+ '^tests/unittests/config/test_cc_landscape\.py$',
+ '^tests/unittests/config/test_cc_locale\.py$',
+ '^tests/unittests/config/test_cc_mcollective\.py$',
+ '^tests/unittests/config/test_cc_rh_subscription\.py$',
+ '^tests/unittests/config/test_cc_set_hostname\.py$',
+ '^tests/unittests/config/test_cc_snap\.py$',
+ '^tests/unittests/config/test_cc_timezone\.py$',
+ '^tests/unittests/config/test_cc_ubuntu_advantage\.py$',
+ '^tests/unittests/config/test_cc_ubuntu_drivers\.py$',
+ '^tests/unittests/config/test_schema\.py$',
+ '^tests/unittests/helpers\.py$',
+ '^tests/unittests/net/test_dhcp\.py$',
+ '^tests/unittests/net/test_init\.py$',
+ '^tests/unittests/sources/test_aliyun\.py$',
+ '^tests/unittests/sources/test_azure\.py$',
+ '^tests/unittests/sources/test_ec2\.py$',
+ '^tests/unittests/sources/test_exoscale\.py$',
+ '^tests/unittests/sources/test_gce\.py$',
+ '^tests/unittests/sources/test_lxd\.py$',
+ '^tests/unittests/sources/test_opennebula\.py$',
+ '^tests/unittests/sources/test_openstack\.py$',
+ '^tests/unittests/sources/test_rbx\.py$',
+ '^tests/unittests/sources/test_scaleway\.py$',
+ '^tests/unittests/sources/test_smartos\.py$',
+ '^tests/unittests/test_data\.py$',
+ '^tests/unittests/test_ds_identify\.py$',
+ '^tests/unittests/test_ec2_util\.py$',
+ '^tests/unittests/test_net\.py$',
+ '^tests/unittests/test_net_activators\.py$',
+ '^tests/unittests/test_persistence\.py$',
+ '^tests/unittests/test_sshutil\.py$',
+ '^tests/unittests/test_subp\.py$',
+ '^tests/unittests/test_templating\.py$',
+ '^tests/unittests/test_url_helper\.py$',
+ '^tests/unittests/test_util\.py$',
+ '^tools/mock-meta\.py$',
+]