Pokémon -Pokeapi.coのRestful API
ベータグラフクルサポートが展開されています!詳細については、GraphQL段落をご覧ください。
このソースコードをワーキングディレクトリにダウンロードしてください。フラグ--recurse-submodulesを使用して、サブモジュールもクローンしてください。
PIPを使用して要件をインストールします。
make install
# This will install all the required packages and libraries for using PokeAPI次のコマンドを使用してローカル開発環境を設定します。
make setup次のコマンドを使用して、ポート8000でサーバーを実行します。
make serveCSVファイルの更新を適用してデータベースを構築または再構築するには、実行してください
make build-dblocalhost:8000/api/v2/にアクセスして、実行中のAPIをご覧ください!
build-dbスクリプトが実行されるたびに、データベース内の各テーブルを繰り返し、それをワイプし、データ/V2/CSVにあるデータを使用して各行を書き直します。
データベースを一掃する必要がある場合は、このコマンドを使用してください。
make wipe-sqlite-dbデータベーススキーマが変更された場合は、未解決の移行を生成して適用します
make make-migrations
make migrateすべてのタスクを確認するためにヘルプを作成make help 。
Docker Compose V2によって管理されるマルチコンテナーセットアップもあります。このセットアップを使用すると、各サービスに個別のコンテナを備えた生産のような環境を展開でき、Pokéapiを単純にスピンアップする必要がある場合はお勧めします。
すべてを始めてください
make docker-setupマシンにmakeていない場合は、次のコマンドを使用できます
docker compose up -d
docker compose exec -T app python manage.py migrate --settings=config.docker-compose
docker compose exec -T app sh -c ' echo "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker-compose ' localhost/api/v2/or localhost/api/v2/pokemon/bulbasaur/ポート80を参照してください。
データベースを再構築し、CSVファイルの更新を適用するには、実行します
make docker-build-dbデータベーススキーマが変更された場合は、移行を生成し、それらを適用します
make docker-make-migrations
make docker-migrate上記のDocker Compose SetupでPokéapiを開始すると、Hasura Engineサーバーも開始されます。すべてのPokeapiテーブルと外国の鍵を単純に追跡することが可能です
# hasura cli needs to be installed and available in your $PATH: https://hasura.io/docs/latest/graphql/core/hasura-cli/install-hasura-cli.html
# hasura cli's version has to greater than v2.0.8
make hasura-apply完了したら、http:// localhost:8080を参照すると、管理コンソールが見つかります。 GraphQLエンドポイントは、http:// localhost:8080/v1/graphqlでホストされます。
無料のグラフィクルコンソールは、アドレスhttps://beta.pokeapi.co/graphql/console/で閲覧可能です。相対GraphQLエンドポイントは、https://beta.pokeapi.co/graphql/v1betaでアクセスできます
一連の例は、このリポジトリのディレクトリ /GraphQL /例に記載されています。
kustomizeファイルは、フォルダーhttps://github.com/pokeapi/pokeapi/tree/master/resources/k8s/kustomize/base/で提供されています。秘密を作成して変更します:
cp Resources/k8s/kustomize/base/secrets/postgres.env.sample Resources/k8s/kustomize/base/secrets/postgres.env
cp Resources/k8s/kustomize/base/secrets/graphql.env.sample Resources/k8s/kustomize/base/secrets/graphql.env
cp Resources/k8s/kustomize/base/config/pokeapi.env.sample Resources/k8s/kustomize/base/config/pokeapi.env
# Edit the newly created filesクラスターを指すようにkubectlを構成し、次のコマンドを実行してPokéapiサービスを開始します。
kubectl apply -k Resources/k8s/kustomize/base/
kubectl config set-context --current --namespace pokeapi # (Optional) Set pokeapi ns as the working ns
# Wait for the cluster to spin up
kubectl exec --namespace pokeapi deployment/pokeapi -- python manage.py migrate --settings=config.docker-compose # Migrate the DB
kubectl exec --namespace pokeapi deployment/pokeapi -- sh -c ' echo "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker-compose ' # Build the db
kubectl wait --namespace pokeapi --timeout=120s --for=condition=complete job/load-graphql # Wait for Graphql configuration job to finishこのK8Sセットアップは、名前空間pokeapi内のすべてのK8Sリソースを作成し、 kubectl delete namespace pokeapi削除します。また、ポート80および443で公開されるタイプLoadBalancerのサービスを作成します。 ReadWriteOnceボリュームの12Giでデータが持続します。
| 公式ラッパー | リポジトリ | 特徴 |
|---|---|---|
| ノードサーバー側 | pokeapi/pokedex-promise-v2 | オートキャッシング |
| ブラウザクライアント側 | pokeapi/pokeapi-js-wrapper | 自動キャッシュ、画像キャッシュ |
| Java/Kotlin | Pokeapi/Pokekotlin | |
| Python 2/3 | Pokeapi/Pokepy | オートキャッシング |
| Python 3 | Pokeapi/Pokebase | 自動キャッシュ、画像キャッシュ |
| ラッパー | リポジトリ | 特徴 |
|---|---|---|
| .NET標準 | mtrdp642/pokeapinet | オートキャッシング |
| ダート | Prathanbomb/Pokedart | |
| 行く | mtslzr/pokeapigo | オートキャッシング |
| Php | lmerotta/phpokeapi | 自動キャッシュ、怠zyなロード |
| Powershell | Celerium/Pokeapi-Powershellwrapper | |
| Python | Beastmatser/aiopokeapi | 自動キャッシュ、非同期 |
| ルビー | rdavid1099/poke-api-v2 | |
| さび | lunik1/pokerust | オートキャッシング |
| スカラ | ジュリアーノ/ポケアスカラ | オートキャッシング |
| スプリングブート | dlfigueira/spring-pokeapi | オートキャッシング |
| 迅速 | Kinkofer/Pokemonapi | |
| タイプスクリプトサーバー側/クライアント側 | gabb-c/pokenode-ts | オートキャッシング |
ポケアピを走らせるのを手伝ってください! Pokéapiを教育リソースとして、またはプロジェクトのために使用している場合は、サービスを維持するために寄付を送ることを検討してください。月に1億以上のリクエストがあります!
すべての支援者に感謝します!支援者になります
警告は現在、メンテナーがSLACKでコミュニティをサポートするのに十分な自由時間を持っていません。私たちのスラックは維持されていないステータスです。
質問がありますか、それとも新しいアイデアや改善について話し合いたいだけですか? Slackで私たちを襲ってください。新しい問題を作成する前に、ここで私たちと話すことを検討してください。このようにして、ここでは、長期的にはもう少し組織化され、役立つ問題を維持できます。お互いに優れていますか?
簡単にサインアップしてください!
サインアップしたら、SlackでPokéapiにアクセスしてください
このプロジェクトは、貢献するすべての人々のおかげで存在します
すべての貢献は歓迎されます:バグの修正、データの貢献、および推奨事項。
Pullリクエストを送信するか、問題を提起する前に、GitHubの問題をご覧ください。他の誰かがあなたを打ち負かしたかもしれません。
このリポジトリに貢献するには:
プロジェクトを独自のGitHubプロファイルにフォークします
Gitクローンを使用してフォークプロジェクトをダウンロードしてください。
git clone --recurse-submodules [email protected]: < YOUR_USERNAME > /pokeapi.git説明的な名前の新しいブランチを作成します。
git checkout -b my_new_branchいくつかのコードを書き、何かを修正し、それが機能することを証明するテストを追加します。新しい機能が追加された場合、テストが合格したり、新しいテストなしでプルリクエストは受け入れられません。
コードをコミットして、それをgithubにプッシュします
新しいプルリクエストを開き、行った変更を説明してください。
レビュー後の変更を受け入れます。
単純!
2018年10月現在、V1 APIはPokéapiから削除されました。詳細については、pokeapi.co/docs/v1.htmlを参照してください。