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 - devz-throwable/CPython-Internals: Dive into CPython internals, trying to illustrate every detail of CPython implementation | CPython 源码阅读笔记, 多图展示底层实现细节

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

303 Commits
303 Commits

Folders and files

NameName
Last commit message
Last commit date
BasicObject
BasicObject
 
 
Extension/C
Extension/C
 
 
Interpreter
Interpreter
 
 
Modules
Modules
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
README_CN.md
README_CN.md
 
 
README_KR.md
README_KR.md
 
 

Repository files navigation

Cpython Internals

cpython logo

  • 简体中文
  • 한국어
  • Watch this repo if you need to be notified when there's update

This repository is my notes/blog for cpython source code

Trying to illustrate every detail of cpython implementation

# based on version 3.8.0a0
cd cpython
git reset --hard ab54b9a130c88f708077c2ef6c4963b632c132b3

The following contents are suitable for those who have python programming experience and interested in internal of python interpreter, for those who needs beginner or advanced material please refer to awesome-python-books

Table of Contents

  • Objects
  • Modules
  • Lib
  • Interpreter
  • Extension
  • Learning material

Objects

  • dict
  • long/int
  • unicode/str
  • set
  • list(timsort)
  • tuple
  • bytes
  • bytearray(buffer protocol)
  • float
  • func(user-defined method)
  • method(builtin method)
  • iter
  • gen(generator/coroutine/async generator)
  • class(bound method/classmethod/staticmethod)
  • complex
  • enum
  • type(mro/metaclass/creation of class/instance)

Modules

  • io
    • fileio
  • pickle

Lib

  • re(regex)
  • asyncio

Interpreter

  • gil(Global Interpreter Lock)
  • gc(Garbage Collection)
  • memory management
  • descr(how does attribute access work/__get__/__getattribute__/__getattr__)
  • exception(exception handling)
  • module(how does import work)
  • frame
  • code
  • slots/__slots__(how does attribute initialized in the creation of class/instance)
  • thread
  • PyObject(overview)

Extension

  • C API(profile python code and write pure C extension)
  • Cython(C extension)
  • Boost C++ libaries (C++ extension)

Grammar

I will come back to this part when I finish reading < < Compilers > > and < < SICP > > and have a better understanding of this kind of stuffs

In the meantime, my routine work will have a higher priority, so you may need months to see updates in this part

Learning material

I will only recommend what I've read

  • CPython internals - Interpreter and source code overview(youtube video)
  • < < Inside The Python Virtual Machine > >
  • < < Python源码剖析 > >
  • rushter(blog/eng)
  • YET ANOTHER PYTHON INTERNALS BLOG(blog/eng)
  • Junnplus(blog/cn)
  • manjusaka(blog/cn)

update

About

Dive into CPython internals, trying to illustrate every detail of CPython implementation | CPython 源码阅读笔记, 多图展示底层实现细节

Resources

Readme
Activity
Custom properties

Stars

0 stars

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.