- Notifications
You must be signed in to change notification settings - Fork450
Dive into CPython internals, trying to illustrate every detail of CPython implementation
NotificationsYou must be signed in to change notification settings
zpoint/CPython-Internals
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repository is my notes/blog forcpython source code
Trying to illustrate every detail of cpython implementation
# based on version 3.8.0a0cd cpythongit 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 toawesome-python-books
- 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)
- re(regex)
- asyncio
- 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)
- C API(profile python code and write pure C extension)
- Cython(C extension)
- Boost C++ libaries (C++ extension)
- C++ extension
- integrate with NumPy
- bypass the GIL
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)
- aoik-Python's compiler series(blog/eng)
All kinds of contributions are welcome
- submit a pull request
- if you want to share any knowledge you know
- post a new article
- correct any technical mistakes
- correct english grammar
- translation
- anything else
- open an issue
- any suggestions
- any questions
- correct mistakes
- anything else
About
Dive into CPython internals, trying to illustrate every detail of CPython implementation
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.