这个仓库 public-apis
是一个由社区成员和 APILayer 团队手动整理的公共 API 集合,包含来自多个领域的大量公共 API,可用于开发者构建自己的产品。以下是对该仓库的详细介绍:
仓库主要信息
- 仓库管理:由社区成员和 APILayer 团队共同维护。
- APILayer 简介:APILayer 是将 API 集成到任何产品中的最快方式,在 APILayer Marketplace 上有很多可用的 API。
仓库中的部分 API 列表
1. APILayer 旗下 API
API | 描述 | 调用方式 |
---|---|---|
IP Stack | 通过 IP 地址定位和识别网站访问者 | 运行于 Postman |
Marketstack | 免费、易用的 REST API 接口,以 JSON 格式提供全球股票市场数据 | 运行于 Postman |
Weatherstack | 以轻量级 JSON 格式为世界任何地点检索即时、准确的天气信息 | 运行于 Postman |
Numverify | 全球电话号码验证与查询 JSON API | 运行于 Postman |
Fixer | 一个简单轻量级的当前和历史外汇汇率 API | 运行于 Postman |
2. 其他领域 API
- 云存储与文件共享:如 Quip(团队文件共享和存储)、Storj(去中心化开源云存储)等。
- 游戏与漫画:包含 Riot Games(英雄联盟游戏信息)、Steam(Steam Web API 文档)等。
- 食品与饮料:例如 Kroger(超市数据)、Open Brewery DB(啤酒厂、苹果酒厂和精酿啤酒瓶装店)等。
- 开发相关:像 JSONbin.io(免费 JSON 存储服务)、Kroki(从文本描述创建图表)等。
仓库文件结构
.gitattributes
.gitignore
CONTRIBUTING.md
LICENSE
README.md
.github/
ISSUE_TEMPLATE.md
PULL_REQUEST_TEMPLATE.md
assets/
cs1586-APILayerLogoUpdate2022-LJ_v2-HighRes.png
workflows/
scripts/
README.md
github_pull_request.sh
requirements.txt
tests/
validate/
参与方式
- 贡献指南:可参考 Contributing Guide。
- 项目 API:API for this project
- 问题反馈:Issues
- 提交拉取请求:Pull Requests
自动化测试
仓库中有一个 GitHub Actions 工作流文件 .github/workflows/test_of_validate_package.yml
,用于在代码推送到 master
分支或提交拉取请求时,运行 validate
包的单元测试。测试步骤包括检出代码、设置 Python 环境、安装依赖和运行单元测试。
name: "Tests of validate package"
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
unittest:
name: 'Run tests of validate package'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.8'
- name: Install dependencies
run: python -m pip install -r scripts/requirements.txt
- name: Run Unittest
run: |
cd scripts
python -m unittest discover tests/ --verbose