Hacker News new | ask | show | jobs
by git-pull 3368 days ago
Scales small-to-medium codebases well. Modules and packages work well. PEP8. Linting tools like flake8.

Documentation is top tier. Docutils + Sphinx + ReadTheDocs. Autodoc and intersphinx (linking across python projects) are just wonderfully implemented.

Contrib Library quality. Mature and well documented. Permissively licensed. Django, SQLAlachemy, Requests, Flask, Werkzeug, Boto, Jupyter, Numpy, Pandas, Scipy, fabric, ansible, saltstack, pytest (a new favorite of mine).

Standard library quality. Well documented and just the right amount of features in many cases. In some situations you may find more elegant API's in the contrib community.

OOP is implemented nicely. It scales well. It's easy to traverse large codebases and get situational orientation fast.

Language consistency. Python 3 is generally a consistent language. There are warts in every language, but nothing in python is insurmountable. Python 2.7 with __future__ imports and a compat module eliminates a lot of problems.

Debugging: Tracebacks are human friendly. ptpython/ptpdb and ipython/ipdb are a delight to work with.

C API integration. Well documented and well supported. Also see Cython, CFFI. Also C++ with boost python and pybind11

Editor integration. Jedi, pycharm

Stability. CPython (the main implementation) doesn't break. Clear distinction between 2 and 3 and easy enough to code to both versions. Contrib libraries generally follow semver and have consistent API's

Community. Friendly and great support on IRC and so on.