GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - codefinity/c-charp-to-python-learning: Learn advanced Python using the knowledge of C# - Concept-based runnable modules, modern tooling, and production-ready patterns.

BranchesTags
Open more actions menu

Latest commit

 

History

22 Commits
22 Commits

Folders and files

NameName
Last commit message
Last commit date
assets/images
assets/images
 
 
pages
pages
 
 
scripts
scripts
 
 
src/csharp_to_python_learning
src/csharp_to_python_learning
 
 
tests
tests
 
 
tools
tools
 
 
.gitignore
.gitignore
 
 
.python-version
.python-version
 
 
AGENTS.md
AGENTS.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
pyproject.toml
pyproject.toml
 
 
uv.lock
uv.lock
 
 

Repository files navigation

C# to Python: Advanced, Production-Ready Tutorial (Python 3.14.5 + uv)

7 Day Challenge

C# to Python repository header

Who This Repository Is For

This repository is for experienced C#/.NET developers who already understand OOP, generics, LINQ, async/await, dependency injection, build tools, and testing.

The goal is to help you become an advanced Python developer who can ship production-grade code confidently.

One Week Study Plan

Use this sequence to build momentum without skipping fundamentals.

  1. Day 1: Foundations and runtime model

    • Read: Setup And Runtime, Data And Flow
    • Topics:
      • 1. Python project setup with uv
      • 2. Python execution model
      • 3. Variables, names, references, and mutability
      • 4. Primitive types
      • 5. Collections: list, tuple, dict, set, frozenset
      • 6. Slicing and unpacking
      • 7. Control flow
  2. Day 2: Functions and functional patterns

    • Read: Functions And Functional Tools
    • Topics:
      • 8. Functions and Parameters
      • 9. Default arguments and keyword-only arguments
      • 10. Lambdas
      • 11. Closures
      • 12. Decorators
      • 13. Comprehensions
      • 14. Iterators and generators
      • 15. Context managers
  3. Day 3: Errors, modules, and OOP modeling

    • Read: Errors And Modules, Oop And Modeling
    • Topics:
      • 16. Exceptions
      • 17. Modules and packages
      • 18. Imports and import system
      • 19. Object-oriented programming
      • 20. Inheritance and composition
      • 21. Properties
      • 22. Dataclasses
      • 23. Enums
      • 25. Abstract base classes
  4. Day 4: Typing and advanced runtime model

    • Read: Typing And Protocols, Advanced Language Runtime
    • Topics:
      • 24. Protocols and structural typing
      • 26. Type hints
      • 27. Generics
      • 28. Pattern matching
      • 29. Dunder methods and Python data model
      • 30. Descriptors
      • 31. Metaclasses
  5. Day 5: Concurrency and systems

    • Read: Concurrency And Systems
    • Topics:
      • 32. Async and await
      • 33. asyncio tasks, queues, cancellation, timeouts
      • 34. Threading
      • 35. Multiprocessing
      • 36. File I/O
      • 37. pathlib
      • 38. JSON, CSV, TOML
      • 39. Logging
  6. Day 6: Quality, packaging, and migration mindset

    • Read: Quality And Tooling, Memory Idioms Migration
    • Topics:
      • 40. Testing with pytest
      • 41. Mocking
      • 42. Debugging
      • 43. Packaging
      • 44. Dependency management
      • 45. Virtual environments
      • 46. Linters and formatters
      • 47. Performance and profiling
      • 48. Memory management and garbage collection
      • 49. Standard library overview
      • 50. Python 3.14-specific features
      • 51. Python idioms versus C# idioms
      • 52. Common C# to Python migration mistakes
  7. Day 7: Additional language features, Python-only features, and capstone

    • Read: Additional Language Features, Python-Only Features Index
    • Topics:
      • 53. Async iteration, async generators, and async context managers
      • 54. Exception groups and except*
      • 55. Assignment expressions (:=)
      • 56. Binary data: bytes, bytearray, and memoryview
      • 57. Advanced typing: ParamSpec, TypeVarTuple, Literal, Annotated, Self
      • 58. __slots__ as a language feature
      • 59. Import hooks: custom finders and loaders
      • 60. contextvars and task-local state
      • 61. Weak references and finalization patterns
      • 62. Advanced descriptor and metaclass patterns
      • Python-only feature 1: Duck Typing and Protocols
      • Python-only feature 2: Extended Unpacking
      • Python-only feature 3: Generator Pipelines
      • Python-only feature 4: Contextlib Context Managers
      • Python-only feature 5: Descriptors
      • Python-only feature 6: Structural Pattern Matching
      • Python-only feature 7: Metaclass Registry
    • Build: Capstone project

