flow-it-api 0.0.1.0b4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- flow_it_api-0.0.1.0b4/.github/workflows/ci.yml +53 -0
- flow_it_api-0.0.1.0b4/.github/workflows/docs.yml +28 -0
- flow_it_api-0.0.1.0b4/.github/workflows/publish.yml +30 -0
- flow_it_api-0.0.1.0b4/.gitignore +157 -0
- flow_it_api-0.0.1.0b4/.pre-commit-config.yaml +21 -0
- flow_it_api-0.0.1.0b4/.vscode/settings.json +14 -0
- flow_it_api-0.0.1.0b4/LICENSE +674 -0
- flow_it_api-0.0.1.0b4/PKG-INFO +143 -0
- flow_it_api-0.0.1.0b4/README.md +117 -0
- flow_it_api-0.0.1.0b4/docs/contributing.md +37 -0
- flow_it_api-0.0.1.0b4/docs/index.md +3 -0
- flow_it_api-0.0.1.0b4/docs/license.md +21 -0
- flow_it_api-0.0.1.0b4/docs/reference/auth.md +3 -0
- flow_it_api-0.0.1.0b4/docs/reference/client.md +3 -0
- flow_it_api-0.0.1.0b4/docs/reference/const.md +3 -0
- flow_it_api-0.0.1.0b4/docs/reference/exceptions.md +3 -0
- flow_it_api-0.0.1.0b4/docs/reference/models.md +3 -0
- flow_it_api-0.0.1.0b4/docs/reference/websocket.md +3 -0
- flow_it_api-0.0.1.0b4/example.py +116 -0
- flow_it_api-0.0.1.0b4/mkdocs.yml +63 -0
- flow_it_api-0.0.1.0b4/pyproject.toml +68 -0
- flow_it_api-0.0.1.0b4/requirements-dev.txt +13 -0
- flow_it_api-0.0.1.0b4/requirements.txt +3 -0
- flow_it_api-0.0.1.0b4/specs/VMC_API_V1.0.1.yaml +583 -0
- flow_it_api-0.0.1.0b4/src/flow_it_api/__init__.py +13 -0
- flow_it_api-0.0.1.0b4/src/flow_it_api/auth.py +98 -0
- flow_it_api-0.0.1.0b4/src/flow_it_api/client.py +221 -0
- flow_it_api-0.0.1.0b4/src/flow_it_api/const.py +48 -0
- flow_it_api-0.0.1.0b4/src/flow_it_api/exceptions.py +21 -0
- flow_it_api-0.0.1.0b4/src/flow_it_api/models.py +182 -0
- flow_it_api-0.0.1.0b4/src/flow_it_api/websocket.py +92 -0
- flow_it_api-0.0.1.0b4/tests/__init__.py +0 -0
- flow_it_api-0.0.1.0b4/tests/test_auth.py +50 -0
- flow_it_api-0.0.1.0b4/tests/test_client.py +66 -0
- flow_it_api-0.0.1.0b4/tests/test_models.py +101 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
lint:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- name: Set up Python
|
|
15
|
+
uses: actions/setup-python@v5
|
|
16
|
+
with:
|
|
17
|
+
python-version: "3.11"
|
|
18
|
+
cache: 'pip'
|
|
19
|
+
- name: Install dependencies
|
|
20
|
+
run: |
|
|
21
|
+
python -m pip install --upgrade pip
|
|
22
|
+
pip install -e .[dev]
|
|
23
|
+
- name: Run black
|
|
24
|
+
run: black --check src tests
|
|
25
|
+
- name: Run isort
|
|
26
|
+
run: isort --check-only src tests
|
|
27
|
+
- name: Run mypy
|
|
28
|
+
run: mypy src
|
|
29
|
+
|
|
30
|
+
test:
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
strategy:
|
|
33
|
+
matrix:
|
|
34
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
35
|
+
steps:
|
|
36
|
+
- uses: actions/checkout@v4
|
|
37
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
38
|
+
uses: actions/setup-python@v5
|
|
39
|
+
with:
|
|
40
|
+
python-version: ${{ matrix.python-version }}
|
|
41
|
+
cache: 'pip'
|
|
42
|
+
- name: Install dependencies
|
|
43
|
+
run: |
|
|
44
|
+
python -m pip install --upgrade pip
|
|
45
|
+
pip install -e .[dev]
|
|
46
|
+
- name: Run tests with pytest
|
|
47
|
+
run: pytest --cov=src --cov-report=xml
|
|
48
|
+
- name: Upload coverage to Codecov
|
|
49
|
+
uses: codecov/codecov-action@v4
|
|
50
|
+
with:
|
|
51
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
52
|
+
file: ./coverage.xml
|
|
53
|
+
fail_ci_if_error: false
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
deploy:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0 # Necessary for hatch-vcs to determine version
|
|
18
|
+
- name: Set up Python
|
|
19
|
+
uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version: "3.11"
|
|
22
|
+
cache: 'pip'
|
|
23
|
+
- name: Install dependencies
|
|
24
|
+
run: |
|
|
25
|
+
python -m pip install --upgrade pip
|
|
26
|
+
pip install -e .[dev]
|
|
27
|
+
- name: Deploy to GitHub Pages
|
|
28
|
+
run: mkdocs gh-deploy --force
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*.*.*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-and-publish:
|
|
10
|
+
name: Build and publish Python distribution to PyPI
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
id-token: write # Mandatory for Trusted Publishing
|
|
14
|
+
contents: read # Mandatory for checking out private repos
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
- name: Set up Python
|
|
20
|
+
uses: actions/setup-python@v5
|
|
21
|
+
with:
|
|
22
|
+
python-version: "3.11"
|
|
23
|
+
- name: Install build dependencies
|
|
24
|
+
run: |
|
|
25
|
+
python -m pip install --upgrade pip
|
|
26
|
+
pip install build
|
|
27
|
+
- name: Build binary wheel and source tarball
|
|
28
|
+
run: python -m build
|
|
29
|
+
- name: Publish package distributions to PyPI
|
|
30
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Often these are written by the Python interpreter when processing
|
|
31
|
+
# certificates in macOS or Linux; these are cache files.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.nox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*.cover
|
|
49
|
+
*.py,cover
|
|
50
|
+
.status
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
pytestdebug.log
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
*.log
|
|
60
|
+
local_settings.py
|
|
61
|
+
db.sqlite3
|
|
62
|
+
db.sqlite3-journal
|
|
63
|
+
|
|
64
|
+
# Flask stuff:
|
|
65
|
+
instance/
|
|
66
|
+
.webassets-cache
|
|
67
|
+
|
|
68
|
+
# Scrapy stuff:
|
|
69
|
+
.scrapy
|
|
70
|
+
|
|
71
|
+
# Sphinx documentation
|
|
72
|
+
docs/_build/
|
|
73
|
+
|
|
74
|
+
# PyBuilder
|
|
75
|
+
.pybuilder/
|
|
76
|
+
target/
|
|
77
|
+
|
|
78
|
+
# Jupyter Notebook
|
|
79
|
+
.ipynb_checkpoints
|
|
80
|
+
|
|
81
|
+
# IPython
|
|
82
|
+
profile_default/
|
|
83
|
+
ipython_config.py
|
|
84
|
+
|
|
85
|
+
# pyenv
|
|
86
|
+
# For a library or package, you might want to ignore these files since the Python version
|
|
87
|
+
# is usually managed by the user.
|
|
88
|
+
# .python-version
|
|
89
|
+
|
|
90
|
+
# pipenv
|
|
91
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
92
|
+
# However, in case of collaboration, if you work with a virtual environment in the same directory,
|
|
93
|
+
# it is better to exclude the folder.
|
|
94
|
+
# .venv/
|
|
95
|
+
# Pipfile.lock
|
|
96
|
+
|
|
97
|
+
# poetry
|
|
98
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
99
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
100
|
+
# poetry.lock
|
|
101
|
+
|
|
102
|
+
# pdm
|
|
103
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
104
|
+
# pdm.lock
|
|
105
|
+
# pdm stores project-wide configurations in .pdm-python
|
|
106
|
+
.pdm-python
|
|
107
|
+
# pdm stores project-wide configurations in .pdm.toml
|
|
108
|
+
.pdm.toml
|
|
109
|
+
|
|
110
|
+
# PEP 582; used by e.g. github.com/pdm-project/pdm
|
|
111
|
+
__pypackages__/
|
|
112
|
+
|
|
113
|
+
# Celery stuff
|
|
114
|
+
celerybeat-schedule
|
|
115
|
+
celerybeat.pid
|
|
116
|
+
|
|
117
|
+
# SageMath parsed files
|
|
118
|
+
*.sage.py
|
|
119
|
+
|
|
120
|
+
# Launch.json
|
|
121
|
+
.vscode/launch.json
|
|
122
|
+
|
|
123
|
+
# Environments
|
|
124
|
+
.env
|
|
125
|
+
.venv
|
|
126
|
+
env/
|
|
127
|
+
venv/
|
|
128
|
+
ENV/
|
|
129
|
+
env.bak/
|
|
130
|
+
venv.bak/
|
|
131
|
+
|
|
132
|
+
# Spyder project settings
|
|
133
|
+
.spyderproject
|
|
134
|
+
.spyproject
|
|
135
|
+
|
|
136
|
+
# Rope project settings
|
|
137
|
+
.ropeproject
|
|
138
|
+
|
|
139
|
+
# mkdocs documentation
|
|
140
|
+
/site
|
|
141
|
+
|
|
142
|
+
# mypy
|
|
143
|
+
.mypy_cache/
|
|
144
|
+
.dmypy.json
|
|
145
|
+
dmypy.json
|
|
146
|
+
|
|
147
|
+
# Pyre type checker
|
|
148
|
+
.pyre/
|
|
149
|
+
|
|
150
|
+
# pytype static type analyzer
|
|
151
|
+
.pytype/
|
|
152
|
+
|
|
153
|
+
# Cython debug symbols
|
|
154
|
+
cython_debug/
|
|
155
|
+
|
|
156
|
+
# PyCharm
|
|
157
|
+
.idea/
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/psf/black
|
|
3
|
+
rev: 24.3.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: black
|
|
6
|
+
- repo: https://github.com/pycqa/isort
|
|
7
|
+
rev: 5.13.2
|
|
8
|
+
hooks:
|
|
9
|
+
- id: isort
|
|
10
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
11
|
+
rev: v1.15.0
|
|
12
|
+
hooks:
|
|
13
|
+
- id: mypy
|
|
14
|
+
additional_dependencies: [httpx, pydantic, websockets]
|
|
15
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
16
|
+
rev: v4.5.0
|
|
17
|
+
hooks:
|
|
18
|
+
- id: trailing-whitespace
|
|
19
|
+
- id: end-of-file-fixer
|
|
20
|
+
- id: check-yaml
|
|
21
|
+
- id: check-added-large-files
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe",
|
|
3
|
+
"python.testing.pytestArgs": [
|
|
4
|
+
"tests"
|
|
5
|
+
],
|
|
6
|
+
"python.testing.unittestEnabled": false,
|
|
7
|
+
"python.testing.pytestEnabled": true,
|
|
8
|
+
"python.analysis.extraPaths": [
|
|
9
|
+
"./src"
|
|
10
|
+
],
|
|
11
|
+
"terminal.integrated.env.windows": {
|
|
12
|
+
"PYTHONPATH": "${workspaceFolder}/src"
|
|
13
|
+
}
|
|
14
|
+
}
|