PyFake-API-Server-Surveillance
🤖 A CI tool for monitoring a specific API end points and keeping fake API server always up-to-date.
Overview | Python versions support | Quickly Start | Documentation
Overview
Do you ever have experience about Back-End side does something change on the sly, but they don't sync the change with Font-End side and cause it be broken? Even you may have tool which could fake an API server, but you still need to update it manually (if you know the change). This tool Fake-API-Server-Surveillance targets to resolve this issue by everyone could automate the process about monitoring and updating the fake server which be built by Fake-API-Server.
Python versions support
The code base of PyFake-API-Server-Surveillance depends on another library Fake-API-Server. So it also only supports Python 3.8 version up.
Quickly Start
Here section would lead you quickly start to set up your first automation with PyFake-API-Server-Surveillance for keep monitoring Back-End side and keep the fake server always be the latest version under surveillance easily.
In basically, it has 3 steps: prepare your fake server, configure PyFake-API-Server-Surveillance and set action for GitHub Action.
Prepare Fake-API-Server
First of all, this tool only for Fake-API-Server. So you must have a GitHub project which records the details configuration of Fake-API-Server.
Configure Fake-API-Server-Surveillance
The detail settings of Fake-API-Server-Surveillance would be configured by YAML file. Here provide a sample configuration:
api-doc-url: 'http://127.0.0.1:1111/swagger-api'
fake-api-server:
server-type: rest-server
subcmd:
pull:
args:
- --config-path=./api.yaml
- --include-template-config
- --base-file-path=./
- --base-url=/test/v1
- --divide-api
git-info:
repo: 'TestUser/Back-End-Project'
commit:
author:
name: 'TestUser'
email: 'test@gmail.com'
message: ' 🧪 test commit message.'
github-info:
pull-request:
title: '🤖 Update API configuration'
body: '🚧 test content ...'
draft: true
labels:
- '🤖 update by bot'
Configure GitHub Action CI setting
Add a single CI workflow which only for monitoring Back-End side change as a scheduler:
name: Monitor Back-End API interface
on:
# In generally, it's reasonable that using schedule feature of GitHub Action to monitor the Back-End side API change..
schedule:
- cron: "15 4,5 * * *" # <=== Change this value
permissions:
contents: write # Need this to push commits
pull-requests: write # Need this to open pull request
jobs:
monitor-and-update:
runs-on: ubuntu-latest
steps:
# Clone the fake-api-server config
- name: Clone project
uses: actions/checkout@v4
# Monitor and update the config if it needs by opening pull request
- name: Run Fake-API-Server-Surveillance
uses: actions/PyFake-API-Server-Surveillance@v0.2.0
with:
config-path: <your fake-api-server-surveillance config>
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Congratulation! Now, you could just have a coffee and do anything you want to do without being worry about the fake server be expired. The CI workflow would be the trustworthy partner to help you keep monitoring and updating the fake server if it needs without missing any change.
Documentation
The documentation contains more details, demonstrations and anything you need about PyFake-API-Server-Surveillance.
- Getting start helps you start to prepare environment, install dependencies and configure the detail settings with explanation in detail.
- How to configure the details of surveillance?
- I have configuration right now. How can I set up a monitoring automation by CI?
- Want to learn more how to use it?
- Want to know more detail settings to customize surveillance?
- About the release notes.
Coding style and following rules
PyFake-API-Server-Surveillance follows coding styles black and PyLint to control code quality.
Downloading state
PyFake-API-Server-Surveillance still a young open source which keep growing. Here's its download state:
License
Metadata
Release files for fake-api-server-surveillance 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fake_api_server_surveillance-0.2.0.tar.gz | 29.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fake_api_server_surveillance-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 65.3 kB
Release files / fake_api_server_surveillance-0.2.0.tar.gz
| Download URL | fake_api_server_surveillance-0.2.0.tar.gz |
|---|---|
| Size | 29.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
71f269339b209e56f287aca53161c010910b3b2a1f54b47fbd46e867e2e62f03
|
|
BLAKE2b-256 checksum How to use checksums |
73798eb42dd85dff70cff093ba12b3e669aec07f3e8287e46e2c4a5f9adcbbd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.10.17 Linux/6.11.0-1013-azure
|
Release files / fake_api_server_surveillance-0.2.0-py3-none-any.whl
| Download URL | fake_api_server_surveillance-0.2.0-py3-none-any.whl |
|---|---|
| Size | 36.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4436677521d2b82e2a0e61445a892d27f1e9d64ef44f44fec22adab1fc7ec057
|
|
BLAKE2b-256 checksum How to use checksums |
a32e8ab638da4e4535d0f73462ac31ed09e18f47aca0c4c5c6cac23a708e25f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.10.17 Linux/6.11.0-1013-azure
|
Security for fake-api-server-surveillance 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.