diff --git a/.gitignore b/.gitignore index 4046e40f..096c327d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ docs/index.md site/ + +# PyCharm IDE +.idea diff --git a/.travis.yml b/.travis.yml index f2cfce4d..e1c0a23d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ python: - "3.6" script: + - python sort.py - cp README.md docs/index.md - mkdocs build diff --git a/README.md b/README.md index 37aa6146..30396918 100644 --- a/README.md +++ b/README.md @@ -94,9 +94,9 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). - [WSGI Servers](#wsgi-servers) - [Resources](#resources) - [Books](#books) - - [Websites](#websites) - [Newsletters](#newsletters) - [Podcasts](#podcasts) + - [Websites](#websites) - [Contributing](#contributing) --- @@ -110,9 +110,9 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [django-jet](https://github.com/geex-arts/django-jet) - Modern responsive template for the Django admin interface with improved functionality. * [django-suit](https://djangosuit.com/) - Alternative Django Admin-Interface (free only for Non-commercial use). * [django-xadmin](https://github.com/sshwsfc/xadmin) - Drop-in replacement of Django admin comes with lots of goodies. -* [jet-bridge](https://github.com/jet-admin/jet-bridge) - Admin panel framework for any application with nice UI (ex Jet Django) * [flask-admin](https://github.com/flask-admin/flask-admin) - Simple and extensible administrative interface framework for Flask. * [flower](https://github.com/mher/flower) - Real-time monitor and web admin for Celery. +* [jet-bridge](https://github.com/jet-admin/jet-bridge) - Admin panel framework for any application with nice UI (ex Jet Django) * [wooey](https://github.com/wooey/wooey) - A Django app which creates automatic web UIs for Python scripts. ## Algorithms and Design Patterns @@ -120,10 +120,10 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Python implementation of data structures, algorithms and design patterns.* * Algorithms - * [TheAlgorithms](https://github.com/TheAlgorithms/Python) - All Algorithms implemented in Python. * [algorithms](https://github.com/keon/algorithms) - Minimal examples of data structures and algorithms. * [python-ds](https://github.com/prabhupant/python-ds) - A collection of data structure and algorithms for coding interviews. * [sortedcontainers](https://github.com/grantjenks/python-sortedcontainers) - Fast and pure-Python implementation of sorted collections. + * [TheAlgorithms](https://github.com/TheAlgorithms/Python) - All Algorithms implemented in Python. * Design Patterns * [PyPattyrn](https://github.com/tylerlaberge/PyPattyrn) - A simple yet effective library for implementing common design patterns. * [python-patterns](https://github.com/faif/python-patterns) - A collection of design patterns in Python. @@ -133,16 +133,16 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *[ASGI](https://asgi.readthedocs.io/en/latest/)-compatible web servers.* -* [uvicorn](https://github.com/encode/uvicorn) - A lightning-fast ASGI server implementation, using uvloop and httptools. * [daphne](https://github.com/django/daphne) - A HTTP, HTTP2 and WebSocket protocol server for ASGI and ASGI-HTTP. +* [uvicorn](https://github.com/encode/uvicorn) - A lightning-fast ASGI server implementation, using uvloop and httptools. ## Asynchronous Programming * [asyncio](https://docs.python.org/3/library/asyncio.html) - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks. - [awesome-asyncio](https://github.com/timofurrer/awesome-asyncio) -* [uvloop](https://github.com/MagicStack/uvloop) - Ultra fast asyncio event loop. * [trio](https://github.com/python-trio/trio) - A friendly library for async concurrency and I/O. * [Twisted](https://twistedmatrix.com/trac/) - An event-driven networking engine. +* [uvloop](https://github.com/MagicStack/uvloop) - Ultra fast asyncio event loop. ## Audio @@ -194,17 +194,16 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for enhancing Python built-in classes.* -* [dataclasses](https://docs.python.org/3/library/dataclasses.html) - (Python standard library) Data classes. * [attrs](https://github.com/python-attrs/attrs) - Replacement for `__init__`, `__eq__`, `__repr__`, etc. boilerplate in class definitions. * [bidict](https://github.com/jab/bidict) - Efficient, Pythonic bidirectional map data structures and related functionality.. * [Box](https://github.com/cdgriffith/Box) - Python dictionaries with advanced dot notation access. +* [dataclasses](https://docs.python.org/3/library/dataclasses.html) - (Python standard library) Data classes. * [DottedDict](https://github.com/carlosescri/DottedDict) - A library that provides a method of accessing lists and dicts with a dotted path notation. ## CMS *Content Management Systems.* -* [wagtail](https://wagtail.io/) - A Django content management system. * [django-cms](https://www.django-cms.org/en/) - An Open source enterprise CMS based on the Django. * [feincms](https://github.com/feincms/feincms) - One of the most advanced Content Management Systems built on Django. * [indico](https://github.com/indico/indico) - A feature-rich event management system, made @ [CERN](https://en.wikipedia.org/wiki/CERN). @@ -212,6 +211,7 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [mezzanine](https://github.com/stephenmcd/mezzanine) - A powerful, consistent, and flexible content management platform. * [plone](https://plone.org/) - A CMS built on top of the open source application server Zope. * [quokka](https://github.com/rochacbruno/quokka) - Flexible, extensible, small CMS powered by Flask and MongoDB. +* [wagtail](https://wagtail.io/) - A Django content management system. ## Caching @@ -244,16 +244,16 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * Code Linters * [flake8](https://pypi.org/project/flake8/) - A wrapper around `pycodestyle`, `pyflakes` and McCabe. * [awesome-flake8-extensions](https://github.com/DmytroLitvinov/awesome-flake8-extensions) - * [pylint](https://www.pylint.org/) - A fully customizable source code analyzer. * [pylama](https://github.com/klen/pylama) - A code audit tool for Python and JavaScript. + * [pylint](https://www.pylint.org/) - A fully customizable source code analyzer. * [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) - The strictest and most opinionated python linter ever. * Code Formatters * [black](https://github.com/python/black) - The uncompromising Python code formatter. * [yapf](https://github.com/google/yapf) - Yet another Python code formatter from Google. * Static Type Checkers, also see [awesome-python-typing](https://github.com/typeddjango/awesome-python-typing) * [mypy](http://mypy-lang.org/) - Check variable types during compile time. - * [typeshed](https://github.com/python/typeshed) - Collection of library stubs for Python, with static types. * [pyre-check](https://github.com/facebook/pyre-check) - Performant type checking. + * [typeshed](https://github.com/python/typeshed) - Collection of library stubs for Python, with static types. * Static Type Annotations Generators * [MonkeyType](https://github.com/Instagram/MonkeyType) - A system for Python that generates static type annotations by collecting runtime types @@ -269,12 +269,12 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [python-fire](https://github.com/google/python-fire) - A library for creating command line interfaces from absolutely any Python object. * [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit) - A library for building powerful interactive command lines. * Terminal Rendering + * [alive-progress](https://github.com/rsalmei/alive-progress) - A new kind of Progress Bar, with real-time throughput, eta and very cool animations. * [asciimatics](https://github.com/peterbrittain/asciimatics) - A package to create full-screen text UIs (from interactive forms to ASCII animations). * [bashplotlib](https://github.com/glamp/bashplotlib) - Making basic plots in the terminal. * [colorama](https://pypi.org/project/colorama/) - Cross-platform colored terminal text. * [rich](https://github.com/willmcgugan/rich) - Python library for rich text and beautiful formatting in the terminal. Also provides a great `RichHandler` log handler. * [tqdm](https://github.com/tqdm/tqdm) - Fast, extensible progress bar for loops and CLI. - * [alive-progress](https://github.com/rsalmei/alive-progress) - A new kind of Progress Bar, with real-time throughput, eta and very cool animations. ## Command-line Tools @@ -292,11 +292,11 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [try](https://github.com/timofurrer/try) - A dead simple CLI to try out python packages - it's never been easier. * CLI Enhancements * [httpie](https://github.com/jakubroztocil/httpie) - A command line HTTP client, a user-friendly cURL replacement. + * [iredis](https://github.com/laixintao/iredis) - Redis CLI with autocompletion and syntax highlighting. * [kube-shell](https://github.com/cloudnativelabs/kube-shell) - An integrated shell for working with the Kubernetes CLI. + * [litecli](https://github.com/dbcli/litecli) - SQLite CLI with autocompletion and syntax highlighting. * [mycli](https://github.com/dbcli/mycli) - MySQL CLI with autocompletion and syntax highlighting. * [pgcli](https://github.com/dbcli/pgcli) - PostgreSQL CLI with autocompletion and syntax highlighting. - * [iredis](https://github.com/laixintao/iredis) - Redis CLI with autocompletion and syntax highlighting. - * [litecli](https://github.com/dbcli/litecli) - SQLite CLI with autocompletion and syntax highlighting. * [saws](https://github.com/donnemartin/saws) - A Supercharged [aws-cli](https://github.com/aws/aws-cli). ## Compatibility @@ -311,23 +311,23 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for Computer Vision.* -* [OpenCV](https://opencv.org/) - Open Source Computer Vision Library. * [EasyOCR](https://github.com/JaidedAI/EasyOCR) - Ready-to-use OCR with 40+ languages supported. * [Kornia](https://github.com/kornia/kornia/) - Open Source Differentiable Computer Vision Library for PyTorch. +* [OpenCV](https://opencv.org/) - Open Source Computer Vision Library. * [pytesseract](https://github.com/madmaze/pytesseract) - A wrapper for [Google Tesseract OCR](https://github.com/tesseract-ocr). -* [tesserocr](https://github.com/sirfz/tesserocr) - Another simple, Pillow-friendly, wrapper around the `tesseract-ocr` API for OCR. * [SimpleCV](https://github.com/sightmachine/SimpleCV) - An open source framework for building computer vision applications. +* [tesserocr](https://github.com/sirfz/tesserocr) - Another simple, Pillow-friendly, wrapper around the `tesseract-ocr` API for OCR. ## Concurrency and Parallelism *Libraries for concurrent and parallel execution. Also see [awesome-asyncio](https://github.com/timofurrer/awesome-asyncio).* * [concurrent.futures](https://docs.python.org/3/library/concurrent.futures.html) - (Python standard library) A high-level interface for asynchronously executing callables. -* [multiprocessing](https://docs.python.org/3/library/multiprocessing.html) - (Python standard library) Process-based parallelism. * [eventlet](http://eventlet.net/) - Asynchronous framework with WSGI support. * [gevent](http://www.gevent.org/) - A coroutine-based Python networking library that uses [greenlet](https://github.com/python-greenlet/greenlet). -* [uvloop](https://github.com/MagicStack/uvloop) - Ultra fast implementation of `asyncio` event loop on top of `libuv`. +* [multiprocessing](https://docs.python.org/3/library/multiprocessing.html) - (Python standard library) Process-based parallelism. * [scoop](https://github.com/soravux/scoop) - Scalable Concurrent Operations in Python. +* [uvloop](https://github.com/MagicStack/uvloop) - Ultra fast implementation of `asyncio` event loop on top of `libuv`. ## Configuration @@ -335,9 +335,9 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [configobj](https://github.com/DiffSK/configobj) - INI file parser with validation. * [configparser](https://docs.python.org/3/library/configparser.html) - (Python standard library) INI file parser. +* [hydra](https://github.com/facebookresearch/hydra) - Hydra is a framework for elegantly configuring complex applications. * [profig](https://profig.readthedocs.io/en/latest/) - Config from multiple formats with value conversion. * [python-decouple](https://github.com/henriquebastos/python-decouple) - Strict separation of settings from code. -* [hydra](https://github.com/facebookresearch/hydra) - Hydra is a framework for elegantly configuring complex applications. ## Cryptography @@ -350,12 +350,12 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for data analyzing.* +* [AWS Data Wrangler](https://github.com/awslabs/aws-data-wrangler) - Pandas on AWS. * [Blaze](https://github.com/blaze/blaze) - NumPy and Pandas interface to Big Data. * [Open Mining](https://github.com/mining/mining) - Business Intelligence (BI) in Pandas interface. +* [Optimus](https://github.com/ironmussa/Optimus) - Agile Data Science Workflows made easy with PySpark. * [Orange](https://orange.biolab.si/) - Data mining, data visualization, analysis and machine learning through visual programming or scripts. * [Pandas](http://pandas.pydata.org/) - A library providing high-performance, easy-to-use data structures and data analysis tools. -* [Optimus](https://github.com/ironmussa/Optimus) - Agile Data Science Workflows made easy with PySpark. -* [AWS Data Wrangler](https://github.com/awslabs/aws-data-wrangler) - Pandas on AWS. ## Data Validation @@ -380,8 +380,8 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [Dash](https://plot.ly/products/dash/) - Built on top of Flask, React and Plotly aimed at analytical web applications. * [awesome-dash](https://github.com/Acrotrend/awesome-dash) * [diagrams](https://github.com/mingrammer/diagrams) - Diagram as Code. -* [plotnine](https://github.com/has2k1/plotnine) - A grammar of graphics for Python based on ggplot2. * [Matplotlib](http://matplotlib.org/) - A Python 2D plotting library. +* [plotnine](https://github.com/has2k1/plotnine) - A grammar of graphics for Python based on ggplot2. * [Pygal](http://www.pygal.org/en/latest/) - A Python SVG Charts Creator. * [PyGraphviz](https://pypi.org/project/pygraphviz/) - Python interface to [Graphviz](http://www.graphviz.org/). * [PyQtGraph](http://www.pyqtgraph.org/) - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets. @@ -427,12 +427,12 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [Chronyk](https://github.com/KoffeinFlummi/Chronyk) - A Python 3 library for parsing human-written times and dates. * [dateutil](https://github.com/dateutil/dateutil) - Extensions to the standard Python [datetime](https://docs.python.org/3/library/datetime.html) module. * [delorean](https://github.com/myusuf3/delorean/) - A library for clearing up the inconvenient truths that arise dealing with datetimes. +* [maya](https://github.com/timofurrer/maya) - Datetimes for Humans. * [moment](https://github.com/zachwill/moment) - A Python library for dealing with dates/times. Inspired by [Moment.js](http://momentjs.com/). * [Pendulum](https://github.com/sdispater/pendulum) - Python datetimes made easy. * [PyTime](https://github.com/shinux/PyTime) - An easy-to-use Python module which aims to operate date/time/datetime by string. * [pytz](https://launchpad.net/pytz) - World timezone definitions, modern and historical. Brings the [tz database](https://en.wikipedia.org/wiki/Tz_database) into Python. * [when.py](https://github.com/dirn/When.py) - Providing user-friendly functions to help perform common date and time actions. -* [maya](https://github.com/timofurrer/maya) - Datetimes for Humans. ## Debugging Tools @@ -456,10 +456,10 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [pyflame](https://github.com/uber/pyflame) - A ptracing profiler For Python. * [vprof](https://github.com/nvdv/vprof) - Visual Python profiler. * Others - * [icecream](https://github.com/gruns/icecream) - Inspect variables, expressions, and program execution with a single, simple function call. * [django-debug-toolbar](https://github.com/jazzband/django-debug-toolbar) - Display various debug information for Django. * [django-devserver](https://github.com/dcramer/django-devserver) - A drop-in replacement for Django's runserver. * [flask-debugtoolbar](https://github.com/mgood/flask-debugtoolbar) - A port of the django-debug-toolbar to flask. + * [icecream](https://github.com/gruns/icecream) - Inspect variables, expressions, and program execution with a single, simple function call. * [pyelftools](https://github.com/eliben/pyelftools) - Parsing and analyzing ELF files and DWARF debugging information. ## Deep Learning @@ -480,17 +480,17 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * Configuration Management * [ansible](https://github.com/ansible/ansible) - A radically simple IT automation platform. - * [saltstack](https://github.com/saltstack/salt) - Infrastructure automation and management system. * [cloudinit](https://cloudinit.readthedocs.io/en/latest/) - A multi-distribution package that handles early initialization of a cloud instance. * [OpenStack](https://www.openstack.org/) - Open source software for building private and public clouds. * [pyinfra](https://github.com/Fizzadar/pyinfra) - A versatile CLI tools and python libraries to automate infrastructure. + * [saltstack](https://github.com/saltstack/salt) - Infrastructure automation and management system. * SSH-style Deployment + * [cuisine](https://github.com/sebastien/cuisine) - Chef-like functionality for Fabric. * [fabric](https://github.com/fabric/fabric) - A simple, Pythonic tool for remote execution and deployment. * [fabtools](https://github.com/fabtools/fabtools) - Tools for writing awesome Fabric files. - * [cuisine](https://github.com/sebastien/cuisine) - Chef-like functionality for Fabric. * Process Management - * [supervisor](https://github.com/Supervisor/supervisor) - Supervisor process control system for UNIX. * [honcho](https://github.com/nickstenning/honcho) - A Python clone of [Foreman](https://github.com/ddollar/foreman), for managing Procfile-based applications. + * [supervisor](https://github.com/Supervisor/supervisor) - Supervisor process control system for UNIX. * Monitoring * [psutil](https://github.com/giampaolo/psutil) - A cross-platform process and system utilities module. * Backup @@ -503,10 +503,10 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Frameworks and libraries for Distributed Computing.* * Batch Processing - * [PySpark](https://pypi.org/project/pyspark/) - [Apache Spark](https://spark.apache.org/) Python API. * [dask](https://github.com/dask/dask) - A flexible parallel computing library for analytic computing. * [luigi](https://github.com/spotify/luigi) - A module that helps you build complex pipelines of batch jobs. * [mrjob](https://github.com/Yelp/mrjob) - Run MapReduce jobs on Hadoop or Amazon Web Services. + * [PySpark](https://pypi.org/project/pyspark/) - [Apache Spark](https://spark.apache.org/) Python API. * [Ray](https://github.com/ray-project/ray/) - A system for parallel and distributed Python that unifies the machine learning ecosystem. * Stream Processing * [faust](https://github.com/robinhood/faust) - A stream processing library, porting the ideas from [Kafka Streams](https://kafka.apache.org/documentation/streams/) to Python. @@ -520,9 +520,9 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [Nuitka](http://nuitka.net/) - Compile scripts, modules, packages to an executable or extension module. * [py2app](http://pythonhosted.org/py2app/) - Freezes Python scripts (Mac OS X). * [py2exe](http://www.py2exe.org/) - Freezes Python scripts (Windows). +* [pyarmor](https://github.com/dashingsoft/pyarmor) - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts. * [PyInstaller](https://github.com/pyinstaller/pyinstaller) - Converts Python programs into stand-alone executables (cross-platform). * [pynsist](http://pynsist.readthedocs.io/en/latest/) - A tool to build Windows installers, installers bundle Python itself. -* [pyarmor](https://github.com/dashingsoft/pyarmor) - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts. * [shiv](https://github.com/linkedin/shiv) - A command line utility for building fully self-contained zipapps (PEP 441), but with all their dependencies included. ## Documentation @@ -538,11 +538,11 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for downloading.* +* [akshare](https://github.com/jindaxiang/akshare) - A financial data interface library, built for human beings! * [s3cmd](https://github.com/s3tools/s3cmd) - A command line tool for managing Amazon S3 and CloudFront. * [s4cmd](https://github.com/bloomreach/s4cmd) - Super S3 command line tool, good for higher performance. * [you-get](https://you-get.org/) - A YouTube/Youku/Niconico video downloader written in Python 3. * [youtube-dl](https://rg3.github.io/youtube-dl/) - A small command-line program to download videos from YouTube. -* [akshare](https://github.com/jindaxiang/akshare) - A financial data interface library, built for human beings! ## E-commerce @@ -552,10 +552,10 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [Cartridge](https://github.com/stephenmcd/cartridge) - A shopping cart app built using the Mezzanine. * [django-oscar](http://oscarcommerce.com/) - An open-source e-commerce framework for Django. * [django-shop](https://github.com/awesto/django-shop) - A Django based shop system. +* [forex-python](https://github.com/MicroPyramid/forex-python) - Foreign exchange rates, Bitcoin price index and currency conversion. * [merchant](https://github.com/agiliq/merchant) - A Django app to accept payments from various payment processors. * [money](https://github.com/carlospalol/money) - `Money` class with optional CLDR-backed locale-aware formatting and an extensible currency exchange. * [python-currencies](https://github.com/Alir3z4/python-currencies) - Display money format and its filthy currencies. -* [forex-python](https://github.com/MicroPyramid/forex-python) - Foreign exchange rates, Bitcoin price index and currency conversion. * [saleor](http://getsaleor.com/) - An e-commerce storefront for Django. * [shoop](https://www.shuup.com/en/) - An open source E-Commerce platform based on Django. @@ -636,12 +636,12 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Functional Programming with Python.* * [Coconut](https://github.com/evhub/coconut) - A variant of Python built for simple, elegant, Pythonic functional programming. +* [CyToolz](https://github.com/pytoolz/cytoolz/) - Cython implementation of `Toolz`: High performance functional utilities. * [fn.py](https://github.com/kachayev/fn.py) - Functional programming in Python: implementation of missing features to enjoy FP. * [funcy](https://github.com/Suor/funcy) - A fancy and practical functional tools. * [more-itertools](https://github.com/erikrose/more-itertools) - More routines for operating on iterables, beyond `itertools`. * [returns](https://github.com/dry-python/returns) - A set of type-safe monads, tranformers, and composition utilities. * [Toolz](https://github.com/pytoolz/toolz) - A collection of functional utilities for iterators, functions, and dictionaries. -* [CyToolz](https://github.com/pytoolz/cytoolz/) - Cython implementation of `Toolz`: High performance functional utilities. ## GUI Development @@ -667,19 +667,19 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for working with GraphQL.* -* [tartiflette](https://tartiflette.io) - SDL-first GraphQL engine implementation for Python 3.6+ and asyncio. * [tartiflette-aiohttp](https://github.com/tartiflette/tartiflette-aiohttp/) - An `aiohttp`-based wrapper for Tartiflette to expose GraphQL APIs over HTTP. * [tartiflette-asgi](https://github.com/tartiflette/tartiflette-asgi/) - ASGI support for the Tartiflette GraphQL engine. +* [tartiflette](https://tartiflette.io) - SDL-first GraphQL engine implementation for Python 3.6+ and asyncio. ## Game Development *Awesome game development libraries.* +* [Arcade](https://arcade.academy/index.html) - Arcade is a modern Python framework for crafting games with compelling graphics and sound. * [Cocos2d](http://cocos2d.org/) - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. * [Harfang3D](http://www.harfang3d.com) - Python framework for 3D, VR and game development. * [Panda3D](https://www.panda3d.org/) - 3D game engine developed by Disney. * [Pygame](http://www.pygame.org/news.html) - Pygame is a set of Python modules designed for writing games. -* [Arcade](https://arcade.academy/index.html) - Arcade is a modern Python framework for crafting games with compelling graphics and sound. * [PyOgre](http://www.ogre3d.org/tikiwiki/PyOgre) - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D. * [PyOpenGL](http://pyopengl.sourceforge.net/) - Python ctypes bindings for OpenGL and it's related APIs. * [PySDL2](https://pysdl2.readthedocs.io) - A ctypes based wrapper for the SDL2 library. @@ -758,9 +758,9 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Implementations of Python.* +* [CLPython](https://github.com/metawilm/cl-python) - Implementation of the Python programming language written in Common Lisp. * [CPython](https://github.com/python/cpython) - **Default, most widely used implementation of the Python programming language written in C.** * [Cython](http://cython.org/) - Optimizing Static Compiler for Python. -* [CLPython](https://github.com/metawilm/cl-python) - Implementation of the Python programming language written in Common Lisp. * [Grumpy](https://github.com/google/grumpy) - More compiler than interpreter as more powerful CPython2.7 replacement (alpha). * [IronPython](https://github.com/IronLanguages/ironpython3) - Implementation of the Python programming language written in C#. * [Jython](https://hg.python.org/jython) - Implementation of Python programming language written in Java for the JVM. @@ -792,6 +792,7 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for scheduling jobs.* +* [Airflow](https://airflow.apache.org/) - Airflow is a platform to programmatically author, schedule and monitor workflows. * [APScheduler](http://apscheduler.readthedocs.io/en/latest/) - A light but powerful in-process task scheduler that lets you schedule functions. * [django-schedule](https://github.com/thauber/django-schedule) - A calendaring app for Django. * [doit](http://pydoit.org/) - A task runner and build tool. @@ -801,14 +802,13 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [schedule](https://github.com/dbader/schedule) - Python job scheduling for humans. * [Spiff](https://github.com/knipknap/SpiffWorkflow) - A powerful workflow engine implemented in pure Python. * [TaskFlow](https://docs.openstack.org/developer/taskflow/) - A Python library that helps to make task execution easy, consistent and reliable. -* [Airflow](https://airflow.apache.org/) - Airflow is a platform to programmatically author, schedule and monitor workflows. ## Logging *Libraries for generating and working with logs.* -* [logging](https://docs.python.org/3/library/logging.html) - (Python standard library) Logging facility for Python. * [logbook](http://logbook.readthedocs.io/en/stable/) - Logging replacement for Python. +* [logging](https://docs.python.org/3/library/logging.html) - (Python standard library) Logging facility for Python. * [loguru](https://github.com/Delgan/loguru) - Library which aims to bring enjoyable logging in Python. * [sentry-python](https://github.com/getsentry/sentry-python) - Sentry SDK for Python. * [structlog](https://www.structlog.org/en/stable/) - Structured logging made easy. @@ -860,10 +860,10 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [spacy](https://spacy.io/) - A library for industrial-strength natural language processing in Python and Cython. * [Stanza](https://github.com/stanfordnlp/stanza) - The Stanford NLP Group's official Python library, supporting 60+ languages. - Chinese + * [funNLP](https://github.com/fighting41love/funNLP) - A collection of tools and datasets for Chinese NLP. * [jieba](https://github.com/fxsjy/jieba) - The most popular Chinese text segmentation library. * [pkuseg-python](https://github.com/lancopku/pkuseg-python) - A toolkit for Chinese word segmentation in various domains. * [snownlp](https://github.com/isnowfy/snownlp) - A library for processing Chinese text. - * [funNLP](https://github.com/fighting41love/funNLP) - A collection of tools and datasets for Chinese NLP. ## Network Virtualization @@ -905,19 +905,19 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for package and dependency management.* * [pip](https://pip.pypa.io/en/stable/) - The package installer for Python. - * [PyPI](https://pypi.org/) * [pip-tools](https://github.com/jazzband/pip-tools) - A set of tools to keep your pinned Python dependencies fresh. -* [poetry](https://github.com/sdispater/poetry) - Python dependency management and packaging made easy. + * [PyPI](https://pypi.org/) * [conda](https://github.com/conda/conda/) - Cross-platform, Python-agnostic binary package manager. +* [poetry](https://github.com/sdispater/poetry) - Python dependency management and packaging made easy. ## Package Repositories *Local PyPI repository server and proxies.* -* [warehouse](https://github.com/pypa/warehouse) - Next generation Python Package Repository (PyPI). * [bandersnatch](https://github.com/pypa/bandersnatch/) - PyPI mirroring tool provided by Python Packaging Authority (PyPA). * [devpi](https://github.com/devpi/devpi) - PyPI server and packaging/testing/release tool. * [localshop](https://github.com/jazzband/localshop) - Local PyPI server (custom packages and auto-mirroring of pypi). +* [warehouse](https://github.com/pypa/warehouse) - Next generation Python Package Repository (PyPI). ## Permissions @@ -988,8 +988,8 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *RPC-compatible servers.* -* [zeroRPC](https://github.com/0rpc/zerorpc-python) - zerorpc is a flexible RPC implementation based on [ZeroMQ](http://zeromq.org/) and [MessagePack](http://msgpack.org/). * [RPyC](https://github.com/tomerfiliba/rpyc) (Remote Python Call) - A transparent and symmetric RPC library for Python +* [zeroRPC](https://github.com/0rpc/zerorpc-python) - zerorpc is a flexible RPC implementation based on [ZeroMQ](http://zeromq.org/) and [MessagePack](http://msgpack.org/). ## Science @@ -1005,25 +1005,25 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [NetworkX](https://networkx.github.io/) - A high-productivity software for complex networks. * [NIPY](http://nipy.org) - A collection of neuroimaging toolkits. * [NumPy](http://www.numpy.org/) - A fundamental package for scientific computing with Python. -* [Open Babel](http://openbabel.org/wiki/Main_Page) - A chemical toolbox designed to speak the many languages of chemical data. * [ObsPy](https://github.com/obspy/obspy/wiki/) - A Python toolbox for seismology. +* [Open Babel](http://openbabel.org/wiki/Main_Page) - A chemical toolbox designed to speak the many languages of chemical data. * [PyDy](http://www.pydy.org/) - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion. * [PyMC](https://github.com/pymc-devs/pymc3) - Markov Chain Monte Carlo sampling toolkit. * [QuTiP](http://qutip.org/) - Quantum Toolbox in Python. * [RDKit](http://www.rdkit.org/) - Cheminformatics and Machine Learning Software. * [SciPy](https://www.scipy.org/) - A Python-based ecosystem of open-source software for mathematics, science, and engineering. +* [SimPy](https://bitbucket.org/simpy/simpy) - A process-based discrete-event simulation framework. * [statsmodels](https://github.com/statsmodels/statsmodels) - Statistical modeling and econometrics in Python. * [SymPy](https://github.com/sympy/sympy) - A Python library for symbolic mathematics. * [Zipline](https://github.com/quantopian/zipline) - A Pythonic algorithmic trading library. -* [SimPy](https://bitbucket.org/simpy/simpy) - A process-based discrete-event simulation framework. ## Search *Libraries and software for indexing and performing search queries on data.* -* [elasticsearch-py](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html) - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch). -* [elasticsearch-dsl-py](https://github.com/elastic/elasticsearch-dsl-py) - The official high-level Python client for Elasticsearch. * [django-haystack](https://github.com/django-haystack/django-haystack) - Modular search for Django. +* [elasticsearch-dsl-py](https://github.com/elastic/elasticsearch-dsl-py) - The official high-level Python client for Elasticsearch. +* [elasticsearch-py](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html) - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch). * [pysolr](https://github.com/django-haystack/pysolr) - A lightweight Python wrapper for [Apache Solr](https://lucene.apache.org/solr/). * [whoosh](http://whoosh.readthedocs.io/en/latest/) - A fast, pure Python search engine library. @@ -1050,6 +1050,7 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * General * [tablib](https://github.com/jazzband/tablib) - A module for Tabular Datasets in XLS, CSV, JSON, YAML. * Office + * [docxtpl](https://github.com/elapouya/python-docx-template) - Editing a docx document by jinja2 template * [openpyxl](https://openpyxl.readthedocs.io/en/stable/) - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files. * [pyexcel](https://github.com/pyexcel/pyexcel) - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files. * [python-docx](https://github.com/python-openxml/python-docx) - Reads, queries and modifies Microsoft Word 2007/2008 docx files. @@ -1058,7 +1059,6 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [XlsxWriter](https://github.com/jmcnamara/XlsxWriter) - A Python module for creating Excel .xlsx files. * [xlwings](https://github.com/ZoomerAnalytics/xlwings) - A BSD-licensed library that makes it easy to call Python from Excel and vice versa. * [xlwt](https://github.com/python-excel/xlwt) / [xlrd](https://github.com/python-excel/xlrd) - Writing and reading data and formatting information from Excel files. - * [docxtpl](https://github.com/elapouya/python-docx-template) - Editing a docx document by jinja2 template * PDF * [PDFMiner](https://github.com/euske/pdfminer) - A tool for extracting information from PDF documents. * [PyPDF2](https://github.com/mstamy2/PyPDF2) - A library capable of splitting, merging and transforming PDF pages. @@ -1077,10 +1077,10 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Static site generator is a software that takes some text + templates as input and produces HTML files on the output.* -* [mkdocs](https://github.com/mkdocs/mkdocs/) - Markdown friendly documentation generator. -* [pelican](https://github.com/getpelican/pelican) - Static site generator that supports Markdown and reST syntax. * [lektor](https://github.com/lektor/lektor) - An easy to use static CMS and blog engine. +* [mkdocs](https://github.com/mkdocs/mkdocs/) - Markdown friendly documentation generator. * [nikola](https://github.com/getnikola/nikola) - A static website and blog generator. +* [pelican](https://github.com/getpelican/pelican) - Static site generator that supports Markdown and reST syntax. ## Tagging @@ -1101,8 +1101,8 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries and tools for templating and lexing.* -* [Jinja2](https://github.com/pallets/jinja) - A modern and designer friendly templating language. * [Genshi](https://genshi.edgewall.org/) - Python templating toolkit for generation of web-aware output. +* [Jinja2](https://github.com/pallets/jinja) - A modern and designer friendly templating language. * [Mako](http://www.makotemplates.org/) - Hyperfast and lightweight templating for the Python platform. ## Testing @@ -1110,9 +1110,9 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for testing codebases and generating test data.* * Testing Frameworks - * [pytest](https://docs.pytest.org/en/latest/) - A mature full-featured Python testing tool. * [hypothesis](https://github.com/HypothesisWorks/hypothesis) - Hypothesis is an advanced Quickcheck style property based testing library. * [nose2](https://github.com/nose-devs/nose2) - The successor to `nose`, based on `unittest2. + * [pytest](https://docs.pytest.org/en/latest/) - A mature full-featured Python testing tool. * [Robot Framework](https://github.com/robotframework/robotframework) - A generic test automation framework. * [unittest](https://docs.python.org/3/library/unittest.html) - (Python standard library) Unit testing framework. * Test Runners @@ -1127,11 +1127,11 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [sixpack](https://github.com/seatgeek/sixpack) - A language-agnostic A/B Testing framework. * [splinter](https://github.com/cobrateam/splinter) - Open source tool for testing web applications. * Mock - * [mock](https://docs.python.org/3/library/unittest.mock.html) - (Python standard library) A mocking and patching library. * [doublex](https://pypi.org/project/doublex/) - Powerful test doubles framework for Python. * [freezegun](https://github.com/spulec/freezegun) - Travel through time by mocking the datetime module. * [httmock](https://github.com/patrys/httmock) - A mocking library for requests for Python 2.6+ and 3.2+. * [httpretty](https://github.com/gabrielfalcao/HTTPretty) - HTTP request mock tool for Python. + * [mock](https://docs.python.org/3/library/unittest.mock.html) - (Python standard library) A mocking and patching library. * [mocket](https://github.com/mindflayer/python-mocket) - A socket mock framework with gevent/asyncio/SSL support. * [responses](https://github.com/getsentry/responses) - A utility library for mocking out the requests Python library. * [VCR.py](https://github.com/kevin1024/vcrpy) - Record and replay HTTP interactions on your tests. @@ -1142,9 +1142,9 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * Code Coverage * [coverage](https://pypi.org/project/coverage/) - Code coverage measurement. * Fake Data - * [mimesis](https://github.com/lk-geimfari/mimesis) - is a Python library that help you generate fake data. * [fake2db](https://github.com/emirozer/fake2db) - Fake database generator. * [faker](https://github.com/joke2k/faker) - A Python package that generates fake data. + * [mimesis](https://github.com/lk-geimfari/mimesis) - is a Python library that help you generate fake data. * [radar](https://pypi.org/project/radar/) - Generate random datetime / time. ## Text Processing @@ -1203,9 +1203,9 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). *Libraries for manipulating video and GIFs.* -* [vidgear](https://github.com/abhiTronix/vidgear) - Most Powerful multi-threaded Video Processing framework. * [moviepy](https://zulko.github.io/moviepy/) - A module for script-based movie editing with many formats, including animated GIFs. * [scikit-video](https://github.com/aizvorski/scikit-video) - Video processing routines for SciPy. +* [vidgear](https://github.com/abhiTronix/vidgear) - Most Powerful multi-threaded Video Processing framework. ## Web Asset Management @@ -1241,10 +1241,10 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * [feedparser](https://pythonhosted.org/feedparser/) - Universal feed parser. * [grab](https://github.com/lorien/grab) - Site scraping framework. * [MechanicalSoup](https://github.com/MechanicalSoup/MechanicalSoup) - A Python library for automating interaction with websites. +* [portia](https://github.com/scrapinghub/portia) - Visual scraping for Scrapy. * [pyspider](https://github.com/binux/pyspider) - A powerful spider system. * [robobrowser](https://github.com/jmcarp/robobrowser) - A simple, Pythonic library for browsing the web without a standalone web browser. * [scrapy](https://scrapy.org/) - A fast high-level screen scraping and web crawling framework. -* [portia](https://github.com/scrapinghub/portia) - Visual scraping for Scrapy. ## Web Frameworks @@ -1252,8 +1252,8 @@ Inspired by [awesome-php](https://github.com/ziadoz/awesome-php). * Synchronous * [Django](https://www.djangoproject.com/) - The most popular web framework in Python. - * [awesome-django](https://github.com/wsvincent/awesome-django) * [awesome-django](https://github.com/shahraizali/awesome-django) + * [awesome-django](https://github.com/wsvincent/awesome-django) * [Flask](http://flask.pocoo.org/) - A microframework for Python. * [awesome-flask](https://github.com/humiaozuzu/awesome-flask) * [Pyramid](https://pylonsproject.org/) - A small, fast, down-to-earth, open source Python web framework. @@ -1305,8 +1305,8 @@ Where to discover learning resources or new Python libraries. * [Awesome Python Newsletter](http://python.libhunt.com/newsletter) * [Pycoder's Weekly](http://pycoders.com/) -* [Python Weekly](http://www.pythonweekly.com/) * [Python Tricks](https://realpython.com/python-tricks/) +* [Python Weekly](http://www.pythonweekly.com/) ## Podcasts @@ -1327,3 +1327,4 @@ I will keep some pull requests open if I'm not sure whether those libraries are - - - If you have any question about this opinionated list, do not hesitate to contact me [@VintaChen](https://twitter.com/VintaChen) on Twitter or open an issue on GitHub. + diff --git a/sort.py b/sort.py old mode 100644 new mode 100755 index 42785566..431bd02b --- a/sort.py +++ b/sort.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python # coding: utf-8 """