{"id":50552,"date":"2023-07-18T17:43:44","date_gmt":"2023-11-18T15:49:13","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/"},"modified":"2024-04-30T14:13:24","modified_gmt":"2024-04-30T06:13:24","slug":"%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/","title":{"rendered":"\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90"},"content":{"rendered":"<p>\u539f\u6587\uff1a&#8221;Awesome Python&#8221;<br \/>\n\u91cd\u65b0\u8868\u8fbe\uff1a&#8221;\u4ee4\u4eba\u60ca\u53f9\u7684Python&#8221;<\/p>\n<h2>\u5728Qiita\u4e0a\u7684\u7cbe\u5f69\u5217\u8868<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Awesome Ruby<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Awesome Java<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Awesome JavaScript<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Awesome Node.js<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Awesome Go<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Awesome Selenium<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Awesome Appium<\/ul>\n<h2>\u7ba1\u7406\u9762\u677f<\/h2>\n<p>\u7ba1\u7406\u754c\u9762\u7528\u7684\u5e93<\/p>\n<p>ajenti &#8211; \u30b5\u30fc\u30d0\u7528\u7ba1\u7406\u30d1\u30cd\u30eb.<\/p>\n<p>django-grappelli &#8211; Django \u7ba1\u7406\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u305f\u3081\u306e\u30b8\u30e3\u30ba\u30b9\u30ad\u30f3.<\/p>\n<p>django-jet &#8211; \u6539\u826f\u3055\u308c\u305f\u6a5f\u80fd\u3092\u5099\u3048\u305f Django \u7ba1\u7406\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u7528\u306e\u6700\u65b0\u306e\u30ec\u30b9\u30dd\u30f3\u30b7\u30d6\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8.<\/p>\n<p>django-suit &#8211; Django Admin \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306e\u4ee3\u66ff (\u975e\u5546\u7528\u306e\u5834\u5408\u306e\u307f\u7121\u6599).<\/p>\n<p>django-xadmin &#8211; Django \u7ba1\u7406\u8005\u306e\u30c9\u30ed\u30c3\u30d7\u30a4\u30f3\u7f6e\u63db.<\/p>\n<p>jet-bridge &#8211; \u3059\u3066\u304d\u306a UI \u3092\u5099\u3048\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\uff08Jet Django \u306a\u3069\uff09\u306e\u7ba1\u7406\u30d1\u30cd\u30eb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>flask-admin &#8211; Flask \u306e\u305f\u3081\u306e\u30b7\u30f3\u30d7\u30eb\u3067\u62e1\u5f35\u53ef\u80fd\u306a\u7ba1\u7406\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>flower &#8211; Celery \u306e\u305f\u3081\u306e\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30e2\u30cb\u30bf\u3068 Web \u7ba1\u7406\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9.<\/p>\n<p>Wooey &#8211; \u81ea\u52d5\u3067 Web UI \u3092\u4f5c\u6210\u3067\u304d\u308b Django \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3.<\/p>\n<h2>\u7b97\u6cd5\u548c\u8bbe\u8ba1\u6a21\u5f0f<\/h2>\n<p>Python\u7b97\u6cd5\u548c\u8bbe\u8ba1\u6a21\u5f0f\u7684\u5b9e\u73b0<\/p>\n<p>algorithms &#8211; Python \u306e\u30c7\u30fc\u30bf\u69cb\u9020\u3068\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u5c0f\u3055\u306a\u4f8b.<\/p>\n<p>PyPattyrn &#8211; \u5171\u901a\u306e\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u3092\u5b9f\u88c5\u3059\u308b\u305f\u3081\u306e\u30b7\u30f3\u30d7\u30eb\u3067\u52b9\u679c\u7684\u306a\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>python-ds &#8211; \u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a4\u30f3\u30bf\u30d3\u30e5\u30fc\u5bfe\u7b56\u306b\u4f7f\u3048\u308b Python \u306e\u30c7\u30fc\u30bf\u69cb\u9020\u3068\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u30af\u30ea\u30fc\u30f3\u3067\u30b7\u30f3\u30d7\u30eb\u306a\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3002<\/p>\n<p>python-patterns &#8211; Python\u3067\u306e\u30c7\u30b6\u30a4\u30f3\u30d1\u30bf\u30fc\u30f3\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3.<\/p>\n<p>sortedcontainers &#8211; SortedList, SortedDict, \u304a\u3088\u3073 SortedSet \u578b\u306e\u9ad8\u901f\u3067\u7d14\u7c8b\u306aPython\u5b9f\u88c5.<\/p>\n<p>transitions &#8211; Python \u3067\u306e\u8efd\u91cf\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u6709\u9650\u30b9\u30c6\u30fc\u30c8\u30de\u30b7\u30f3\u306e\u5b9f\u88c5\u3002<\/p>\n<h2>ASGI\u670d\u52a1\u5668<\/h2>\n<p>uvicorn &#8211; Uvicorn \u306f uvloop \u304a\u3088\u3073 httptools \u3092\u4f7f\u7528\u3057\u305f\u3001\u975e\u5e38\u306b\u65e9\u3044 ASGI \u30b5\u30fc\u30d0\u30fc\u306e\u5b9f\u88c5\u3067\u3059.<\/p>\n<h2>\u5f02\u6b65\u7f16\u7a0b<\/h2>\n<p>asyncio &#8211; \u975e\u540c\u671f\u5165\u51fa\u529b, \u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7, \u30b3\u30eb\u30fc\u30c1\u30f3, \u304a\u3088\u3073\u30bf\u30b9\u30af (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>awesome-asyncio<\/p>\n<p>Twisted &#8211; \u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u30a8\u30f3\u30b8\u30f3.<\/p>\n<p>uvloop &#8211; libuv \u4e0a\u3067\u306e asyncio \u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u306e\u8d85\u9ad8\u901f\u5b9f\u88c5.<\/p>\n<h2>\u97f3\u9891 (Yu\u0304npi\u0300n)<\/h2>\n<p>\u7528\u4e8e\u64cd\u4f5c\u97f3\u9891\u548c\u97f3\u9891\u5143\u6570\u636e\u7684\u5e93<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Audio<\/ul>\n<\/li>\n<\/ul>\n<p>audioread &#8211; \u30aa\u30fc\u30c7\u30a3\u30aa\u30c7\u30b3\u30fc\u30c9\u30af\u30ed\u30b9\u30e9\u30a4\u30d6\u30e9\u30ea\uff08GStreamer + Core Audio + MAD + FFmpeg).<\/p>\n<p>dejavu &#8211; \u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30a3\u30f3\u30ac\u30fc\u30d7\u30ea\u30f3\u30c6\u30a3\u30f3\u30b0\u3068\u8a8d\u8b58.<\/p>\n<p>matchering &#8211; \u81ea\u52d5\u5316\u3055\u308c\u305f\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9\u30aa\u30fc\u30c7\u30a3\u30aa\u30de\u30b9\u30bf\u30ea\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/p>\n<p>mingus &#8211; MIDI \u30d5\u30a1\u30a4\u30eb\u3068\u518d\u751f\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u9ad8\u5ea6\u306a\u97f3\u697d\u7406\u8ad6\u3068\u8868\u8a18\u30d1\u30c3\u30b1\u30fc\u30b8.<\/p>\n<p>pyAudioAnalysis &#8211; \u97f3\u58f0\u7279\u5fb4\u62bd\u51fa\u3001\u5206\u985e\u3001\u30bb\u30b0\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u304a\u3088\u3073\u305d\u306e\u5fdc\u7528<\/p>\n<p>pydub &#8211; \u30b7\u30f3\u30d7\u30eb\u3067\u7c21\u5358\u306a\u9ad8\u30ec\u30d9\u30eb\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3067\u30aa\u30fc\u30c7\u30a3\u30aa\u3092\u64cd\u4f5c.<\/p>\n<p>TimeSide &#8211; \u30aa\u30fc\u30d7\u30f3\u306a Web \u30aa\u30fc\u30c7\u30a3\u30aa\u51e6\u7406\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>beets &#8211; \u97f3\u697d\u30e9\u30a4\u30d6\u30e9\u30ea\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3068 MusicBrainz \u30bf\u30ac\u30fc.<\/p>\n<p>eyeD3 &#8211; \u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30a1\u30a4\u30eb, \u7279\u306b ID3 \u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u542b\u3080 MP3 \u30d5\u30a1\u30a4\u30eb\u3092\u6271\u3046\u30c4\u30fc\u30eb.<\/p>\n<p>mutagen &#8211; \u30aa\u30fc\u30c7\u30a3\u30aa\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u6271\u3046 Python \u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<p>tinytag &#8211; MP3, OGG, FLAC, Wave \u30d5\u30a1\u30a4\u30eb\u306e\u97f3\u697d\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u9a8c\u8bc1<\/h2>\n<p>\u5be6\u65bd\u8a8d\u8b49\u65b9\u6848\u6240\u9700\u7684\u7a0b\u5f0f\u5eab<\/p>\n<h3>OAuth &#8211; \u59d4\u6258\u8ba4\u8bc1\u534f\u8bae<\/h3>\n<p>authlib &#8211; JavaScript Object Signing and Encryption \u30c9\u30e9\u30d5\u30c8\u5b9f\u88c5.<\/p>\n<p>django-allauth &#8211; Django \u7528\u306e\u8a8d\u8a3c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u300c\u3046\u307e\u304f\u52d5\u4f5c\u3057\u307e\u3059.\u300d<\/p>\n<p>django-oauth-toolkit &#8211; Django \u306e\u305f\u3081\u306e OAuth.<\/p>\n<p>oauthlib &#8211; OAuth \u30ea\u30af\u30a8\u30b9\u30c8\u7f72\u540d\u30ed\u30b8\u30c3\u30af\u306e\u4e00\u822c\u7684\u3067\u5fb9\u5e95\u3057\u305f\u5b9f\u88c5.<\/p>\n<p>python-oauth2 &#8211; OAuth \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u30b5\u30fc\u30d0\u30fc\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e, \u5b8c\u5168\u306b\u30c6\u30b9\u30c8\u3055\u308c\u305f\u62bd\u8c61\u7684\u306a\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9.<\/p>\n<p>python-social-auth &#8211; \u7c21\u5358\u306b\u8a2d\u5b9a\u3067\u304d\u308b\u30bd\u30fc\u30b7\u30e3\u30eb\u8a8d\u8a3c\u306e\u4ed5\u7d44\u307f.<\/p>\n<h3>JWT (JSON Web Token) \u7684\u4e2d\u6587\u91ca\u4e49\u662f\u4ec0\u4e48\uff1f<\/h3>\n<p>pyjwt &#8211; JSON Web Token \u306e\u5b9f\u88c5.<\/p>\n<p>python-jose &#8211; Python \u3067\u306e JOSE \u306e\u5b9f\u88c5.<\/p>\n<p>python-jwt &#8211; JSON Web \u30c8\u30fc\u30af\u30f3\u306e\u751f\u6210\u3068\u691c\u8a3c\u306e\u305f\u3081\u306e\u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<h2>\u6784\u5efa\u5de5\u5177<\/h2>\n<p>\u4ece\u6e90\u4ee3\u7801\u7f16\u8bd1\u8f6f\u4ef6<\/p>\n<p>dataclasses &#8211; \u30c7\u30fc\u30bf\u30af\u30e9\u30b9 (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>BitBake &#8211; \u7d44\u307f\u8fbc\u307f Linux \u306e\u305f\u3081\u306e make \u30e9\u30a4\u30af\u306a\u30d3\u30eb\u30c9\u30c4\u30fc\u30eb.<\/p>\n<p>buildout &#8211; \u8907\u6570\u306e\u90e8\u5206\u304b\u3089\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210, \u7d44\u307f\u7acb\u3066, \u5c55\u958b\u3059\u308b\u305f\u3081\u306e\u30d3\u30eb\u30c9\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>PlatformIO &#8211; \u3055\u307e\u3056\u307e\u306a\u958b\u767a\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u30b3\u30fc\u30c9\u3092\u69cb\u7bc9\u3059\u308b\u30b3\u30f3\u30bd\u30fc\u30eb\u30c4\u30fc\u30eb.<\/p>\n<p>pybuilder &#8211; \u7d14\u7c8b\u306a Python \u3067\u66f8\u304b\u308c\u305f\u9023\u7d9a\u30d3\u30eb\u30c9\u30c4\u30fc\u30eb.<\/p>\n<p>SCons &#8211; \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u69cb\u7bc9\u30c4\u30fc\u30eb.<\/p>\n<h2>\u52a0\u5f37\u5d4c\u5165\u5f0f\u985e\u7684\u529f\u80fd<\/h2>\n<p>\u4e00\u4e2a\u589e\u5f3aPython\u81ea\u5e26\u7c7b\u7684\u5e93\u3002<\/p>\n<p>attrs &#8211; __init__, __eq__, __repr__, \u306a\u3069\u306e\u7f6e\u304d\u63db\u3048. \u30af\u30e9\u30b9\u5b9a\u7fa9\u306b\u30dc\u30a4\u30e9\u30fc\u30d7\u30ec\u30fc\u30c8\u3092\u8ffd\u52a0\u3059\u308b.<\/p>\n<p>bidict &#8211; \u52b9\u7387\u7684\u306a\u3000Python\u3000\u306e\u53cc\u65b9\u5411\u5730\u56f3\u30c7\u30fc\u30bf\u69cb\u9020\u3068\u95a2\u9023\u6a5f\u80fd.<\/p>\n<p>Box &#8211; \u9ad8\u5ea6\u306a\u30c9\u30c3\u30c8\u8868\u8a18\u6cd5\u306b\u3088\u308b\u3000Python\u3000\u30c7\u30a3\u30af\u30b7\u30e7\u30ca\u30ea.<\/p>\n<p>DottedDict &#8211; \u30ea\u30b9\u30c8\u3068\u30c7\u30a3\u30af\u30c6\u30fc\u30b7\u30e7\u30f3\u306b\u70b9\u7dda\u306e\u30d1\u30b9\u8868\u8a18\u3067\u30a2\u30af\u30bb\u30b9\u3059\u308b\u65b9\u6cd5\u3092\u63d0\u4f9b\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u63d0\u53d6\u73b0\u91d1<\/h2>\n<p>\u7528\u4e8e\u7f13\u5b58\u6570\u636e\u7684\u5e93<\/p>\n<p>Beaker &#8211; \u30bb\u30c3\u30b7\u30e7\u30f3\u3068\u30ad\u30e3\u30c3\u30b7\u30f3\u30b0\u7528\u306e WSGI \u30df\u30c9\u30eb\u30a6\u30a7\u30a2.<\/p>\n<p>django-cache-machine &#8211; Django \u30e2\u30c7\u30eb\u306e\u81ea\u52d5\u30ad\u30e3\u30c3\u30b7\u30f3\u30b0\u3068\u7121\u52b9\u5316.<\/p>\n<p>django-cacheops &#8211; \u81ea\u52d5\u7d30\u5206\u5316\u3055\u308c\u305f\u30a4\u30d9\u30f3\u30c8\u99c6\u52d5\u578b\u7121\u52b9\u5316\u3092\u5099\u3048\u305f\u6ed1\u3089\u304b\u306a ORM \u30ad\u30e3\u30c3\u30b7\u30e5.<\/p>\n<p>dogpile.cache &#8211; dogpile.cache \u306f, \u540c\u3058\u8457\u8005\u306b\u3088\u308b Beaker \u306e\u6b21\u4e16\u4ee3\u4ee3\u66ff\u54c1\u3067\u3059.<\/p>\n<p>HermesCache &#8211; \u30bf\u30b0\u30d9\u30fc\u30b9\u306e\u7121\u52b9\u5316\u3068 dogpile \u52b9\u679c\u9632\u6b62\u3092\u5099\u3048\u305f Python \u30ad\u30e3\u30c3\u30b7\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>pylibmc &#8211; libmemcached \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u306e Python \u30e9\u30c3\u30d1\u30fc\u3067\u3059.<\/p>\n<p>python-diskcache &#8211; SQLite \u3068\u30d5\u30a1\u30a4\u30eb\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30ad\u30e3\u30c3\u30b7\u30e5\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306f, Memcached \u3084 Redis \u3088\u308a\u9ad8\u901f\u306a\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u63d0\u4f9b\u3057\u307e\u3059.<\/p>\n<h2>\u804a\u5929\u64cd\u4f5c\u5de5\u5177<\/h2>\n<p>\u7528\u4e8e\u804a\u5929\u673a\u5668\u4eba\u5f00\u53d1\u7684\u5e93\u3002<\/p>\n<p>Errbot &#8211; ChatOps \u3092\u5b9f\u88c5\u3059\u308b\u6700\u3082\u7c21\u5358\u3067\u4eba\u6c17\u306e\u3042\u308b\u30c1\u30e3\u30c3\u30c8\u30dc\u30c3\u30c8.<\/p>\n<h2>\u5185\u5bb9\u7ba1\u7406\u7cfb\u7edf<\/h2>\n<p>\u5185\u5bb9\u7ba1\u7406\u7cfb\u7edf\uff08Content Management Systems\uff09<\/p>\n<p>wagtail &#8211; Django \u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30de\u30cd\u30b8\u30e1\u30f3\u30c8\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>django-cms &#8211; \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba CMS \u306f, Django \u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059.<\/p>\n<p>feincms &#8211; Django \u4e0a\u306b\u69cb\u7bc9\u3055\u308c\u305f\u6700\u5148\u7aef\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u306e\u3072\u3068\u3064.<\/p>\n<p>indico &#8211; CERN \u3067\u4f5c\u6210\u3055\u308c\u305f\u3001\u8c4a\u5bcc\u306a\u6a5f\u80fd\u3092\u5099\u3048\u308b\u30a4\u30d9\u30f3\u30c8\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3002<\/p>\n<p>Kotti &#8211; Pyramid \u4e0a\u306b\u69cb\u7bc9\u3055\u308c\u305f\u9ad8\u30ec\u30d9\u30eb\u306e Pythonic Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>mezzanine &#8211; \u5f37\u529b\u3067\u4e00\u8cab\u6027\u306e\u3042\u308b, \u67d4\u8edf\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u7ba1\u7406\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0.<\/p>\n<p>plone &#8211; \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b5\u30fc\u30d0\u30fc Zope \u306e\u4e0a\u306b\u69cb\u7bc9\u3055\u308c\u305f CMS.<\/p>\n<p>quokka &#8211; Flask \u3068 MongoDB \u306b\u3088\u308b\u67d4\u8edf\u3067\u62e1\u5f35\u6027\u306e\u3042\u308b\u5c0f\u3055\u306a CMS.<\/p>\n<h2>\u4ee3\u7801\u5206\u6790 (Mandarin Chinese)<\/h2>\n<p>\u8bf7\u53c2\u8003\u9759\u6001\u5206\u6790\u5de5\u5177\u3001\u4ee3\u7801\u8d28\u91cf\u68c0\u67e5\u5668\uff0c\u8fd8\u53ef\u4ee5\u53c2\u8003awesome-static-analysis\u3002<\/p>\n<h3>\u4ee3\u7801\u5206\u6790 (Mandarin Chinese)<\/h3>\n<p>coala &#8211; \u8a00\u8a9e\u306b\u4f9d\u5b58\u305b\u305a\u5bb9\u6613\u306b\u62e1\u5f35\u53ef\u80fd\u306a\u30b3\u30fc\u30c9\u89e3\u6790\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3.<\/p>\n<p>code2flow &#8211; Python \u3068 JavaScript \u30b3\u30fc\u30c9\u3092 DOT \u30d5\u30ed\u30fc\u30c1\u30e3\u30fc\u30c8\u306b\u5909\u63db\u3059\u308b.<\/p>\n<p>prospector &#8211; Python \u30b3\u30fc\u30c9\u89e3\u6790\u30c4\u30fc\u30eb.<\/p>\n<p>pycallgraph &#8211; Python \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d5\u30ed\u30fc\uff08\u30b3\u30fc\u30eb\u30b0\u30e9\u30d5\uff09\u3092\u8996\u899a\u5316\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>vulture &#8211; \u30c7\u30c3\u30c9\u30b3\u30fc\u30c9\u3092\u767a\u898b\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb\u3002<\/p>\n<h3>\u4ee3\u7801\u68c0\u67e5\u5de5\u5177<\/h3>\n<p>flake8 &#8211; \u30e2\u30b8\u30e5\u30e9\u30fc\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u30c1\u30a7\u30c3\u30ab\u30fc\uff1apep8, pyflakes \u53ca\u3073 McCabe.<\/p>\n<p>awesome-flake8-extensions<\/p>\n<p>Pylint &#8211; \u5b8c\u5168\u306b\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u53ef\u80fd\u306a\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u30a2\u30ca\u30e9\u30a4\u30b6.<\/p>\n<p>pylama &#8211; Python \u3068 JavaScript \u7528\u306e\u30b3\u30fc\u30c9\u76e3\u67fb\u30c4\u30fc\u30eb.<\/p>\n<p>wemake-python-styleguide &#8211; \u3053\u308c\u307e\u3067\u3067\u6700\u3082\u53b3\u683c\u3067\u8003\u3048\u3089\u308c\u305f Python \u30ea\u30f3\u30bf\u30fc.<\/p>\n<p>black &#8211; \u59a5\u5354\u306e\u306a\u3044 Python \u30b3\u30fc\u30c9\u30d5\u30a9\u30fc\u30de\u30c3\u30bf.<\/p>\n<p>yapf &#8211; Google \u306b\u3088\u308b\u3055\u3089\u306b\u5225\u306ePython\u30b3\u30fc\u30c9\u30d5\u30a9\u30fc\u30de\u30c3\u30bf.<\/p>\n<h3>\u975c\u614b\u985e\u578b\u6aa2\u67e5<\/h3>\n<p>\u8bf7\u53c2\u8003 awesome-python-typing\u3002<\/p>\n<p>mypy &#8211; \u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u5909\u6570\u306e\u578b\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b.<\/p>\n<p>typeshed &#8211; \u9759\u7684\u578b\u3092\u4f7f\u7528\u3057\u305f\u3001Python\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u30b9\u30bf\u30d6\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3002<\/p>\n<p>pyre-check &#8211; \u5b9f\u884c\u578b\u30c1\u30a7\u30c3\u30af.<\/p>\n<h3>\u9759\u6001\u6ce8\u91ca\u751f\u6210\u5668<\/h3>\n<p>MonkeyType &#8211; \u30e9\u30f3\u30bf\u30a4\u30e0\u578b\u3092\u53ce\u96c6\u3057\u3066\u9759\u7684\u578b\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u751f\u6210\u3059\u308b, Python \u7528\u306e\u30b7\u30b9\u30c6\u30e0.<\/p>\n<h2>\u547d\u4ee4\u884c\u754c\u9762\u5f00\u53d1<\/h2>\n<p>\u7528\u4e8e\u6784\u5efa\u547d\u4ee4\u884c\u5e94\u7528\u7a0b\u5e8f\u7684\u5e93\u3002<\/p>\n<h3>\u547d\u4ee4\u884c\u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1<\/h3>\n<p>cement &#8211; Python \u306e CLI \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>click &#8211; \u5408\u6210\u53ef\u80fd\u306a\u65b9\u6cd5\u3067\u7f8e\u3057\u3044\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30d1\u30c3\u30b1\u30fc\u30b8.<\/p>\n<p>cliff &#8211; \u30de\u30eb\u30c1\u30ec\u30d9\u30eb\u306e\u30b3\u30de\u30f3\u30c9\u3067\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>docopt &#8211; Python \u306e\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u5f15\u6570\u30d1\u30fc\u30b5\u30fc.<\/p>\n<p>python-fire &#8211; Python \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304b\u3089\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea. Google \u88fd.<\/p>\n<p>python-prompt-toolkit &#8211; \u5f37\u529b\u3067\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u306a\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h3>\u7ec8\u7aef\u6e32\u67d3<\/h3>\n<p>asciimatics &#8211; \u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u306e\u30c6\u30ad\u30b9\u30c8 UI \uff08\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u30d5\u30a9\u30fc\u30e0\u304b\u3089 ASCII \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u307e\u3067\uff09 \u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30d1\u30c3\u30b1\u30fc\u30b8.<\/p>\n<p>bashplotlib &#8211; \u30bf\u30fc\u30df\u30ca\u30eb\u3067\u57fa\u672c\u7684\u306a\u30d7\u30ed\u30c3\u30c8\u3092\u4f5c\u6210\u3067\u304d\u308b.<\/p>\n<p>colorama &#8211; \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u9593\u3067\u8272\u5206\u3051\u3055\u308c\u305f\u30bf\u30fc\u30df\u30ca\u30eb\u30c6\u30ad\u30b9\u30c8.<\/p>\n<p>rich &#8211; \u30bf\u30fc\u30df\u30ca\u30eb\u3067\u3001\u30ea\u30c3\u30c1\u30c6\u30ad\u30b9\u30c8\u53ca\u3073\u30ad\u30ec\u30a4\u306b\u6574\u5f62\u3055\u308c\u305f\u6587\u5b57\u3092\u51fa\u529b\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/p>\n<p>tqdm &#8211; CLI \u306e\u305f\u3081\u306e\u9ad8\u901f\u3067\u62e1\u5f35\u53ef\u80fd\u306a\u30d7\u30ed\u30b0\u30ec\u30b9\u30d0\u30fc.<\/p>\n<h2>\u547d\u4ee4\u884c\u5de5\u5177<\/h2>\n<p>\u4e3a\u4e86\u63d0\u9ad8\u751f\u4ea7\u529b\u7684\u547d\u4ee4\u884c\u754c\u9762\u5de5\u5177\u3002<\/p>\n<h3>\u63d0\u9ad8\u751f\u4ea7\u6548\u76ca\u5de5\u5177<\/h3>\n<p>cookiecutter &#8211; cookiecutters\uff08\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\uff09\u304b\u3089\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3.<\/p>\n<p>doitlive &#8211; \u7aef\u672b\u306e\u30e9\u30a4\u30d6\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u306e\u305f\u3081\u306e\u30c4\u30fc\u30eb.<\/p>\n<p>howdoi &#8211; \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u884c\u3046\u30a4\u30f3\u30b9\u30bf\u30f3\u30c8\u30fb\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0.<\/p>\n<p>Invoke &#8211; \u30b7\u30a7\u30eb\u6307\u5411\u306e\u30b5\u30d6\u30d7\u30ed\u30bb\u30b9\u3092\u7ba1\u7406\u3057\u3001\u5b9f\u884c\u53ef\u80fd\u306a Python \u30b3\u30fc\u30c9\u3092 CLI \u3067\u5b9f\u884c\u53ef\u80fd\u306a\u30bf\u30b9\u30af\u306b\u7de8\u6210\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb\u3002<\/p>\n<p>PathPicker &#8211; bash \u51fa\u529b\u304b\u3089\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3057\u307e\u3059.<\/p>\n<p>percol &#8211; UNIX \u4e0a\u306e\u4f1d\u7d71\u7684\u306a\u30d1\u30a4\u30d7\u306e\u6982\u5ff5\u306b\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u306a\u9078\u629e\u80a2\u3092\u8ffd\u52a0\u3057\u307e\u3059.<\/p>\n<p>thefuck &#8211; \u524d\u306e\u30b3\u30f3\u30bd\u30fc\u30eb\u30b3\u30de\u30f3\u30c9\u3092\u4fee\u6b63\u3059\u308b.<\/p>\n<p>tmuxp &#8211; tmux \u30bb\u30c3\u30b7\u30e7\u30f3\u30de\u30cd\u30fc\u30b8\u30e3.<\/p>\n<p>try &#8211; Python \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8a66\u3059\u305f\u3081\u306e\u30b7\u30f3\u30d7\u30eb\u306a CLI &#8211; \u3053\u308c\u4ee5\u4e0a\u306b\u7c21\u5358\u306e\u3082\u306e\u306f\u3042\u308a\u307e\u305b\u3093.<\/p>\n<h3>\u547d\u4ee4\u884c\u754c\u9762\u529f\u80fd\u7684\u589e\u5f3a<\/h3>\n<p>httpie &#8211; \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3 HTTP \u30af\u30e9\u30a4\u30a2\u30f3\u30c8, \u4f7f\u3044\u3084\u3059\u3044 cURL \u306e\u7f6e\u304d\u63db\u3048.<\/p>\n<p>kube-shell &#8211; Kubernetes CLI \u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e\u7d71\u5408\u30b7\u30a7\u30eb.<\/p>\n<p>mycli &#8211; \u30aa\u30fc\u30c8\u30b3\u30f3\u30d7\u30ea\u30fc\u30c8\u3068\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u30cf\u30a4\u30e9\u30a4\u30c8\u4ed8\u304d\u306e MySQL \u7528\u30bf\u30fc\u30df\u30ca\u30eb\u30af\u30e9\u30a4\u30a2\u30f3\u30c8.<\/p>\n<p>pgcli &#8211; \u30aa\u30fc\u30c8\u30b3\u30f3\u30d7\u30ea\u30fc\u30c8\u3068\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u8868\u793a\u4ed8\u304d\u306e Postgres CLI.<\/p>\n<p>iredis &#8211; \u30aa\u30fc\u30c8\u30b3\u30f3\u30d7\u30ea\u30fc\u30c8\u3068\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u8868\u793a\u4ed8\u304d\u306e Redis CLI.<\/p>\n<p>litecli &#8211; \u30aa\u30fc\u30c8\u30b3\u30f3\u30d7\u30ea\u30fc\u30c8\u3068\u30b7\u30f3\u30bf\u30c3\u30af\u30b9\u8868\u793a\u4ed8\u304d\u306e SQLite CLI.<\/p>\n<p>saws &#8211; \u30b9\u30fc\u30d1\u30fc\u30c1\u30e3\u30fc\u30b8 AWS CLI.<\/p>\n<h2>\u4e92\u6362\u6027<\/h2>\n<p>\u7528\u4e8e\u4ecePython 2\u8fc1\u79fb\u5230Python 3\u7684\u8fc7\u6e21\u5e93<\/p>\n<p>python-future &#8211; Python 2 \u3068 Python 3 \u9593\u306e\u4e0d\u8db3\u3092\u88dc\u3046\u4e92\u63db\u30ec\u30a4\u30e4\u30fc.<\/p>\n<p>python-modernize &#8211; Python 3 \u79fb\u884c\u306e\u305f\u3081\u306b Python \u30b3\u30fc\u30c9\u3092\u73fe\u4ee3\u5316\u3057\u307e\u3059.<\/p>\n<p>six &#8211; Python 2 \u3068 3 \u306e\u4e92\u63db\u6027\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3.<\/p>\n<h2>\u8ba1\u7b97\u673a\u89c6\u89c9<\/h2>\n<p>\u8ba1\u7b97\u673a\u89c6\u89c9\u5e93<\/p>\n<p>Kornia &#8211; PyTorch \u7528\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u5dee\u5225\u5316\u53ef\u80fd\u306a\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u30d3\u30b8\u30e7\u30f3\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/p>\n<p>OpenCV &#8211; \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30d3\u30b8\u30e7\u30f3\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>pytesseract &#8211; Google Tesseract OCR \u306e\u5225\u30e9\u30c3\u30d1\u30fc.<\/p>\n<p>tesserocr &#8211; \u5149\u5b66\u5f0f\u6587\u5b57\u8a8d\u8b58\uff08OCR\uff09\u306e\u305f\u3081\u306e tesseract-ocr API \u306e\u30b7\u30f3\u30d7\u30eb\u306a\u30e9\u30c3\u30d1\u30fc\u3002<\/p>\n<p>SimpleCV &#8211; \u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30d3\u30b8\u30e7\u30f3\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<h2>\u5e76\u884c\u548c\u5e76\u884c<\/h2>\n<p>\u5e76\u884c\u548c\u5e76\u884c\u6267\u884c\u7684\u5e93\u3002\u8bf7\u53c2\u8003 awesome-asyncio\u3002<\/p>\n<p>concurrent.futures &#8211; \u30d7\u30ed\u30bb\u30b9\u30d9\u30fc\u30b9\u306e \u300cthreading\u300d \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9.<\/p>\n<p>multiprocessing &#8211; \u30d7\u30ed\u30bb\u30b9\u30d9\u30fc\u30b9\u306e\u4e26\u5217\u5316 (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>eventlet &#8211; WSGI \u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u975e\u540c\u671f\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>gevent &#8211; greenlet \u3092\u4f7f\u7528\u3059\u308b\u30b3\u30eb\u30fc\u30c1\u30f3\u30d9\u30fc\u30b9\u306ePython \u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>scoop &#8211; Python \u3067\u306e\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306a\u4e26\u884c\u64cd\u4f5c.<\/p>\n<h2>\u914d\u7f6e<\/h2>\n<p>\u7528\u4e8e\u5b58\u50a8\u548c\u89e3\u6790\u6784\u6210\u9009\u9879\u7684\u5e93<\/p>\n<p>configobj &#8211; \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u4ed8\u304d INI \u30d5\u30a1\u30a4\u30eb\u30d1\u30fc\u30b5\u30fc.<\/p>\n<p>configparser &#8211; INI \u30d5\u30a1\u30a4\u30eb\u30d1\u30fc\u30b5\u30fc (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>profig &#8211; \u5024\u306e\u5909\u63db\u3092\u4f34\u3046\u8907\u6570\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u304b\u3089\u306e\u69cb\u6210.<\/p>\n<p>python-decouple &#8211; \u30b3\u30fc\u30c9\u304b\u3089\u8a2d\u5b9a\u3092\u53b3\u5bc6\u306b\u5206\u96e2\u3057\u307e\u3059.<\/p>\n<h2>\u52a0\u5bc6<\/h2>\n<p>\u52a0\u5bc6\u6280\u672f<\/p>\n<p>cryptography &#8211; \u6697\u53f7\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u3068\u30ec\u30b7\u30d4\u3092 Python \u958b\u767a\u8005\u306b\u516c\u958b\u3059\u308b\u3088\u3046\u306b\u8a2d\u8a08\u3055\u308c\u305f\u30d1\u30c3\u30b1\u30fc\u30b8.<\/p>\n<p>paramiko &#8211; \u30cd\u30a4\u30c6\u30a3\u30d6 Python SSHv2 \u30d7\u30ed\u30c8\u30b3\u30eb\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>passlib &#8211; \u975e\u5e38\u306b\u9ad8\u30ec\u30d9\u30eb\u3067\u5b89\u5168\u306a\u30d1\u30b9\u30ef\u30fc\u30c9\u30b9\u30c8\u30ec\u30fc\u30b8\/\u30cf\u30c3\u30b7\u30e5\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>pynacl &#8211; Networking \u53ca\u3073 Cryptography\uff08NaCl\uff09\u30e9\u30a4\u30d6\u30e9\u30ea\u306e Python \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0.<\/p>\n<h2>\u6570\u636e\u5206\u6790<\/h2>\n<p>\u6570\u636e\u5206\u6790\u5e93<\/p>\n<p>Blaze &#8211; Big Data \u306e\u305f\u3081\u306e NumPy \u3068 Pandas \u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3067\u3059.<\/p>\n<p>Open Mining &#8211; Pandas \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u306e\u30d3\u30b8\u30cd\u30b9\u30a4\u30f3\u30c6\u30ea\u30b8\u30a7\u30f3\u30b9\uff08BI\uff09.<\/p>\n<p>Orange &#8211; \u30d3\u30b8\u30e5\u30a2\u30eb\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3084\u30b9\u30af\u30ea\u30d7\u30c8\u306b\u3088\u308b\u30c7\u30fc\u30bf\u30de\u30a4\u30cb\u30f3\u30b0, \u30c7\u30fc\u30bf\u306e\u8996\u899a\u5316, \u89e3\u6790, \u6a5f\u68b0\u5b66\u7fd2.<\/p>\n<p>Pandas &#8211; \u9ad8\u6027\u80fd\u3067\u4f7f\u3044\u3084\u3059\u3044\u30c7\u30fc\u30bf\u69cb\u9020\u3068\u30c7\u30fc\u30bf\u89e3\u6790\u30c4\u30fc\u30eb\u3092\u63d0\u4f9b\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Optimus &#8211; PySpark \u3092\u4f7f\u7528\u3059\u308b\u3068\u3067, \u30a2\u30b8\u30e3\u30a4\u30eb\u30c7\u30fc\u30bf\u30b5\u30a4\u30a8\u30f3\u30b9\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u304c\u7c21\u5358\u306b\u306a\u308a\u307e\u3059.<\/p>\n<p>AWS Data Wrangler &#8211; Pandas on AWS.<\/p>\n<h2>\u6570\u636e\u9a8c\u8bc1<\/h2>\n<p>\u7528\u4e8e\u9a8c\u8bc1\u6570\u636e\u7684\u5e93\u901a\u5e38\u88ab\u7528\u4e8e\u8868\u5355\u3002<\/p>\n<p>Cerberus &#8211; \u8efd\u91cf\u3067\u62e1\u5f35\u53ef\u80fd\u306a\u30c7\u30fc\u30bf\u691c\u8a3c\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>colander &#8211; HTML \u30d5\u30a9\u30fc\u30e0\u306e\u30dd\u30b9\u30c8\u3067\u53d6\u5f97\u3057\u305f, XML \u53ca\u3073 JSON \u30c7\u30fc\u30bf\u306e\u691c\u8a3c\u3068\u30c7\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba.<\/p>\n<p>evilpass &#8211; \u4e00\u884c\u3067\u5165\u529b\u3055\u308c\u305f\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u5f37\u3055\u3092\u691c\u8a3c\u3067\u304d\u307e\u3059.<\/p>\n<p>jsonschema &#8211; JSON Schema \u306e Python \u3067\u306e\u5b9f\u88c5.<\/p>\n<p>schema &#8211; Python \u30c7\u30fc\u30bf\u69cb\u9020\u3092\u691c\u8a3c\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Schematics &#8211; \u30c7\u30fc\u30bf\u69cb\u9020\u306e\u691c\u8a3c.<\/p>\n<p>valideer &#8211; \u8efd\u91cf\u3067\u62e1\u5f35\u53ef\u80fd\u306a\u30c7\u30fc\u30bf\u691c\u8a3c\u304a\u3088\u3073\u30a2\u30c0\u30d7\u30c6\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>voluptuous &#8211; Python \u30c7\u30fc\u30bf\u691c\u8a3c\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u6570\u636e\u53ef\u89c6\u5316 hu\u00e0)<\/h2>\n<p>\u8bf7\u53c2\u8003Awesome JavaScript\u6765\u8fdb\u884c\u6570\u636e\u53ef\u89c6\u5316\u7684\u5e93\u3002<\/p>\n<p>Altair &#8211; Python \u306e\u305f\u3081\u306e\u5ba3\u8a00\u7684\u306a\u7d71\u8a08\u7684\u53ef\u8996\u5316\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Bokeh &#8211; Python \u306e\u305f\u3081\u306e\u5bfe\u8a71\u578b Web \u30d7\u30ed\u30c3\u30c8.<\/p>\n<p>bqplot &#8211; Jupyter Notebook \u7528\u5bfe\u8a71\u578b\u30d7\u30ed\u30c3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Dash &#8211; Flask, React, Plotly \u306e\u4e0a\u306b\u69cb\u7bc9\u3055\u308c\u308b, \u5206\u6790\u7684\u306a Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3.<\/p>\n<p>awesome-dash<\/p>\n<p>diagrams &#8211; Diagram as Code.<\/p>\n<p>plotnine &#8211; ggplot2 \u306b\u57fa\u3065\u304f Python \u30b0\u30e9\u30d5\u30a3\u30c3\u30af\u30b9\u6587\u6cd5.<\/p>\n<p>Matplotlib &#8211; Python 2 D\u30d7\u30ed\u30c3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Pygal &#8211; Python SVG \u30c1\u30e3\u30fc\u30c8\u30af\u30ea\u30a8\u30fc\u30bf\u30fc.<\/p>\n<p>PyGraphviz &#8211; Graphviz \u306e Python \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9.<\/p>\n<p>PyQtGraph &#8211; \u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306a 2D\/3D\/Image \u30d7\u30ed\u30c3\u30c8, \u79d1\u5b66\u30fb\u5de5\u5b66\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8.<\/p>\n<p>Seaborn &#8211; Matplotlib \u3092\u4f7f\u7528\u3057\u305f\u7d71\u8a08\u30c7\u30fc\u30bf\u306e\u8996\u899a\u5316.<\/p>\n<p>Superset &#8211; Airbnb \u304c\u63d0\u4f9b\u3059\u308b, \u8996\u899a\u7684\u3067\u76f4\u611f\u7684\u3067\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u306a\u30c7\u30fc\u30bf\u691c\u7d22\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0.<\/p>\n<p>VisPy &#8211; OpenGL \u306b\u57fa\u3065\u304f\u9ad8\u6027\u80fd\u306a\u79d1\u5b66\u7684\u8996\u899a\u5316.<\/p>\n<h2>\u6570\u636e\u5e93<\/h2>\n<p>\u4ee5Python\u5b9e\u73b0\u7684\u6570\u636e\u5e93<\/p>\n<p>pickleDB &#8211; Python\u7528\u306e\u30b7\u30f3\u30d7\u30eb\u3067\u8efd\u91cf\u306a key-value \u30b9\u30c8\u30a2.<\/p>\n<p>tinydb &#8211; \u5c0f\u3055\u306a, \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u6307\u5411\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9.<\/p>\n<p>ZODB &#8211; Python \u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9. key-value \u304a\u3088\u3073\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30b0\u30e9\u30d5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9.<\/p>\n<h2>\u6570\u636e\u5e93\u9a71\u52a8\u7a0b\u5e8f<\/h2>\n<p>\u7528\u4e8e\u6570\u636e\u5e93\u8fde\u63a5\u548c\u64cd\u4f5c\u7684\u5e93<\/p>\n<h3>MySQL\u662f\u4e00\u4e2a\u5f00\u6e90\u6570\u636e\u5e93\u7ba1\u7406\u7cfb\u7edf\u3002<\/h3>\n<p>\u8bf7\u53c2\u8003\u4ee4\u4eba\u60ca\u53f9\u7684 MySQL\u3002<\/p>\n<p>mysqlclient &#8211; Python 3 \u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b MySQL \u30b3\u30cd\u30af\u30bf(mysql-python \u306e\u30d5\u30a9\u30fc\u30af).<\/p>\n<p>PyMySQL &#8211; mysql-python \u3068\u306e\u4e92\u63db\u6027\u304c\u3042\u308b, \u7d14\u7c8b\u306aPython MySQL \u30c9\u30e9\u30a4\u30d0.<\/p>\n<h3>PostgreSQL -&gt; PostgreSQL\u662f\u4e00\u4e2a\u9009\u9879<\/h3>\n<p>\u8bf7\u53c2\u8003\u51fa\u8272\u7684Postgres\u3002<\/p>\n<p>psycopg2 &#8211; \u6700\u3082\u4e00\u822c\u7684\u306a Python \u7528 PostgreSQL \u30a2\u30c0\u30d7\u30bf.<\/p>\n<p>queries &#8211; PostgreSQL \u3068\u5bfe\u8a71\u3059\u308b\u305f\u3081\u306e psycopg2 \u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30e9\u30c3\u30d1\u30fc.<\/p>\n<h3>\u5176\u4ed6\u5173\u7cfb\u578b\u6570\u636e\u5e93<\/h3>\n<p>pymssql &#8211; Microsoft SQL Server \u3078\u306e\u30b7\u30f3\u30d7\u30eb\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9.<\/p>\n<p>SuperSQLite &#8211; apsw \u3067\u69cb\u7bc9\u3055\u308c\u305f SQLite \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h3>\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93<\/h3>\n<p>cassandra-python-driver &#8211; Cassandra \u306e\u305f\u3081\u306e Python \u30c9\u30e9\u30a4\u30d0.<\/p>\n<p>happybase &#8211; Apache HBase \u306e\u958b\u767a\u8005\u5411\u3051\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Plyvel &#8211; LevelDB \u3078\u306e\u9ad8\u901f\u3067\u6a5f\u80fd\u8c4a\u5bcc\u306a Python \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9.<\/p>\n<p>py2neo &#8211; Neo4j \u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea\u3068\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u3002.<\/p>\n<p>pycassa &#8211; Cassandra \u306e Python Thrift \u30c9\u30e9\u30a4\u30d0.<\/p>\n<p>pymongo &#8211; MongoDB \u306e\u516c\u5f0f Python \u30af\u30e9\u30a4\u30a2\u30f3\u30c8.<\/p>\n<p>redis-py &#8211; Redis \u306e Python \u30af\u30e9\u30a4\u30a2\u30f3\u30c8.<\/p>\n<p>motor &#8211; \u975e\u540c\u671f MongoDB \u30c9\u30e9\u30a4\u30d0.<\/p>\n<h3>\u5f02\u6b65\u5ba2\u6237\u7aef<\/h3>\n<p>motor &#8211; MongoDB \u306e\u975e\u540c\u671f\u30c9\u30e9\u30a4\u30d0.<\/p>\n<p>Telephus &#8211; Twisted \u30d9\u30fc\u30b9\u306e Cassandra \u30af\u30e9\u30a4\u30a2\u30f3\u30c8.<\/p>\n<p>txpostgres &#8211; PostgreSQL \u306e\u305f\u3081\u306e Twisted \u30d9\u30fc\u30b9\u306e\u975e\u540c\u671f\u30c9\u30e9\u30a4\u30d0.<\/p>\n<p>txRedis &#8211; Twisted \u30d9\u30fc\u30b9\u306e Redis \u30af\u30e9\u30a4\u30a2\u30f3\u30c8.<\/p>\n<h2>\u65f6\u95f4 (r\u00ec sh\u00ed)<\/h2>\n<p>\u5904\u7406\u65e5\u671f\u548c\u65f6\u95f4\u7684\u5e93<\/p>\n<p>Arrow &#8211; \u65e5\u4ed8\u3001\u6642\u523b\u3001\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u4f5c\u6210\u3001\u64cd\u4f5c\u3001\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3001\u5909\u63db\u3059\u308b\u305f\u3081\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/p>\n<p>Chronyk &#8211; \u4eba\u9593\u304c\u66f8\u3044\u305f\u6642\u9593\u3068\u65e5\u4ed8\u3092\u89e3\u6790\u3059\u308b\u305f\u3081\u306e Python 3 \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>dateutil &#8211; \u6a19\u6e96\u306e Python datetime \u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u62e1\u5f35.<\/p>\n<p>delorean &#8211; datetimes \u3092\u6271\u3046\u5834\u5408\u306e\u4e0d\u90fd\u5408\u306a\u771f\u5b9f\u3092\u53d6\u308a\u9664\u304f\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>moment &#8211; \u65e5\u4ed8\/\u6642\u523b\u3092\u6271\u3046\u305f\u3081\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea. Moment.js \u306b\u89e6\u767a\u3055\u308c\u307e\u3057\u305f.<\/p>\n<p>Pendulum &#8211; Python \u306e datetimes \u3092\u3088\u308a\u7c21\u5358\u306b\u6271\u3048\u308b.<\/p>\n<p>PyTime &#8211; \u6587\u5b57\u5217\u3067\u65e5\u6642\/\u65e5\u6642\u3092\u64cd\u4f5c\u3059\u308b\u3053\u3068\u3092\u76ee\u7684\u3068\u3057\u305f\u4f7f\u3044\u3084\u3059\u3044 Python \u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059.<\/p>\n<p>pytz &#8211; \u30e2\u30c0\u30f3\u3067\u6b74\u53f2\u7684\u306a\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u5b9a\u7fa9. tz database \u3092 Python \u306b\u6301\u3061\u8fbc\u307f\u307e\u3059.<\/p>\n<p>when.py &#8211; \u4e00\u822c\u7684\u306a\u65e5\u6642\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u30e6\u30fc\u30b6\u30fc\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u6a5f\u80fd\u3092\u63d0\u4f9b\u3059\u308b.<\/p>\n<p>maya &#8211; \u4eba\u9593\u306e\u305f\u3081\u306e Datetimes.<\/p>\n<h2>\u8c03\u8bd5\u5de5\u5177<\/h2>\n<p>\u7528\u4e8e\u8c03\u8bd5\u4ee3\u7801\u7684\u5e93<\/p>\n<h3>\u7c7b\u4f3c\u4e8ePDB\u7684\u8c03\u8bd5\u5668<\/h3>\n<p>ipdb &#8211; IPython \u5bfe\u5fdc\u306e pdb.<\/p>\n<p>pdb++ &#8211; pdb \u306e\u5225\u9078\u629e\u80a2.<\/p>\n<p>pudb &#8211; \u30b3\u30f3\u30bd\u30fc\u30eb\u30d9\u30fc\u30b9\u306e\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3 Python \u30c7\u30d0\u30c3\u30ac.<\/p>\n<p>wdb &#8211; WebSocket \u3092\u4ecb\u3057\u305f, \u3042\u308a\u305d\u3046\u3067\u306a\u304b\u3063\u305f Web \u30c7\u30d0\u30c3\u30ac.<\/p>\n<h3>\u8ffd\u8e2a<\/h3>\n<p>lptrace &#8211; Python \u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u305f\u3081\u306e strace.<\/p>\n<p>manhole &#8211; Unix \u30bd\u30b1\u30c3\u30c8\u63a5\u7d9a\u3092\u53d7\u3051\u5165\u308c, \u3059\u3079\u3066\u306e\u30b9\u30ec\u30c3\u30c9\u3068\u5bfe\u8a71\u5f0f\u30d7\u30ed\u30f3\u30d7\u30c8\u306b\u5bfe\u3057\u3066\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u3092\u63d0\u793a\u3059\u308b\u30c7\u30d0\u30c3\u30ae\u30f3\u30b0.<\/p>\n<p>pyringe &#8211; \u30c7\u30d0\u30c3\u30ac\u306f, Python \u30d7\u30ed\u30bb\u30b9\u306b\u63a5\u7d9a\u3057\u3066\u30b3\u30fc\u30c9\u3092\u6ce8\u5165\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059.<\/p>\n<p>python-hunter &#8211; Hunter \u306f\u67d4\u8edf\u306a\u30b3\u30fc\u30c9\u30c8\u30ec\u30fc\u30b9\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u3067\u3059.<\/p>\n<h3>\u6027\u79f0\u8bb0\uff1a &#8220;\u30d7\u30ed\u30d5\u30a1\u30a4\u30e9&#8221; \u662f\u65e5\u8bed\u4e2d\u7684\u4e00\u4e2a\u8bcd\u8bed\u3002<\/h3>\n<p>line_profiler &#8211; \u884c\u5358\u4f4d\u306e\u30d7\u30ed\u30d5\u30a1\u30a4\u30ea\u30f3\u30b0.<\/p>\n<p>memory_profiler &#8211; Python \u30b3\u30fc\u30c9\u306e\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u3092\u76e3\u8996\u3059\u308b.<\/p>\n<p>profiling &#8211; \u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u306a Python \u30d7\u30ed\u30d5\u30a1\u30a4\u30e9.<\/p>\n<p>py-spy &#8211; Rust \u3067\u66f8\u304b\u308c\u305f, Python \u7528\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u30d7\u30ed\u30d5\u30a1\u30a4\u30e9.<\/p>\n<p>pyflame &#8211; ptracing \u30d7\u30ed\u30d5\u30a1\u30a4\u30e9.<\/p>\n<p>vprof &#8211; \u30d3\u30b8\u30e5\u30a2\u30eb Python \u30d7\u30ed\u30d5\u30a1\u30a4\u30e9.<\/p>\n<h3>\u5176\u4ed6 t\u0101)<\/h3>\n<p>icecream &#8211; \u5358\u4e00\u306e\u5358\u7d14\u306a\u95a2\u6570\u547c\u3073\u51fa\u3057\u3067, \u5909\u6570, \u5f0f, \u304a\u3088\u3073\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5b9f\u884c\u3092\u691c\u67fb\u3057\u307e\u3059.<\/p>\n<p>django-debug-toolbar &#8211; Django \u306e\u5404\u7a2e\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u8868\u793a\u3059\u308b.<\/p>\n<p>django-devserver &#8211; jango \u306e runserver \u30c9\u30ed\u30c3\u30d7\u30a4\u30f3\u7f6e\u63db.<\/p>\n<p>flask-debugtoolbar &#8211; django-debug-toolbar \u306e flask \u3078\u306e\u79fb\u690d.<\/p>\n<p>pyelftools &#8211; ELF \u30d5\u30a1\u30a4\u30eb\u3068 DWARF \u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u306e\u89e3\u6790\u3068\u89e3\u6790.<\/p>\n<h2>\u6df1\u5ea6\u5b66\u4e60<\/h2>\n<p>\u8bf7\u67e5\u770b\u7528\u4e8e\u795e\u7ecf\u7f51\u7edc\u548c\u6df1\u5ea6\u5b66\u4e60\u7684\u6846\u67b6\uff0c\u8fd8\u53ef\u4ee5\u53c2\u8003\u4ee4\u4eba\u60ca\u53f9\u7684\u6df1\u5ea6\u5b66\u4e60\u3002<\/p>\n<p>Chainer &#8211; \u65e5\u672c\u88fd\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>caffe &#8211; \u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u306e\u305f\u3081\u306e\u9ad8\u901f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>keras &#8211; \u9ad8\u30ec\u30d9\u30eb\u306e\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30e9\u30a4\u30d6\u30e9\u30ea\u3067, TensorFlow \u307e\u305f\u306f Theano \u306e\u3044\u305a\u308c\u304b\u306e\u4e0a\u3067\u52d5\u4f5c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059.<\/p>\n<p>mxnet &#8211; \u8efd\u91cf, \u30dd\u30fc\u30bf\u30d6\u30eb, \u67d4\u8edf\u306a\u5206\u6563\u578b\/\u30e2\u30d0\u30a4\u30eb\u578b\u306e\u30c7\u30a3\u30fc\u30d7\u30fb\u30e9\u30fc\u30cb\u30f3\u30b0, \u307e\u305f\u7a81\u7136\u5909\u7570\u3092\u610f\u8b58\u3057\u305f\u30c7\u30fc\u30bf\u30d5\u30ed\u30fc\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9. Python, R, Julia, Scala, Go JavaScript \u7b49\u306e\u591a\u304f\u306e\u8a00\u8a9e\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059.<\/p>\n<p>pytorch &#8211; \u5f37\u529b\u306a GPU \u30a2\u30af\u30bb\u30e9\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u5099\u3048\u305f, numpy \u306e\u3088\u3046\u306a\u30c6\u30f3\u30bd\u30eb\u8a08\u7b97\u3068\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af.<\/p>\n<p>SerpentAI &#8211; \u30b2\u30fc\u30e0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af. \u3069\u3093\u306a\u30d3\u30c7\u30aa\u30b2\u30fc\u30e0\u3067\u3082\u6df1\u3044\u5b66\u7fd2\u30b5\u30f3\u30c9\u30dc\u30c3\u30af\u30b9\u3068\u3057\u3066\u4f7f\u7528\u3067\u304d\u307e\u3059.<\/p>\n<p>tensorflow &#8211; Google \u304c\u4f5c\u6210\u3057\u305f\u6700\u3082\u4eba\u6c17\u306e\u3042\u308b Deep Learning \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>Theano &#8211; \u9ad8\u901f\u6570\u5024\u8a08\u7b97\u7528\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>DevOps \u5de5\u5177<\/h2>\n<p>\u4e3a\u5f00\u53d1\u8005\u8bbe\u8ba1\u7684\u8f6f\u4ef6\u548c\u5e93<\/p>\n<p>ansible &#8211; \u6839\u672c\u7684\u306b\u30b7\u30f3\u30d7\u30eb\u306a IT \u81ea\u52d5\u5316\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u3059.<\/p>\n<p>cloudinit &#8211; \u30af\u30e9\u30a6\u30c9\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u65e9\u671f\u521d\u671f\u5316\u3092\u51e6\u7406\u3059\u308b\u30de\u30eb\u30c1\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u30d1\u30c3\u30b1\u30fc\u30b8.<\/p>\n<p>cuisine &#8211; Fabric \u306e Chef \u30e9\u30a4\u30af\u306a\u6a5f\u80fd\u6027.<\/p>\n<p>docker-compose &#8211; Docker \u3092\u4f7f\u7528\u3057\u305f\u9ad8\u901f\u3067\u9694\u96e2\u3055\u308c\u305f\u958b\u767a\u74b0\u5883.<\/p>\n<p>fabric &#8211; \u30ea\u30e2\u30fc\u30c8\u5b9f\u884c\u3068\u30c7\u30d7\u30ed\u30a4\u306e\u305f\u3081\u306e\u5358\u7d14\u306a Pythonic \u30c4\u30fc\u30eb.<\/p>\n<p>fabtools &#8211; \u3059\u3070\u3089\u3057\u3044 Fabric \u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb.<\/p>\n<p>honcho &#8211; Procfile \u30d9\u30fc\u30b9\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e Foreman \u306e Python \u30af\u30ed\u30fc\u30f3.<\/p>\n<p>OpenStack &#8211; \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30af\u30e9\u30a6\u30c9\u3068\u30d1\u30d6\u30ea\u30c3\u30af\u30af\u30e9\u30a6\u30c9\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2.<\/p>\n<p>pexpect &#8211; GNU expect \u306e\u3088\u3046\u306a\u64ec\u4f3c\u7aef\u672b\u3067\u5bfe\u8a71\u578b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5236\u5fa1\u3059\u308b.<\/p>\n<p>psutil &#8211; \u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u30d7\u30ed\u30bb\u30b9\u3068\u30b7\u30b9\u30c6\u30e0\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<p>saltstack &#8211; \u30a4\u30f3\u30d5\u30e9\u306e\u81ea\u52d5\u5316\u3068\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>supervisor &#8211; UNIX \u7528\u30b9\u30fc\u30d1\u30fc\u30d0\u30a4\u30b6\u30d7\u30ed\u30bb\u30b9\u5236\u5fa1\u30b7\u30b9\u30c6\u30e0.<\/p>\n<h2>\u5206\u6563\u8ba1\u7b97<\/h2>\n<p>\u4e3a\u5206\u5e03\u5f0f\u8ba1\u7b97\u8bbe\u8ba1\u7684\u6846\u67b6\u548c\u5e93\u3002<\/p>\n<h3>\u6279\u5904\u7406\u5904\u7406<\/h3>\n<p>PySpark &#8211; Apache Spark Python API.<\/p>\n<p>dask &#8211; \u5206\u6790\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u7528\u306e\u67d4\u8edf\u306a\u4e26\u5217\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>luigi &#8211; \u30d0\u30c3\u30c1\u30b8\u30e7\u30d6\u306e\u8907\u96d1\u306a\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<p>mrjob &#8211; Hadoop \u307e\u305f\u306f Amazon Web Services \u3067 MapReduce \u30b8\u30e7\u30d6\u3092\u5b9f\u884c\u3057\u307e\u3059.<\/p>\n<p>Ray &#8211; \u6a5f\u68b0\u5b66\u7fd2\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u3092\u7d71\u5408\u3059\u308b\u4e26\u5217\u5206\u6563 Python \u306e\u30b7\u30b9\u30c6\u30e0.<\/p>\n<h3>\u6d41\u5f0f\u5904\u7406<\/h3>\n<p>faust &#8211; Kafka Streams \u304b\u3089\u306e\u30a2\u30a4\u30c7\u30a2\u3092 Python \u306b\u79fb\u690d\u3057\u305f\u30b9\u30c8\u30ea\u30fc\u30e0\u51e6\u7406\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>streamparse &#8211; \u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306e\u30c7\u30fc\u30bf\u30b9\u30c8\u30ea\u30fc\u30e0\u306b\u5bfe\u3057\u3066 Python \u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059. Apache Storm \u3068\u306e\u7d71\u5408\u3067\u3059.<\/p>\n<h2>\u53d1\u884c\u7cfb\u7edf<\/h2>\n<p>\u521b\u5efa\u4e00\u4e2a\u7528\u4e8e\u53d1\u5e03\u5206\u53d1\u7684\u6253\u5305\u53ef\u6267\u884c\u6587\u4ef6\u7684\u5e93\u3002<\/p>\n<p>cx_Freeze &#8211; cx_Freeze \u306f, \u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u52d5\u4f5c\u3059\u308b, Python \u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u53ef\u80fd\u30d5\u30a1\u30a4\u30eb\u306b\u5909\u63db\u3059\u308b\u30e9\u30a4\u30d6\u30e9\u30ea. Python 2.7 \u4ee5\u4e0a\uff08Python 3 \u3092\u542b\u3080\uff09\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059.<\/p>\n<p>dh-virtualenv &#8211; virtualenv \u3092\u30d3\u30eb\u30c9\u3057\u3066 Debian \u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u3057\u3066\u914d\u5e03\u3057\u307e\u3059.<\/p>\n<p>Nuitka &#8211; \u30b9\u30af\u30ea\u30d7\u30c8, \u30e2\u30b8\u30e5\u30fc\u30eb, \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5b9f\u884c\u53ef\u80fd\u30e2\u30b8\u30e5\u30fc\u30eb\u307e\u305f\u306f\u62e1\u5f35\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u307e\u3059.<\/p>\n<p>py2app &#8211; Python \u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5727\u7e2e\u3057\u307e\u3059 (Mac OS X).<\/p>\n<p>py2exe &#8211; Python \u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5727\u7e2e\u3057\u307e\u3059 (Windows).<\/p>\n<p>PyInstaller &#8211; Python \u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30f3\u306e\u5b9f\u884c\u53ef\u80fd\u30d5\u30a1\u30a4\u30eb\uff08\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\uff09\u306b\u5909\u63db\u3057\u307e\u3059.<\/p>\n<p>pynsist &#8211; Windows \u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u3092\u30d3\u30eb\u30c9\u3059\u308b\u30c4\u30fc\u30eb\u3067, \u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u306f Python \u81ea\u4f53\u3092\u30d0\u30f3\u30c9\u30eb\u3057\u307e\u3059.<\/p>\n<p>pyarmor &#8211; Python \u30b9\u30af\u30ea\u30d7\u30c8\u3092\u96e3\u8aad\u5316\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb\u3002<\/p>\n<p>shiv &#8211; \u5b8c\u5168\u306b\u81ea\u5df1\u5b8c\u7d50\u578b\u306e zipapp\uff08PEP 441\uff09\u3092\u30d3\u30eb\u30c9\u3059\u308b\u305f\u3081\u306e\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u3067\u3001\u3059\u3079\u3066\u306e\u4f9d\u5b58\u95a2\u4fc2\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>\u6587\u4ef6\u751f\u6210<\/h2>\n<p>\u4e3a\u751f\u6210\u9879\u76ee\u6587\u6863\u7684\u5e93<\/p>\n<p>sphinx &#8211; Python \u30c9\u30ad\u30e5\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf.<br \/>\nAwesome Sphinxdoc<\/p>\n<p>pdoc -Python \u30e9\u30a4\u30d6\u30e9\u30ea\u306e API \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u81ea\u52d5\u751f\u6210\u3059\u308b Epydoc \u306e\u7f6e\u304d\u63db\u3048.<\/p>\n<p>Pycco &#8211; \u30ea\u30c6\u30e9\u30eb\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30b9\u30bf\u30a4\u30eb\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf.<\/p>\n<h2>\u4e0b\u8f7d\u5668<\/h2>\n<p>\u7528\u4e8e\u4e0b\u8f7d\u7684\u5e93<\/p>\n<p>s3cmd &#8211; Amazon S3 \u3068 CloudFront \u3092\u7ba1\u7406\u3059\u308b\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb.<\/p>\n<p>s4cmd &#8211; Super S3 \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb. \u9ad8\u6027\u80fd\u3067\u3059.<\/p>\n<p>you-get &#8211; Python 3 \u3067\u66f8\u304b\u308c\u305f YouTube \/ Youku \/ Niconico \u30d3\u30c7\u30aa\u30c0\u30a6\u30f3\u30ed\u30fc\u30c0\u30fc.<\/p>\n<p>youtube-dl &#8211; YouTube \u304b\u3089\u30d3\u30c7\u30aa\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u305f\u3081\u306e\u5c0f\u3055\u306a\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059.<\/p>\n<p>akshare &#8211; \u4eba\u9593\u306e\u305f\u3081\u306b\u69cb\u7bc9\u3055\u308c\u305f\u91d1\u878d\u30c7\u30fc\u30bf\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/p>\n<h2>\u7535\u5b50\u5546\u52a1<\/h2>\n<p>\u7528\u4e8e\u7535\u5b50\u5546\u52a1\u548c\u652f\u4ed8\u7684\u6846\u67b6\u548c\u5e93\u3002<\/p>\n<p>alipay &#8211; Python \u7528\u975e\u516c\u5f0f Alipay API.<\/p>\n<p>Cartridge &#8211; Mezzanine \u3092\u4f7f\u7528\u3057\u3066\u69cb\u7bc9\u3055\u308c\u305f\u30b7\u30e7\u30c3\u30d4\u30f3\u30b0\u30ab\u30fc\u30c8\u30a2\u30d7\u30ea.<\/p>\n<p>django-oscar &#8211; Django \u7528\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u96fb\u5b50\u5546\u53d6\u5f15\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>django-shop &#8211; Django \u30d9\u30fc\u30b9\u306e\u30b7\u30e7\u30c3\u30d7\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>merchant &#8211; \u69d8\u3005\u306a\u652f\u6255\u3044\u51e6\u7406\u696d\u8005\u304b\u3089\u306e\u652f\u6255\u3044\u3092\u53d7\u3051\u5165\u308c\u308b Django \u30a2\u30d7\u30ea.<\/p>\n<p>money &#8211; \u30aa\u30d7\u30b7\u30e7\u30f3\u3067 CLDR \u5bfe\u5fdc\u306e\u30ed\u30b1\u30fc\u30eb\u5bfe\u5fdc\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3068, \u62e1\u5f35\u53ef\u80fd\u306a\u901a\u8ca8\u4ea4\u63db\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u5099\u3048\u305f Money \u30af\u30e9\u30b9.<\/p>\n<p>python-currencies &#8211; \u8ca8\u5e63\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3068\u305d\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u524d\u306e\u901a\u8ca8\u3092\u8868\u793a\u3057\u307e\u3059.<\/p>\n<p>forex-python &#8211; \u70ba\u66ff\u30ec\u30fc\u30c8, Bitcoin\u4fa1\u683c\u6307\u6570, \u901a\u8ca8\u63db\u7b97.<\/p>\n<p>saleor &#8211; Django \u306e\u96fb\u5b50\u5546\u53d6\u5f15\u306e\u5e97\u8217\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059.<\/p>\n<p>shoop &#8211; Django \u30d9\u30fc\u30b9\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u96fb\u5b50\u5546\u53d6\u5f15\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0.<\/p>\n<h2>\u7f16\u8f91\u5668\u63d2\u4ef6\u4e0e\u96c6\u6210\u5f00\u53d1\u73af\u5883<\/h2>\n<h3>Emacs<\/h3>\n<p>elpy &#8211; Emacs \u306e Python \u958b\u767a\u74b0\u5883.<\/p>\n<h3>\u5d07\u9ad8\u6587\u672c<\/h3>\n<p>anaconda &#8211; Anaconda \u306f Sublime Text 3 \u3092\u30d5\u30eb\u6a5f\u80fd\u306e Python \u958b\u767a IDE \u306b\u5909\u3048\u307e\u3059.<\/p>\n<p>SublimeJEDI &#8211; \u3059\u3070\u3089\u3057\u3044\u81ea\u52d5\u88dc\u5b8c\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3042\u308b Jedi \u306e Sublime Text \u30d7\u30e9\u30b0\u30a4\u30f3.<\/p>\n<h3>\u7ef4\u59c6<\/h3>\n<p>jedi-vim &#8211; \u3059\u3070\u3089\u3057\u3044\u81ea\u52d5\u88dc\u5b8c\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3042\u308b Jedi \u306e Vim \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0.<\/p>\n<p>python-mode &#8211; Vim \u3092 Python IDE \u306b\u3059\u308b\u305f\u3081\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u3072\u3068\u3064\u306b\u307e\u3068\u3081\u307e\u3057\u305f.<\/p>\n<p>YouCompleteMe &#8211; Python \u306e\u305f\u3081\u306e Jedi \u30d9\u30fc\u30b9\u88dc\u5b8c\u30a8\u30f3\u30b8\u30f3\u3092\u542b\u307f\u307e\u3059.<\/p>\n<h3>\u89c6\u89c9\u5de5\u4f5c\u5ba4<\/h3>\n<p>PTVS &#8211; Visual Studio \u306e\u305f\u3081\u306e Python \u30c4\u30fc\u30eb.<\/p>\n<h3>\u89c6\u89c9\u5de5\u4f5c\u5ba4\u4ee3\u7801<\/h3>\n<p>Python &#8211; \u8c4a\u5bcc\u306a Python \u30b5\u30dd\u30fc\u30c8\u3092\u6709\u3059\u308b\u516c\u5f0f VSCode \u62e1\u5f35\u6a5f\u80fd.<\/p>\n<h3>\u96c6\u6210\u5f00\u53d1\u73af\u5883<\/h3>\n<p>PyCharm &#8211; JetBrains \u306b\u3088\u308b\u5546\u7528 Python IDE. \u7121\u6599\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u7248\u3082\u5b58\u5728\u3057\u307e\u3059.<\/p>\n<p>spyder &#8211; \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9 Python IDE.<\/p>\n<h2>\u8bf7\u7528\u4e2d\u6587\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u3002<\/h2>\n<p>\u7528\u4e8e\u53d1\u9001\u548c\u5206\u6790\u7535\u5b50\u90ae\u4ef6\u7684\u5e93<\/p>\n<h3>\u7535\u5b50\u90ae\u4ef6\u670d\u52a1\u5668<\/h3>\n<p>modoboa &#8211; \u8fd1\u4ee3\u7684\u3067\u7c21\u7d20\u5316\u3055\u308c\u305f Web UI \u3092\u542b\u3080\u30e1\u30fc\u30eb\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u304a\u3088\u3073\u7ba1\u7406\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0.<\/p>\n<p>salmon &#8211; Python \u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u30fc<\/p>\n<h3>\u5ba2\u6237<\/h3>\n<p>imbox &#8211; \u4eba\u9593\u306e\u305f\u3081\u306e Python IMAP.<\/p>\n<p>yagmail &#8211; Gmail\/SMTP \u30af\u30e9\u30a4\u30a2\u30f3\u30c8.<\/p>\n<h3>\u5176\u4ed6<\/h3>\n<p>flanker &#8211; \u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3068 Mime \u89e3\u6790\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>mailer &#8211; \u9ad8\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306a\u30e1\u30fc\u30eb\u914d\u4fe1\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<h2>\u73af\u5883\u7ba1\u7406<\/h2>\n<p>\u7528\u4e8ePython\u7248\u672c\u63a7\u5236\u548c\u865a\u62df\u73af\u5883\u7ba1\u7406\u7684\u5e93\u3002<\/p>\n<p>pyenv &#8211; \u5358\u7d14\u306a Python \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406.<\/p>\n<p>virtualenv &#8211; \u5206\u96e2\u3055\u308c\u305f Python \u74b0\u5883\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb.<\/p>\n<h2>\u6587\u4ef6<\/h2>\n<p>\u7528\u4e8e\u6587\u4ef6\u64cd\u4f5c\u548cMIME\u7c7b\u578b\u68c0\u6d4b\u7684\u5e93<\/p>\n<p>mimetypes &#8211; \u30d5\u30a1\u30a4\u30eb\u540d\u3092 MIME \u30bf\u30a4\u30d7\u306b\u30de\u30c3\u30d7\u3057\u307e\u3059 (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>path.py &#8211; os.path \u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u30e9\u30c3\u30d1\u30fc\u3067\u3059.<\/p>\n<p>pathlib &#8211; \u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411 path \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059 (Python 3.4 \u4ee5\u964d\u306e Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>PyFilesystem2 &#8211; Python \u306e\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u62bd\u8c61\u5316\u30ec\u30a4\u30e4\u30fc.<\/p>\n<p>python-magic &#8211; libmagic \u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u8b58\u5225\u30e9\u30a4\u30d6\u30e9\u30ea\u3078\u306e Python \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9.<\/p>\n<p>Unipath &#8211; \u30d5\u30a1\u30a4\u30eb\/\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u64cd\u4f5c\u306b\u5bfe\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u306e\u30a2\u30d7\u30ed\u30fc\u30c1.<\/p>\n<p>watchdog &#8211; \u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u30a4\u30d9\u30f3\u30c8\u3092\u76e3\u8996\u3059\u308b\u305f\u3081\u306e API \u304a\u3088\u3073\u30b7\u30a7\u30eb\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3.<\/p>\n<h2>\u5916\u90e8\u529f\u80fd\u63a5\u53e3<\/h2>\n<p>\u63d0\u4f9b\u7528\u4e8e\u5916\u90e8\u529f\u80fd\u63a5\u53e3\u7684\u5e93\u3002<\/p>\n<p>cffi &#8211; Python \u3067 C \u8a00\u8a9e\u3092\u547c\u3073\u51fa\u3059\u305f\u3081\u306e\u5916\u90e8\u95a2\u6570\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9.<\/p>\n<p>ctypes &#8211; Python \u3067 C \u8a00\u8a9e\u3092\u547c\u3073\u51fa\u3059\u305f\u3081\u306e\u5916\u90e8\u95a2\u6570\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9 (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>PyCUDA &#8211; Nvidia \u306e CUDA API \u7528\u306e Python \u30e9\u30c3\u30d1\u30fc\u3067\u3059.<\/p>\n<p>SWIG &#8211; \u7c21\u6613\u30e9\u30c3\u30d1\u30fc\u3068\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc.<\/p>\n<h2>\u8868\u5355<\/h2>\n<p>\u5904\u7406\u8868\u5355\u5185\u5bb9\u6240\u4f7f\u7528\u7684\u5e93<\/p>\n<p>Deform &#8211; formish \u30d5\u30a9\u30fc\u30e0\u751f\u6210\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u5f71\u97ff\u3092\u53d7\u3051\u308b Python HTML \u30d5\u30a9\u30fc\u30e0\u751f\u6210\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>django-bootstrap3 &#8211; Bootstrap 3 \u3068 Django \u3068\u306e\u7d71\u5408.<\/p>\n<p>django-bootstrap4 &#8211; Bootstrap 4 \u3068 Django \u3068\u306e\u7d71\u5408.<\/p>\n<p>django-crispy-forms &#8211; \u975e\u5e38\u306b\u30a8\u30ec\u30ac\u30f3\u30c8\u3067, DRY \u3067, \u7f8e\u3057\u3044\u30d5\u30a9\u30fc\u30e0\u3092\u4f5c\u6210\u3067\u304d\u308b Django \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059.<\/p>\n<p>django-remote-forms &#8211; \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306b\u4f9d\u5b58\u3057\u306a\u3044 Django \u30d5\u30a9\u30fc\u30e0\u30b7\u30ea\u30a2\u30e9\u30a4\u30b6.<\/p>\n<p>WTForms &#8211; \u67d4\u8edf\u306a\u30d5\u30a9\u30fc\u30e0\u691c\u8a3c\u3068\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u51fd\u6570\u5f0f\u7f16\u7a0b<\/h2>\n<p>\u7528Python\u8fdb\u884c\u51fd\u6570\u5f0f\u7f16\u7a0b<\/p>\n<p>Coconut &#8211; Coconut \u306f, \u30b7\u30f3\u30d7\u30eb, \u30a8\u30ec\u30ac\u30f3\u30c8, Pythonic \u306a\u95a2\u6570\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u305f\u3081\u306b\u4f5c\u3089\u308c\u305f Python \u306e\u62e1\u5f35\u3067\u3059.<\/p>\n<p>fn.py &#8211; Python \u3067\u306e\u95a2\u6570\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\uff1a\u95a2\u6570\u578b\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u697d\u3057\u3080\u4e0a\u3067\u6b20\u3051\u3066\u3044\u308b\u6a5f\u80fd\u306e\u5b9f\u88c5.<\/p>\n<p>funcy &#8211; \u30d5\u30a1\u30f3\u30b7\u30fc\u3067\u5b9f\u7528\u7684\u306a\u6a5f\u80fd\u30c4\u30fc\u30eb.<\/p>\n<p>more-itertools &#8211; itertools \u3092\u8d85\u3048\u3066\u3001\u30a4\u30c6\u30e9\u30d6\u30eb\u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/p>\n<p>returns &#8211; \u30bf\u30a4\u30d7\u30bb\u30fc\u30d5\u306a\u30e2\u30ca\u30c9\u3001\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u3001\u304a\u3088\u3073\u30b3\u30f3\u30dd\u30b8\u30b7\u30e7\u30f3\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u306e\u30bb\u30c3\u30c8\u3002<\/p>\n<p>Toolz &#8211; \u30a4\u30c6\u30ec\u30fc\u30bf, \u95a2\u6570, \u8f9e\u66f8\u306e\u305f\u3081\u306e\u6a5f\u80fd\u7684\u306a\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u306e\u96c6\u307e\u308a.<\/p>\n<p>CyToolz &#8211; Cython \u3067\u306e Toolz \u5b9f\u88c5\uff1a\u9ad8\u6027\u80fd\u6a5f\u80fd\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3.<\/p>\n<h2>\u7528\u4e2d\u6587\u539f\u751f\u5730\u6362\u53e5\u8bdd\u8bf4\uff0c\u53ea\u9700\u8981\u4e00\u79cd\u9009\u62e9\uff1a<\/h2>\n<p>\u56fe\u5f62\u7528\u6237\u754c\u9762\u5f00\u53d1<\/p>\n<p>\u7528\u4e8e\u5904\u7406\u56fe\u5f62\u7528\u6237\u754c\u9762\u5e94\u7528\u7a0b\u5e8f\u7684\u5e93\u3002<\/p>\n<p>curses &#8211; \u30bf\u30fc\u30df\u30ca\u30eb GUI \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4f5c\u6210\u306b\u4f7f\u7528\u3055\u308c\u308b ncurses \u7528\u306e\u7d44\u307f\u8fbc\u307f\u30e9\u30c3\u30d1\u30fc.<\/p>\n<p>Eel &#8211; Python \u306e\u6a5f\u80fd\u3068\u30e9\u30a4\u30d6\u30e9\u30ea\u3078\u306e\u5b8c\u5168\u306a\u30a2\u30af\u30bb\u30b9\u3092\u6301\u3064, Electron \u306e\u3088\u3046\u306a\u30aa\u30d5\u30e9\u30a4\u30f3 HTML\/JS GUI \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u5c0f\u3055\u306a\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>enaml &#8211; QML \u306e\u3088\u3046\u306a\u5ba3\u8a00\u7684\u69cb\u6587\u3092\u4f7f\u3063\u3066\u7f8e\u3057\u3044\u30e6\u30fc\u30b6\u30fc\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u4f5c\u6210\u3059\u308b.<\/p>\n<p>Flexx &#8211; Flexx \u306f, GUI \u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u7d14\u7c8b\u306a Python \u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u3067, Web \u6280\u8853\u3092\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u306b\u4f7f\u7528\u3057\u307e\u3059.<\/p>\n<p>Gooey &#8211; \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30d7\u30ed\u30b0\u30e9\u30e0\u3092 1 \u884c\u3067\u5b8c\u5168\u306a GUI \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u5909\u3048\u308b.<\/p>\n<p>kivy &#8211; Windows, Linux, Mac OS X, Android, \u304a\u3088\u3073 iOS \u3067\u52d5\u4f5c\u3059\u308b NUI \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>pyglet &#8211; Python \u7528\u306e\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3068\u30de\u30eb\u30c1\u30e1\u30c7\u30a3\u30a2\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>PyGObject &#8211; GLib \/ GObject \/ GIO \/ GTK +\uff08GTK + 3\uff09\u7528\u306e Python \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0.<\/p>\n<p>PyQt &#8211; Qt \u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3068 UI \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>PySimpleGUI &#8211; tkinter, Qt, WxPython, \u304a\u3088\u3073 Remi \u306e\u30e9\u30c3\u30d1\u30fc.<\/p>\n<p>pywebview &#8211; webview \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4e2d\u5fc3\u3068\u3057\u305f\u8efd\u91cf\u306a\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u30cd\u30a4\u30c6\u30a3\u30d6\u30e9\u30c3\u30d1\u30fc.<\/p>\n<p>Tkinter &#8211; Tkinter \u306f, Python \u306e\u30c7\u30d5\u30a1\u30af\u30c8\u30b9\u30bf\u30f3\u30c0\u30fc\u30c9\u306e GUI \u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3059.<\/p>\n<p>tkui &#8211; GUI \u306e\u30e9\u30a4\u30d6\u7de8\u96c6\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u308b GUI \u30e1\u30fc\u30ab.<\/p>\n<p>Toga &#8211; Python \u30cd\u30a4\u30c6\u30a3\u30d6, OS \u30cd\u30a4\u30c6\u30a3\u30d6 GUI \u30c4\u30fc\u30eb\u30ad\u30c3\u30c8.<\/p>\n<p>urwid &#8211; \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8, \u30a4\u30d9\u30f3\u30c8, \u8c4a\u5bcc\u306a\u8272\u306a\u3069\u3092\u5f37\u529b\u306b\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u30bf\u30fc\u30df\u30ca\u30eb GUI \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>wxPython &#8211; wxWidgets C++ \u30af\u30e9\u30b9\u30e9\u30a4\u30d6\u30e9\u30ea\u3068 Python \u306e\u30d6\u30ec\u30f3\u30c9.<\/p>\n<h2>GraphQL is a query language for APIs and a runtime for executing queries with existing data.<\/h2>\n<p>\u4e0eGraphQL\u4e00\u8d77\u4f7f\u7528\u7684\u5e93<\/p>\n<p>tartiflette &#8211; Python 3.6+ \u304a\u3088\u3073 asyncio \u7528\u306e SDL \u30d5\u30a1\u30fc\u30b9\u30c8\u306a GraphQL \u30a8\u30f3\u30b8\u30f3\u5b9f\u88c5\u3002<\/p>\n<p>tartiflette-aiohttp &#8211; HTTP \u7d4c\u7531\u3067 GraphQL API \u3092\u516c\u958b\u3059\u308b\u305f\u3081\u306e Tartiflette \u306e aiohttp \u30d9\u30fc\u30b9\u306e\u30e9\u30c3\u30d1\u30fc\u3002<\/p>\n<p>tartiflette-asgi &#8211; Tartiflette GraphQL \u30a8\u30f3\u30b8\u30f3\u306e ASGI \u30b5\u30dd\u30fc\u30c8\u3002<\/p>\n<h2>\u6e38\u620f\u5f00\u53d1<\/h2>\n<p>\u51fa\u8272\u7684\u6e38\u620f\u5f00\u53d1\u5e93<\/p>\n<p>Cocos2d &#8211; cocos2d \u306f, 2D \u30b2\u30fc\u30e0, \u30c7\u30e2, \u305d\u306e\u4ed6\u306e\u30b0\u30e9\u30d5\u30a3\u30ab\u30eb\/\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059.<\/p>\n<p>Harfang3D &#8211; 3D, VR, \u30b2\u30fc\u30e0\u958b\u767a\u306e\u305f\u3081\u306ePython\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>Panda3D &#8211; \u30c7\u30a3\u30ba\u30cb\u30fc\u304c\u958b\u767a\u3057, Carnegie Mellon&#8217;s Entertainment Technology Center \u304c\u7ba1\u7406\u3059\u308b 3D \u30b2\u30fc\u30e0\u30a8\u30f3\u30b8\u30f3.<\/p>\n<p>Pygame &#8211; Pygame \u306f, \u30b2\u30fc\u30e0\u3092\u66f8\u304f\u305f\u3081\u306b\u8a2d\u8a08\u3055\u308c\u305f\u4e00\u9023\u306e Python \u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059.<\/p>\n<p>PyOgre &#8211; Ogre 3D \u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u30a8\u30f3\u30b8\u30f3\u7528\u306e Python \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306f, \u30b2\u30fc\u30e0, \u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3, \u305d\u306e\u4ed6 3D \u7528\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059.<\/p>\n<p>PyOpenGL &#8211; OpenGL \u306e Python ctypes \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3068\u305d\u308c\u306b\u95a2\u9023\u3059\u308b API \u3067\u3059.<\/p>\n<p>PySDL2 &#8211; SDL2 \u30e9\u30a4\u30d6\u30e9\u30ea\u7528\u306e ctypes \u30d9\u30fc\u30b9\u306e\u30e9\u30c3\u30d1\u30fc.<\/p>\n<p>RenPy &#8211; \u30d3\u30b8\u30e5\u30a2\u30eb\u30ce\u30d9\u30eb\u30a8\u30f3\u30b8\u30f3.<\/p>\n<h2>\u5730\u7406\u4f4d\u7f6e\u4fe1\u606f<\/h2>\n<p>\u4f7f\u7528\u5e93\u6765\u5bf9\u5730\u5740\u8fdb\u884c\u5730\u7406\u7f16\u7801\u5e76\u5904\u7406\u7eac\u5ea6\u548c\u7ecf\u5ea6\u3002<\/p>\n<p>django-countries &#8211; \u30e2\u30c7\u30eb\u3068\u30d5\u30a9\u30fc\u30e0\u306e\u305f\u3081\u306e\u56fd\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u63d0\u4f9b\u3059\u308b Django \u30a2\u30d7\u30ea.<\/p>\n<p>GeoDjango &#8211; \u4e16\u754c\u30af\u30e9\u30b9\u306e\u5730\u7406\u7684 Web \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>GeoIP &#8211; MaxMind GeoIP \u30ec\u30ac\u30b7\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u7528\u306e Python API.<\/p>\n<p>geojson &#8211; GeoJSON \u7528\u306e Python \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3068\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3.<\/p>\n<p>geopy &#8211; Python \u30b8\u30aa\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30c4\u30fc\u30eb\u30dc\u30c3\u30af\u30b9.<\/p>\n<p>pygeoip &#8211; \u7d14\u7c8b\u306a Python GeoIP API.<\/p>\n<h2>HTML \u64cd\u4f5c\u53ef\u4ee5\u88ab\u7b80\u5355\u63cf\u8ff0\u4e3a\u4f7f\u7528HTML\u8bed\u8a00\u6765\u521b\u5efa\u3001\u7f16\u8f91\u548c\u64cd\u63a7\u7f51\u9875\u7684\u8fc7\u7a0b\u3002<\/h2>\n<p>\u7528\u4e8e\u5904\u7406HTML\u548cXML\u7684\u5e93<\/p>\n<p>BeautifulSoup &#8211; HTML \u3084 XML \u3092\u7e70\u308a\u8fd4\u3057\u691c\u7d22\u3057, \u5909\u66f4\u3059\u308b\u305f\u3081\u306e Python \u30a4\u30c7\u30a3\u30aa\u30e0\u3092\u63d0\u4f9b\u3057\u307e\u3059.<\/p>\n<p>bleach &#8211; \u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u30d9\u30fc\u30b9\u306e HTML \u30b5\u30cb\u30bf\u30a4\u30ba\u3068\u30c6\u30ad\u30b9\u30c8\u30ea\u30f3\u30af\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>cssutils &#8211; Python \u7528 CSS \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>html5lib &#8211; HTML \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3068\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u3092\u89e3\u6790\u3057\u3066\u30b7\u30ea\u30a2\u30e9\u30a4\u30ba\u3059\u308b\u305f\u3081\u306e\u6a19\u6e96\u6e96\u62e0\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<p>lxml &#8211; HTML \u3068 XML \u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306e\u975e\u5e38\u306b\u9ad8\u901f\u3067, \u4f7f\u3044\u3084\u3059\u304f\u591a\u69d8\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<p>MarkupSafe &#8211; Python \u306e XML \/ HTML \/ XHTML \u30de\u30fc\u30af\u30a2\u30c3\u30d7\u30bb\u30fc\u30d5\u30c6\u30a3\u30b9\u30c8\u30ea\u30f3\u30b0\u3092\u5b9f\u88c5\u3057\u307e\u3059.<\/p>\n<p>pyquery &#8211; TML \u3092\u89e3\u6790\u3059\u308b\u305f\u3081\u306e jQuery \u30e9\u30a4\u30af\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<p>untangle &#8211; XML \u6587\u66f8\u3092 Python \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u5909\u63db\u3057\u3066\u7c21\u5358\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059.<\/p>\n<p>WeasyPrint &#8211; HTML \u3068 CSS \u7528\u306e\u30d3\u30b8\u30e5\u30a2\u30eb\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u30a8\u30f3\u30b8\u30f3\u3067, PDF \u306b\u66f8\u304d\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059.<\/p>\n<p>xmldataset &#8211; \u5358\u7d14\u306a XML \u89e3\u6790.<\/p>\n<p>xmltodict &#8211; JSON \u3092\u4f7f\u3063\u3066\u4f5c\u696d\u3057\u3066\u3044\u308b\u3088\u3046\u306b XML \u3092\u4f7f\u3063\u3066\u4f5c\u696d\u3067\u304d\u307e\u3059.<\/p>\n<h2>HTTP \u5ba2\u6237\u7aef<\/h2>\n<p>\u5904\u7406 HTTP \u7684\u5e93<\/p>\n<p>grequests &#8211; \u975e\u540c\u671f HTTP \u30ea\u30af\u30a8\u30b9\u30c8\u306e\u305f\u3081\u306e request + gevent.<\/p>\n<p>httplib2 &#8211; \u5305\u62ec\u7684\u306a HTTP \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>httpx &#8211; \u6b21\u4e16\u4ee3 HTTP \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3002<\/p>\n<p>requests &#8211; Humans\u2122 \u306b\u5bfe\u3059\u308b HTTP \u30ea\u30af\u30a8\u30b9\u30c8.<\/p>\n<p>treq &#8211; Twisted \u306e HTTP \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u4e0a\u306b\u69cb\u7bc9\u3055\u308c\u305f API \u306e\u3088\u3046\u306a Python \u30ea\u30af\u30a8\u30b9\u30c8.<\/p>\n<p>urllib3 &#8211; \u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u306a\u63a5\u7d9a\u30d7\u30fc\u30ea\u30f3\u30b0, \u30d5\u30a1\u30a4\u30eb\u30dd\u30b9\u30c8\u30b5\u30dd\u30fc\u30c8, \u89aa\u3057\u307f\u3084\u3059\u3044 HTTP \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u786c\u4ef6 (Hu\u00e0\u200b<\/h2>\n<p>\u786c\u4ef6\u7f16\u7a0b\u5e93<\/p>\n<p>ino &#8211; Arduino \u3092\u6271\u3046\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u3067\u3059.<\/p>\n<p>keyboard &#8211; Windows \u3068 Linux \u3067\u30b0\u30ed\u30fc\u30d0\u30eb\u30ad\u30fc\u30dc\u30fc\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u30d5\u30c3\u30af\u3057\u3066\u30b7\u30df\u30e5\u30ec\u30fc\u30c8\u3057\u307e\u3059.<\/p>\n<p>mouse &#8211; Windows \u3068 Linux \u4e0a\u3067\u30b0\u30ed\u30fc\u30d0\u30eb\u306a\u30de\u30a6\u30b9\u30a4\u30d9\u30f3\u30c8\u3092\u30d5\u30c3\u30af\u3057\u3066\u30b7\u30df\u30e5\u30ec\u30fc\u30c8\u3057\u307e\u3059.<\/p>\n<p>Pingo &#8211; Pingo \u306f, Raspberry Pi, pcDuino, Intel Galileo \u306a\u3069\u306e\u30c7\u30d0\u30a4\u30b9\u3092\u30d7\u30ed\u30b0\u30e9\u30e0\u3059\u308b\u305f\u3081\u306e\u7d71\u4e00\u3055\u308c\u305f API \u3092\u63d0\u4f9b\u3057\u307e\u3059.<\/p>\n<p>Pyro &#8211; Python Robotics.<\/p>\n<p>PyUserInput &#8211; \u30de\u30a6\u30b9\u3068\u30ad\u30fc\u30dc\u30fc\u30c9\u3092\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u5236\u5fa1\u3059\u308b\u305f\u3081\u306e\u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<p>scapy &#8211; \u83ef\u9e97\u306a\u30d1\u30b1\u30c3\u30c8\u64cd\u4f5c\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>wifi &#8211; Linux \u4e0a\u3067 WiFi \u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea\u3068\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb.<\/p>\n<h2>\u56fe\u50cf\u5904\u7406<\/h2>\n<p>\u7528\u4e8e\u64cd\u4f5c\u56fe\u50cf\u7684\u5e93<\/p>\n<p>hmap &#8211; \u30a4\u30e1\u30fc\u30b8\u30d2\u30b9\u30c8\u30b0\u30e9\u30e0\u306e\u518d\u30de\u30c3\u30d4\u30f3\u30b0.<\/p>\n<p>imgSeek &#8211; \u8996\u899a\u7684\u985e\u4f3c\u6027\u3092\u4f7f\u7528\u3057\u3066\u753b\u50cf\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u691c\u7d22\u3059\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8.<\/p>\n<p>nude.py &#8211; Nudity \u691c\u51fa.<\/p>\n<p>pagan &#8211; \u5165\u529b\u6587\u5b57\u5217\u3068\u30cf\u30c3\u30b7\u30e5\u306b\u57fa\u3065\u304f\u30ec\u30c8\u30ed identicon\uff08\u30a2\u30d0\u30bf\u30fc\uff09\u306e\u751f\u6210.<\/p>\n<p>pillow &#8211; Pillow \u306f\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a PIL \u306e\u30d5\u30a9\u30fc\u30af\u3067\u3059.<\/p>\n<p>pyBarcode &#8211; PIL \u3092\u5fc5\u8981\u3068\u305b\u305a\u306b Python \u3067\u30d0\u30fc\u30b3\u30fc\u30c9\u3092\u4f5c\u6210\u3057\u307e\u3059.<\/p>\n<p>pygram &#8211; Instagram \u306e\u3088\u3046\u306a\u753b\u50cf\u30d5\u30a3\u30eb\u30bf.<\/p>\n<p>python-qrcode &#8211; \u7d14\u7c8b\u306a Python QR \u30b3\u30fc\u30c9\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf.<\/p>\n<p>Quads &#8211; \u56db\u5206\u6728\u306b\u57fa\u3065\u304f\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30a2\u30fc\u30c8.<\/p>\n<p>scikit-image &#8211; \u79d1\u5b66\u7684\u306a\uff09\u753b\u50cf\u51e6\u7406\u306e\u305f\u3081\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>thumbor &#8211; \u30b9\u30de\u30fc\u30c8\u30a4\u30e1\u30fc\u30b8\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9. \u30aa\u30f3\u30c7\u30de\u30f3\u30c9\u3067\u306e\u4f5c\u6210, \u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30ba\u5909\u66f4\u304a\u3088\u3073\u53cd\u8ee2\u3092\u53ef\u80fd\u306b\u3059\u308b.<\/p>\n<p>wand &#8211; MagickWand \u306e Python \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0, ImageMagick \u306e C API.<\/p>\n<h2>\u5b9e\u65bd<\/h2>\n<p>Python\u7684\u5b9e\u73b0<\/p>\n<p>CPython &#8211; C \u3067\u66f8\u304b\u308c\u305f Python \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e, \u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u6700\u3082\u5e83\u304f\u4f7f\u308f\u308c\u3066\u3044\u308b\u5b9f\u88c5. Python \u7528\u306e Static Compiler \u306e\u6700\u9069\u5316. \u30bf\u30a4\u30d7\u30df\u30c3\u30af\u30b9\u30a4\u30f3\u3092\u4f7f\u7528\u3057\u3066 Python \u3092 C \u307e\u305f\u306f C++ \u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u3068, \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u5927\u5e45\u306b\u5411\u4e0a\u3057\u307e\u3059.<\/p>\n<p>Cython &#8211; Python \u306b\u6700\u9069\u5316\u3055\u308c\u305f\u30b9\u30bf\u30c6\u30a3\u30c3\u30af\u30b3\u30f3\u30d1\u30a4\u30e9.<\/p>\n<p>CLPython &#8211; Common Lisp \u3067\u66f8\u304b\u308c\u305f Python \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u5b9f\u88c5.<\/p>\n<p>Grumpy &#8211; \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u3088\u308a\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u65b9\u304c\u3088\u308a\u5f37\u529b\u306a CPython 2.7 \u306e\u7f6e\u304d\u63db\u3048 (Alpha) \u3067\u3059.<\/p>\n<p>IronPython &#8211; C\uff03 \u3067\u66f8\u304b\u308c\u305f Python.<\/p>\n<p>Jython &#8211; Java \u4eee\u60f3\u30de\u30b7\u30f3 (JVM) \u306e Java \u3067\u66f8\u304b\u308c\u305f Python \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u5b9f\u88c5.<\/p>\n<p>MicroPython &#8211; \u52b9\u7387\u7684\u3067\u52b9\u7387\u7684\u306a Python \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u5b9f\u88c5.<\/p>\n<p>Numba &#8211; \u79d1\u5b66\u7684 Python \u3092\u5bfe\u8c61\u3068\u3057\u305f LLVM \u7528 Python JIT \u30b3\u30f3\u30d1\u30a4\u30e9\u3067\u3059.<\/p>\n<p>PeachPy &#8211; Python \u306b\u7d44\u307f\u8fbc\u307e\u308c\u305f x86-64 \u30a2\u30bb\u30f3\u30d6\u30e9.<\/p>\n<p>Pyjion &#8211; CoreCLR \u306b\u57fa\u3065\u304f Python \u306e JIT.<\/p>\n<p>PyPy &#8211; \u975e\u5e38\u306b\u9ad8\u901f\u306a Python.<\/p>\n<p>Pyston &#8211; JIT \u6280\u8853\u3092\u4f7f\u7528\u3057\u3066\u69cb\u7bc9\u3055\u308c\u305fPython \u306e\u5b9f\u88c5.<\/p>\n<p>Stackless Python &#8211; Python \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u62e1\u5f35.<\/p>\n<h2>\u4ea4\u4e92\u5f0f\u89e3\u91ca\u5668<\/h2>\n<p>\u4e92\u52a8\u5f0f\u7684Python\u89e3\u91ca\u5668\uff08REPL\uff09<\/p>\n<p>bpython &#8211; Python \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u3078\u306e\u6c17\u306e\u5229\u3044\u305f\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3067\u3059.<\/p>\n<p>Jupyter Notebook (IPython) &#8211; Python \u3092\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u306b\u4f7f\u3044\u3053\u306a\u3059\u305f\u3081\u306e\u8c4a\u5bcc\u306a\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u3067\u3059.<\/p>\n<p>awesome-jupyter<\/p>\n<p>ptpython &#8211; \u9ad8\u5ea6\u306a Python REPL \u306f, python-prompt-toolkit \u4e0a\u306b\u69cb\u7bc9\u3055\u308c\u3066\u3044\u307e\u3059.<\/p>\n<h2>\u5168\u7403\u5316<\/h2>\n<p>\u4e3a\u4e86\u56fd\u9645\u5316\uff08i18n\uff09\u800c\u8bbe\u8ba1\u7684\u5e93<\/p>\n<p>Babel &#8211; Python \u306e\u56fd\u969b\u5316\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>PyICU &#8211; Unicode C++ \u30e9\u30a4\u30d6\u30e9\u30ea (ICU) \u7528\u306e\u56fd\u969b\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u30e9\u30c3\u30d1\u30fc\u3067\u3059.<\/p>\n<h2>\u4f5c\u4e1a\u8c03\u5ea6\u5668<\/h2>\n<p>\u7528\u4e8e\u8c03\u5ea6\u5de5\u4f5c\u7684\u5e93<\/p>\n<p>APScheduler &#8211; \u8efd\u91cf\u306a\u304c\u3089\u5f37\u529b\u306a\u30a4\u30f3\u30d7\u30ed\u30bb\u30b9\u30fb\u30bf\u30b9\u30af\u30fb\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9\u30fc\u3067, \u6a5f\u80fd\u306e\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059.<\/p>\n<p>django-schedule &#8211; Django \u306e\u30ab\u30ec\u30f3\u30c0\u30fc\u30a2\u30d7\u30ea\u3067\u3059.<\/p>\n<p>doit &#8211; \u30bf\u30b9\u30af\u30e9\u30f3\u30ca\u30fc\u3068\u30d3\u30eb\u30c9\u30c4\u30fc\u30eb.<\/p>\n<p>gunnery &#8211; Web \u30d9\u30fc\u30b9\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u3092\u5099\u3048\u305f\u5206\u6563\u30b7\u30b9\u30c6\u30e0\u7528\u306e\u591a\u76ee\u7684\u30bf\u30b9\u30af\u5b9f\u884c\u30c4\u30fc\u30eb.<\/p>\n<p>Joblib &#8211; Python \u3067\u8efd\u91cf\u30d1\u30a4\u30d7\u30e9\u30a4\u30cb\u30f3\u30b0\u3092\u63d0\u4f9b\u3059\u308b\u4e00\u9023\u306e\u30c4\u30fc\u30eb.<\/p>\n<p>Plan &#8211; Python \u3067 crontab \u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304f.<\/p>\n<p>schedule &#8211; Python \u30b8\u30e7\u30d6\u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0.<\/p>\n<p>Spiff &#8211; \u7d14\u7c8b\u306a Python \u3067\u5b9f\u88c5\u3055\u308c\u305f\u5f37\u529b\u306a\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30a8\u30f3\u30b8\u30f3.<\/p>\n<p>TaskFlow &#8211; \u30bf\u30b9\u30af\u306e\u5b9f\u884c\u3092\u7c21\u5358, \u4e00\u8cab\u6027, \u4fe1\u983c\u6027\u306e\u9ad8\u3044\u3082\u306e\u306b\u3059\u308b\u305f\u3081\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<p>Airflow &#8211; Airflow \u306f, \u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u4f5c\u6210, \u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u8a2d\u5b9a, \u76e3\u8996\u3059\u308b\u305f\u3081\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u3059.<\/p>\n<h2>\u8bb0\u5f55<\/h2>\n<p>\u751f\u6210\u65e5\u5fd7\u5e76\u8fdb\u884c\u64cd\u4f5c\u7684\u5e93\u8d44\u6e90<\/p>\n<p>Eliot &#8211; \u8907\u96d1\u3067\u5206\u6563\u3057\u305f\u30b7\u30b9\u30c6\u30e0\u306e\u305f\u3081\u306e\u30ed\u30ae\u30f3\u30b0.<\/p>\n<p>logbook &#8211; Python \u306e\u30ed\u30ae\u30f3\u30b0\u7f6e\u63db.<\/p>\n<p>logging &#8211; Python \u306e\u30ed\u30ae\u30f3\u30b0\u6a5f\u80fd (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>raven &#8211; Sentry \u306e Python \u30af\u30e9\u30a4\u30a2\u30f3\u30c8, \u30ed\u30b0\/\u30a8\u30e9\u30fc\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0, \u30af\u30e9\u30c3\u30b7\u30e5\u30ec\u30dd\u30fc\u30c8, Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u96c6\u8a08\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0.<\/p>\n<h2>\u673a\u5668\u5b66\u4e60<\/h2>\n<p>\u8bf7\u53c2\u8003Awesome Machine Learning\uff0c\u8fd9\u662f\u4e3a\u673a\u5668\u5b66\u4e60\u800c\u521b\u5efa\u7684\u5e93\u3002<\/p>\n<p>H2O &#8211; \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e, \u9ad8\u901f\u3067\u67d4\u8edf\u306a\u6a5f\u68b0\u5b66\u7fd2\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0.<\/p>\n<p>Metrics -\u3000\u6a5f\u68b0\u5b66\u7fd2\u8a55\u4fa1\u6307\u6a19.<\/p>\n<p>NuPIC &#8211; \u30a4\u30f3\u30c6\u30ea\u30b8\u30a7\u30f3\u30c8\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u305f\u3081\u306e Numenta \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0.<\/p>\n<p>scikit-learn &#8211; Machine Learning \u306e\u6700\u3082\u4e00\u822c\u7684\u306a Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Spark ML &#8211; Apache Spark \u306e\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306a\u6a5f\u68b0\u5b66\u7fd2\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>vowpal_porpoise &#8211; Vowpal Wabbit \u7528\u306e\u8efd\u91cf Python \u30e9\u30c3\u30d1\u30fc\u3067\u3059.<\/p>\n<p>xgboost &#8211; \u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u3067, \u30dd\u30fc\u30bf\u30d6\u30eb\u3067, \u5206\u6563\u3057\u305f, \u30b0\u30e9\u30b8\u30a8\u30f3\u30c8\u30d6\u30fc\u30b9\u30c6\u30a3\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u5fae\u8f6f\u7684Windows<\/h2>\n<p>\u5728\u5fae\u8f6fWindows\u4e0a\u8fdb\u884cPython\u7f16\u7a0b<\/p>\n<p>Python(x,y) &#8211; Qt \u3068 Spyder \u3092\u30d9\u30fc\u30b9\u306b\u3057\u305f\u79d1\u5b66\u7684\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u6307\u5411\u306e Python \u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3.<\/p>\n<p>pythonlibs &#8211; Python \u62e1\u5f35\u30d1\u30c3\u30b1\u30fc\u30b8\u7528\u306e\u975e\u516c\u5f0f Windows \u30d0\u30a4\u30ca\u30ea.<\/p>\n<p>PythonNet &#8211; Python \u3068 .NET \u5171\u901a\u8a00\u8a9e\u30e9\u30f3\u30bf\u30a4\u30e0\uff08CLR\uff09\u306e\u7d71\u5408.<\/p>\n<p>PyWin32 &#8211; Windows \u7528\u306e Python \u62e1\u5f35.<\/p>\n<p>WinPython &#8211; Windows 7\/8 \u7528\u30dd\u30fc\u30bf\u30d6\u30eb\u958b\u767a\u74b0\u5883.<\/p>\n<h2>\u5176\u4ed6<\/h2>\n<p>\u4e0d\u5c5e\u4e8e\u4e0a\u8ff0\u7c7b\u522b\u4f46\u6709\u7528\u7684\u5e93\u6216\u5de5\u5177\u3002<\/p>\n<p>blinker &#8211; \u9ad8\u901f\u306e Python \u30a4\u30f3\u30d7\u30ed\u30bb\u30b9\u30b7\u30b0\u30ca\u30eb\/\u30a4\u30d9\u30f3\u30c8\u30c7\u30a3\u30b9\u30d1\u30c3\u30c1\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>boltons &#8211; Python \u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u306e\u30bb\u30c3\u30c8.<\/p>\n<p>itsdangerous &#8211; \u4fe1\u983c\u3067\u304d\u308b\u30c7\u30fc\u30bf\u3092\u4fe1\u983c\u3067\u304d\u306a\u3044\u74b0\u5883\u306b\u6e21\u3059\u305f\u3081\u306e\u3055\u307e\u3056\u307e\u306a\u30d8\u30eb\u30d1\u30fc.<\/p>\n<p>pluginbase &#8211; \u30b7\u30f3\u30d7\u30eb\u3060\u304c\u67d4\u8edf\u306a Python \u7528\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>tryton &#8211; \u6c4e\u7528\u30d3\u30b8\u30cd\u30b9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<h2>\u81ea\u7136\u8bed\u8a00\u5904\u7406<\/h2>\n<p>\u5904\u7406\u81ea\u7136\u8bed\u8a00\u7684\u5e93<\/p>\n<h3>\u901a\u5e38<\/h3>\n<p>gensim &#8211; \u4eba\u9593\u306e\u305f\u3081\u306e\u30c8\u30d4\u30c3\u30af\u30e2\u30c7\u30ea\u30f3\u30b0.<\/p>\n<p>langid.py &#8211; \u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30fc\u30f3\u306e\u8a00\u8a9e\u8b58\u5225\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>nltk &#8211; \u81ea\u7136\u8a00\u8a9e\u30c7\u30fc\u30bf\u3092\u6271\u3046 Python \u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u6700\u5148\u7aef\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u3059.<\/p>\n<p>pattern &#8211; Web \u30de\u30a4\u30cb\u30f3\u30b0\u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<p>polyglot &#8211; \u4f55\u767e\u3082\u306e\u8a00\u8a9e\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u81ea\u7136\u8a00\u8a9e\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3.<\/p>\n<p>pytext &#8211; PyTorch\u306b\u57fa\u3065\u304f\u81ea\u7136\u8a00\u8a9e\u30e2\u30c7\u30ea\u30f3\u30b0\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>PyTorch-NLP &#8211; \u8fc5\u901f\u306b, NLP\u306e\u30d7\u30ed\u30c8\u30bf\u30a4\u30d4\u30f3\u30b0\u306b\u3088\u308b\u6df1\u5c64\u5b66\u7fd2\u3092\u53ef\u80fd\u306b\u3059\u308b\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8.<\/p>\n<p>Stanza &#8211; 60 \u4ee5\u4e0a\u306e\u8a00\u8a9e\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b Stanford NLP Group \u306e\u516c\u5f0f Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>spacy &#8211; Python \u3068 Cython \u304c\u5229\u7528\u3067\u304d\u308b, \u696d\u754c\u6700\u9ad8\u306e\u81ea\u7136\u8a00\u8a9e\u51e6\u7406\u7528\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h3>\u4e2d\u6587<\/h3>\n<p>Jieba &#8211; \u4e2d\u56fd\u8a9e\u306e\u30c6\u30ad\u30b9\u30c8\u30bb\u30b0\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3.<\/p>\n<p>pkuseg-python &#8211; \u3055\u307e\u3056\u307e\u306a\u5206\u91ce\u306b\u304a\u3051\u308b\u4e2d\u56fd\u8a9e\u306e\u5358\u8a9e\u5206\u5272\u306e\u305f\u3081\u306e\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8.<\/p>\n<p>SnowNLP &#8211; \u4e2d\u56fd\u8a9e\u30c6\u30ad\u30b9\u30c8\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>funNLP &#8211; \u4e2d\u56fd\u306eNLP\u306e\u305f\u3081\u306e\u30c4\u30fc\u30eb\u3068\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3.<\/p>\n<h2>\u7f51\u7edc\u865a\u62df\u5316<\/h2>\n<p>\u4e3a\u865a\u62df\u7f51\u7edc\u548cSDN\uff08\u8f6f\u4ef6\u5b9a\u4e49\u7f51\u7edc\uff09\u5f00\u53d1\u7684\u5de5\u5177\u548c\u5e93<\/p>\n<p>mininet &#8211; \u4e00\u822c\u7684\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30df\u30e5\u30ec\u30fc\u30bf\u3068 Python \u3067\u66f8\u304b\u308c\u305f API.<\/p>\n<p>napalm &#8211; \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30c7\u30d0\u30a4\u30b9\u3092\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e\u30af\u30ed\u30b9\u30d9\u30f3\u30c0\u30fc API.<\/p>\n<p>pox &#8211; OpenFlow SDN \u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u306a\u3069, Python \u30d9\u30fc\u30b9\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u5b9a\u7fa9\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff08SDN\uff09\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u7528\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u958b\u767a\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0.<\/p>\n<h2>\u65b0\u95fb\u52a8\u6001<\/h2>\n<p>\u6784\u5efa\u7528\u6237\u6d3b\u52a8\u7684\u5e93<\/p>\n<p>django-activity-stream &#8211; \u30b5\u30a4\u30c8\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u304b\u3089\u30b8\u30a7\u30cd\u30ea\u30c3\u30af\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u751f\u6210\u3057\u307e\u3059.<\/p>\n<p>Stream Framework &#8211; Cassandra \u3068 Redis \u3092\u4f7f\u7528\u3057\u305f\u30cb\u30e5\u30fc\u30b9\u30d5\u30a3\u30fc\u30c9\u3068\u901a\u77e5\u30b7\u30b9\u30c6\u30e0\u306e\u69cb\u7bc9.<\/p>\n<h2>ORM (\u5bf9\u8c61\u5173\u7cfb\u6620\u5c04)<\/h2>\n<p>\u5b9e\u73b0\u5bf9\u8c61\u5173\u7cfb\u6620\u5c04(ORM)\u6216\u6570\u636e\u6620\u5c04\u6280\u672f\u7684\u5e93\u3002<\/p>\n<h3>\u5173\u7cfb\u6570\u636e\u5e93<\/h3>\n<p>Django Models &#8211; Django ORM.<\/p>\n<p>SQLAlchemy &#8211; Python SQL Toolkit \u3068 Object Relational Mapper \u3067\u3059.<\/p>\n<p>Awesome Sqlalchemy<\/p>\n<p>dataset &#8211; \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b Python dict \u3092\u4fdd\u5b58\u3059\u308b &#8211; SQLite, MySQL, \u305d\u3057\u3066 PostgreSQL \u3067\u52d5\u4f5c\u3057\u307e\u3059.<\/p>\n<p>orator &#8211; Orator ORM \u306f\u30b7\u30f3\u30d7\u30eb\u3067\u7f8e\u3057\u3044 ActiveRecord \u306e\u5b9f\u88c5\u3092\u63d0\u4f9b\u3057\u307e\u3059.<\/p>\n<p>orm &#8211; \u975e\u540c\u671f ORM.<\/p>\n<p>peewee &#8211; \u5c0f\u3055\u304f\u8868\u73fe\u529b\u306e\u3042\u308b ORM.<\/p>\n<p>pony &#8211; SQL \u306b\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u6307\u5411\u306e\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u63d0\u4f9b\u3059\u308b ORM.<\/p>\n<p>pydal &#8211; \u7d14\u7c8b\u306a Python \u306b\u3088\u308b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30a2\u30d6\u30b9\u30c8\u30e9\u30af\u30b7\u30e7\u30f3\u30ec\u30a4\u30e4\u30fc.<\/p>\n<h3>\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93<\/h3>\n<p>hot-redis &#8211; Redis \u306e\u8c4a\u5bcc\u306aPython\u30c7\u30fc\u30bf\u578b.<\/p>\n<p>mongoengine &#8211; MongoDB \u3068\u9023\u643a\u3059\u308b\u305f\u3081\u306e Python Object-Document-Mapper \u3067\u3059.<\/p>\n<p>PynamoDB &#8211; Amazon DynamoDB \u306e Pythonic \u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9.<\/p>\n<p>redisco &#8211; Redis \u3067\u4fdd\u6301\u3055\u308c\u3066\u3044\u308b\u30b7\u30f3\u30d7\u30eb\u306a\u30e2\u30c7\u30eb\u3068\u30b3\u30f3\u30c6\u30ca\u306e\u305f\u3081\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u8f6f\u4ef6\u5305\u7ba1\u7406<\/h2>\n<p>\u7528\u4e8e\u5305\u548c\u4f9d\u8d56\u5173\u7cfb\u7ba1\u7406\u7684\u5e93\u3002<\/p>\n<p>pip &#8211; Python \u30d1\u30c3\u30b1\u30fc\u30b8\u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u30fc.<\/p>\n<p>PyPI<\/p>\n<p>pip-tools &#8211; \u56fa\u5b9a\u3055\u308c\u305f Python \u4f9d\u5b58\u95a2\u4fc2\u3092\u65b0\u9bae\u306b\u4fdd\u3064\u305f\u3081\u306e\u30c4\u30fc\u30eb\u30bb\u30c3\u30c8.<\/p>\n<p>poetry &#8211; Python \u306e\u4f9d\u5b58\u95a2\u4fc2\u7ba1\u7406\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u5316\u304c\u7c21\u5358\u306b\u306a\u308a\u307e\u3059.<\/p>\n<p>conda &#8211; \u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0, Python \u306b\u4f9d\u5b58\u3057\u306a\u3044\u30d0\u30a4\u30ca\u30ea\u30d1\u30c3\u30b1\u30fc\u30b8\u30de\u30cd\u30fc\u30b8\u30e3.<\/p>\n<h2>\u5305\u88f9\u4ed3\u5e93<\/h2>\n<p>\u672c\u5730\u7684 PyPI \u4ed3\u5e93\u670d\u52a1\u5668\u548c\u4ee3\u7406<\/p>\n<p>warehouse &#8211; \u6b21\u4e16\u4ee3\u306e Python \u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30dd\u30b8\u30c8\u30ea (PyPI).<\/p>\n<p>bandersnatch &#8211; Python Packaging Authority\uff08PyPA\uff09\u304c\u63d0\u4f9b\u3059\u308b PyPI \u30df\u30e9\u30fc\u30ea\u30f3\u30b0\u30c4\u30fc\u30eb.<\/p>\n<p>devpi &#8211; PyPI \u30b5\u30fc\u30d0\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u30f3\u30b0\/\u30c6\u30b9\u30c8\/\u30ea\u30ea\u30fc\u30b9\u30c4\u30fc\u30eb.<\/p>\n<p>localshop &#8211; \u30ed\u30fc\u30ab\u30eb PyPI \u30b5\u30fc\u30d0\u30fc\uff08\u30ab\u30b9\u30bf\u30e0\u30d1\u30c3\u30b1\u30fc\u30b8\u3068 pypi \u306e\u81ea\u52d5\u30df\u30e9\u30fc\u30ea\u30f3\u30b0\uff09.<\/p>\n<h2>\u6743\u9650<\/h2>\n<p>\u5141\u8bb8\u6216\u62d2\u7edd\u7528\u6237\u5bf9\u6570\u636e\u6216\u529f\u80fd\u7684\u8bbf\u95ee\u7684\u5e93\u3002<\/p>\n<p>django-guardian &#8211; Django 1.2 \u4ee5\u964d\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3054\u3068\u306e\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306e\u5b9f\u88c5.<\/p>\n<p>django-rules &#8211; \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u5fc5\u8981\u3068\u305b\u305a\u306b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30ec\u30d9\u30eb\u306e\u6a29\u9650\u3092 Django \u306b\u63d0\u4f9b\u3059\u308b, \u5c0f\u578b\u3067\u5f37\u529b\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059.<\/p>\n<h2>\u8fdb\u7a0b<\/h2>\n<p>\u7528\u4e8e\u542f\u52a8\u548c\u901a\u4fe1\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u7a0b\u7684\u5e93\u3002<\/p>\n<p>delegator.py &#8211; Humans\u2122 \u306b\u3088\u308b Subprocesses.<\/p>\n<p>sarge &#8211; subprocess \u306e\u305f\u3081\u306e\u3055\u3089\u306b\u5225\u306e\u30e9\u30c3\u30d1\u30fc.<\/p>\n<p>sh &#8211; Python \u306e\u5b8c\u5168\u306a subprocess \u7f6e\u304d\u63db\u3048.<\/p>\n<h2>\u63a8\u8350\u7cfb\u7edf<\/h2>\n<p>\u7528\u4e8e\u6784\u5efa\u63a8\u8350\u7cfb\u7edf\u7684\u5e93\u3002<\/p>\n<p>annoy &#8211; \u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u304c\u6700\u9069\u5316\u3055\u308c\u305f C++\/Python \u306e\u6700\u8fd1\u508d\u63a2\u7d22.<\/p>\n<p>fastFM &#8211; \u30d5\u30a1\u30af\u30bf\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\u30de\u30b7\u30f3\u7528\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>implicit &#8211; \u6697\u9ed9\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306b\u5bfe\u3059\u308b\u30b3\u30e9\u30dc\u30ec\u30fc\u30c6\u30a3\u30d6\u306a\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u306e\u9ad8\u901f Python \u5b9f\u88c5.<\/p>\n<p>libffm &#8211; Field-aware Factorization Machine\uff08FFM\uff09\u306e\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>lightfm &#8211; \u591a\u6570\u306e\u4eba\u6c17\u306e\u3042\u308b\u30ec\u30b3\u30e1\u30f3\u30c9\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e Python \u5b9f\u88c5.<\/p>\n<p>spotlight &#8211; PyTorch \u3092\u4f7f\u3063\u305f\u30c7\u30a3\u30fc\u30d7\u30ec\u30b3\u30e1\u30f3\u30c0\u30fc\u30e2\u30c7\u30eb.<\/p>\n<p>surprise &#8211; \u30ec\u30b3\u30e1\u30f3\u30c9\u30b7\u30b9\u30c6\u30e0\u306e\u69cb\u7bc9\u3068\u5206\u6790\u306e\u305f\u3081\u306e scikit.<\/p>\n<p>tensorrec &#8211; TensorFlow \u306e\u30ec\u30b3\u30e1\u30f3\u30c9\u30a8\u30f3\u30b8\u30f3\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<h2>\u91cd\u6784<\/h2>\n<p>\u901a\u8fc7Python\u63d0\u4f9b\u7684\u91cd\u6784\u5de5\u5177\u548c\u5e93<\/p>\n<p>Bicycle Repair Man &#8211; Python \u306b\u3088\u308b\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u30c4\u30fc\u30eb.<\/p>\n<p>Bowler &#8211; \u30e2\u30c0\u30f3\u306a Python \u3078\u5b89\u5168\u306b\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u3057\u3066\u304f\u308c\u308b.<\/p>\n<p>Rope &#8211; Python \u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>RESTful API \u53ef\u4ee5\u7528\u4e2d\u6587\u7ffb\u8bd1\u4e3a\u201c\u57fa\u4e8e REST \u67b6\u6784\u7684\u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3\u201d\u3002<\/h2>\n<p>\u5f00\u53d1\u7528\u4e8e\u6784\u5efaRESTful API \u7684\u5e93<\/p>\n<h3>\u53ea\u9700\u8981\u4e00\u79cd\u9009\u9879\uff0c\u5c06\u4ee5\u4e0b\u5185\u5bb9\u4ee5\u4e2d\u6587\u8fdb\u884c\u6539\u8ff0\uff1a<br \/>\nDjango<\/h3>\n<p>django-rest-framework &#8211; Web API \u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u5f37\u529b\u304b\u3064\u67d4\u8edf\u306a\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u3067\u3059.<\/p>\n<p>django-tastypie &#8211; Django \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u7528\u306e\u30c7\u30ea\u30b7\u30e3\u30b9\u306a API \u3092\u4f5c\u6210\u3057\u307e\u3059.<\/p>\n<h3>\u74f6\u5b50<\/h3>\n<p>eve &#8211; Flask, MongoDB \u306b\u3088\u308b REST API \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>flask-api &#8211; Flask \u306e\u30d6\u30e9\u30a6\u30ba\u53ef\u80fd\u306a Web API.<\/p>\n<p>flask-restful &#8211; Flask \u306e REST API \u3092\u3059\u3070\u3084\u304f\u69cb\u7bc9\u3057\u307e\u3059.<\/p>\n<h3>\u91d1\u5b57\u5854<\/h3>\n<p>cornice &#8211; Pyramid \u306e\u305f\u3081\u306e RESTful \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<h3>\u4e0d\u4f9d\u8d56\u4efb\u4f55\u6846\u67b6<\/h3>\n<p>apistar &#8211; Python 3 \u7528\u306b\u8a2d\u8a08\u3055\u308c\u305f\u30b9\u30de\u30fc\u30c8 Web API \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>falcon &#8211; \u30af\u30e9\u30a6\u30c9 API \u3068 Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u9ad8\u6027\u80fd\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>FastAPI &#8211; Python 3.6+ \u306e\u30bf\u30a4\u30d7\u30d2\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u69cb\u7bc9\u3055\u308c\u305f\u30e2\u30c0\u30f3\u3067\u9ad8\u901f\u306a\u30a6\u30a7\u30d6\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3002<\/p>\n<p>hug &#8211; \u304d\u308c\u3044\u306a API \u3092\u516c\u958b\u3059\u308b\u305f\u3081\u306e Python 3 \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>sandman2 &#8211; \u65e2\u5b58\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u99c6\u52d5\u578b\u30b7\u30b9\u30c6\u30e0\u7528\u306e\u81ea\u52d5 REST API.<\/p>\n<p>Sanic &#8211; \u9ad8\u901f\u306b\u306a\u308b\u3088\u3046\u306b\u66f8\u304b\u308c\u305f\u30a6\u30a7\u30d6\u30b5\u30fc\u30d0\u30fc.<\/p>\n<p>Vibora &#8211; Flask \u306b\u30a4\u30f3\u30b9\u30d1\u30a4\u30a2\u3055\u308c\u305f\u9ad8\u901f\u304b\u3064\u3001\u52b9\u7387\u7684\u3067\u975e\u540c\u671f\u306a\u30a6\u30a7\u30d6\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<h2>\u673a\u5668\u4eba\u6280\u672f<\/h2>\n<p>\u673a\u5668\u4eba\u6280\u672f\u7684\u5e93<\/p>\n<p>PythonRobotics &#8211; \u3053\u308c\u306f, \u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u8996\u899a\u5316\u3055\u308c\u305f\u69d8\u3005\u306a\u30ed\u30dc\u30c3\u30c8\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3067\u3059.<\/p>\n<p>rospy &#8211; ROS (Robot Operating System) \u306e\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<h2>\u8fdc\u7a0b\u8fc7\u7a0b\u8c03\u7528\u670d\u52a1\u5668<\/h2>\n<p>RPC\u4e92\u6362\u670d\u52a1\u5668<\/p>\n<p>zeroRPC &#8211; zerorpc \u306f, ZeroMQ \u3068 MessagePack \u306b\u57fa\u3065\u304f\u67d4\u8edf\u306a RPC \u5b9f\u88c5\u3067\u3059.<\/p>\n<p>RPyC (Remote Python Call) &#8211; Python \u7528\u306e\u900f\u904e\u7684\u3067\u5bfe\u79f0\u7684\u306a RPC \u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/p>\n<h2>\u79d1\u5b66<\/h2>\n<p>\u4e3a\u79d1\u5b66\u8ba1\u7b97\u800c\u8bbe\u8ba1\u7684\u5e93<\/p>\n<p>astropy &#8211; \u5929\u6587\u5b66\u306e\u305f\u3081\u306e\u30b3\u30df\u30e5\u30cb\u30c6\u30a3 Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>bcbio-nextgen &#8211; \u5b8c\u5168\u81ea\u52d5\u30cf\u30a4\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u30b7\u30fc\u30b1\u30f3\u30b7\u30f3\u30b0\u89e3\u6790\u306e\u305f\u3081\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3092\u63d0\u4f9b\u3057\u307e\u3059.<\/p>\n<p>bccb &#8211; \u751f\u7269\u5b66\u7684\u89e3\u6790\u306b\u95a2\u9023\u3059\u308b\u6709\u7528\u306a\u30b3\u30fc\u30c9\u306e\u96c6\u307e\u308a.<\/p>\n<p>Biopython &#8211; Biopython \u306f, \u751f\u7269\u5b66\u7684\u8a08\u7b97\u306e\u305f\u3081\u306b\u81ea\u7531\u306b\u5229\u7528\u3067\u304d\u308b\u30c4\u30fc\u30eb\u306e\u30bb\u30c3\u30c8\u3067\u3059.<\/p>\n<p>cclib &#8211; \u8a08\u7b97\u5316\u5b66\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u7d50\u679c\u3092\u89e3\u6790\u3057\u3066\u89e3\u91c8\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Colour &#8211; \u30ab\u30e9\u30fc\u7406\u8ad6\u306e\u5909\u63db\u3068\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u5305\u62ec\u7684\u306a\u6570\u306e\u5b9f\u88c5.<\/p>\n<p>Karate Club &#8211; \u30b0\u30e9\u30d5\u69cb\u9020\u5316\u30c7\u30fc\u30bf\u7528\u306e\u6559\u5e2b\u306a\u3057\u6a5f\u68b0\u5b66\u7fd2\u30c4\u30fc\u30eb\u30dc\u30c3\u30af\u30b9\u3002<\/p>\n<p>NetworkX &#8211; \u8907\u96d1\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u305f\u3081\u306e\u751f\u7523\u6027\u306e\u9ad8\u3044\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u3067\u3059.<\/p>\n<p>NIPY &#8211; \u795e\u7d4c\u30a4\u30e1\u30fc\u30b8\u30f3\u30b0\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3.<\/p>\n<p>NumPy &#8211; Python \u3092\u4f7f\u3063\u305f\u79d1\u5b66\u8a08\u7b97\u306e\u57fa\u672c\u30d1\u30c3\u30b1\u30fc\u30b8.<\/p>\n<p>Open Babel &#8211; \u5316\u5b66\u30c7\u30fc\u30bf\u306e\u591a\u304f\u306e\u8a00\u8a9e\u3092\u8a71\u3059\u3088\u3046\u306b\u8a2d\u8a08\u3055\u308c\u305f\u5316\u5b66\u30c4\u30fc\u30eb\u30dc\u30c3\u30af\u30b9.<\/p>\n<p>ObsPy &#8211; \u5730\u9707\u5b66\u306e\u305f\u3081\u306e Python \u30c4\u30fc\u30eb\u30dc\u30c3\u30af\u30b9.<\/p>\n<p>PyDy &#8211; \u52d5\u7684\u52d5\u4f5c\u306e\u30e2\u30c7\u30ea\u30f3\u30b0\u306b\u304a\u3051\u308b\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u652f\u63f4\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b. Python Dynamics \u306e\u7565.<\/p>\n<p>PyMC &#8211; \u30de\u30eb\u30b3\u30d5\u9023\u9396\u30e2\u30f3\u30c6\u30ab\u30eb\u30ed\u6cd5\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8.<\/p>\n<p>RDKit &#8211; \u30b1\u30e2\u30a4\u30f3\u30d5\u30a9\u30de\u30c6\u30a3\u30af\u30b9\u3068\u6a5f\u68b0\u5b66\u7fd2\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2.<\/p>\n<p>QuTiP &#8211; Quantum \u30c4\u30fc\u30eb\u30dc\u30c3\u30af\u30b9.<\/p>\n<p>SciPy &#8211; \u6570\u5b66, \u79d1\u5b66, \u5de5\u5b66\u306e\u305f\u3081\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e Python \u30d9\u30fc\u30b9\u306e\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>SimPy &#8211; \u30d7\u30ed\u30bb\u30b9\u30d9\u30fc\u30b9\u306e\u5206\u6563\u30a4\u30d9\u30f3\u30c8\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af<\/p>\n<p>statsmodels &#8211; Python \u306e\u7d71\u8a08\u30e2\u30c7\u30ea\u30f3\u30b0\u3068\u8a08\u91cf\u7d4c\u6e08\u5b66.<\/p>\n<p>SymPy &#8211; \u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u6570\u5b66\u306e\u305f\u3081\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>Zipline &#8211; Python \u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u30c8\u30ec\u30fc\u30c7\u30a3\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u8fdb\u884c\u641c\u7d22<\/h2>\n<p>\u7528\u4e8e\u6570\u636e\u7d22\u5f15\u548c\u641c\u7d22\u7684\u5e93\u548c\u8f6f\u4ef6<\/p>\n<p>elasticsearch-py &#8211; Elasticsearch \u306e\u516c\u5f0f\u4f4e\u30ec\u30d9\u30eb Python \u30af\u30e9\u30a4\u30a2\u30f3\u30c8.<\/p>\n<p>elasticsearch-dsl-py &#8211; Elasticsearch \u306e\u305f\u3081\u306e\u516c\u5f0f\u306e\u9ad8\u6c34\u6e96 Python \u30af\u30e9\u30a4\u30a2\u30f3\u30c8.<\/p>\n<p>django-haystack &#8211; Django \u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u691c\u7d22.<\/p>\n<p>pysolr &#8211; Apache Solr \u7528\u306e\u8efd\u91cf Python \u30e9\u30c3\u30d1\u30fc (SolrCloud awareness \u3092\u542b\u3080).<\/p>\n<p>whoosh &#8211; \u9ad8\u901f\u3067\u7d14\u7c8b\u306a Python \u691c\u7d22\u30a8\u30f3\u30b8\u30f3\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>\u5e8f\u5217\u5316<\/h2>\n<p>\u7528\u4e8e\u5e8f\u5217\u5316\u590d\u6742\u6570\u636e\u7c7b\u578b\u7684\u5e93\u3002<\/p>\n<p>marshmallow &#8211; \u8907\u96d1\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u5358\u7d14\u306a Python \u30c7\u30fc\u30bf\u578b\u3068\u306e\u9593\u3067\u5909\u63db\u3059\u308b\u305f\u3081\u306e\u8efd\u91cf\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>pysimdjson &#8211; simdjson \u306e Python \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0.<\/p>\n<p>python-rapidjson &#8211; RapidJSON \u306e Python \u30e9\u30c3\u30d1\u30fc.<\/p>\n<p>ultrajson -\u3000Python \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3092\u4f7f\u7528\u3057\u3066C\u3067\u8a18\u8ff0\u3055\u308c\u305f\u9ad8\u901f JSON \u30c7\u30b3\u30fc\u30c0\u30fc\u304a\u3088\u3073\u30a8\u30f3\u30b3\u30fc\u30c0\u30fc\u3002<\/p>\n<h2>\u65e0\u670d\u52a1\u5668\u6846\u67b6<\/h2>\n<p>\u7528\u4e8e\u5f00\u53d1\u65e0\u670d\u52a1\u5668 Python \u4ee3\u7801\u7684\u6846\u67b6<\/p>\n<p>python-lambda &#8211; AWS Lambda \u3067 Python \u30b3\u30fc\u30c9\u3092\u958b\u767a\u3057, \u5c55\u958b\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8\u3067\u3059.<\/p>\n<p>Zappa &#8211; AWS Lambda \u3068 API Gateway \u306b WSGI \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5c0e\u5165\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb.<\/p>\n<h2>\u7279\u5b9a\u7684\u6587\u672c\u683c\u5f0f\u5904\u7406<\/h2>\n<p>\u89e3\u6790\u548c\u64cd\u4f5c\u7279\u5b9a\u6587\u672c\u683c\u5f0f\u7684\u5e93\u51fd\u6570\u3002<\/p>\n<h3>\u666e\u904d\u7684<\/h3>\n<p>tablib &#8211; XLS, CSV, JSON, YAML \u306e\u8868\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306e\u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<h3>\u529e\u516c\u5ba4<\/h3>\n<p>openpyxl &#8211; Excel 2010 xlsx \/ xlsm \/ xltx \/ xltm \u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u66f8\u304d\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<p>pyexcel &#8211; csv, ods, xls, xlsx, xlsm \u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f, \u64cd\u4f5c\u3057, \u66f8\u304d\u8fbc\u3080 API \u3092\u63d0\u4f9b\u3057\u307e\u3059.<\/p>\n<p>python-docx &#8211; Microsoft Word 2007\/2008 \u306e docx \u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f, \u7167\u4f1a\u3057, \u5909\u66f4\u3057\u307e\u3059.<\/p>\n<p>python-pptx &#8211; PowerPoint (.pptx) \u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u304a\u3088\u3073\u66f4\u65b0\u3059\u308b\u305f\u3081\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>unoconv &#8211; LibreOffice \/ OpenOffice \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u4efb\u610f\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5f62\u5f0f\u3092\u5909\u63db\u3057\u307e\u3059.<\/p>\n<p>XlsxWriter &#8211; Excel \u306e .xlsx \u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e Python \u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<p>xlwings &#8211; BSD \u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3067, Excel \u304b\u3089 Python \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u5bb9\u6613\u306b\u306a\u308a\u307e\u3059.<\/p>\n<p>xlwt \/ xlrd &#8211; Excel \u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u30c7\u30fc\u30bf\u3068\u66f8\u5f0f\u60c5\u5831\u306e\u66f8\u304d\u8fbc\u307f\u3068\u8aad\u307f\u53d6\u308a.<\/p>\n<h3>PDF\uff08Portable Document Format\uff09<\/h3>\n<p>PDFMiner &#8211; PDF \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u304b\u3089\u60c5\u5831\u3092\u62bd\u51fa\u3059\u308b\u30c4\u30fc\u30eb.<\/p>\n<p>PyPDF2 &#8211; PDF \u30da\u30fc\u30b8\u306e\u5206\u5272, \u30de\u30fc\u30b8, \u5909\u63db\u304c\u53ef\u80fd\u306a\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>ReportLab &#8211; \u8c4a\u5bcc\u306a PDF \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u8fc5\u901f\u306a\u4f5c\u6210\u3092\u53ef\u80fd\u306b\u3057\u307e\u3059.<\/p>\n<h3>\u6807\u8bb0\u8bed\u8a00<\/h3>\n<p>Mistune &#8211; Markdown \u306e\u6700\u3082\u9ad8\u901f\u3067\u30d5\u30eb\u6a5f\u80fd\u306e\u7d14\u7c8b\u306a Python \u30d1\u30fc\u30b5\u3067\u3059.<\/p>\n<p>Python-Markdown &#8211; John Gruber \u306e Markdown \u306e Python \u5b9f\u88c5\u3067\u3059.<\/p>\n<h3>YAML\u662f\u4e00\u79cd\u4ee5\u6613\u8bfb\u6613\u5199\u7684\u683c\u5f0f\u8868\u793a\u6570\u636e\u7684\u6807\u8bb0\u8bed\u8a00\u3002<\/h3>\n<p>PyYAML &#8211; Python \u306e YAML \u5b9f\u88c5.<\/p>\n<h3>CSV\uff1a\u9017\u53f7\u5206\u9694\u503c<\/h3>\n<p>csvkit &#8211; CSV \u306b\u5909\u63db\u3057\u3066\u4f5c\u696d\u3059\u308b\u305f\u3081\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3.<\/p>\n<h3>\u5b58\u6863<\/h3>\n<p>unp &#8211; \u30a2\u30fc\u30ab\u30a4\u30d6\u3092\u7c21\u5358\u306b\u89e3\u51cd\u3067\u304d\u308b\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb.<\/p>\n<h2>\u9759\u6001\u7f51\u7ad9\u751f\u6210\u5668<\/h2>\n<p>\u9759\u6001\u7f51\u7ad9\u751f\u6210\u5668\u662f\u4e00\u79cd\u8f6f\u4ef6\uff0c\u5b83\u63a5\u6536\u6587\u672c\u548c\u6a21\u677f\u4f5c\u4e3a\u8f93\u5165\uff0c\u5e76\u751f\u6210 HTML \u6587\u4ef6\u3002<\/p>\n<p>mkdocs &#8211; Markdown \u3068\u89aa\u548c\u6027\u306e\u9ad8\u3044\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc.<\/p>\n<p>pelican &#8211; Markdown \u3068reST \u306e\u69cb\u6587\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u9759\u7684\u30b5\u30a4\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf.<\/p>\n<p>lektor &#8211; \u4f7f\u3044\u3084\u3059\u3044\u9759\u7684 CMS \u3068\u30d6\u30ed\u30b0\u30a8\u30f3\u30b8\u30f3.<\/p>\n<p>nikola &#8211; \u9759\u7684\u306a\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u3068\u30d6\u30ed\u30b0\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf.<\/p>\n<h2>\u6a19\u7c64\u5316<\/h2>\n<p>\u7528\u4e8e\u7ed9\u7269\u54c1\u6253\u6807\u7b7e\u7684\u5e93\u51fd\u6570<\/p>\n<p>django-taggit &#8211; Django \u306e\u7c21\u5358\u306a\u30bf\u30b0\u4ed8\u3051.<\/p>\n<h2>\u4efb\u52a1\u961f\u5217<\/h2>\n<p>\u64cd\u4f5c\u4e8b\u4ef6\u961f\u5217\u548c\u4efb\u52a1\u961f\u5217\u7684\u5e93<\/p>\n<p>celery &#8211; \u5206\u6563\u30e1\u30c3\u30bb\u30fc\u30b8\u30fb\u30d1\u30c3\u30b7\u30f3\u30b0\u306b\u57fa\u3065\u304f\u975e\u540c\u671f\u30bf\u30b9\u30af\u30fb\u30ad\u30e5\u30fc\/\u30b8\u30e7\u30d6\u30fb\u30ad\u30e5\u30fc.<\/p>\n<p>huey &#8211; \u30ea\u30c8\u30eb\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u30bf\u30b9\u30af\u30ad\u30e5\u30fc.<\/p>\n<p>mrq &#8211; Mr. Queue &#8211; Redis \uff06 gevent \u3092\u4f7f\u7528\u3057\u305f Python \u306e\u5206\u6563\u30ef\u30fc\u30ab\u30fc\u30bf\u30b9\u30af\u30ad\u30e5\u30fc.<\/p>\n<p>rq &#8211; Python \u306e\u5358\u7d14\u30b8\u30e7\u30d6\u30ad\u30e5\u30fc.<\/p>\n<h2>\u6a21\u677f\u5f15\u64ce<\/h2>\n<p>\u4e3a\u6a21\u677f\u548c\u8bcd\u6c47\u7ba1\u7406\u63d0\u4f9b\u7684\u5e93\u548c\u5de5\u5177<\/p>\n<p>Jinja2 &#8211; \u8fd1\u4ee3\u7684\u3067\u30c7\u30b6\u30a4\u30ca\u30fc\u306b\u512a\u3057\u3044\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u8a00\u8a9e. Template -&gt; Temple -&gt; Jinja.<\/p>\n<p>Genshi &#8211; Web \u5bfe\u5fdc\u306e\u51fa\u529b\u3092\u751f\u6210\u3059\u308b\u305f\u3081\u306e Python \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8.<\/p>\n<p>Mako &#8211; \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u7528\u306e\u9ad8\u901f\u3067\u8efd\u91cf\u306a\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8.<\/p>\n<h2>\u6d4b\u8bd5<\/h2>\n<p>\u8fdb\u884c\u4ee3\u7801\u5e93\u6d4b\u8bd5\uff0c\u5e76\u751f\u6210\u6d4b\u8bd5\u6570\u636e\u7684\u5e93<\/p>\n<h3>\u6d4b\u8bd5\u6846\u67b6<\/h3>\n<p>hypothesis &#8211; Hypothesis \u306f, \u9ad8\u5ea6\u306a Quickcheck \u30b9\u30bf\u30a4\u30eb\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u30d9\u30fc\u30b9\u30c6\u30b9\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<p>nose2 &#8211; unittest2 \u306b\u57fa\u3065\u304f, nose \u306e\u5f8c\u7d99\u3067\u3059.<\/p>\n<p>pytest &#8211; \u5b8c\u6210\u3057\u305f\u5b8c\u5168\u6a5f\u80fd\u306e Python \u30c6\u30b9\u30c8\u30c4\u30fc\u30eb.<\/p>\n<p>Robot Framework &#8211; \u4e00\u822c\u7684\u306a\u30c6\u30b9\u30c8\u81ea\u52d5\u5316\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>unittest &#8211; \u30e6\u30cb\u30c3\u30c8\u30c6\u30b9\u30c8\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<h3>\u8003\u8651\u5230\u60a8\u53ea\u9700\u8981\u4e00\u4e2a\u9009\u9879\uff0c\u6211\u5c06\u4e3a\u60a8\u63d0\u4f9b\u4e0b\u9762\u7684\u7ffb\u8bd1\uff1a<\/h3>\n<p>\u6d4b\u8bd5\u8fd0\u52a8\u5458<\/p>\n<p>green &#8211; \u304d\u308c\u3044\u3067\u30ab\u30e9\u30d5\u30eb\u306a\u30c6\u30b9\u30c8\u30e9\u30f3\u30ca\u30fc.<\/p>\n<p>mamba &#8211; Python \u306e\u305f\u3081\u306e\u6c7a\u5b9a\u7684\u306a\u30c6\u30b9\u30c8\u30c4\u30fc\u30eb. BDD \u306e\u65d7\u306e\u3082\u3068\u306b\u751f\u307e\u308c\u307e\u3057\u305f.<\/p>\n<p>tox &#8211; \u8907\u6570\u306e Python \u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u81ea\u52d5\u7684\u306b\u30d3\u30eb\u30c9\u3068\u30c6\u30b9\u30c8\u3092\u884c\u3044\u307e\u3059.<\/p>\n<h3>\u56fe\u5f62\u754c\u9762\/\u7f51\u7edc\u6d4b\u8bd5<\/h3>\n<p>locust &#8211; Python \u3067\u66f8\u304b\u308c\u305f\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306a\u30e6\u30fc\u30b6\u30fc\u8ca0\u8377\u30c6\u30b9\u30c8\u30c4\u30fc\u30eb.<\/p>\n<p>PyAutoGUI &#8211; PyAutoGUI \u306f, \u4eba\u9593\u306e\u305f\u3081\u306e\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e GUI \u30aa\u30fc\u30c8\u30e1\u30fc\u30b7\u30e7\u30f3 Python \u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059.<\/p>\n<p>Selenium &#8211; Selenium WebDriver \u306e Python \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0.<\/p>\n<p>sixpack &#8211; \u8a00\u8a9e\u306b\u3068\u3089\u308f\u308c\u306a\u3044 A \/ B \u30c6\u30b9\u30c8\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>splinter &#8211; Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30c6\u30b9\u30c8\u3059\u308b\u305f\u3081\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30c4\u30fc\u30eb.<\/p>\n<h3>\u4ee5\u4e0b\u662f\u7528\u6bcd\u8bed\u4e2d\u6587\u7684\u4e00\u79cd\u53ef\u80fd\u7684\u6539\u8ff0\u65b9\u5f0f:<\/h3>\n<p>\u6a21\u4eff<\/p>\n<p>mock &#8211; mocking \u3068 patching \u30e9\u30a4\u30d6\u30e9\u30ea (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>doublex &#8211; \u5f37\u529b\u306a\u30c6\u30b9\u30c8\u306f Python \u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u30922\u500d\u306b\u3057\u307e\u3059.<\/p>\n<p>freezegun &#8211; datetime \u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u3042\u3056\u7b11\u3046\u3088\u3046\u306b\u6642\u9593\u3092\u5de1\u308a\u307e\u3059.<\/p>\n<p>httmock &#8211; Python 2.6 \u4ee5\u4e0a\u3068 3.2 \u4ee5\u4e0a\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u5bfe\u3059\u308b mocking \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>httpretty &#8211; Python \u306e HTTP \u30ea\u30af\u30a8\u30b9\u30c8\u30e2\u30c3\u30af\u30c4\u30fc\u30eb.<\/p>\n<p>mocket &#8211; gevent \/ asyncio \/ SSL \u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u30bd\u30b1\u30c3\u30c8\u30e2\u30c3\u30af\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>responses &#8211; \u30ea\u30af\u30a8\u30b9\u30c8\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u6a21\u5023\u3059\u308b\u305f\u3081\u306e\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>VCR.py &#8211; \u30c6\u30b9\u30c8\u3067\u306e HTTP \u30a4\u30f3\u30bf\u30e9\u30af\u30b7\u30e7\u30f3\u306e\u8a18\u9332\u3068\u518d\u751f.<\/p>\n<h3>\u5bf9\u8c61\u5de5\u5382 (du\u00ec<\/h3>\n<p>factory_boy &#8211; Python \u306e\u30c6\u30b9\u30c8\u30d5\u30a3\u30af\u30b9\u30c1\u30e3\u306e\u7f6e\u304d\u63db\u3048.<\/p>\n<p>mixer &#8211; \u5225\u306e\u30d5\u30a3\u30af\u30b9\u30c1\u30e3\u7f6e\u304d\u63db\u3048. Django, Flask, SQLAlchemy, Peewee \u7b49\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059.<\/p>\n<p>model_mommy &#8211; Django \u3067\u30c6\u30b9\u30c8\u3059\u308b\u305f\u3081\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u30d5\u30a3\u30af\u30b9\u30c1\u30e3\u3092\u4f5c\u6210\u3057\u307e\u3059.<\/p>\n<h3>\u4ee3\u7801\u8986\u76d6\u7387 (Mandarin Chinese)<\/h3>\n<p>coverage &#8211; \u30b3\u30fc\u30c9\u30ab\u30d0\u30ec\u30c3\u30b8\u6e2c\u5b9a.<\/p>\n<h3>\u5047\u6570\u636e<\/h3>\n<p>mimesis &#8211; mimesis \u306f, \u507d\u306e\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064 Python \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<p>fake2db &#8211; \u507d\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf.<\/p>\n<p>faker &#8211; \u507d\u306e\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3059\u308b Python \u30d1\u30c3\u30b1\u30fc\u30b8.<\/p>\n<p>radar &#8211; \u30e9\u30f3\u30c0\u30e0\u306a\u65e5\u6642\u3092\u751f\u6210\u3059\u308b.<\/p>\n<h2>\u6587\u672c\u5904\u7406<\/h2>\n<p>\u7528\u4e8e\u7eaf\u6587\u672c\u5206\u6790\u548c\u64cd\u4f5c\u7684\u5e93\u3002<\/p>\n<h3>\u901a\u5e38<\/h3>\n<p>chardet &#8211; Python 2\/3 \u4e92\u63db\u306e\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u691c\u51fa\u5668.<\/p>\n<p>difflib &#8211; \u30c7\u30eb\u30bf\u3092\u8a08\u7b97\u3059\u308b\u30d8\u30eb\u30d1\u30fc (Python \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea).<\/p>\n<p>ftfy &#8211; \u58ca\u308c\u306b\u304f\u304f, \u3088\u308a\u4e00\u8cab\u6027\u306e\u3042\u308b Unicode \u30c6\u30ad\u30b9\u30c8\u306e\u81ea\u52d5\u4f5c\u6210\u3092\u53ef\u80fd\u306b\u3057\u307e\u3059.<\/p>\n<p>fuzzywuzzy &#8211; \u30d5\u30a1\u30b8\u30fc\u30b9\u30c8\u30ea\u30f3\u30b0\u30de\u30c3\u30c1\u30f3\u30b0.<\/p>\n<p>Levenshtein &#8211; \u30ec\u30fc\u30d9\u30f3\u30b7\u30e5\u30bf\u30a4\u30f3\u8ddd\u96e2\u3068\u6587\u5b57\u5217\u985e\u4f3c\u5ea6\u306e\u9ad8\u901f\u8a08\u7b97.<\/p>\n<p>pangu.py &#8211; CJK \u3068\u82f1\u6570\u5b57\u306e\u305f\u3081\u306e\u30c6\u30ad\u30b9\u30c8\u306e\u9593\u9694.<\/p>\n<p>pyfiglet &#8211; Python \u3067\u306e figlet \u306e\u5b9f\u88c5.<\/p>\n<p>pypinyin -\u3000\u4e2d\u56fd\u8a9e\u3092\u30d4\u30f3\u30a4\u30f3\u306b\u5909\u63db\u3057\u307e\u3059.<\/p>\n<p>textdistance &#8211; \u914d\u5217\u9593\u306e\u8ddd\u96e2\u3092\u8a08\u7b97\u3059\u308b 30 \u4ee5\u4e0a\u306e\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0.<\/p>\n<p>unidecode &#8211; Unicode \u30c6\u30ad\u30b9\u30c8\u306e ASCII \u5909\u63db.<\/p>\n<h3>\u8f6c\u6362\u4e3a\u552f\u4e00\u6807\u8bc6<\/h3>\n<p>awesome-slugify &#8211; Unicode \u3092\u4fdd\u5b58\u3067\u304d\u308b Python \u306e\u30b9\u30e9\u30b0\u5316\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>python-slugify &#8211; Unicode \u3092 ASCII \u306b\u5909\u63db\u3059\u308b Python \u306e\u30b9\u30e9\u30b0\u5316\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>unicode-slugify &#8211; Django \u3092\u4f9d\u5b58\u95a2\u4fc2\u3068\u3057\u3066 Unicode \u30b9\u30e9\u30b0\u3092\u751f\u6210\u3059\u308b\u30b9\u30e9\u30b0\u30e9\u30a4\u30b6\u3067\u3059.<\/p>\n<h3>\u81ea\u5e26\u7684\u8eab\u4efd\u8bc6\u522b\u7801<\/h3>\n<p>hashids &#8211; Python \u3067\u306e hashids \u306e\u5b9f\u88c5.<\/p>\n<p>shortuuid &#8211; \u7c21\u6f54\u304b\u3064\u660e\u767d\u3067 URL \u30bb\u30fc\u30d5\u306a UUID \u306e\u305f\u3081\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h3>\u89e3\u6790\u5668<\/h3>\n<p>ply &#8211; Python \u306e\u305f\u3081\u306e lex \u3068 yacc \u306e\u89e3\u6790\u30c4\u30fc\u30eb\u306e\u5b9f\u88c5.<\/p>\n<p>pygments &#8211; \u4e00\u822c\u7684\u306a\u69cb\u6587\u30cf\u30a4\u30e9\u30a4\u30bf\u30fc\u3067\u3059.<\/p>\n<p>pyparsing &#8211; \u30d1\u30fc\u30b5\u30fc\u3092\u751f\u6210\u3059\u308b\u6c4e\u7528\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>python-nameparser &#8211; \u4eba\u9593\u306e\u540d\u524d\u3092\u500b\u3005\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306b\u89e3\u6790\u3057\u307e\u3059.<\/p>\n<p>python-phonenumbers &#8211; \u56fd\u969b\u96fb\u8a71\u756a\u53f7\u306e\u89e3\u6790, \u66f8\u5f0f\u8a2d\u5b9a, \u4fdd\u5b58\u304a\u3088\u3073\u691c\u8a3c.<\/p>\n<p>python-user-agents &#8211; \u30d6\u30e9\u30a6\u30b6\u30e6\u30fc\u30b6\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30d1\u30fc\u30b5.<\/p>\n<p>sqlparse &#8211; \u975e\u691c\u8a3cSQL\u30d1\u30fc\u30b5.<\/p>\n<h2>\u7b2c\u4e09\u65b9API<\/h2>\n<p>\u8bf7\u53c2\u8003Python API\u5c01\u88c5\u5668\u548c\u5e93\u7684\u5217\u8868\uff0c\u4ee5\u8bbf\u95ee\u7b2c\u4e09\u65b9\u670d\u52a1\u7684API\u5e93\u3002<\/p>\n<p>apache-libcloud &#8211; \u3059\u3079\u3066\u306e\u30af\u30e9\u30a6\u30c9\u7528\u306e Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>boto3 &#8211; Amazon Web Services \u3078\u306e Python \u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9.<\/p>\n<p>django-wordpress &#8211; WordPress \u306e\u30e2\u30c7\u30eb\u3068 Django \u306e\u30d3\u30e5\u30fc.<\/p>\n<p>facebook-sdk &#8211; Facebook \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0 Python SDK.<\/p>\n<p>google-api-python-client &#8211; Python \u7528 Google API \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>gspread &#8211; Google \u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8 Python API.<\/p>\n<p>twython &#8211; Twitter API \u306e Python \u30e9\u30c3\u30d1\u30fc.<\/p>\n<h2>URL \u89e3\u6790<\/h2>\n<p>\u7f51\u5740\u5206\u6790<\/p>\n<p>\u7528\u4e8e\u89e3\u6790URL\u7684\u5e93<\/p>\n<p>furl &#8211; URL \u306e\u89e3\u6790\u3068\u64cd\u4f5c\u3092\u7c21\u5358\u306b\u3059\u308b\u5c0f\u3055\u306a Python \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>purl &#8211; \u554f\u3044\u5408\u308f\u305b\u3068\u64cd\u4f5c\u306e\u305f\u3081\u306e\u304d\u308c\u3044\u306a API \u3092\u6301\u3064\u30b7\u30f3\u30d7\u30eb\u3067\u4e0d\u5909\u306a URL \u30af\u30e9\u30b9.<\/p>\n<p>pyshorteners &#8211; \u7d14\u7c8b\u306a Python \u306e URL \u77ed\u7e2e\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<p>webargs &#8211; \u30dd\u30d4\u30e5\u30e9\u30fc\u306a Web \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u30b5\u30dd\u30fc\u30c8\u304c\u7d44\u307f\u8fbc\u307e\u308c\u305f, HTTP \u30ea\u30af\u30a8\u30b9\u30c8\u306e\u5f15\u6570\u3092\u89e3\u6790\u3059\u308b\u305f\u3081\u306e\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059.<\/p>\n<h2>\u89c6\u9891 (sh\u00ec<\/h2>\n<p>\u64cd\u4f5c\u89c6\u9891\u548c GIF \u7684\u5e93<\/p>\n<p>vidgear &#8211; \u6700\u3082\u30d1\u30ef\u30d5\u30eb\u306a\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u30d3\u30c7\u30aa\u51e6\u7406\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3002<\/p>\n<p>moviepy &#8211; \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3 GIF \u3092\u542b\u3080\u591a\u304f\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u30d9\u30fc\u30b9\u306e\u30e0\u30fc\u30d3\u30fc\u7de8\u96c6\u7528\u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<p>scikit-video &#8211; SciPy \u306e\u30d3\u30c7\u30aa\u51e6\u7406\u30eb\u30fc\u30c1\u30f3.<\/p>\n<h2>Web \u8d44\u4ea7\u7ba1\u7406<\/h2>\n<p>\u7528\u4e8e\u7ba1\u7406\u548c\u538b\u7f29\u7f51\u7ad9\u8d44\u4ea7\u7684\u5de5\u5177\u7ec4<\/p>\n<p>django-compressor &#8211; \u30ea\u30f3\u30af\u304a\u3088\u3073\u30a4\u30f3\u30e9\u30a4\u30f3 JavaScript \u307e\u305f\u306f CSS \u3092\u5358\u4e00\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u30d5\u30a1\u30a4\u30eb\u306b\u5727\u7e2e\u3057\u307e\u3059.<\/p>\n<p>django-pipeline &#8211; Django \u306e\u305f\u3081\u306e\u30a2\u30bb\u30c3\u30c8\u30d1\u30c3\u30b1\u30fc\u30b8\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>django-storages &#8211; Django \u306e\u305f\u3081\u306e\u30ab\u30b9\u30bf\u30e0\u30b9\u30c8\u30ec\u30fc\u30b8\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b3\u30ec\u30af\u30b7\u30e7\u30f3.<\/p>\n<p>fanstatic &#8211; Python \u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u3057\u3066\u306e\u9759\u7684\u30d5\u30a1\u30a4\u30eb\u4f9d\u5b58\u6027\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u5316, \u6700\u9069\u5316, \u304a\u3088\u3073\u63d0\u4f9b.<\/p>\n<h2>\u63d0\u53d6\u7f51\u7edc\u5185\u5bb9<\/h2>\n<p>\u63d0\u4f9b\u4e00\u79cd\u7528\u4e8e\u63d0\u53d6\u7f51\u7edc\u5185\u5bb9\u7684\u5e93\u3002<\/p>\n<p>html2text &#8211; HTML \u3092 Markdown \u5f62\u5f0f\u306e\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db\u3057\u307e\u3059.<\/p>\n<p>lassie &#8211; \u4eba\u9593\u306e\u305f\u3081\u306e Web \u30b3\u30f3\u30c6\u30f3\u30c4\u691c\u7d22.<\/p>\n<p>micawber &#8211; URL \u304b\u3089\u30ea\u30c3\u30c1\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u62bd\u51fa\u3059\u308b\u305f\u3081\u306e\u5c0f\u3055\u306a\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>newspaper &#8211; \u30cb\u30e5\u30fc\u30b9\u62bd\u51fa, \u8a18\u4e8b\u62bd\u51fa, Python \u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u30ad\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3.<\/p>\n<p>python-readability &#8211; arc90 \u306e\u53ef\u8aad\u6027\u30c4\u30fc\u30eb\u306e, \u9ad8\u901f Python \u30dd\u30fc\u30c8.<\/p>\n<p>requests-html &#8211; \u4eba\u9593\u306e\u305f\u3081\u306e Pythonic HTML \u30d1\u30fc\u30b7\u30f3\u30b0.<\/p>\n<p>sumy &#8211; \u30c6\u30ad\u30b9\u30c8\u6587\u66f8\u3068HTML\u30da\u30fc\u30b8\u306e\u81ea\u52d5\u8981\u7d04\u306e\u305f\u3081\u306e\u30e2\u30b8\u30e5\u30fc\u30eb.<\/p>\n<p>textract &#8211; \u4efb\u610f\u306e\u6587\u66f8, Word, PowerPoint, PDF \u306a\u3069\u304b\u3089\u30c6\u30ad\u30b9\u30c8\u3092\u62bd\u51fa\u3057\u307e\u3059.<\/p>\n<p>toapi &#8211; \u3059\u3079\u3066\u306e Web \u30b5\u30a4\u30c8\u304c APIs \u3092\u63d0\u4f9b.<\/p>\n<h2>\u7f51\u7edc\u722c\u866b<\/h2>\n<p>\u7528\u4e8e\u81ea\u52a8\u5316\u7f51\u7edc\u722c\u53d6\u7684\u5e93\u3002<\/p>\n<p>cola &#8211; \u5206\u6563\u578b\u30af\u30ed\u30fc\u30eb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>feedparser &#8211; \u30e6\u30cb\u30d0\u30fc\u30b5\u30eb\u30d5\u30a3\u30fc\u30c9\u30d1\u30fc\u30b5\u30fc<\/p>\n<p>Grab &#8211; \u30b5\u30a4\u30c8\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>MechanicalSoup &#8211; \u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u3068\u306e\u3084\u308a\u3068\u308a\u3092\u81ea\u52d5\u5316\u3059\u308b\u305f\u3081\u306ePython\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>pyspider &#8211; \u5f37\u529b\u306a\u30b9\u30d1\u30a4\u30c0\u30fc\u30b7\u30b9\u30c6\u30e0.<\/p>\n<p>robobrowser &#8211; \u30b9\u30bf\u30f3\u30c9\u30a2\u30ed\u30f3\u306e Web \u30d6\u30e9\u30a6\u30b6\u3092\u4f7f\u7528\u305b\u305a\u306b Web \u3092\u30d6\u30e9\u30a6\u30ba\u3059\u308b\u30b7\u30f3\u30d7\u30eb\u306a Pythonic \u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>scrapy &#8211; \u9ad8\u901f\u3067\u9ad8\u30ec\u30d9\u30eb\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3068 Web \u30af\u30ed\u30fc\u30eb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>portia &#8211; Scrapy \u306e\u305f\u3081\u306e\u30d3\u30b8\u30e5\u30a2\u30eb\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0.<\/p>\n<h2>\u7f51\u7edc\u6846\u67b6<\/h2>\n<p>\u5168\u6808Web\u6846\u67b6<\/p>\n<h3>\u5373\u65f6\u53d1\u5c55<\/h3>\n<p>Django &#8211; Python \u3067\u6700\u3082\u4eba\u6c17\u306e\u3042\u308b Web \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059.<\/p>\n<p>awesome-django<br \/>\nAwesome Django<\/p>\n<p>Flask &#8211; Python \u7528\u306e\u30de\u30a4\u30af\u30ed\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059.<\/p>\n<p>Awesome Flask<\/p>\n<p>Pyramid &#8211; \u5c0f\u3055\u304f\u3066, \u901f\u304f, \u5730\u7403\u306b\u8fd1\u3044, \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e Python Web \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<p>Awesome Pyramid<\/p>\n<p>Masonite &#8211; \u6700\u65b0\u304b\u3064\u958b\u767a\u8005\u4e2d\u5fc3\u306e Python Web \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af.<\/p>\n<h3>\u975e\u540c\u6b65\u5f0f<\/h3>\n<p>Tornado &#8211; Web \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068\u975e\u540c\u671f\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h2>WebSocket\uff1a\u901a\u8fc7\u4e00\u79cd\u7f51\u7edc\u901a\u4fe1\u534f\u8bae\uff0c\u5728\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e4b\u95f4\u5efa\u7acb\u53cc\u5411\u901a\u4fe1\u8fde\u63a5\u3002<\/h2>\n<p>\u5904\u7406WebSocket\u7684\u5e93<\/p>\n<p>autobahn-python &#8211; Twisted \u3068 asyncio \u306e Python \u7528 WebSocket\uff06WAMP.<\/p>\n<p>channels &#8211; Django \u306e\u30c7\u30d9\u30ed\u30c3\u30d1\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u975e\u540c\u671f\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<p>websockets &#8211; \u6b63\u78ba\u3055\u3068\u5358\u7d14\u3055\u306b\u7126\u70b9\u3092\u5f53\u3066\u305fWebSocket\u30b5\u30fc\u30d0\u30fc\u3068\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/p>\n<h2>WSGI \u670d\u52a1\u5668<\/h2>\n<p>\u652f\u6301 WSGI \u7684Web \u670d\u52a1\u5668\u3002<\/p>\n<p>bjoern &#8211; \u975e\u540c\u671f\u3067, \u975e\u5e38\u306b\u9ad8\u901f\u3067, C \u3067\u66f8\u304b\u308c\u3066\u3044\u307e\u3059.<\/p>\n<p>gunicorn &#8211; \u30d7\u30ea\u30d5\u30a9\u30fc\u30af\u3055\u308c, \u90e8\u5206\u7684\u306b C \u8a00\u8a9e\u3067\u66f8\u304b\u308c\u3066\u3044\u307e\u3059.<\/p>\n<p>uWSGI &#8211; \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306f, C \u3067\u66f8\u304b\u308c\u305f\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u5b8c\u5168\u306a\u30b9\u30bf\u30c3\u30af\u3092\u958b\u767a\u3059\u308b\u3053\u3068\u3092\u76ee\u6307\u3057\u3066\u3044\u307e\u3059.<\/p>\n<p>waitress &#8211; \u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9, powers Pyramid.<\/p>\n<p>werkzeug &#8211; Flask \u306b\u6a29\u9650\u3092\u4e0e\u3048, \u81ea\u5206\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u7c21\u5358\u306b\u57cb\u3081\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u308b Python \u7528\u306e WSGI \u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30e9\u30a4\u30d6\u30e9\u30ea.<\/p>\n<h1>\u8d44\u6e90<\/h1>\n<p>\u53d1\u73b0\u65b0\u7684Python\u5e93<\/p>\n<h2>\u64ad\u5ba2<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">From Python Import Podcast<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Podcast.init<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Python Bytes<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Python Testing<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Radio Free Python<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Talk Python To Me<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Test and Code<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">The Real Python Podcast<\/ul>\n<h2>\u63a8\u7279<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@codetengu<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@getpy<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@importpython<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@planetpython<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@pycoders<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@pypi<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@pythontrending<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@PythonWeekly<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">@TalkPython<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">@realpython<\/ul>\n<h2>\u7f51\u7ad9<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\/r\/CoolGithubProjects<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\/r\/Python<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Awesome Python @LibHunt<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Django Packages<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Full Stack Python<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Python Cheatsheet<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Python ZEEF<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Python \u5f00\u53d1\u793e\u533a<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Real Python<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Trending Python repositories on GitHub today<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e Python \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Pythonic News<\/ul>\n<h2>\u5468\u95f4<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">CodeTengu Weekly<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Import Python Newsletter<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Pycoder&#8217;s Weekly<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Python Weekly<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Python Tricks<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Python Bytes<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u539f\u6587\uff1a&#8221;Awesome Python&#8221; \u91cd\u65b0\u8868\u8fbe\uff1a&#8221;\u4ee4\u4eba\u60ca\u53f9\u7684Python [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-50552","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4ee4\u4eba\u8d5e\u53f9\u7684python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90\" \/>\n<meta property=\"og:description\" content=\"\u539f\u6587\uff1a&#8221;Awesome Python&#8221; \u91cd\u65b0\u8868\u8fbe\uff1a&#8221;\u4ee4\u4eba\u60ca\u53f9\u7684Python [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4ee4\u4eba\u8d5e\u53f9\u7684python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-18T15:49:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-30T06:13:24+00:00\" \/>\n<meta name=\"author\" content=\"\u96c5, \u609f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u96c5, \u609f\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/\",\"name\":\"\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-11-18T15:49:13+00:00\",\"dateModified\":\"2024-04-30T06:13:24+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\",\"name\":\"\u96c5, \u609f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"caption\":\"\u96c5, \u609f\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u4ee4\u4eba\u8d5e\u53f9\u7684python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\/","og_locale":"zh_CN","og_type":"article","og_title":"\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90","og_description":"\u539f\u6587\uff1a&#8221;Awesome Python&#8221; \u91cd\u65b0\u8868\u8fbe\uff1a&#8221;\u4ee4\u4eba\u60ca\u53f9\u7684Python [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u4ee4\u4eba\u8d5e\u53f9\u7684python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-11-18T15:49:13+00:00","article_modified_time":"2024-04-30T06:13:24+00:00","author":"\u96c5, \u609f","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u96c5, \u609f","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"13 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/","name":"\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-11-18T15:49:13+00:00","dateModified":"2024-04-30T06:13:24+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4ee4\u4eba\u8d5e\u53f9\u7684Python\uff1a\u4ee4\u4eba\u60ca\u53f9\u7684Python\u6846\u67b6\u3001\u5e93\u3001\u8f6f\u4ef6\u548c\u8d44\u6e90"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6","name":"\u96c5, \u609f","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","caption":"\u96c5, \u609f"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bb%a4%e4%ba%ba%e8%b5%9e%e5%8f%b9%e7%9a%84python%ef%bc%9a%e4%bb%a4%e4%ba%ba%e6%83%8a%e5%8f%b9%e7%9a%84python%e6%a1%86%e6%9e%b6%e3%80%81%e5%ba%93%e3%80%81%e8%bd%af%e4%bb%b6%e5%92%8c%e8%b5%84\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/50552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=50552"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/50552\/revisions"}],"predecessor-version":[{"id":92390,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/50552\/revisions\/92390"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=50552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=50552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=50552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}