Keep on moving

あんまりまとまってないことを書きますよ

python

DataClass 3.10での機能追加(kw_only, slots)

こんにちはPython界のレアキャラです。 dataclassから機能が追加され attrsであった機能が取り込まれました。 以前書いた記事のアップデートをしておこうと思います。 TL;DR dataclassにkw_onlyと slotsが入った attrsのつかいどころ ボイラープレートコード…

Python 3.10触ってみた(1) ~asyncio#get_event_loop

こんにちは, ミュージシャンの卵です. Python3.10のリリース予定日の2021-10-04が近づいていますね。 そろそろどの辺が変わるのかも含めて調査を始めています。 asyncioのコードを書いてみて軽い変更があったことを見つけました。 www.python.org asyncio Py…

PythonでJSON Linesを扱う

key value Python 3.8 or later Last Update 2020/09/06 こんにちは、yaml苦手っ子です。Python でJSON Linesを扱う方法を調べたのでまとめておきます。 JSON Lines とは JSONを行区切りでファイルに書き込んだものです。 JSON Lines ここによると以下が条件…

attrsの使いどころとdataclass

masahito.hatenablog.com この記事は^の記事の続きです。^を読んでから読むと良いと思います。 なお、今回のサンプルコードはこちらにあります。(間違いなどありましたらご指摘ください) github.com TL;DR attrsのつかいどころ 今Python3.5 or 3.6を使ってい…

dataclassと __slots__ について調べた

対象バージョン Python 3.7以降 TL;DR dataclassでも __slots__ を使える __slots__ をつかうとpropertyの追加ができなくなる(自由度が下るが、コードをおいやすくなる) slots とは docs.python.org __slots__ を使うと、(プロパティのように) データメンバ…

pyiファイルに2つの意味ではまってるはなし(仮)

仕事でPython を使っていた型チェックがほしいときがあって、今Pyiファイルをつくっています。 TL;DR pyi ファイルからpyiファイルを読み込むと型情報が落ちてしまうらしい。 github.com 要は以下のようなフォルダ構成を考える ├── hello-stubs │ │ ├── __in…

Python3.7のPEP 563: Postponed evaluation of annotations はいいもんだなっていう話

大家好, レアキャラです。 今日はPython3.7の新機能 で気になってるやつを紹介したいと思います。 TL;DR version Python 3.6.4, 3.7b2 mypy 0.580 Python3.7で __future__ に annotations ってのが追加されて、TypeHintの痒いところに手が届くようになる。 P…

型ヒントが提供されていないpythonライブラリにmypy用に型ヒントを入れる

最近mypyを趣味で使い始めたのでいろいろ書こうと思います。 @tk0miiyka さんの記事を読んでとりあえず自分の仕事でmypy使えそうなところをいろいろ考えてみた 対象バージョン version python 3.5.2 mypy 0.4.6 last update 2017.01.08 TL;DR pyiファイルを…

C++11/14でPython3を拡張する(pybind11)

ブログ書くの久しぶりだなぁ。。。 システムプログラムってやつを初めて勉強してるので、まとめときます。 tl;;dr このライブラリをつかうとBoost::Pythonよりも簡単にC++11/1 でPython3を拡張できる。github.com 簡単な使い方 TODO 後で書く CMakeとの連携 …

unittest2でテストスキップする

テストを特定の条件の場合のみ実行できるようにしたい。unittest2(python2.7,python3.2以降だとunittest)だとunittest2.skipという機能が追加されました。http://www.voidspace.org.uk/python/articles/unittest2.shtmlこんな感じ platform = 'linux' if sys…

Pythonでのテストツールtox入門

libuvのPython実装であるpyuvのPython3対応しているときに、Python2.6/2.7/3.0/3.1/3.2で個別にテストする必要がありました。 各バージョンのPythonを入れるのも割と大変だし、各バージョンごとに確認するのも非常に手間です。 lazyな私にはこんなのやってら…

pyuvをPython3対応するメモ

ネットワーク系プログラミングの勉強もかねて、↓のライブラリで近頃よくあそんでいます。 saghul/pyuv · GitHub これ現状、Python3系は未対応でして、日頃の感謝もこめて対応してみました。 ちなみにPython3系は今回初めてさわりました。 軽い気持ちではじめ…

pyuvを使って http-clientを書いてみる

どうもこんばんは。差し迫ったなにかがあるときって、別のなにかをやりたくなるときってありますよね。 近頃良く遊んでるpyuvでhttpクライアントを作ってみました。 参考 いまさら select、といっても SQL ではないのだ - してみむとて ソースコード エラー…

Playing pyuv

Good evening everyone!This post is English translation of here. First node.js which is server-side-Java Script is recently popular. The library libuv for networks which the author of node.js is making is API of the libev style currently us…

pyuvでHTTP client書いてみた

勉強のために、libuvのサンプルをいろいろ集めてます。 今日は mattnさんの書かれていたHTTP clientをpyuvで書いてみました。 参考 Welcome to PyUV’s documentation! — PyUV 0.9.1.dev documentation Big Sky :: libuvを使ってみた。 ソース import sys imp…

pyuvと戯れる

どうも今晩は。よく本業が何かと聞かれますが、自分でもたまに本業がなにかよくわからなくなります。 最初に 近頃サーバーサイドJavaScriptのnode.jsの人気が出てますね。 node.jsの作者が作ってるネットワーク用のライブラリlibuvはgeventの裏側でつかわれ…

socketプログラムの初歩から初める

近頃ネットワーク系のプログラムが気になるので勉強を開始してみました。 基礎の部分がまるでわかってないのでいろいろ検索して写経してます。 激しくチラ裏です。 socketプログラムの初歩と言われるEchoサーバー http://www.python.jp/doc/2.5/lib/socket-e…

Windows7 64bit + Python 2.7 環境でMySQLにアクセスする

上記の環境でMySQLを使いたかったのだけどMySQL for Python | Free Development software downloads at SourceForge.netで配布されている最新版では インストーラーの配布がされなくなり、ソースからビルドしようとしたら エラーが出てうまくビルドできませ…

Sphinxの環境を整える

id:rokujyouhitoma さんに誘われてPyPyの翻訳を始めました。 PyPy本家の資料がSpinxで書かれているため、翻訳ももちろんSphinxで行っています。 参考 Sphinxの魔法にかかってみた - ふぞろいのGENGOたち Sphinxの実行環境をつくる インストールするパッケー…

辞書にオブジェクトっぽくアクセスする

はじめに pythonでは2.6以降ならばjsonライブラリを使ってjsonを簡単に使えて便利です。 jsonライブラリを使うと、json文字列をparseして辞書で取得することができるのですが、 jsonの階層が深いとオブジェクトっぽくアクセスできないかなーと思うときがあり…

ソート勉強中

どうも今晩は、よく本業で何やってるのか謎の人と言われます。今後ともよろしくお願いします。調子に乗って何回かsleep sortの話を書きました。http://dis.4chan.org/read/prog/1295544154/22 Genius sorting algorithm: Sleep sort 22 Name: Anonymous : 20…

sleep sortが面白い

はじめに 常識を覆すソートアルゴリズム!その名も"sleep sort"!が面白いですね! というわけでさっそく実装してみました。 参考 常識を覆すソートアルゴリズム!その名も"sleep sort"! 16.6. multiprocessing — プロセスベースの “並列処理” インタフェー…

rstspreadsheetを試す

はじめに 皆さんRestructuredText使ってますか? 私は主に自分用のまとめ資料を作るのに使ったりします。 さて、たまにrestの表の中で計算したいときなんかがあります。 pypiに近頃、rstでの表計算関係のパッケージが追加されましたので早速試してみました。…

pythonでのWindowsサービスの書き方

初めに Pythonのスクリプトを書いていて、常駐化させたい時があります。*nix系だとpython-daemon 1.5.5 : Python Package Indexを使って実現できるようですが、 Windowsのサービスは探してもあまり情報が見当たらないので腹を据えて調べてみました。なんだ…

30分プログラミング 〜 pyqueryを使ってappleストアに新製品が追加されるのをチェックする

こんにちは、暖かくなってきましたね。暖かくなるとモバイルデバイスが気になりますよね。 というわけでiPad2がappleストアにいつ並ぶかが気になるわけですよ。 でもブラウザからチェックするのは面倒です。というわけで改善します。 注意 要はスクレイピン…

buildoutなどなどの練習を兼ねてwebAPIのラッパークラスを書いた

どうもこんにちは、素振り大好きっ子です。 海外のPDFを買う時に、通貨換算にCurrency converter | Xurrencyを使っています。 このサイトwebAPIも持っていますので、近頃学習したことのまとめとして、pypiにパッケージを作成してみました。 pyXurrency 0.0.1…

buildout入門(エキスパートPythonプログラミング読書会09に参加してきました)

エキスパートPythonプログラミング読書会09 : ATNDに参加してきました 主催の清水川さん、会場提供いただいた アスキーメディアワークス様ありがとうございます。 今回の話題はbuildoutでした。簡単に自分用にメモをまとめておきます。 # 2011.02.19 id:shim…

Flaskをnginx+fastcgiで動かす

Flaskをnginxで動かしてみたくていろいろ調べてみました。 参考 http://flask.pocoo.org/docs/deploying/fastcgi/ Flask の公式ドキュメントこの通り実行すれば動きますです。 http://cho-co.be/blog/django/nginx-fastcgi-django/ 環境 VirtualBox 4.0.0 ub…

Igo-pythonをGAEでも動かす。

あいかわらずIgoをいじって遊ばせていただいています。 Igoを使っていて感じたことをかるくまとめておきます。 Igoの辞書変換時の注意点 IgoではMecab形式のファイルをいったんIgoを使って変換する必要がある。 ドキュメントには書いてないけど以下の場合に…

転置インデックスを軽く勉強しつつ実装してみてる

参考 以下を参考にしてpythonで書いてみた [を] 形態素解析と検索APIとTF-IDFでキーワード抽出 [を] 転置インデックスによる検索システムを作ってみよう! とりあえずまだプロトタイプだからテストはなしです。レガシーコードですorz ソース #!/usr/bin/env …