GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

PokeAPI

pokeapi – ポケモンAPI

投稿日:

ポケAPI

ポケモンのためのRESTful API

ライセンス: BSD

http://pokeapi.co

フェアユースポリシー

PokéAPIはオープンで無料です。 ただし、この特権を乱用するIPアドレスは禁止されます。 このAPIは、主に教育目的で使用されており、他の人の教育を妨げる人を望まない。 詳細については、ドキュメントのフェアユースガイドを参照してください。 さらに、リクエストをキャッシュすることを強くお勧めします。下記のWrapperセクションを参照してください。

スラックに参加しよう!

質問がありましたか、新しいアイデアや改善点について議論したいだけですか? 余裕をもって私たちを襲ってください。 新しい問題を作成する前に、ここで私たちと話をすることを検討 このようにして、ここで問題をより整理して長期的に役立つことができます。 お互いに優れている:)

簡単にサインアップ

あなたがサインアップしたら、SlackでPokeAPIを訪れてください

寄付

PokéAPIの稼働を維持するのに役立ちます! PokéAPIを教材やプロジェクトとして使用している場合は、サーバーを保つために10ドルの寄付を送ることを検討してください。 私たちは月に200万件以上のリクエストを受け取り、それはかなり高価です!

私たちの後援者に感謝します! [ 後ろになる ]

スポンサー

あなたの会社にスポンサーになることによってこのオープンソースプロジェクトをサポートするよう依頼してください。

公式ラッパー

拒否

非常に多くのデータがV1 APIから欠落しています。

2015年1月現在、新しいデータはv1 APIに追加されません。代わりにV2 APIを使用する必要があります。

詳細については、 このブログ記事を参照してください

セットアップ

  • このソースコードを作業ディレクトリにダウンロードしてください。

  • pipを使用して要件をインストールします。

$ make install

これにより、PokeAPIを使用するために必要なパッケージとライブラリがすべてインストールされます

  • 次のコマンドを使用して、ローカル開発者環境を設定します。
$ make setup
  • 次のコマンドを使用してサーバーを実行します。
$ make serve

実行中のWebサイトを表示するには、localhost:8000を参照してください。

データベースを消去する必要がある場合は、次のコマンドを使用します。

$ make wipe_db

V1データベースのセットアップ

Djangoシェルを起動する

$ python manage.py shell --settings=config.local

ビルド関数のインポート

$ from data.v1.build import *

関数を実行してv1テーブルを生成する

$ build_pokes()
$ build_abilities()
$ build moves()
etc...

V2データベースの設定

Djangoシェルを起動する

$ python manage.py shell --settings=config.local

ビルドスクリプトを

$ from data.v2.build import build_all
$ build_all()

ビルドスクリプトを実行するたびに、データベース内の各テーブルを繰り返し処理し、data / v2 / csvにあるデータを使用して各行を書き換えて書き換えます。 sqliteをビルドするとき、データベースの構築を完了するのにばかげて長い時間がかかると聞いてきました。 この場合、必要なdbの部分だけを設定することができます。

$ from data.v2.build import *
$ build_languages()
$ build_abilities()
...

データ構築関数のリストを得ます

  • build_languages()
  • build_regions()
  • build_generations()
  • build_versions()
  • build_stats()
  • build_damage_classes()
  • build_abilities()
  • build_characteristics()
  • build_egg_groups()
  • build_growth_rates()
  • build_items()
  • build_types()
  • build_contests()
  • build_moves()
  • build_berries()
  • build_natures()
  • build_genders()
  • build_experiences()
  • build_machines()
  • build_evolutions()
  • build_pokedexes()
  • build_locations()
  • build_pokemons()
  • build_encounters()
  • build_pal_parks()

ドッカー

アプリケーションを簡単に構築できるDockerコンテナとして構築して実行できます

複製されたレポのルートディレクトリから

docker build -t pokeapi .

ホストポート8000​​でコンテナを実行する

docker run -d -p 8000:8000 pokeapi

ドッカーの作成

Docker Composeによって管理されるマルチコンテナの設定もあります。 この設定では、サービスごとに個別のコンテナを使用して、実働環境のような環境を展開できます。

RedisとPostgresのデータボリュームを作成する

docker volume create --name=redis_data
docker volume create --name=pg_data

プロセスを使用して開始する

docker-compose up

分離モードで起動する-dスイッチを指定できます。
ポート80と443がバインドされます。残念ながら、 dockerコマンドとは異なり、ポートを指定するコマンドライン引数はありません。 それらを変更したい場合は、 docker-compose.ymlファイルを編集してください。

その後、移行プロセスを開始します

docker-compose exec app python manage.py migrate

次に、シェルを使用してデータをインポートします

docker-compose exec app python manage.py shell

build_all()メソッドまたは個別のデータ構築関数を使用することができます(「 V2データベースの設定 」を参照)

from data.v2.build import build_all
build_all()

現時点では、この設定ではscaleコマンドを使用できません。

貢献する

このプロジェクトは、貢献するすべての人々のおかげで行われます。 [寄稿]

すべての寄付は歓迎です:バグ修正、データ投稿、推奨。

プルリクエストを提出する前にGitHub問題を参照するか、 問題を提起してください。他の誰かがあなたにそれを打つかもしれません。

このリポジトリに貢献するには:

git clone git@github.com:<YOUR_USERNAME>/pokeapi.git
  • わかりやすい名前で新しいブランチを作成します。
git checkout -b my_new_branch
  • いくつかのコードを書いて何かを修正し、それが動作することを証明するテストを追加します。 テストをパスしないと、プルリクエストは受け付けられません。また、新しい機能が追加された場合は、新しいテストは必要ありません。

  • コードをコミットし、GitHubにプッシュします。

  • 新しいプルリクエスト開き、変更内容を記述します。

  • レビュー後に変更内容を承認いたします。

シンプル!







-PokeAPI
-, ,

執筆者: