In the past month, we have ranked nearly 250 Python open source projects and selected the top 10 projects. The list has an average GitHub star of 1140, covering topics such as performance analysis, extracting tables in PDF, HTTP Framework, Refactoring, Unix-gazing shell, HTTP APIs, property, etc. I hope you can find one that you are interested in. The project is explored in depth.
Open source project one: Py-spy
Py-spy is a Python program-driven sample analyzer that allows you to visualize Python program content without having to restart the program or modify the code in any way. It is written in Rust, runs fast, has low computational cost, does not need to run concurrently in the process of configuring a Python program, and does not otherwise interrupt the currently running program, which means Py-Spy can be safely Used for the generation of Python code. In addition, Py-Spy is available for platforms such as Linux, OSX, and Windows, and supports analysis on the version of the CPython interpreter.
Github link:
https://github.com/benfred/py-spy?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project two: Camelot
Camelot is a Python application library for extracting tables from PDF files. It can help you easily extract the required tabular data from a PDF file and convert it to Pandas DataFrame format and output it in JSON, Excel or HTML format.
Github link:
https://github.com/socialcopsdev/camelot?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project three: Responder
The responder is a Python-based HTTP service framework that will provide you with a pre-installed version of the ASGI application, including the jinja2 template, an unloop-based production web server that automatically responds to gzip compression service requests.
Github link:
https://github.com/kennethreitz/responder?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project four: Bowler
Bowler: is a refactoring tool for manipulating Python at the syntax tree level. It enables secure and large-scale code modification tasks while assisting the generated code to compile and run. It provides a simple command line interface and a smooth Python API interface for complex code changes in your code. Specifically, Bowler invokes the Query API interface to implement script refactoring through a series of selectors, filters, and modifiers. There are many simple modifications that can be made using the existing API, but you can also customize selectors, filters, and modifiers to build more complex refactoring processes as needed. For more information, check out the introduction to the project home page.
Github link:
https://github.com/facebookincubator/bowler?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project five: Xonsh
Conch is a cross-platform project based on Python that focuses on the Unix shell language and command line prompts. The language is a superset of Python 3.4+ with additional shell primitives for additional use of Bash and IPython. Xnosh is designed for everyday use by experts and novices and supports all major operating systems including Linux, Mac OSX and Windows.
Github link:
https://github.com/xonsh/xonsh?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project six: Molten
Molten is a small, extensible, fast and effective framework for building HTTP APIs for Python 3.6 and higher.
Github link:
https://github.com/evyatarmeged/Raccoon?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project seven: Dbxfs
Dbxfs is a Python 3.5+ based user file system for Dropbox. It allows you to mount a Dropbox folder just as if you were hanging it on a local file system. The main difference between Dbxfs and the official Dropbox client is that access requires a network connection, access does not require disk space, but if disk space is available, it is cached.
Dbxfs has been tested on OpenBSD, Linux and macOS platforms, but it can also run on any FUSE-compatible library or any POSIX system capable of mounting SMB shares, and support for the Windows platform is coming soon. When running on a non-x86 architecture such as the ARM, Dbxfs does not need or depend on a particular file system.
Github link:
https://github.com/rianhunter/dbxfs?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project eight: Twitter-cleanup
PyPortfolioOpt is an open source project based on Python's financial portfolio optimization, which includes classic and effective cutting-edge and experimental methods. It is widely used and easy to expand and is equally applicable to investors and practitioners. PyPortfolioOpt can help you efficiently combine alpha generators. You can access the documentation on ReadTheDocs to gain insight into the project.
Github link:
https://github.com/robertmartin8/PyPortfolioOpt?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project nine: Sotawhat
Sotawhat is able to summarize the abstracts of the papers and return the results by grabbing arxiv papers, which can help you understand the daily papers and research progress.
Github link:
https://github.com/chiphuyen/sotawhat?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Open source project ten: PaperTTY
PapertTTY is a command-line driven Python module for rendering Linux virtual terminals or standard input content to Waveshare electronic displays. It has the following important features:
Designed for Raspberry Pi and Raspbian.
It can help you easily run interactive console programs (including vim, tmux, irssi, nethack, etc.) and display whatever you want through a script.
It runs fast, especially for small fonts, but it can be used interactively, but it needs to be further improved or even faster. In addition, its use on the Raspberry Pi 3 is more interesting than Zero.
Only changed areas will be updated on the display, so typing is faster than full-screen scrolling.
It is capable of drawing a cursor and updating the image as it moves.
No flicker.
Allow changes to font, font size, orientation, and some other parameters.
Support for TrueType and bitmap fonts (in PIL format).
Bundle the systemd service unit to start the service as soon as possible at startup and gracefully stop the service.
Currently only supported with monochrome 2.13" HAT for testing, but it is also suitable for other models, other features have yet to be improved.
Github link:
https://github.com/joukos/PaperTTY?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more