Python
January 13th, 2019
Learn
Learn. Video Tutorials
- Zero to Hero with Python
- Python Tutorial For Beginners 2015 | The Complete Tutorial to Learn Python
- 10 приложений для изучения Python на Android-устройствах
- Pythontutor – интерактивный учебник языка Python. Запускайте программы прямо в своём браузере.
Links
- PythonCentral – Python Programming Guides and Tutorials
- Awesome Python – a curated list of awesome Python frameworks, libraries, software and resources.
Patterns
- Tutorial: The Observer Pattern in Python
- GitHub: python-patterns: a collection of design patterns/idioms in Python
IDE
- Python Fiddle – Python Cloud IDE
- Aptana Studio 3 – the world’s most powerful open-source web development IDE just got better. Rebuilt from the ground-up. It’s now much faster, customizable and includes new features to help you be more productive.
- PyDev is a Python IDE for Eclipse, which may be used in Python, Jython and IronPython development.
- PyVmMonitor is a profiler with a simple goal: being the best way to profile a Python program.
IDE – extension
IDE – iOS
- Pythonista is a complete development environment for writing Python™ scripts on your iPad or iPhone. Lots of examples are included — from games and animations to plotting, image manipulation, custom user interfaces, and automation scripts.
Optimization
- PyPy is a fast, compliant alternative implementation of the Python language (2.7.10 and 3.2.5).
- Cython – C-extensions for Python. Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. (presentation)
- Py2C — a Python to C++ converter. A trans-compiler for compiling Python code into human-readable C++ code, somewhat like what humans might actually write. It would have to be really smart and that’s the aim!
- Nuitka is a Python compiler. Right now Nuitka is a good replacement for the Python interpreter and compiles every construct that CPython 2.6, 2.7, 3.2, 3.3 and 3.4 offer. It translates the Python into a C++ program that then uses “libpython” to execute in the same way as CPython does, in a very compatible way.
- Pythran is a Python to c++ compiler for a subset of the Python language, with a focus on scientific computing. It takes a Python module annotated with a few interface description and turns it into a native python module with the same interface, but (hopefully) faster. It is meant to efficiently compile scientific programs, and takes advantage of multi-cores and SIMD instruction units. Pythran development is currently done using Python version 2.7. Documentation
- PyParallel is an experimental, proof-of-concept fork of Python 3 designed to optimally exploit multiple CPU cores, fast SSDs, NUMA architectures and 10Gb+ Ethernet networks. Removes the limitation of the Global Interpreter Lock (GIL) without needing to remove it at all.
Debug
- Python Call Graph is a Python module that creates call graph visualizations for Python applications.
Binding
- pybind11 — Seamless operability between C++11 and Python. pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code. Its goals and syntax are similar to the excellent Boost.Python library by David Abrahams: to minimize boilerplate code in traditional extension modules by inferring type information using compile-time introspection.
UI
- Kivy – Open source Python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps.
- wxPython – a blending of the wxWidgets C++ class library with the Python programming language.
- npyscreen – is a python widget library and application framework for programming terminal or console applications. It is built on top of ncurses, which is part of the standard library. Documentation.
UI – Tkinter
- Tkinter — Python interface to Tcl/Tk (Python 3.5 documentation)
- Tkinter Documentation (python wiki)
- Курс по библиотеке Tkinter языка Python
- Введение в Tkinter (habrahabr)
- Спасательный круг для изучающих Tkinter
- Tkinter – программирование графических интерфейсов
UI – TkRibbon
UI – Python Visualization Tools
- Pygal – sexy python charting
- Seaborn: statistical data visualization – is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics.
- Python Data Analysis Library (pandas) – is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
- ggplot is a plotting system for Python based on R’s ggplot2 and the Grammar of Graphics. It is built for making profressional looking, plots quickly with minimal code.
- Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of novel graphics in the style of D3.js, but also deliver this capability with high-performance interactivity over very large or streaming datasets. Bokeh can help anyone who would like to quickly and easily create interactive plots, dashboards, and data applications.
- matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell (ala MATLAB®* or Mathematica®†), web application servers, and six graphical user interface toolkits.
- IPython provides a rich architecture for interactive computing with a powerful interactive shell; a kernel for Jupyter; support for interactive data visualization and use of GUI toolkits; flexible, embeddable interpreters to load into your own projects. Easy to use, high performance tools for parallel computing.
Library – Async IO
- Python 3.5 doc: asyncio – Asynchronous I/O, event loop, coroutines and tasks
- Python Async IO Resources
Cython
- Cython – C-extensions for Python. Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself.
Android
- Python for Android (GitHub) is a project to create your own Python distribution including the modules you want, and create an apk including python, libs, and your application. Documentation
- Plyer (GitHub) is a platform-independent api to use features commonly found on various platforms, notably mobile ones, in Python.
Web-framework
- Django makes it easier to build better Web apps more quickly and with less code.
- web.py is a web framework for Python that is as simple as it is powerful. Web.py is in the public domain.
Social
- Facebook Python SDK – this client library is designed to support the Facebook Graph API and the official Facebook JavaScript SDK, which is the canonical way to implement Facebook authentication.
- Пишем модуль для авторизации в VK API
Sources
- Here is a variety of new open-source Python-based technologies for big data
Science Analytics
- Anaconda – modern open source analytics platform powered by Python. Built to complement the rich, open source Python community, the Anaconda platform provides an enterprise-ready data analytics platform that empowers companies to adopt a modern open data science analytics architecture.
- Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of novel graphics in the style of D3.js, but also deliver this capability with high-performance interactivity over very large or streaming datasets. Bokeh can help anyone who would like to quickly and easily create interactive plots, dashboards, and data applications.
Work Environment
- Configure pip. Windows: python -m pip install -U pip setuptools
- Install packages (where: python -m pip install xxx):
- joblib – Lightweight pipelining: using Python functions as pipeline jobs.
- a