Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jtn-ms/awesome-python-again
python
https://github.com/jtn-ms/awesome-python-again
List: awesome-python-again
Last synced: 3 months ago
JSON representation
python
- Host: GitHub
- URL: https://github.com/jtn-ms/awesome-python-again
- Owner: jtn-ms
- Created: 2017-12-18T09:36:32.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-07T07:47:52.000Z (almost 7 years ago)
- Last Synced: 2024-04-23T00:11:44.513Z (6 months ago)
- Language: Python
- Size: 257 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- ultimate-awesome - awesome-python-again - Python. (Other Lists / PowerShell Lists)
README
### Meta
- [ ] [how to design large-scale systems](https://github.com/donnemartin/system-design-primer)
- [ ] [interactive-coding-challenges](https://github.com/donnemartin/interactive-coding-challenges)
- [ ] [data-science-ipython-notebooks](https://github.com/donnemartin/data-science-ipython-notebooks)
- [ ] [game-programmer](https://github.com/miloyip/game-programmer)### News
- [ ] [haxor-news](https://github.com/donnemartin/haxor-news)
$ pip install haxor-news
$ haxor-news
haxor> hn top
haxor> hn show 20
- [ ] [HackerNewsAPI](https://github.com/karan/HackerNewsAPI/)
### Docker- [ ] [docker_practice](https://github.com/yeasy/docker_practice)
### Under-Check- [ ] [geekcomputers](https://github.com/geekcomputers/Python)
- [ ] [example-code](https://github.com/fluentpython/example-code)
- [ ] [python-patterns](https://github.com/faif/python-patterns)
- [ ] [python-algorithms](https://github.com/keon/algorithms)
- [ ] [Zappa](https://github.com/Miserlou/Zappa)### [Binding](https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages)
- [ ] [c-in-python](https://stackoverflow.com/questions/13990317/generate-python-bindings-what-methods-programs-to-use)
keyword : wrapper,[extending](https://docs.python.org/3/extending/extending.html),binding,calling,[integrating](https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages),[embedding](https://docs.python.org/2/extending/embedding.html),python,c++
* [ctypes](https://docs.python.org/2/library/ctypes.html)
* [swig](https://github.com/swig/swig)[tutorial](http://www.swig.org/tutorial.html)
* [boost.python](http://www.boost.org/doc/libs/1_49_0/libs/python/doc/)
* [cython]()
- [ ] [ipc](http://zguide.zeromq.org/)
* [zeromq:one and only ipc between python and c++](https://github.com/zeromq/pyzmq)
* [zguide](https://github.com/booksbyus/zguide/tree/master/examples)
* [libzmq](https://github.com/zeromq/libzmq)
* [clif](https://github.com/google/clif)
- [x] [python-in-c](https://github.com/gustavkkk/embedding-python-in-c)
- [ ] [.Net in python](https://github.com/pythonnet/pythonnet)
- [ ] [hdf5 in python](https://github.com/h5py/h5py)
### Conversion- [x] [chinese2Integer](https://github.com/gustavkkk/python-small-module/blob/master/chn2int.py)
- [ ] [xlsx2csv](https://github.com/dilshod/xlsx2csv)
- [ ] [csv2sqlite](https://github.com/rasbt/python_reference/blob/master/useful_scripts/large_csv_to_sqlite.py) : [](https://github.com/simonw/csvs-to-sqlite)
- [ ] [xls2db](https://github.com/jfhbrook/xls2db)
- [x] [xls2sqlite](https://github.com/bermau/xls2sqlite)
- [ ] [sqlite2xls](https://github.com/flow-phys/sqlite2xls/blob/master/sqlite2xls)
- [ ] [cpp2python](https://github.com/andreikop/cpp2python)
- [ ] [python2android](https://github.com/kivy/python-for-android)
- [ ] [shell-command-in-python](https://github.com/amoffat/sh)
- [ ] [python-dict2xml](https://github.com/delfick/python-dict2xml)
- [ ] [xmltodict](https://github.com/martinblech/xmltodict) : [XML2Dict](https://github.com/mcspring/XML2Dict)### Scraping
- [ ] [](https://github.com/scrapy/scrapy)
$ pip install scrapy- [ ] [you-get: video,image,audio](https://github.com/soimort/you-get)
$ pip install you-get
$ you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
- [ ] [youtube-dl:video](https://github.com/rg3/youtube-dl)
$ pip install --upgrade youtube-dl
- [ ] [pyspider](https://github.com/binux/pyspider)
### Network- [ ] [httpie:interact-with-webserver-using-CLI](https://github.com/jakubroztocil/httpie)
$ pip install --upgrade httpie
$ http baidu.com
submitting
$ http -f POST example.org hello=World
uploading
$ http example.org < file.json
downloading
$ http example.org/file > file
$ http --download example.org/file
.....
- [ ] [requests](https://github.com/requests/requests)
- [ ] [shadowsocks:bypass-firewall](https://github.com/shadowsocks/shadowsocks/tree/master)
- [ ] [fabric:remote-execution](https://github.com/fabric/fabric)### DataBase
- [ ] [sqlmap:Automatic SQL injection and database takeover tool ](https://github.com/sqlmapproject/sqlmap)
### Auto- [ ] [home](https://github.com/home-assistant/home-assistant)
$ pip install homeassistant
$ pip install xml2dict
$ hass --open-ui
http://192.168.0.8:8123
- [x] [wechat](https://github.com/littlecodersh/ItChat)
import itchat
itchat.auto_login()
author = itchat.search_friends(nickName='田')[0]
author.send('greeting, littlecoder!')
- [ ] [QQ](https://github.com/pandolia/qqbot)
- [ ] [twitter](https://github.com/tweepy/tweepy)
- [x] email
* [gmail-receiver](https://github.com/charlierguo/gmail):[gmail-sender](https://github.com/paulchakravarti/gmail-sender)
import gmail
from gmail import Gmail
g = gmail.login(username, password)
* [mailthon](https://github.com/eugene-eeo/mailthon)
from mailthon import postman, email
p = postman(host='smtp.outlook.com', auth=('username', 'password'))
r = p.send(email(
content=u'Hello 世界
',
subject='Hello world',
sender='Pi',
receivers=['[email protected]']))
assert r.ok
- [x] [ui](https://gfycat.com/PointlessSimplisticAmericanquarterhorse)
import pyautogui
import time
pyautogui.position()
while True:
time.sleep(0.1)
pyautogui.click(15,42)
- [ ] [slacker](https://github.com/os/slacker)
* [](https://github.com/slackapi/python-slackclient)
- [ ] [skype](https://github.com/Skype4Py/Skype4Py)
- [ ] [chrome-db](https://github.com/MonroCoury/Forensic-Tools)
- [ ] Amazon
* [boto](https://github.com/boto/boto)
* [aws-cli](https://github.com/aws/aws-cli)
- [ ] [Trading](https://github.com/quantopian/zipline) : [tushare:historical-data-from-chinese-stock](https://github.com/waditu/tushare)
- [ ] [弹幕](https://github.com/littlecodersh/danmu)
- [ ] [webbrowser](https://github.com/SeleniumHQ/selenium)
### Data & Time- [ ] [pendulum](https://github.com/sdispater/pendulum)
- [ ] [arrow](https://github.com/crsmithdev/arrow)
- [ ] [maya](https://github.com/kennethreitz/maya)
### File/Dir Processing
- [ ] files with specific pattern in a folder
glob.glob(subpath_+'\\*'+pattern+'*.j*pg')
- [x] files including one-sub-dir or not
glob.iglob(subpath_+'\\**\\' + '*'+category+'*.j*pg', recursive=True)
### Utility
- [x] [magic-wormhole:file-send-receiver](https://github.com/warner/magic-wormhole)
$ pip install magic-wormhole
sender$ wormhole send README.md
Sending 7924 byte file named 'README.md'
On the other computer, please run: wormhole receive
Wormhole code is: 7-crossover-clockwork
receiver$ wormhole receive
Enter receive wormhole code: 7-crossover-clockwork
Receiving file (7924 bytes) into: README.md
ok? (y/n): y
- [ ] [maybe:check-before-done](https://github.com/p-e-w/maybe)
$ pip install maybe
- [ ] [howdoi:programming-grammar-check](https://github.com/gleitz/howdoi)
$ pip install howdoi
opening vpn
$ howdoi dictionary insert python
$ howdoi network test bash
- [ ] [glances:An-eye-on-your-system](https://github.com/nicolargo/glances)
$ pip install glances
$ pip install pysnmp
$ glances
- [x] [thefuck:Auto-Correcting-Command](https://github.com/nvbn/thefuck)
$ pip install thefuck
- [ ] [fabric:Shell-Command-On-Multi-Servers-Same-Time](https://github.com/fabric/fabric)
- [ ] [fire:Automatically-generating-CLIs-from-any-Python-Object](https://github.com/google/python-fire)
import fire
class Calculator(object):
"""A simple calculator class."""
def double(self, number):
return 2 * number
if __name__ == '__main__':
fire.Fire(Calculator)
$ python calculator.py double 10 # 20
$ python calculator.py double --number=15 # 30
- [ ] [mackup:Back-Up-Application-Setting-Into-DropBox](https://github.com/lra/mackup)
- [ ] [mkdocs:Make-Project-Docs](https://github.com/mkdocs/mkdocs)
- [ ] [BossSensor:Hide-screen-when-boss-is-approaching](https://github.com/Hironsan/BossSensor)
- [ ] [moviepy:Video-Editing](http://zulko.github.io/moviepy/)
- [ ] [legit:Git-for-Humans](https://github.com/kennethreitz/legit)
- [ ] [wttr:weather](https://github.com/chubin/wttr.in)
- [ ] [voltron:reversing-tool](https://github.com/snare/voltron)
- [ ] [webpage2png](https://github.com/paulhammond/webkit2png)
$ pip install webkit2png
webkit2png http://www.google.com/
- [ ] [check-security-state-of-your-PC](https://github.com/chipsec/chipsec
- [ ] [fabric:remote-ssh-](https://github.com/fabric/fabric)
- [ ] [yapf:A-formatter-for-Python-files](https://github.com/google/yapf)
- [ ] [speedtest-cli:internet-bandwidth-testing-cmd](https://github.com/sivel/speedtest-cli)
$ pip install speedtest-cli
$ speedtest-cli
### [Python in C++](https://www.coveros.com/calling-python-code-from-c/)
### [Create-Project](https://github.com/ofek/hatch)
### [Distribution](https://stackoverflow.com/questions/14165398/a-good-python-to-exe-compiler)
- [x] [pyinstaller](https://github.com/pyinstaller/pyinstaller) : [how2exclude](https://stackoverflow.com/questions/17034434/how-to-remove-exclude-modules-and-files-from-pyinstaller) : [how-to-decrease-exe-size: pandas-conda2pip](https://stackoverflow.com/questions/43886822/pyinstaller-with-pandas-creates-over-500-mb-exe) : [pyqt5-exe-making](https://winterj.me/pyinstaller/) : [how-to-exclude](https://github.com/pyinstaller/pyinstaller/issues/1239)
This is the one and only choice for tensorflow-based application distribution and works great. But, you have to install python using brew not anaconda for Mac.
$ pyinstaller --onefile --windowed xxx.py
# the following code help decreasing pkg size
Analysis(..., excludes=['_gtkagg', '_tkagg', 'bsddb', 'curses', 'pywin.debugger', 'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl', 'Tkconstants', 'Tkinter', 'PyQt5','zmq'], ..)
# the following code after Analyssi(...) help pandas works while using pyinstaller
# it's better to use pip pandas than conda pandas for pkg size. conda pandas needs more than 400MB extra weight.
def get_pandas_path():
import pandas
pandas_path = pandas.__path__[0]
return pandas_pathdict_tree = Tree(get_pandas_path(), prefix='pandas', excludes=["*.pyc"])
a.datas += dict_tree
a.binaries = filter(lambda x: 'pandas' not in x[0], a.binaries)
$ pyinstaller xxx.spec
- [x] [cx_Freeze](https://github.com/anthony-tuininga/cx_Freeze/blob/master/doc/distutils.rst)
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}
base = None
if sys.platform == "win32":
base = "Win32GUI"setup( name = "guifoo",
version = "0.1",
description = "My GUI application!",
options = {"build_exe": build_exe_options},
executables = [Executable("guifoo.py", base=base)])
### [Packaging and Distribution](https://github.com/storborg/python-packaging/blob/master/index.rst) : [pypa](https://github.com/pypa/python-packaging-user-guide)
- [ ] [Use-Hatch](https://github.com/ofek/hatch)
- [ ] [setup.py](https://github.com/kennethreitz/setup.py)
### Dependency-Check
- [ ] [pipdeptree](https://github.com/naiquevin/pipdeptree)
$ pipdeptree
$ pipdeptree --reverse --packages itsdangerous,gnureadline
#$ pip freeze
#$ conda env list
### GUI
- [ ] [pyqt]()
- [ ] [kivy]()### Bot
- [ ] ChatBot
* [ChatterBot](https://github.com/gunthercox/ChatterBot)
* [WeixinBot](https://github.com/Urinx/WeixinBot)### 3D
- [ ] [SpaceshipGenerator:with-Random-Seed](https://github.com/a1studmuffin/SpaceshipGenerator)
### Guide
[python-guide](https://github.com/kennethreitz/python-guide)
### Fake Data Generator
- [x] [faker](https://github.com/joke2k/faker)
from faker import Faker
fake = Faker('en_US')
fake.name()
# 'Lucy Cechtelar'
fake.address()
# "426 Jordy Lodge
# Cartwrightshire, SC 88120-6700"
fake.text()
# Sint velit eveniet. Rerum atque repellat voluptatem quia rerum. Numquam excepturi
# beatae sint laudantium consequatur. Magni occaecati itaque sint et sit tempore. Nesciunt
# amet quidem. Iusto deleniti cum autem ad quia aperiam.
# A consectetur quos aliquam. In iste aliquid et aut similique suscipit. Consequatur qui
# quaerat iste minus hic expedita. Consequuntur error magni et laboriosam. Aut aspernatur
# voluptatem sit aliquam. Dolores voluptatum est.
# Aut molestias et maxime. Fugit autem facilis quos vero. Eius quibusdam possimus est.
# Ea quaerat et quisquam. Deleniti sunt quam. Adipisci consequatur id in occaecati.
# Et sint et. Ut ducimus quod nemo ab voluptatum.
- [ ] [mimesis](https://github.com/lk-geimfari/mimesis)
from mimesis import Personal
from mimesis.enums import Gender
person = Personal('en')
person.full_name(gender=Gender.FEMALE)
person.occupation()
templates = ['U_d', 'U-d', 'l_d', 'l-d']
for template in templates:
person.username(template=template)
Personal('de').full_name()
from mimesis import Generic
from mimesis.enums import TLDType
g = Generic('es')
g.datetime.month()
g.food.fruit()
g.internet.top_level_domain(TLDType.GEOTLD)
- [ ] [gen_db.py](https://bitbucket.org/frank0125/biddingdocument/src/8f034d22a750c5e08b593d79df7808fcf1f030f9/processing/gen_db.py?at=master&fileviewer=file-view-default)
### Cryptography- [x] [cryptography](https://github.com/pyca/cryptography)
from cryptography.fernet import Fernet
# Put this somewhere safe!
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(b"A really secret message. Not for prying eyes.")
token
'...'
f.decrypt(token)
'A really secret message. Not for prying eyes.'
### Debug
- [ ] [check-memory-usage-python-code-per-line](https://github.com/pythonprofilers/memory_profiler)# Data Science
### Data Visualization
- [ ] [d3-Gallery](https://github.com/d3/d3/wiki/Gallery)
- [ ] [bokeh](https://github.com/bokeh/bokeh)
- [ ] [altair](https://github.com/altair-viz/altair)
- [ ] [d3py](https://github.com/mikedewar/d3py)
- [ ] [prettyplotlib](https://github.com/olgabot/prettyplotlib)
# Web
### Framework
- [ ] [wsgi](http://wsgi.readthedocs.io/en/latest/frameworks.html)
- [ ] [webpy](https://github.com/webpy/webpy)
"Django lets you write web apps in Django. TurboGears lets you write web apps in TurboGears. Web.py lets you write web apps in Python."
— Adam Atlas
$ pip install web.py
import web
urls = ( '/(.*)', 'hello')
app = web.application(urls, globals())
class hello:
def GET(self, name):
if not name:
name = 'World'
return 'Hello, ' + name + '!'
if __name__ == "__main__":
app.run()
- [ ] [falcon](https://github.com/falconry/falcon)
- [ ] [aiohttp:Client/Server](https://github.com/aio-libs/aiohttp)
### Django-Case
- [ ] [NewsBlur:Read-News-From-Variable-Sources](https://github.com/samuelclay/NewsBlur)
- [ ] [django-imagekit](https://github.com/matthewwithanm/django-imagekit)
### Flask-Case
- [ ] [Flask-AppBuilder](https://github.com/dpgaspar/Flask-AppBuilder)
### Utility
- [ ] [password-strength-check](https://github.com/SirCmpwn/evilpass)
- [ ] [qrcode](https://github.com/lincolnloop/python-qrcode)
# Machine Learning### DataSet
- [ ] [skdata](https://github.com/jaberg/skdata/tree/master/skdata)### Overview
- [ ] [off99555](https://github.com/off99555/machine-learning-curriculum)
### NLP- [ ] [spacy](https://spacy.io/) : [src](https://github.com/explosion/spaCy) : [models](https://github.com/explosion/spacy-models/)
import spacy
nlp = spacy.load('en')
doc1 = nlp(u'the fries were gross')
doc2 = nlp(u'worst fries ever')
doc1.similarity(doc2)
- [x] [gensim](https://github.com/RaRe-Technologies/gensim)
* [tutorials](https://github.com/RaRe-Technologies/gensim/blob/develop/tutorials.md)
* [doc2vec](https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-lee.ipynb)
* [summarization](https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/summarization_tutorial.ipynb)
- [ ] [newspaper:request+lxml+nltk+jieba](https://github.com/codelucas/newspaper)py3$ pip install newspaper3k
py2$ pip install newspaper
from newspaper import Article
url = 'http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/'
article = Article(url)
article.download()
article.parse()
article.authors
article.publish_date
article.text
article.top_image
article.movies
article.nlp()
article.keywords
article.summary
from newspaper import fulltext
html = requests.get(...).text
text = fulltext(html)
- [ ] [TextBlob](https://github.com/sloria/TextBlob)
- [ ] [translate.py](https://bitbucket.org/frank0125/biddingdocument/src/8f034d22a750c5e08b593d79df7808fcf1f030f9/processing/trans.py?at=master&fileviewer=file-view-default)
- [ ] [summarize](https://github.com/miso-belica/sumy)### Prediction
- [ ] [prophet](https://github.com/facebook/prophet) : [Quick-Start](https://facebook.github.io/prophet/docs/quick_start.html#python-api)
import pandas as pd
import numpy as np
from fbprophet import Prophet
df = pd.read_csv('../examples/example_wp_peyton_manning.csv')
df['y'] = np.log(df['y'])
df.head()
m = Prophet()
m.fit(df)
### Recommendation
- [ ] [crab](https://github.com/muricoca/crab)
# Computer Vision
### Super Resolution
- [ ] [srez:super-resolution-16x16to64x64-face](https://github.com/david-gpu/srez)
- [ ] [neural-enhance](https://github.com/alexjc/neural-enhance)# Office
### Excel
- [ ] [xlrd](https://github.com/python-excel/xlrd)
- [ ] [XlsxWriter](https://github.com/jmcnamara/XlsxWriter)