├── .gitignore ├── LICENSE ├── README.md ├── code ├── 02-static-vs-dynamic-languages │ ├── motorcycle.js │ ├── motorcycle.ts │ ├── motorcycles.cs │ ├── motorcycles.swift │ ├── package-lock.json │ ├── package.json │ ├── py-no-types.py │ └── py-types.py ├── 03-typing-in-python │ ├── calculator.py │ ├── calculator.pyi │ ├── p1_variables.py │ ├── p2_functions.py │ ├── p3_collections.py │ ├── p4_classes.py │ └── p5_external_types.py ├── 04-frameworks-built-on-typing │ ├── d1_parsing_with_pydantic.py │ ├── d2_parsing_weather.py │ ├── weather_models.py │ └── web_example │ │ ├── IMPORT_DATA.md │ │ ├── __init__.py │ │ ├── api │ │ ├── __init__.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── recent_package_model.py │ │ │ └── stats_model.py │ │ ├── package_api.py │ │ └── stats_api.py │ │ ├── infrastructure │ │ ├── __init__.py │ │ ├── mongo_setup.py │ │ └── time_utils.py │ │ ├── main.py │ │ ├── models │ │ ├── __init__.py │ │ ├── package.py │ │ ├── release_analytics.py │ │ └── user.py │ │ ├── services │ │ ├── __init__.py │ │ ├── package_service.py │ │ └── user_service.py │ │ ├── static │ │ └── css │ │ │ └── site.css │ │ └── templates │ │ └── index.html ├── 05-tooling │ ├── my_test.py │ ├── mypy.ini │ ├── runtime_example.py │ ├── runtime_speed.py │ ├── runtime_speed_checked.py │ └── timd.py ├── 06-orthogonal-typing │ └── protocol_app.py └── 07-typing-guidance-patterns │ ├── minimalism.py │ ├── motorbike.py │ ├── point_of_no_return.py │ └── refactoring_types.py ├── course_image └── type-hints.webp ├── requirements.piptools └── requirements.txt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/README.md -------------------------------------------------------------------------------- /code/02-static-vs-dynamic-languages/motorcycle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/02-static-vs-dynamic-languages/motorcycle.js -------------------------------------------------------------------------------- /code/02-static-vs-dynamic-languages/motorcycle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/02-static-vs-dynamic-languages/motorcycle.ts -------------------------------------------------------------------------------- /code/02-static-vs-dynamic-languages/motorcycles.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/02-static-vs-dynamic-languages/motorcycles.cs -------------------------------------------------------------------------------- /code/02-static-vs-dynamic-languages/motorcycles.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/02-static-vs-dynamic-languages/motorcycles.swift -------------------------------------------------------------------------------- /code/02-static-vs-dynamic-languages/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/02-static-vs-dynamic-languages/package-lock.json -------------------------------------------------------------------------------- /code/02-static-vs-dynamic-languages/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/02-static-vs-dynamic-languages/package.json -------------------------------------------------------------------------------- /code/02-static-vs-dynamic-languages/py-no-types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/02-static-vs-dynamic-languages/py-no-types.py -------------------------------------------------------------------------------- /code/02-static-vs-dynamic-languages/py-types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/02-static-vs-dynamic-languages/py-types.py -------------------------------------------------------------------------------- /code/03-typing-in-python/calculator.py: -------------------------------------------------------------------------------- 1 | def add(x, y): 2 | return x + y 3 | -------------------------------------------------------------------------------- /code/03-typing-in-python/calculator.pyi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/03-typing-in-python/calculator.pyi -------------------------------------------------------------------------------- /code/03-typing-in-python/p1_variables.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/03-typing-in-python/p1_variables.py -------------------------------------------------------------------------------- /code/03-typing-in-python/p2_functions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/03-typing-in-python/p2_functions.py -------------------------------------------------------------------------------- /code/03-typing-in-python/p3_collections.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/03-typing-in-python/p3_collections.py -------------------------------------------------------------------------------- /code/03-typing-in-python/p4_classes.py: -------------------------------------------------------------------------------- 1 | # See code/02-static-vs-dynamic-languages/py-types.py for details 2 | -------------------------------------------------------------------------------- /code/03-typing-in-python/p5_external_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/03-typing-in-python/p5_external_types.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/d1_parsing_with_pydantic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/d1_parsing_with_pydantic.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/d2_parsing_weather.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/d2_parsing_weather.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/weather_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/weather_models.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/IMPORT_DATA.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/IMPORT_DATA.md -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/api/models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/api/models/recent_package_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/api/models/recent_package_model.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/api/models/stats_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/api/models/stats_model.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/api/package_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/api/package_api.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/api/stats_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/api/stats_api.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/infrastructure/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/infrastructure/mongo_setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/infrastructure/mongo_setup.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/infrastructure/time_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/infrastructure/time_utils.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/main.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/models/__init__.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/models/package.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/models/package.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/models/release_analytics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/models/release_analytics.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/models/user.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/services/package_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/services/package_service.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/services/user_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/services/user_service.py -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/static/css/site.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/static/css/site.css -------------------------------------------------------------------------------- /code/04-frameworks-built-on-typing/web_example/templates/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/04-frameworks-built-on-typing/web_example/templates/index.html -------------------------------------------------------------------------------- /code/05-tooling/my_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/05-tooling/my_test.py -------------------------------------------------------------------------------- /code/05-tooling/mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/05-tooling/mypy.ini -------------------------------------------------------------------------------- /code/05-tooling/runtime_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/05-tooling/runtime_example.py -------------------------------------------------------------------------------- /code/05-tooling/runtime_speed.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/05-tooling/runtime_speed.py -------------------------------------------------------------------------------- /code/05-tooling/runtime_speed_checked.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/05-tooling/runtime_speed_checked.py -------------------------------------------------------------------------------- /code/05-tooling/timd.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/05-tooling/timd.py -------------------------------------------------------------------------------- /code/06-orthogonal-typing/protocol_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/06-orthogonal-typing/protocol_app.py -------------------------------------------------------------------------------- /code/07-typing-guidance-patterns/minimalism.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/07-typing-guidance-patterns/minimalism.py -------------------------------------------------------------------------------- /code/07-typing-guidance-patterns/motorbike.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/07-typing-guidance-patterns/motorbike.py -------------------------------------------------------------------------------- /code/07-typing-guidance-patterns/point_of_no_return.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/07-typing-guidance-patterns/point_of_no_return.py -------------------------------------------------------------------------------- /code/07-typing-guidance-patterns/refactoring_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/code/07-typing-guidance-patterns/refactoring_types.py -------------------------------------------------------------------------------- /course_image/type-hints.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/course_image/type-hints.webp -------------------------------------------------------------------------------- /requirements.piptools: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/requirements.piptools -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkpython/rock-solid-python-with-type-hints-course/HEAD/requirements.txt --------------------------------------------------------------------------------