Hacker News new | past | comments | ask | show | jobs | submit login


Django, a highly competitive web framework. With great extensions like Django REST Framework. Assets with django-webpack-loader. So on. It may not be as good as Laravel or Rails, but they're all really active.

But the thing that makes Python best is the web framework is where it begins, not where it ends:

Want text analysis? NLTK or spaCy

Data? Pandas, numpy, pytables

Want more analysis? scikit-learn, tensorflow, theano.

Solid language standards? PEP8 and PEP257 makes most python code you see in open source very conformant

Test framework? pytest. And its plugins. tox for testing against a matrix of python versions/settings (kinda like Travis).

Handling environments + packages easily? pipenv

Multiple python versions? pyenv

Editor integration? Jedi + python-mode for VIM, VSCode, Atom, Python

Images / Graphics? pillow

Super-powered REPL? ptpython

Deployment? Fabric, Ansible, Saltstack

Documentation? Sphinx, Docutils

Want C/C++ integration/performance? pybind11, cython, CFFI, swig

Mobile dev? kivy (though I wouldn't say it's the best yet, when I tried it, setup was easier than react-native)

And that's just scratching the surface. Python has high quality, permissively-licensed libraries, with solid documentation. A lot of the plugins I mentioned above for handling data use C-level speedups. Of these, tensorflow, and Theano can use GPU speedups.

Rails is fantastic. I like guard and the asset pipeline. But I just learned to use GNU Make's "$ make -j task1 task2" and django-webpack-loader. I also hear good things about Laravel in PHP.


with so many supported libraries available i keep finding that adding more functions to Python code does not actually add much to the amount of code.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact