Command-line interface description language docopt helps you: define the interface for your command-line app, and automatically generate a parser for it. docopt is based on conventions that have been used for decades in help messages and man pages for describing a program's interface. An interface description in docopt is such a help message, but formalized. Here is an example: Naval Fate. Usage:
Pythonでは、関数やクラスなどの定義の先頭に記述された文字列が、docstring(ドックストリング、ドキュメンテーション文字列)として扱われる。 IDEやエディタによってはキーボードショートカットでdocstringを表示させて内容を確認できる。またPyCharmなどでは、docstringの情報をもとに静的解析して警告を出してくれる。
PythonパッケージをPyPIにアップロードする際にMarkdownをreSTに変換 By raimon, 2018-01-30(火), in category Python MarkdownフォーマットではHTML描画されない問題 Pythonパッケージの開発もGitHubが使われるケースが増えている。それに伴って、パッケージのドキュメントもMarkdownフォーマットが採用されるケースも散見される。 ただし、MarkdownフォーマットでPyPIサーバーにアップロードすると、Web UIではHTML描画されないため、ユーザーフレンドリーではない。 そこで、Pythonパッケージの新しいバージョンをPyPIサーバーにアップロードする際に、オンデマンドでreStructuredText(以降「reST」)フォーマットにオンデマンドで変換してやると、いい感じにWeb UIでもHTML描画さ
私はソフトウェア開発を主体とするエンジニアで、 クラウドサービスの開発・運用 分散処理技術の検証とサービス利用の検討 社内の開発支援環境の開発・運用 などの業務に従事していますが、今回の記事は業務とは直接的な関係は無く、私が会社で勝手自発的に行っている取り組みについて書きたいと思います。 昨今、インターネットは生活に深く浸透し、クラウドサービスを利用することで安く簡単にWebサービスを開発、公開できるようになりました。Web技術の進化や流行の移り変りも非常に激しく、既存サービスの機能追加や新規サービスの開発は頻繁に行われています。それは弊社も例外ではありません。 このような開発の現場では、リーンソフトウェア開発への取り組みなど開発手法の最適化が積極的に行われ、様々なベストプラクティスが生みだされています。それらのベストプラクティスには、 継続的インテグレーション や 継続的デプロイメント
The Jupyter Notebook¶ (Formerly known as the IPython Notebook)¶ The IPython Notebook is now known as the Jupyter Notebook. It is an interactive computational environment, in which you can combine code execution, rich text, mathematics, plots and rich media. For more details on the Jupyter Notebook, please see the Jupyter website. © Copyright the IPython development team. Python is trademark of the
Sphinxでは、ナビゲーションバーなどの文字列を各国語にする機能を提供していましたが、 文章 そのものを翻訳する機能を提供します。細かい設定については 国際化のオプション を参照してください。 Sphinx 国際化について¶ gettext [1] は国際化とローカル化の手段として、よく使用されている方法です。プログラム中で使用されるメッセージと、翻訳文字列の対応表を使って置き換えてきます。Sphinxはこの機能を使って、ドキュメント全体を翻訳していきます。 まず最初に、プロジェクトのメンテナーはすべての翻訳文字列を集めてくる必要があります(これを メッセージ と呼ぶ)。これを翻訳者に渡します。Sphinxでは、 sphinx-build -b gettext を実行して、これを行います。 すべてdoctreeの要素は、それぞれがメッセージとなります。巨大なパラグラフは原文のまま残ります
先日、Python の静的型チェッカーとして mypy を紹介しました。 mypy で静的型付け Python プログラミング - forest book 私には難しくてまとめきれないため、Guido が参照している漸進的型付け (Gradual Typing) も含め、また別の機会に、、、。 とか言っているうちに1ヶ月ほど経ってしまいました。 そうこうしているうちに PEP のドラフトも出てきたので区切りとしてまとめておきます。一通り調べたことを基にして書いていますが、私の誤解や勘違いもあるでしょうから怪しいところがあったら調べ直してみてください。もちろんツッコミも大歓迎です。 型ヒント (Type Hints) を導入するという提案 PEP 483 - The Theory of Type Hints | Python.org PEP 484 - Type Hints | Python
複数プロジェクトを抱えるチームでのデプロイ自動化 1つのチームで,10以上のプロジェクト,コードベースを抱える場合にどのようにデプロイの自動化を進めたか,工夫したこと,考慮したことなどをまとめておく. デプロイツールには,Python製のfabricを採用しているが,他のツールでも同様のことはできそう.なお,fabricの基本的な使い方などは既にインターネット上に良い記事がたくさんあるので書かない(最後の参考の項を見てください). fabricの選択 シェルスクリプトとCapistranoを考慮した. まず,シェルスクリプトは人によって書き方が違うため,統一が難しくメンテナンスコストも高い.また共通化も難しい. 次に,Capistranoは,裏でやってくれることが多く,学習コストも高い.プロジェクトによってはかなり特殊な環境へのデプロイも抱えているため,Capistranoの前提から外れる
はじめに こんにちは、Python界の情弱です。最近は色々とPythonの開発環境も変化してきていて、ようやくPython2.xとPython3.xを行き来しながら開発する体制が整ってきたという印象を受けています。ここしばらくは色々と試していたのですが、ようやく鉄板っぽい方法にたどり着いたのでメモしておきます。 なお、後半はPythonに限らない内容なので、他のLLを使っていても使えそうかなと思っています。この環境を設定すると何ができるのかというと、以下のことすべてが、無料で、自鯖を立てることなく行えます。 開発環境の整理(virtualenv) ローカルでの複数環境のテスト容易化(tox+pytest) CIによるテスト(Travis-CI) ドキュメントの自動ビルドおよびドキュメントの公開(ReadTheDocs) 概要 とりあえず全体像を先に共有しておきます。ちょっとでかいですがご了
Python のテストツールに pytest があります。ここ最近、徐々にテストを書くのに慣れてきて、さらにテスト設計や知見を高めようという思いが強くなってきました。 pytest は、wikipedia:設定より規約 を設計原則とするツールです。Python は明示する文化なのでやや違和感を感じる人もいるかもしれません。さらに xUnit スタイルではない funcarg という関数の引数をフックしてリソースインジェクションを行う仕組みを提供するなど、私にとっては新たな概念を学ぶのにおもしろそうな題材に見えました。 Holger Krekel 氏と出会い 先日 PyCon US 2012 に参加して、pytest の作者 Holger Krekel 氏と出会い、話すことができました。 最初に会ったのはカンファレンスが始まる前日のチュートリアルデーで、手持ち無沙汰な様子に見えたので、ランダ
趣味プログラマです、こんにちわ。一応生きてます。 さて、Pythonista各位におかれましてはmoratoriumをエンジョイされていますでしょうか。そろそろライブラリも著名なものはPython3に対応してきましたし、そろそろ本格的にPython3、となっているころ合いですね。というか、Python3に対応してないとちょっと恥ずかしくなってきましたね。 とはいえ、Python2は根強く残るでしょう。というわけでPython2とPython3両方で動くコードを書きましょう。テストも書くのは当たり前ですし、せっかくなのでCIもしましょう。 と私も最近思ったので快適に開発を進めるための環境についてメモです。 github : 言わずもがなですね。 travis : githubと連携してCIできるサービス。P言語にも対応していて、最近アツいです。 tox : 複数のPython処理系でvirt
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く