Table of Contents

  • Who This Repository Is For
  • Quick Start
  • How To Use uv In This Project
    • uv init
    • uv sync
    • uv run
    • uv add
    • Running Tests
    • Running Individual Examples
  • Advanced Walkthrough for C# Developers
    • 01. Setup And Runtime
      • 1. Python project setup with uv
      • 2. Python execution model
    • 02. Data And Flow
      • 3. Variables, names, references, and mutability
      • 4. Primitive types
      • 5. Collections: list, tuple, dict, set, frozenset
      • 6. Slicing and unpacking
      • 7. Control flow
    • 03. Functions And Functional Tools
      • 8. Functions and Parameters
      • 9. Default arguments and keyword-only arguments
      • 10. Lambdas
      • 11. Closures
      • 12. Decorators
      • 13. Comprehensions
      • 14. Iterators and generators
      • 15. Context managers
    • 04. Errors And Modules
      • 16. Exceptions
      • 17. Modules and packages
      • 18. Imports and import system
    • 05. Oop And Modeling
      • 19. Object-oriented programming
      • 20. Inheritance and composition
      • 21. Properties
      • 22. Dataclasses
      • 23. Enums
      • 25. Abstract base classes
    • 06. Typing And Protocols
      • 24. Protocols and structural typing
      • 26. Type hints
      • 27. Generics
    • 07. Advanced Language Runtime
      • 28. Pattern matching
      • 29. Dunder methods and Python data model
      • 30. Descriptors
      • 31. Metaclasses
    • 08. Concurrency And Systems
      • 32. Async and await
      • 33. asyncio tasks, queues, cancellation, timeouts
      • 34. Threading
      • 35. Multiprocessing
      • 36. File I/O
      • 37. pathlib
      • 38. JSON, CSV, TOML
      • 39. Logging
    • 09. Quality And Tooling
      • 40. Testing with pytest
      • 41. Mocking
      • 42. Debugging
      • 43. Packaging
      • 44. Dependency management
      • 45. Virtual environments
      • 46. Linters and formatters
      • 47. Performance and profiling
    • 10. Memory Idioms Migration
      • 48. Memory management and garbage collection
      • 49. Standard library overview
      • 50. Python 3.14-specific features
      • 51. Python idioms versus C# idioms
      • 52. Common C# to Python migration mistakes
    • 11. Additional Language Features
      • 53. Async iteration, async generators, and async context managers
      • 54. Exception groups and except*
      • 55. Assignment expressions (:=)
      • 56. Binary data: bytes, bytearray, and memoryview
      • 57. Advanced typing: ParamSpec, TypeVarTuple, Literal, Annotated, Self
      • 58. __slots__ as a language feature
      • 59. Import hooks: custom finders and loaders
      • 60. contextvars and task-local state
      • 61. Weak references and finalization patterns
      • 62. Advanced descriptor and metaclass patterns
  • Python-Only Features
    • 1. Duck Typing and Protocols
    • 2. Extended Unpacking
    • 3. Generator Pipelines
    • 4. Contextlib Context Managers
    • 5. Descriptors
    • 6. Structural Pattern Matching
    • 7. Metaclass Registry
  • C# Features With No Direct Python Equivalent
  • Python Features With No Direct C# Equivalent
  • One Week Study Plan
  • Capstone Project
  • Further Study

Quick Start

uv sync
uv run src/csharp_to_python_learning/concepts/01_setup_and_runtime/topic_01_python_project_setup_with_uv.py
uv run -m pytest

How To Use uv In This Project

uv init

Initialize a new project (already done in this repository):

uv init --package --python 3.14.5

uv sync

Create/update .venv and install dependencies from pyproject.toml + uv.lock:

uv sync

uv run

Run a command inside the project environment:

uv run -m pytest
uv run src/csharp_to_python_learning/concepts/03_functions_and_functional_tools/topic_12_decorators.py

uv add

Add a runtime dependency:

uv add httpx

Add a dev dependency:

uv add --dev pytest ruff mypy

Running Tests

uv run -m pytest
uv run -m pytest tests/test_concept_smoke.py -k asyncio

Running Individual Examples

Every concept is runnable directly:

uv run src/csharp_to_python_learning/concepts/10_memory_idioms_migration/topic_50_python_3_14_specific_features.py

Advanced Walkthrough for C# Developers

The full concept-by-concept walkthrough is available in the pages folder:

  • Advanced Walkthrough Index

Python-Only Features

Python-only features are organized in dedicated pages, similar to the Advanced Walkthrough:

  • Python-Only Features Index

C# Features With No Direct Python Equivalent

  • Reified generics at runtime with CLR metadata behavior.
  • Method overloading resolution by compile-time signature.
  • ref, out, and unsafe pointer patterns as first-class language features.
  • Attribute-driven compile-time/source-generator ecosystems.
  • Value types (struct) with stack semantics equivalent to .NET.

Python Features With No Direct C# Equivalent

  • Runtime monkey-patching of modules/classes/functions.
  • Descriptors as first-class attribute access primitives.
  • Structural pattern matching with heterogeneous shape patterns.
  • Context manager protocol (with) as a language-level resource hook.
  • Rich dunder protocol for integrating with core syntax at runtime.
  • Metaclass-driven class construction customization.
  • Extended iterable unpacking in assignments and function calls.

Capstone Project

Run the capstone:

uv run src/csharp_to_python_learning/capstone/capstone_async_event_pipeline.py

Capstone combines:

  • dataclasses
  • protocols/typing
  • asyncio queues/tasks
  • transformation pipeline patterns
  • logging
  • deterministic summary output

Further Study

  • Official Python docs for 3.14 language/runtime updates.
  • asyncio internals and cancellation design patterns.
  • Advanced typing (TypeVarTuple, ParamSpec, plugin/tooling ecosystems).
  • Packaging and release automation for internal Python platforms.

About

Learn advanced Python using the knowledge of C# - Concept-based runnable modules, modern tooling, and production-ready patterns.

Topics

c-sharpcsharpdotnetdotnet-corelearninglearning-by-doinglearning-exerciselearning-languagelearning-languageslearning-pythonlearning-python-through-csharplearning-resourcespythonpython-3python-learnpython-learn-exercisespython-learningpython-learning-journeypython-learning-notespython3

Resources

Readme
MIT license
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.