サイトの種類 | Pythonフレームワーク開発 |
|---|---|
| 入手可能な | 英語 |
| 所有者 | オープンソース |
| エディタ | 匿名 |
| URL | pylonsproject.org |
| コマーシャル | いいえ |
| 登録 | なし |
| 発売 | 2010年12月27日 (2010年12月27日) |
| 現在の状況 | アクティブ |
Pylons プロジェクトは、 Pythonで書かれた一連の Web アプリケーション技術を開発するオープンソース組織です。当初は Pylons という単一の Web フレームワークでしたが、repoze.bfg フレームワークとの統合により Pyramid という新しい名前が付けられ、現在では複数の関連する Web アプリケーション技術で構成されています。
ピラミッド
| ピラミッド | |
|---|---|
| 開発者 | クリス・マクドノー、ベン・バンガート、マイケル・メリケル、デルタ・リギア、スティーブ・ピアシー |
| 初回リリース | 2008年7月8日[ 1 ] (2008年7月8日) |
| 安定版リリース | |
| リポジトリ | github |
| 書かれた | パイソン |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | Webアプリケーションフレームワーク |
| ライセンス | BSDライク[ 3 ] |
| Webサイト | trypyramid.com |
PyramidはPythonで書かれたオープンソースの Webフレームワークで、WSGIをベースにしています。Zope 、Pylons、DjangoにインスパイアされたミニマルなWebフレームワークです。[ 4 ]
Pyramidは元々「repoze.bfg」と呼ばれていましたが、Open Society InstituteのKARLプロジェクトがPloneからBFGに移行したため、主にZope [ 5 ]とPloneコミュニティで注目を集めました。 [ 6 ] 2010年に、Pylonsフレームワークはバージョン1.5でBFGをベースとして使用するように移行することが発表されました。[ 7 ] BFGがPylonsプロジェクトに取り込まれた結果、BFGはPyramidに改名されました。[ 8 ]
特徴
Pyramidは、プラットフォームに依存しないミニマルなWebフレームワークです。永続性に依存しないため、 SQLAlchemy経由のSQLデータベース、 Zope Object Database、そしてCouchDBなどのNoSQLデータベースと統合されています。[ 4 ]
Pyramidでは、開発者はオブジェクトにマッピングする正規表現を用いてルートを定義できます。また、Pyramidは階層的なオブジェクトトラバーサルもサポートしており、URLの各部分が他のオブジェクトを含むオブジェクトであり、ファイルシステムのフォルダに似ています。[ 9 ]
Pylons ウェブフレームワーク
| Pylons フレームワーク | |
|---|---|
| 開発者 | ベン・バンガート、ジェームズ・ガードナー |
| 初回リリース | 2005年9月[ 10 ] (2005-09) |
| 安定版リリース | |
| リポジトリ | github |
| 書かれた | パイソン |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | Webアプリケーションフレームワーク |
| ライセンス | BSDライセンス |
| Webサイト | pylonsproject |
Pylonsフレームワークは、 Pythonで書かれたオープンソースのWebアプリケーションフレームワークです。Web Server Gateway Interface標準を広範に活用することで、再利用性を高め、機能を個別のモジュールに分離しています。[ 12 ] Ruby on Railsの影響を強く受けており、主要コンポーネントであるRoutesとWebHelpersは、Railsの機能をPythonで再実装したものです。
構造
Pylons は、ほぼ完全なサードパーティ製ツールのスタックを備えており、「自社開発ではない」という現象を回避していることでよく知られています。
インストール、依存関係、セットアップ
Pylons の公式インストール方法は、 Python Package Index (PyPI)経由のEasyInstallです。追加ツールのほとんどは、通常同じ方法でインストールされます。EasyInstall は、必要に応じてパッケージの依存関係も処理します。一部のディストリビューションでは Pylons とPasteもパッケージ化できますが、どのディストリビューションのパッケージも公式ディストリビューションよりも遅れる可能性があります。Pylons は、.egg ファイルを .zip にリネームして中身を解凍することで、手動でインストールすることもできます。
Pasteは、プロジェクトのセットアップ、テスト、そしてデプロイメントに使用されます。共通のINI設定フォーマットを使用することで、Pasteは複数の「プロファイル」をサポートし、開発者はインタラクティブデバッガなどのPylonsの機密部分を本番環境に公開することなく、同じコードベースから開発とデプロイメントのセットアップを実行できます。
URLディスパッチ
現在、Pylons で広く使用されている URL ディスパッチャは Routes のみです。これは Ruby on Rails の URL ディスパッチャを Python で再実装したものですが、WSGI 互換の URL ディスパッチャであればどれでも使用できます。Routes は独立したライブラリですが、Pylons での使用を目的として開発されており、その開発は Pylons と密接に連携しています。
HTML生成
Pylons 向けに適応されたもう一つの Rails コンポーネントは WebHelpers です。これは Routes 設定に基づいた URL マッピングを提供します。WebHelpers は、script.aculo.usおよびPrototypeライブラリを利用してJavaScriptコードを生成するためのユーティリティ関数も提供しています。
FormEncode と FormBuild は HTML フォームの検証と生成に使用されます。Makoの継承モデルを使用したフォーム生成には Makoが使用されることもあります。
テンプレート
MyghtyはPylonsのデフォルトのテンプレート言語でしたが、バージョン0.9.6以降ではMakoに置き換えられました。[ 13 ]両方のテンプレート言語はテキストベース(XMLベースではなく)で、インクルード、継承、任意のPythonコードの埋め込みをサポートしています。
Pylonsは疎結合なレイヤー構造のため、他のテンプレート言語も使用できます。XMLベースのテンプレート言語であるGenshiは、MakoやMyghtyの代わりに使用できます。[ 14 ]
データベースの抽象化とオブジェクトリレーショナルマッピング
Pylons にはデフォルトのデータベースライブラリがありません。SQLObject と SQLAlchemy の両方が使用されることが知られています。
repoze.bfgとの合併とPyramid Web Frameworkの誕生
Pylons は Pylons プロジェクトへと発展し、Pylons 1.0 の古いコードは現在メンテナンス専用モードになっています。しかし、2010 年 11 月以降、プロジェクトは repoze.bfg と統合されたため、新しいバージョンの Pylons はオリジナルの Pylons 1.0 とは実際には異なります。Pylons の開発者は当初、コードの特定の部分を書き直す予定でしたが、新しいコードが repoze.bfg に近似していることに気づき、Pylons と repoze.bfg が統合されることになりました。[ 15 ] [ 16 ]これにより、repoze.bfg (Repoze Python ベースのウェブフレームワークの一部) はリブランドされ、Pyramid ウェブフレームワークとして再リリースされました。[ 17 ]
参照
- Django(ウェブフレームワーク)
- ファストAPI
- Flask(ウェブフレームワーク)
- Web2py
- TurboGears : Pylons をベースにした派生プロジェクト
- 竜巻
- ウェブフレームワークの比較
参考文献
- ^ 「Pyramidの変更履歴 — Pyramid Web Framework v2.0」 . docs.pylonsproject.org . 2021年4月26日閲覧。
- ^ 「リリース 2.0.2」 2023年8月25日. 2023年9月19日閲覧。
- ^ 「著作権、商標、帰属 — Pyramid Web Framework v2.0」 . docs.pylonsproject.org . 2021年4月26日閲覧。
- ^ a b Chris McDonough. 「repoze.bfg の紹介」 。 2013年12月30日時点のオリジナルよりアーカイブ。2010年9月21日閲覧。
- ^ Gary Poster (2010年9月17日). 「Zope Summit, DZUG, repoze.bfg」 . 2010年9月21日閲覧。
- ^ Thomas Moroz, Chris Rossi & Calvin Hendryx-Parker (2009年10月28日). KARL – 大規模ナレッジマネジメント. ブダペスト、ハンガリー: Ploneカンファレンス2009. 2010年6月2日時点のオリジナルよりアーカイブ。 2010年9月23日閲覧。
- ^ Ben Bangert (2010年9月18日). 「Pylons 2の構造を説明するメール」 . 2010年9月21日閲覧。
- ^ 「repoze.bfg は Pyramid になりました」。2010年11月13日時点のオリジナルよりアーカイブ。2011年1月3日閲覧。
- ^ Wichert Akkerman (2009年10月28日). 「他のフレームワークからの教訓」 . ハンガリー、ブダペスト:Ploneカンファレンス2009. イベント発生時刻:25:50.オリジナルより2013年4月18日アーカイブ. 2010年9月21日閲覧.
- ^パイロンの歴史
- ^ 「リリース 1.0.2」 2015年7月22日. 2018年7月22日閲覧。
- ^ mod_wsgiプロジェクトでは、 サポートされている主要な Python Web フレームワークのリストに Pylons と Pyramid の両方が含まれています。
- ^ Haas, Christoph Beginning Pylons Archived 2009-02-16 at the Wayback Machine . 2007年7月5日閲覧
- ^ Genshi Wiki Pylons with Genshi 2007年7月5日閲覧
- ^ Pylons プロジェクト FAQ。URL: https://pylonsproject.org/about-pylons-project.html
- ^ Pylonsとrepoze.bfgの合併に関するメモ。URL: "Be Groovie - Pylonsとrepoze.BFGの合併に関するメモ" 。 2012年3月4日時点のオリジナルよりアーカイブ。 2012年8月14日閲覧。
- ^ Pyramidについて。URL: https://trypyramid.com/
さらに読む
- ガードナー、ジェームズ(2009年1月)『パイロン決定版ガイド』バークレー、カリフォルニア州:Apress . doi : 10.1007/978-1-4302-0534-0 . ISBN 978-1-59059-934-1。