by shigemk2

当面は技術的なことしか書かない

Python

Python3 Error

例外の書きかた忘れてた https://docs.python.jp/3/tutorial/errors.html >>> while True: ... try: ... x = int(input("Please enter a number: ")) ... break ... except ValueError: ... print("Oops! That was no valid number. Try again...") ...

PyGithub Branch

PyGithubでブランチ作りたいからBranchのクラス見たけどメソッドがない create_git_refをつかうこと branchのref 派生元branchの最新コミットのsha(っていうかコミットログのあれ) repo.create_git_ref("refs/heads/branchname", repo.get_git_ref("heads/ma…

PyGitHubのドキュメント

PyGitHubのドキュメント http://pygithub.readthedocs.io/en/latest/index.html 具体的な使い方や詳細な使い方は、テストコードとか、本家のAPIなどをさんしょうするといいとおもう https://developer.github.com/v3/

Python request

Pythonからhttpリクエスト処理するアレ。 http://docs.python-requests.org/en/master/user/quickstart/

python click

Pythonのコマンドラインパーサ 名前が不自然だけど… http://click.pocoo.org/5/

sqlalchemy-searchable

sqlalchemyの全文検索版の設定 複数カラムを同時に検索するときの重みを設定できる Configuration — SQLAlchemy-Searchable 1.0.3 documentation

redash checkbox sort value

redash checkbox sort value これはY軸をソートするものではなく、X軸をソートしているので、order byしているものでsort valueするとおかしなことになる。 実際にデータをソートしている箇所 underscoreのsortByを利用している。ここではX軸をソートしてい…

memo redash dev build

memo redash dev build なぞればよい pip install npm install build 設定チェック DBチェック webサーバー起動 celery起動 https://redash.io/help/open-source/dev-guide/setup

flask limiter

flaskでrate limitを制御しているところ。 redashだと1日50回のrate limitがデフォルトでかかっている。 Flask-Limiter — Flask-Limiter 1.0.1+0.gb390e64.dirty documentation

PyAthena

PyAthena ローカルでRedashを構築 + データソースでAthena export REDASH_ADDITIONAL_QUERY_RUNNERS="redash.query_runner.athena" だけではだめで、PyAthenaを別途入れる必要がある query runner enabled but not supported, not registering. Either disab…

Lambda Python Logging

Lambda Python Logging ログ出力はprint 返却はreturn

RDS describe_db_instances

RDS describe_db_instances boto3のアレ。 http://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.describe_db_instances import boto3 # おきらくdescribe # rds:DescribeDBInstancesがひつよう dbinstance = 'test-db' rds = bot…

sqlformat

SQLを整形するCUI # これが $ cat test.sql select E1.proc_id, MAX((SELECT SUM(E2.event_type) FROM Events E2 WHERE E2.proc_id = E1.proc_id AND E2.event_time < E1.event_time)) AS max_inst_count FROM Events E1 GROUP BY E1.proc_id ORDER BY E1.pr…

JSON_AS_ASCII

JSON_AS_ASCII JSONの中の文字(non ASCII)をASCIIにエンコードしない。 By default Flask serialize object to ascii-encoded JSON. If this is set to False Flask will not encode to ASCII and output strings as-is and return unicode strings. jsonify…

memo: sqlitebck 1.3

memo: sqlitebck 1.3 Sqlite3 online backup API implementation. Sqlite3のPython実装

memo: q

memo: q csvとかtsvに対してクエリを投げられるCLI 2017/12/26の雑感 Python3未対応 Python2.7だと動く サンプルとしては、こんな感じのコマンド q -t -H "select name from exampledatafile.tsv where name != '' limit 5" -t でtsv -H でヘッダ行をスキッ…

boto3 ec2.instances

boto3 ec2.instances 適当に。IAMロールとかはちゃんとしようね。 import boto3 ec2 = boto3.resource('ec2') instances = ec2.instances.filter( Filters=[{'Name': 'instance-state-name', 'Values': ['running']}]) for instance in instances: print(ins…

Python map/filter

Python map/filter こんな感じ。 >>> items = [{"id":1,"name":"Alice"}, {"id":2,"name":"Bob"}, {"id":3,"name":"Charles"}] >>> list(filter(lambda x: x["id"], items)) [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Cha…

pip vs easy-install

pip vs easy-install easy_installが2004で、pipが2008。easy_installって、アンインストール出来ないんだ。。 https://packaging.python.org/discussions/pip-vs-easy-install/;embed

easy_install list

easy_install list easy_install listみたいなオプションは2017年現在でもないようなので、やっぱり /usr/lib/python2.4/site-packages/easy-install.pth とか、easy-install.pthを探すしかなさそう。

pycodestyle

pycodestyle Python style guide checker pypiでインストールできるようだ

PEP 8

PEP 8 Style Guide for Python Code Pythonのコードスタイルガイド

cheat cp

cheat cp iオプションとrオプション

paramiko

typoじゃない pycharmだとtypo扱いされるけどそれはもう、しゃあない pythonのsshv2ライブラリ https://tools.ietf.org/html/rfc4250

pycharm jump to next/previous error

はい。 Use keyboard shortcuts F2 and Shift+F2 respectively. Navigating to Next/Previous Error - Help | PyCharm

nose nose2 unittest

noseもnose2もunittestも微妙に違う noseは2.4をサポートしているが、nose2は2.4をサポートしてない nose2はunittest2のpluginブランチを起点にしているが、代替は不可能。 https://docs.python.jp/3/library/unittest.html http://nose.readthedocs.io/en/l…

cheat command 2017/09/05

気長に待てばいずれはマージされるかもねっていう感想。4ヶ月位経ってるけど。 あると少しだけ便利になるからプルリクを投げている。 github.com github.com これは他のプルリクと重複しているためクローズ。 github.com

boto

Python interface to Amazon Web Services aws-cliのなかでよくアプデされるアレ

about sphinx_rtd_theme

ドキュメント作成ツールsphinxで、APIドキュメントを作りたいときに使われるテーマ。 github.com Sphinxのインストール — Sphinx 1.5.6 ドキュメント python3系だと不具合が起きるようで。 こいつでドキュメントをビルドしようとしたら、sphinx_rtd_theme is…

airflow backend db

postgreかMySQLを推奨。 Configuration — Airflow Documentation