Spaces:
Runtime error
Runtime error
Commit
·
1768d92
0
Parent(s):
initial commit
Browse files- .flake8 +12 -0
- .github/dependabot.yml +14 -0
- .github/release.yml +11 -0
- .github/workflows/merge-dependabot.yml +16 -0
- .github/workflows/test.yml +62 -0
- .gitignore +129 -0
- .vscode/extensions.json +8 -0
- .vscode/settings.json +12 -0
- LICENSE +21 -0
- Makefile +53 -0
- README.md +1 -0
- frontend/.eslintrc.cjs +31 -0
- frontend/.gitignore +24 -0
- frontend/README.md +47 -0
- frontend/build.js +30 -0
- frontend/package-lock.json +0 -0
- frontend/package.json +28 -0
- frontend/public/vite.svg +1 -0
- frontend/src/App.svelte +14 -0
- frontend/src/app.css +80 -0
- frontend/src/assets/svelte.svg +1 -0
- frontend/src/main.ts +8 -0
- frontend/src/vite-env.d.ts +2 -0
- frontend/svelte.config.js +7 -0
- frontend/tsconfig.json +20 -0
- frontend/tsconfig.node.json +9 -0
- frontend/vite.config.ts +18 -0
- poetry.lock +704 -0
- poetry.toml +2 -0
- pyproject.toml +30 -0
- zeno-evals-hub/__init__.py +0 -0
- zeno-evals-hub/frontend/index.html +28 -0
- zeno-evals-hub/runner.py +34 -0
.flake8
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[flake8]
|
2 |
+
extend-ignore = E203
|
3 |
+
max-line-length = 88
|
4 |
+
exclude =
|
5 |
+
# No need to traverse our git directory
|
6 |
+
.git,
|
7 |
+
# There's no value in checking cache directories
|
8 |
+
__pycache__,
|
9 |
+
# This contains our built documentation
|
10 |
+
build,
|
11 |
+
# This contains builds of flake8 that we don't want to check
|
12 |
+
dist,
|
.github/dependabot.yml
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
version: 2
|
2 |
+
updates:
|
3 |
+
- package-ecosystem: "github-actions"
|
4 |
+
directory: "/"
|
5 |
+
schedule:
|
6 |
+
interval: "monthly"
|
7 |
+
- package-ecosystem: "pip"
|
8 |
+
directory: "/"
|
9 |
+
schedule:
|
10 |
+
interval: "weekly"
|
11 |
+
- package-ecosystem: "npm"
|
12 |
+
directory: "/frontend/"
|
13 |
+
schedule:
|
14 |
+
interval: "weekly"
|
.github/release.yml
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
changelog:
|
2 |
+
categories:
|
3 |
+
- title: 🏕 Features
|
4 |
+
labels:
|
5 |
+
- "*"
|
6 |
+
exclude:
|
7 |
+
labels:
|
8 |
+
- dependencies
|
9 |
+
- title: 👒 Dependencies
|
10 |
+
labels:
|
11 |
+
- dependencies
|
.github/workflows/merge-dependabot.yml
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Auto-merge Dependabot PRs
|
2 |
+
on:
|
3 |
+
schedule:
|
4 |
+
- cron: "0 * * * *"
|
5 |
+
jobs:
|
6 |
+
auto_merge:
|
7 |
+
name: Auto-merge Dependabot PRs
|
8 |
+
|
9 |
+
runs-on: ubuntu-latest
|
10 |
+
|
11 |
+
steps:
|
12 |
+
- uses: akheron/dependabot-cron-action@v1
|
13 |
+
with:
|
14 |
+
token: ${{ secrets.GITHUB_TOKEN }}
|
15 |
+
auto-merge: "minor"
|
16 |
+
merge-method: "squash"
|
.github/workflows/test.yml
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: tests
|
2 |
+
|
3 |
+
on:
|
4 |
+
push:
|
5 |
+
branches:
|
6 |
+
- main
|
7 |
+
pull_request:
|
8 |
+
|
9 |
+
jobs:
|
10 |
+
test:
|
11 |
+
runs-on: ubuntu-latest
|
12 |
+
|
13 |
+
steps:
|
14 |
+
- uses: actions/checkout@v3
|
15 |
+
- uses: actions/setup-node@v3
|
16 |
+
- uses: actions/setup-python@v4
|
17 |
+
with:
|
18 |
+
python-version: 3.9
|
19 |
+
|
20 |
+
- name: Install Poetry
|
21 |
+
uses: snok/[email protected]
|
22 |
+
with:
|
23 |
+
virtualenvs-in-project: true
|
24 |
+
virtualenvs-path: ~/.virtualenvs
|
25 |
+
|
26 |
+
- name: Cache Poetry virtualenv
|
27 |
+
uses: actions/[email protected]
|
28 |
+
id: cache-poetry
|
29 |
+
with:
|
30 |
+
path: ~/.virtualenvs
|
31 |
+
key: poetry-${{ hashFiles('**/poetry.lock') }}
|
32 |
+
restore-keys: |
|
33 |
+
poetry-${{ hashFiles('**/poetry.lock') }}
|
34 |
+
- name: Install Poetry Dependencies
|
35 |
+
if: steps.cache-poetry.outputs.cache-hit != 'true'
|
36 |
+
run: poetry install --no-interaction --no-root
|
37 |
+
|
38 |
+
- name: Cache NPM packages
|
39 |
+
uses: actions/[email protected]
|
40 |
+
id: cache-npm
|
41 |
+
with:
|
42 |
+
path: ~/frontend/node_modules
|
43 |
+
key: npm-${{ hashFiles('~/frontend/**/package.lock') }}
|
44 |
+
restore-keys: |
|
45 |
+
npm-${{ hashFiles('~/frontend/**/package.lock') }}
|
46 |
+
|
47 |
+
- name: Install NPM packages
|
48 |
+
if: steps.cache-npm.outputs.cache-hit != 'true'
|
49 |
+
run: |
|
50 |
+
cd frontend/
|
51 |
+
npm i
|
52 |
+
|
53 |
+
- name: Build frontend
|
54 |
+
run: |
|
55 |
+
cd frontend/
|
56 |
+
npm run build
|
57 |
+
|
58 |
+
- name: Lint
|
59 |
+
run: make lint
|
60 |
+
|
61 |
+
- name: Check types
|
62 |
+
run: make typecheck
|
.gitignore
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
pip-wheel-metadata/
|
24 |
+
share/python-wheels/
|
25 |
+
*.egg-info/
|
26 |
+
.installed.cfg
|
27 |
+
*.egg
|
28 |
+
MANIFEST
|
29 |
+
|
30 |
+
# PyInstaller
|
31 |
+
# Usually these files are written by a python script from a template
|
32 |
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
33 |
+
*.manifest
|
34 |
+
*.spec
|
35 |
+
|
36 |
+
# Installer logs
|
37 |
+
pip-log.txt
|
38 |
+
pip-delete-this-directory.txt
|
39 |
+
|
40 |
+
# Unit test / coverage reports
|
41 |
+
htmlcov/
|
42 |
+
.tox/
|
43 |
+
.nox/
|
44 |
+
.coverage
|
45 |
+
.coverage.*
|
46 |
+
.cache
|
47 |
+
nosetests.xml
|
48 |
+
coverage.xml
|
49 |
+
*.cover
|
50 |
+
*.py,cover
|
51 |
+
.hypothesis/
|
52 |
+
.pytest_cache/
|
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 |
+
target/
|
76 |
+
|
77 |
+
# Jupyter Notebook
|
78 |
+
.ipynb_checkpoints
|
79 |
+
|
80 |
+
# IPython
|
81 |
+
profile_default/
|
82 |
+
ipython_config.py
|
83 |
+
|
84 |
+
# pyenv
|
85 |
+
.python-version
|
86 |
+
|
87 |
+
# pipenv
|
88 |
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
89 |
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
90 |
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
91 |
+
# install all needed dependencies.
|
92 |
+
#Pipfile.lock
|
93 |
+
|
94 |
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
95 |
+
__pypackages__/
|
96 |
+
|
97 |
+
# Celery stuff
|
98 |
+
celerybeat-schedule
|
99 |
+
celerybeat.pid
|
100 |
+
|
101 |
+
# SageMath parsed files
|
102 |
+
*.sage.py
|
103 |
+
|
104 |
+
# Environments
|
105 |
+
.env
|
106 |
+
.venv
|
107 |
+
env/
|
108 |
+
venv/
|
109 |
+
ENV/
|
110 |
+
env.bak/
|
111 |
+
venv.bak/
|
112 |
+
|
113 |
+
# Spyder project settings
|
114 |
+
.spyderproject
|
115 |
+
.spyproject
|
116 |
+
|
117 |
+
# Rope project settings
|
118 |
+
.ropeproject
|
119 |
+
|
120 |
+
# mkdocs documentation
|
121 |
+
/site
|
122 |
+
|
123 |
+
# mypy
|
124 |
+
.mypy_cache/
|
125 |
+
.dmypy.json
|
126 |
+
dmypy.json
|
127 |
+
|
128 |
+
# Pyre type checker
|
129 |
+
.pyre/
|
.vscode/extensions.json
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"recommendations": [
|
3 |
+
"svelte.svelte-vscode",
|
4 |
+
"ms-python.vscode-pylance",
|
5 |
+
"ms-python.python",
|
6 |
+
"njpwerner.autodocstring"
|
7 |
+
]
|
8 |
+
}
|
.vscode/settings.json
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"python.defaultInterpreterPath": ".venv/bin/python",
|
3 |
+
"python.formatting.provider": "black",
|
4 |
+
"python.linting.flake8Enabled": true,
|
5 |
+
"autoDocstring.docstringFormat": "google",
|
6 |
+
"editor.wordWrapColumn": 88,
|
7 |
+
"eslint.validate": ["javascript", "javascriptreact", "svelte"],
|
8 |
+
"python.testing.pytestEnabled": true,
|
9 |
+
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
10 |
+
"python.analysis.typeCheckingMode": "basic",
|
11 |
+
"editor.formatOnSave": true
|
12 |
+
}
|
LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MIT License
|
2 |
+
|
3 |
+
Copyright (c) 2023 Zeno
|
4 |
+
|
5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
+
of this software and associated documentation files (the "Software"), to deal
|
7 |
+
in the Software without restriction, including without limitation the rights
|
8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 |
+
copies of the Software, and to permit persons to whom the Software is
|
10 |
+
furnished to do so, subject to the following conditions:
|
11 |
+
|
12 |
+
The above copyright notice and this permission notice shall be included in all
|
13 |
+
copies or substantial portions of the Software.
|
14 |
+
|
15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21 |
+
SOFTWARE.
|
Makefile
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
all: lint typecheck clean
|
2 |
+
|
3 |
+
.PHONY: install
|
4 |
+
install:
|
5 |
+
@echo "==> 📦 Installing"
|
6 |
+
@cd frontend && npm i && npm run build
|
7 |
+
@poetry install
|
8 |
+
|
9 |
+
.PHONY: lint
|
10 |
+
lint:
|
11 |
+
@echo "==> 👕 Linting"
|
12 |
+
@poetry check
|
13 |
+
@poetry run black zeno-evals-hub/
|
14 |
+
@poetry run usort format zeno-evals-hub/
|
15 |
+
@poetry run flake8 zeno-evals-hub --statistics
|
16 |
+
@cd frontend && npm run lint
|
17 |
+
|
18 |
+
.PHONY: typecheck
|
19 |
+
typecheck:
|
20 |
+
@echo "==> ✅ Type checks"
|
21 |
+
@poetry run mypy -p zeno-evals-hub
|
22 |
+
@poetry run pyright zeno-evals-hub
|
23 |
+
@cd frontend && npm run check
|
24 |
+
|
25 |
+
.PHONY: build
|
26 |
+
build:
|
27 |
+
@echo "==> 👷♀️ Build"
|
28 |
+
@cd frontend && npm run build
|
29 |
+
@cd frontend && node build.js
|
30 |
+
@mv zeno-evals-hub/frontend/index.html zeno-evals-hub/frontend/index_og.html
|
31 |
+
@mv zeno-evals-hub/frontend/index_tmp.html zeno-evals-hub/frontend/index.html
|
32 |
+
@poetry build -v
|
33 |
+
@rm zeno-evals-hub/frontend/index.html
|
34 |
+
@mv zeno-evals-hub/frontend/index_og.html zeno-evals-hub/frontend/index.html
|
35 |
+
|
36 |
+
.PHONY: clean
|
37 |
+
clean:
|
38 |
+
@rm -rf dist
|
39 |
+
@rm -rf ./.zeno-evals-hub_cache
|
40 |
+
@find . -type d -name '.mypy_cache' -exec rm -rf {} +
|
41 |
+
@find . -type d -name '__pycache__' -exec rm -rf {} +
|
42 |
+
@find . -type d -name '*pytest_cache*' -exec rm -rf {} +
|
43 |
+
@find . -type f -name "*.py[co]" -exec rm -rf {} +
|
44 |
+
@find . -type d -name '*.ipynb_checkpoints' -exec rm -r {} +
|
45 |
+
|
46 |
+
.PHONY: publish
|
47 |
+
publish:
|
48 |
+
@echo "==> 🚀 Publishing"
|
49 |
+
@git commit -am "chore: bump version to $(shell poetry version -s)"
|
50 |
+
@git tag "v$(shell poetry version -s)"
|
51 |
+
@make build
|
52 |
+
@poetry publish
|
53 |
+
@git push && git push --tags
|
README.md
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
# Dashboard for exploring OpenAI Evals results
|
frontend/.eslintrc.cjs
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
module.exports = {
|
2 |
+
parser: "@typescript-eslint/parser",
|
3 |
+
plugins: ["svelte3", "@typescript-eslint"],
|
4 |
+
env: {
|
5 |
+
es6: true,
|
6 |
+
browser: true,
|
7 |
+
},
|
8 |
+
overrides: [
|
9 |
+
{
|
10 |
+
files: ["*.svelte"],
|
11 |
+
processor: "svelte3/svelte3",
|
12 |
+
extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
|
13 |
+
rules: {
|
14 |
+
"no-undef": "off",
|
15 |
+
},
|
16 |
+
},
|
17 |
+
{
|
18 |
+
files: ["*.ts", "*.json", "*.tsx"],
|
19 |
+
extends: ["plugin:@typescript-eslint/recommended"],
|
20 |
+
},
|
21 |
+
],
|
22 |
+
rules: {
|
23 |
+
curly: "error",
|
24 |
+
"no-var": "error",
|
25 |
+
eqeqeq: "error",
|
26 |
+
},
|
27 |
+
settings: {
|
28 |
+
"svelte3/typescript": () => require("typescript"),
|
29 |
+
},
|
30 |
+
ignorePatterns: ["node_modules"],
|
31 |
+
};
|
frontend/.gitignore
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Logs
|
2 |
+
logs
|
3 |
+
*.log
|
4 |
+
npm-debug.log*
|
5 |
+
yarn-debug.log*
|
6 |
+
yarn-error.log*
|
7 |
+
pnpm-debug.log*
|
8 |
+
lerna-debug.log*
|
9 |
+
|
10 |
+
node_modules
|
11 |
+
dist
|
12 |
+
dist-ssr
|
13 |
+
*.local
|
14 |
+
|
15 |
+
# Editor directories and files
|
16 |
+
.vscode/*
|
17 |
+
!.vscode/extensions.json
|
18 |
+
.idea
|
19 |
+
.DS_Store
|
20 |
+
*.suo
|
21 |
+
*.ntvs*
|
22 |
+
*.njsproj
|
23 |
+
*.sln
|
24 |
+
*.sw?
|
frontend/README.md
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Svelte + TS + Vite
|
2 |
+
|
3 |
+
This template should help get you started developing with Svelte and TypeScript in Vite.
|
4 |
+
|
5 |
+
## Recommended IDE Setup
|
6 |
+
|
7 |
+
[VS Code](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode).
|
8 |
+
|
9 |
+
## Need an official Svelte framework?
|
10 |
+
|
11 |
+
Check out [SvelteKit](https://github.com/sveltejs/kit#readme), which is also powered by Vite. Deploy anywhere with its serverless-first approach and adapt to various platforms, with out of the box support for TypeScript, SCSS, and Less, and easily-added support for mdsvex, GraphQL, PostCSS, Tailwind CSS, and more.
|
12 |
+
|
13 |
+
## Technical considerations
|
14 |
+
|
15 |
+
**Why use this over SvelteKit?**
|
16 |
+
|
17 |
+
- It brings its own routing solution which might not be preferable for some users.
|
18 |
+
- It is first and foremost a framework that just happens to use Vite under the hood, not a Vite app.
|
19 |
+
|
20 |
+
This template contains as little as possible to get started with Vite + TypeScript + Svelte, while taking into account the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte project.
|
21 |
+
|
22 |
+
Should you later need the extended capabilities and extensibility provided by SvelteKit, the template has been structured similarly to SvelteKit so that it is easy to migrate.
|
23 |
+
|
24 |
+
**Why `global.d.ts` instead of `compilerOptions.types` inside `jsconfig.json` or `tsconfig.json`?**
|
25 |
+
|
26 |
+
Setting `compilerOptions.types` shuts out all other types not explicitly listed in the configuration. Using triple-slash references keeps the default TypeScript setting of accepting type information from the entire workspace, while also adding `svelte` and `vite/client` type information.
|
27 |
+
|
28 |
+
**Why include `.vscode/extensions.json`?**
|
29 |
+
|
30 |
+
Other templates indirectly recommend extensions via the README, but this file allows VS Code to prompt the user to install the recommended extension upon opening the project.
|
31 |
+
|
32 |
+
**Why enable `allowJs` in the TS template?**
|
33 |
+
|
34 |
+
While `allowJs: false` would indeed prevent the use of `.js` files in the project, it does not prevent the use of JavaScript syntax in `.svelte` files. In addition, it would force `checkJs: false`, bringing the worst of both worlds: not being able to guarantee the entire codebase is TypeScript, and also having worse typechecking for the existing JavaScript. In addition, there are valid use cases in which a mixed codebase may be relevant.
|
35 |
+
|
36 |
+
**Why is HMR not preserving my local component state?**
|
37 |
+
|
38 |
+
HMR state preservation comes with a number of gotchas! It has been disabled by default in both `svelte-hmr` and `@sveltejs/vite-plugin-svelte` due to its often surprising behavior. You can read the details [here](https://github.com/rixo/svelte-hmr#svelte-hmr).
|
39 |
+
|
40 |
+
If you have state that's important to retain within a component, consider creating an external store which would not be replaced by HMR.
|
41 |
+
|
42 |
+
```ts
|
43 |
+
// store.ts
|
44 |
+
// An extremely simple external store
|
45 |
+
import { writable } from 'svelte/store'
|
46 |
+
export default writable(0)
|
47 |
+
```
|
frontend/build.js
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { parse } from "node-html-parser";
|
2 |
+
import fs from "fs";
|
3 |
+
|
4 |
+
// Change the livereload index file to the static built svelte files for publishing.
|
5 |
+
fs.readFile("../zeno/frontend/index.html", "utf8", (err, data) => {
|
6 |
+
const index = parse(data);
|
7 |
+
const body = index.querySelector("body");
|
8 |
+
const header = index.querySelector("head");
|
9 |
+
|
10 |
+
let bodyTags = `<div id="app"></div>`;
|
11 |
+
let headerTags = ``;
|
12 |
+
|
13 |
+
fs.readFile(
|
14 |
+
"../zeno/frontend/build/manifest.json",
|
15 |
+
"utf8",
|
16 |
+
(err, manifest) => {
|
17 |
+
manifest = JSON.parse(manifest);
|
18 |
+
Object.values(manifest).forEach((file) => {
|
19 |
+
if (file.file.endsWith(".js")) {
|
20 |
+
bodyTags += `<script type="module" src="./build/${file.file}"></script>`;
|
21 |
+
} else if (file.file.endsWith(".css")) {
|
22 |
+
headerTags += `<link rel="stylesheet" href="./build/${file.file}">`;
|
23 |
+
}
|
24 |
+
});
|
25 |
+
body.innerHTML = bodyTags;
|
26 |
+
header.innerHTML = header.innerHTML + headerTags;
|
27 |
+
fs.writeFileSync("../zeno/frontend/index_tmp.html", index.toString());
|
28 |
+
}
|
29 |
+
);
|
30 |
+
});
|
frontend/package-lock.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
frontend/package.json
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "zeno-evals-hub",
|
3 |
+
"private": true,
|
4 |
+
"version": "0.0.0",
|
5 |
+
"type": "module",
|
6 |
+
"scripts": {
|
7 |
+
"dev": "vite",
|
8 |
+
"build": "vite build",
|
9 |
+
"smui-theme": "smui-theme compile public/smui.css -i src/theme",
|
10 |
+
"check": "svelte-check --tsconfig ./tsconfig.json",
|
11 |
+
"format": "npx prettier -w src",
|
12 |
+
"lint": "npx eslint src --max-warnings=0 && npx prettier -c src",
|
13 |
+
"test": "npx jest tests",
|
14 |
+
"generate-api": "openapi --input http://localhost:8000/api/openapi.json --output ./src/zeno-evals-hubservice --client fetch; npx prettier -w ./src/zeno-evals-hubservice"
|
15 |
+
},
|
16 |
+
"devDependencies": {
|
17 |
+
"@sveltejs/vite-plugin-svelte": "^2.0.3",
|
18 |
+
"@tsconfig/svelte": "^3.0.0",
|
19 |
+
"@typescript-eslint/eslint-plugin": "^5.58.0",
|
20 |
+
"eslint-plugin-svelte3": "^4.0.0",
|
21 |
+
"openapi-typescript-codegen": "^0.24.0",
|
22 |
+
"svelte": "^3.55.1",
|
23 |
+
"svelte-check": "^2.10.3",
|
24 |
+
"tslib": "^2.5.0",
|
25 |
+
"typescript": "^4.9.3",
|
26 |
+
"vite": "^4.2.0"
|
27 |
+
}
|
28 |
+
}
|
frontend/public/vite.svg
ADDED
|
frontend/src/App.svelte
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
</script>
|
3 |
+
|
4 |
+
<main>
|
5 |
+
<h1>Vite + Svelte</h1>
|
6 |
+
|
7 |
+
<p class="read-the-docs">Click on the Vite and Svelte logos to learn more</p>
|
8 |
+
</main>
|
9 |
+
|
10 |
+
<style>
|
11 |
+
.read-the-docs {
|
12 |
+
color: #888;
|
13 |
+
}
|
14 |
+
</style>
|
frontend/src/app.css
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
:root {
|
2 |
+
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
|
3 |
+
line-height: 1.5;
|
4 |
+
font-weight: 400;
|
5 |
+
|
6 |
+
color-scheme: light dark;
|
7 |
+
color: rgba(255, 255, 255, 0.87);
|
8 |
+
background-color: #242424;
|
9 |
+
|
10 |
+
font-synthesis: none;
|
11 |
+
text-rendering: optimizeLegibility;
|
12 |
+
-webkit-font-smoothing: antialiased;
|
13 |
+
-moz-osx-font-smoothing: grayscale;
|
14 |
+
-webkit-text-size-adjust: 100%;
|
15 |
+
}
|
16 |
+
|
17 |
+
a {
|
18 |
+
font-weight: 500;
|
19 |
+
color: #646cff;
|
20 |
+
text-decoration: inherit;
|
21 |
+
}
|
22 |
+
a:hover {
|
23 |
+
color: #535bf2;
|
24 |
+
}
|
25 |
+
|
26 |
+
body {
|
27 |
+
margin: 0;
|
28 |
+
display: flex;
|
29 |
+
place-items: center;
|
30 |
+
min-width: 320px;
|
31 |
+
min-height: 100vh;
|
32 |
+
}
|
33 |
+
|
34 |
+
h1 {
|
35 |
+
font-size: 3.2em;
|
36 |
+
line-height: 1.1;
|
37 |
+
}
|
38 |
+
|
39 |
+
.card {
|
40 |
+
padding: 2em;
|
41 |
+
}
|
42 |
+
|
43 |
+
#app {
|
44 |
+
max-width: 1280px;
|
45 |
+
margin: 0 auto;
|
46 |
+
padding: 2rem;
|
47 |
+
text-align: center;
|
48 |
+
}
|
49 |
+
|
50 |
+
button {
|
51 |
+
border-radius: 8px;
|
52 |
+
border: 1px solid transparent;
|
53 |
+
padding: 0.6em 1.2em;
|
54 |
+
font-size: 1em;
|
55 |
+
font-weight: 500;
|
56 |
+
font-family: inherit;
|
57 |
+
background-color: #1a1a1a;
|
58 |
+
cursor: pointer;
|
59 |
+
transition: border-color 0.25s;
|
60 |
+
}
|
61 |
+
button:hover {
|
62 |
+
border-color: #646cff;
|
63 |
+
}
|
64 |
+
button:focus,
|
65 |
+
button:focus-visible {
|
66 |
+
outline: 4px auto -webkit-focus-ring-color;
|
67 |
+
}
|
68 |
+
|
69 |
+
@media (prefers-color-scheme: light) {
|
70 |
+
:root {
|
71 |
+
color: #213547;
|
72 |
+
background-color: #ffffff;
|
73 |
+
}
|
74 |
+
a:hover {
|
75 |
+
color: #747bff;
|
76 |
+
}
|
77 |
+
button {
|
78 |
+
background-color: #f9f9f9;
|
79 |
+
}
|
80 |
+
}
|
frontend/src/assets/svelte.svg
ADDED
|
frontend/src/main.ts
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import "./app.css";
|
2 |
+
import App from "./App.svelte";
|
3 |
+
|
4 |
+
const app = new App({
|
5 |
+
target: document.getElementById("app"),
|
6 |
+
});
|
7 |
+
|
8 |
+
export default app;
|
frontend/src/vite-env.d.ts
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
/// <reference types="svelte" />
|
2 |
+
/// <reference types="vite/client" />
|
frontend/svelte.config.js
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
|
2 |
+
|
3 |
+
export default {
|
4 |
+
// Consult https://svelte.dev/docs#compile-time-svelte-preprocess
|
5 |
+
// for more information about preprocessors
|
6 |
+
preprocess: vitePreprocess(),
|
7 |
+
}
|
frontend/tsconfig.json
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"extends": "@tsconfig/svelte/tsconfig.json",
|
3 |
+
"compilerOptions": {
|
4 |
+
"target": "ESNext",
|
5 |
+
"useDefineForClassFields": true,
|
6 |
+
"module": "ESNext",
|
7 |
+
"resolveJsonModule": true,
|
8 |
+
/**
|
9 |
+
* Typecheck JS in `.svelte` and `.js` files by default.
|
10 |
+
* Disable checkJs if you'd like to use dynamic types in JS.
|
11 |
+
* Note that setting allowJs false does not prevent the use
|
12 |
+
* of JS in `.svelte` files.
|
13 |
+
*/
|
14 |
+
"allowJs": true,
|
15 |
+
"checkJs": true,
|
16 |
+
"isolatedModules": true
|
17 |
+
},
|
18 |
+
"include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"],
|
19 |
+
"references": [{ "path": "./tsconfig.node.json" }]
|
20 |
+
}
|
frontend/tsconfig.node.json
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"compilerOptions": {
|
3 |
+
"composite": true,
|
4 |
+
"module": "esnext",
|
5 |
+
"target": "esnext",
|
6 |
+
"moduleResolution": "node"
|
7 |
+
},
|
8 |
+
"include": ["vite.config.ts"]
|
9 |
+
}
|
frontend/vite.config.ts
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { defineConfig } from "vite";
|
2 |
+
import { svelte } from "@sveltejs/vite-plugin-svelte";
|
3 |
+
|
4 |
+
// https://vitejs.dev/config/
|
5 |
+
export default defineConfig({
|
6 |
+
plugins: [svelte()],
|
7 |
+
build: {
|
8 |
+
outDir: "../zeno-evals-hub/frontend/build",
|
9 |
+
manifest: true,
|
10 |
+
target: "esnext",
|
11 |
+
emptyOutDir: true,
|
12 |
+
rollupOptions: {
|
13 |
+
input: {
|
14 |
+
main: "src/main.ts",
|
15 |
+
},
|
16 |
+
},
|
17 |
+
},
|
18 |
+
});
|
poetry.lock
ADDED
@@ -0,0 +1,704 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This file is automatically @generated by Poetry and should not be changed by hand.
|
2 |
+
|
3 |
+
[[package]]
|
4 |
+
name = "anyio"
|
5 |
+
version = "3.6.2"
|
6 |
+
description = "High level compatibility layer for multiple asynchronous event loop implementations"
|
7 |
+
category = "main"
|
8 |
+
optional = false
|
9 |
+
python-versions = ">=3.6.2"
|
10 |
+
files = [
|
11 |
+
{file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"},
|
12 |
+
{file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"},
|
13 |
+
]
|
14 |
+
|
15 |
+
[package.dependencies]
|
16 |
+
idna = ">=2.8"
|
17 |
+
sniffio = ">=1.1"
|
18 |
+
|
19 |
+
[package.extras]
|
20 |
+
doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
|
21 |
+
test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"]
|
22 |
+
trio = ["trio (>=0.16,<0.22)"]
|
23 |
+
|
24 |
+
[[package]]
|
25 |
+
name = "attrs"
|
26 |
+
version = "23.1.0"
|
27 |
+
description = "Classes Without Boilerplate"
|
28 |
+
category = "dev"
|
29 |
+
optional = false
|
30 |
+
python-versions = ">=3.7"
|
31 |
+
files = [
|
32 |
+
{file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"},
|
33 |
+
{file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"},
|
34 |
+
]
|
35 |
+
|
36 |
+
[package.extras]
|
37 |
+
cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
|
38 |
+
dev = ["attrs[docs,tests]", "pre-commit"]
|
39 |
+
docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
|
40 |
+
tests = ["attrs[tests-no-zope]", "zope-interface"]
|
41 |
+
tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
42 |
+
|
43 |
+
[[package]]
|
44 |
+
name = "black"
|
45 |
+
version = "23.3.0"
|
46 |
+
description = "The uncompromising code formatter."
|
47 |
+
category = "dev"
|
48 |
+
optional = false
|
49 |
+
python-versions = ">=3.7"
|
50 |
+
files = [
|
51 |
+
{file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"},
|
52 |
+
{file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"},
|
53 |
+
{file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"},
|
54 |
+
{file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"},
|
55 |
+
{file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"},
|
56 |
+
{file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"},
|
57 |
+
{file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"},
|
58 |
+
{file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"},
|
59 |
+
{file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"},
|
60 |
+
{file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"},
|
61 |
+
{file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"},
|
62 |
+
{file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"},
|
63 |
+
{file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"},
|
64 |
+
{file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"},
|
65 |
+
{file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"},
|
66 |
+
{file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"},
|
67 |
+
{file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"},
|
68 |
+
{file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"},
|
69 |
+
{file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"},
|
70 |
+
{file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"},
|
71 |
+
{file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"},
|
72 |
+
{file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"},
|
73 |
+
{file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"},
|
74 |
+
{file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"},
|
75 |
+
{file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"},
|
76 |
+
]
|
77 |
+
|
78 |
+
[package.dependencies]
|
79 |
+
click = ">=8.0.0"
|
80 |
+
mypy-extensions = ">=0.4.3"
|
81 |
+
packaging = ">=22.0"
|
82 |
+
pathspec = ">=0.9.0"
|
83 |
+
platformdirs = ">=2"
|
84 |
+
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
|
85 |
+
typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""}
|
86 |
+
|
87 |
+
[package.extras]
|
88 |
+
colorama = ["colorama (>=0.4.3)"]
|
89 |
+
d = ["aiohttp (>=3.7.4)"]
|
90 |
+
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
|
91 |
+
uvloop = ["uvloop (>=0.15.2)"]
|
92 |
+
|
93 |
+
[[package]]
|
94 |
+
name = "click"
|
95 |
+
version = "8.1.3"
|
96 |
+
description = "Composable command line interface toolkit"
|
97 |
+
category = "main"
|
98 |
+
optional = false
|
99 |
+
python-versions = ">=3.7"
|
100 |
+
files = [
|
101 |
+
{file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
|
102 |
+
{file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
|
103 |
+
]
|
104 |
+
|
105 |
+
[package.dependencies]
|
106 |
+
colorama = {version = "*", markers = "platform_system == \"Windows\""}
|
107 |
+
|
108 |
+
[[package]]
|
109 |
+
name = "colorama"
|
110 |
+
version = "0.4.6"
|
111 |
+
description = "Cross-platform colored terminal text."
|
112 |
+
category = "main"
|
113 |
+
optional = false
|
114 |
+
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
115 |
+
files = [
|
116 |
+
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
117 |
+
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
118 |
+
]
|
119 |
+
|
120 |
+
[[package]]
|
121 |
+
name = "fastapi"
|
122 |
+
version = "0.95.1"
|
123 |
+
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
124 |
+
category = "main"
|
125 |
+
optional = false
|
126 |
+
python-versions = ">=3.7"
|
127 |
+
files = [
|
128 |
+
{file = "fastapi-0.95.1-py3-none-any.whl", hash = "sha256:a870d443e5405982e1667dfe372663abf10754f246866056336d7f01c21dab07"},
|
129 |
+
{file = "fastapi-0.95.1.tar.gz", hash = "sha256:9569f0a381f8a457ec479d90fa01005cfddaae07546eb1f3fa035bc4797ae7d5"},
|
130 |
+
]
|
131 |
+
|
132 |
+
[package.dependencies]
|
133 |
+
pydantic = ">=1.6.2,<1.7 || >1.7,<1.7.1 || >1.7.1,<1.7.2 || >1.7.2,<1.7.3 || >1.7.3,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0"
|
134 |
+
starlette = ">=0.26.1,<0.27.0"
|
135 |
+
|
136 |
+
[package.extras]
|
137 |
+
all = ["email-validator (>=1.1.1)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
|
138 |
+
dev = ["pre-commit (>=2.17.0,<3.0.0)", "ruff (==0.0.138)", "uvicorn[standard] (>=0.12.0,<0.21.0)"]
|
139 |
+
doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "typer-cli (>=0.0.13,<0.0.14)", "typer[all] (>=0.6.1,<0.8.0)"]
|
140 |
+
test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==23.1.0)", "coverage[toml] (>=6.5.0,<8.0)", "databases[sqlite] (>=0.3.2,<0.7.0)", "email-validator (>=1.1.1,<2.0.0)", "flask (>=1.1.2,<3.0.0)", "httpx (>=0.23.0,<0.24.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.982)", "orjson (>=3.2.1,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "peewee (>=3.13.3,<4.0.0)", "pytest (>=7.1.3,<8.0.0)", "python-jose[cryptography] (>=3.3.0,<4.0.0)", "python-multipart (>=0.0.5,<0.0.7)", "pyyaml (>=5.3.1,<7.0.0)", "ruff (==0.0.138)", "sqlalchemy (>=1.3.18,<1.4.43)", "types-orjson (==3.6.2)", "types-ujson (==5.7.0.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)"]
|
141 |
+
|
142 |
+
[[package]]
|
143 |
+
name = "flake8"
|
144 |
+
version = "6.0.0"
|
145 |
+
description = "the modular source code checker: pep8 pyflakes and co"
|
146 |
+
category = "dev"
|
147 |
+
optional = false
|
148 |
+
python-versions = ">=3.8.1"
|
149 |
+
files = [
|
150 |
+
{file = "flake8-6.0.0-py2.py3-none-any.whl", hash = "sha256:3833794e27ff64ea4e9cf5d410082a8b97ff1a06c16aa3d2027339cd0f1195c7"},
|
151 |
+
{file = "flake8-6.0.0.tar.gz", hash = "sha256:c61007e76655af75e6785a931f452915b371dc48f56efd765247c8fe68f2b181"},
|
152 |
+
]
|
153 |
+
|
154 |
+
[package.dependencies]
|
155 |
+
mccabe = ">=0.7.0,<0.8.0"
|
156 |
+
pycodestyle = ">=2.10.0,<2.11.0"
|
157 |
+
pyflakes = ">=3.0.0,<3.1.0"
|
158 |
+
|
159 |
+
[[package]]
|
160 |
+
name = "h11"
|
161 |
+
version = "0.14.0"
|
162 |
+
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
163 |
+
category = "main"
|
164 |
+
optional = false
|
165 |
+
python-versions = ">=3.7"
|
166 |
+
files = [
|
167 |
+
{file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
|
168 |
+
{file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
|
169 |
+
]
|
170 |
+
|
171 |
+
[[package]]
|
172 |
+
name = "idna"
|
173 |
+
version = "3.4"
|
174 |
+
description = "Internationalized Domain Names in Applications (IDNA)"
|
175 |
+
category = "main"
|
176 |
+
optional = false
|
177 |
+
python-versions = ">=3.5"
|
178 |
+
files = [
|
179 |
+
{file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
|
180 |
+
{file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
|
181 |
+
]
|
182 |
+
|
183 |
+
[[package]]
|
184 |
+
name = "libcst"
|
185 |
+
version = "0.4.9"
|
186 |
+
description = "A concrete syntax tree with AST-like properties for Python 3.5, 3.6, 3.7, 3.8, 3.9, and 3.10 programs."
|
187 |
+
category = "dev"
|
188 |
+
optional = false
|
189 |
+
python-versions = ">=3.7"
|
190 |
+
files = [
|
191 |
+
{file = "libcst-0.4.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f9e42085c403e22201e5c41e707ef73e4ea910ad9fc67983ceee2368097f54e"},
|
192 |
+
{file = "libcst-0.4.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1266530bf840cc40633a04feb578bb4cac1aa3aea058cc3729e24eab09a8e996"},
|
193 |
+
{file = "libcst-0.4.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9679177391ccb9b0cdde3185c22bf366cb672457c4b7f4031fcb3b5e739fbd6"},
|
194 |
+
{file = "libcst-0.4.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d67bc87e0d8db9434f2ea063734938a320f541f4c6da1074001e372f840f385d"},
|
195 |
+
{file = "libcst-0.4.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e316da5a126f2a9e1d7680f95f907b575f082a35e2f8bd5620c59b2aaaebfe0a"},
|
196 |
+
{file = "libcst-0.4.9-cp310-cp310-win_amd64.whl", hash = "sha256:7415569ab998a85b0fc9af3a204611ea7fadb2d719a12532c448f8fc98f5aca4"},
|
197 |
+
{file = "libcst-0.4.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:15ded11ff7f4572f91635e02b519ae959f782689fdb4445bbebb7a3cc5c71d75"},
|
198 |
+
{file = "libcst-0.4.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5b266867b712a120fad93983de432ddb2ccb062eb5fd2bea748c9a94cb200c36"},
|
199 |
+
{file = "libcst-0.4.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:045b3b0b06413cdae6e9751b5f417f789ffa410f2cb2815e3e0e0ea6bef10ec0"},
|
200 |
+
{file = "libcst-0.4.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e799add8fba4976628b9c1a6768d73178bf898f0ed1bd1322930c2d3db9063ba"},
|
201 |
+
{file = "libcst-0.4.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10479371d04ee8dc978c889c1774bbf6a83df88fa055fcb0159a606f6679c565"},
|
202 |
+
{file = "libcst-0.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:7a98286cbbfa90a42d376900c875161ad02a5a2a6b7c94c0f7afd9075e329ce4"},
|
203 |
+
{file = "libcst-0.4.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:400166fc4efb9aa06ce44498d443aa78519082695b1894202dd73cd507d2d712"},
|
204 |
+
{file = "libcst-0.4.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46123863fba35cc84f7b54dd68826419cabfd9504d8a101c7fe3313ea03776f9"},
|
205 |
+
{file = "libcst-0.4.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27be8db54c0e5fe440021a771a38b81a7dbc23cd630eb8b0e9828b7717f9b702"},
|
206 |
+
{file = "libcst-0.4.9-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:132bec627b064bd567e7e4cd6c89524d02842151eb0d8f5f3f7ffd2579ec1b09"},
|
207 |
+
{file = "libcst-0.4.9-cp37-cp37m-win_amd64.whl", hash = "sha256:596860090aeed3ee6ad1e59c35c6c4110a57e4e896abf51b91cae003ec720a11"},
|
208 |
+
{file = "libcst-0.4.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4487608258109f774300466d4ca97353df29ae6ac23d1502e13e5509423c9d5"},
|
209 |
+
{file = "libcst-0.4.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aa53993e9a2853efb3ed3605da39f2e7125df6430f613eb67ef886c1ce4f94b5"},
|
210 |
+
{file = "libcst-0.4.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6ce794483d4c605ef0f5b199a49fb6996f9586ca938b7bfef213bd13858d7ab"},
|
211 |
+
{file = "libcst-0.4.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:786e562b54bbcd17a060d1244deeef466b7ee07fe544074c252c4a169e38f1ee"},
|
212 |
+
{file = "libcst-0.4.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:794250d2359edd518fb698e5d21c38a5bdfc5e4a75d0407b4c19818271ce6742"},
|
213 |
+
{file = "libcst-0.4.9-cp38-cp38-win_amd64.whl", hash = "sha256:76491f67431318c3145442e97dddcead7075b074c59eac51be7cc9e3fffec6ee"},
|
214 |
+
{file = "libcst-0.4.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3cf48d7aec6dc54b02aec0b1bb413c5bb3b02d852fd6facf1f05c7213e61a176"},
|
215 |
+
{file = "libcst-0.4.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b3348c6b7711a5235b133bd8e11d22e903c388db42485b8ceb5f2aa0fae9b9f"},
|
216 |
+
{file = "libcst-0.4.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e33b66762efaa014c38819efae5d8f726dd823e32d5d691035484411d2a2a69"},
|
217 |
+
{file = "libcst-0.4.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1350d375d3fb9b20a6cf10c09b2964baca9be753a033dde7c1aced49d8e58387"},
|
218 |
+
{file = "libcst-0.4.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3822056dc13326082362db35b3f649e0f4a97e36ddb4e487441da8e0fb9db7b3"},
|
219 |
+
{file = "libcst-0.4.9-cp39-cp39-win_amd64.whl", hash = "sha256:183636141b839aa35b639e100883813744523bc7c12528906621121731b28443"},
|
220 |
+
{file = "libcst-0.4.9.tar.gz", hash = "sha256:01786c403348f76f274dbaf3888ae237ffb73e6ed6973e65eba5c1fc389861dd"},
|
221 |
+
]
|
222 |
+
|
223 |
+
[package.dependencies]
|
224 |
+
pyyaml = ">=5.2"
|
225 |
+
typing-extensions = ">=3.7.4.2"
|
226 |
+
typing-inspect = ">=0.4.0"
|
227 |
+
|
228 |
+
[package.extras]
|
229 |
+
dev = ["Sphinx (>=5.1.1)", "black (==22.10.0)", "coverage (>=4.5.4)", "fixit (==0.1.1)", "flake8 (>=3.7.8,<5)", "hypothesis (>=4.36.0)", "hypothesmith (>=0.0.4)", "jinja2 (==3.1.2)", "jupyter (>=1.0.0)", "maturin (>=0.8.3,<0.14)", "nbsphinx (>=0.4.2)", "prompt-toolkit (>=2.0.9)", "pyre-check (==0.9.9)", "setuptools-rust (>=1.5.2)", "setuptools-scm (>=6.0.1)", "slotscheck (>=0.7.1)", "sphinx-rtd-theme (>=0.4.3)", "ufmt (==2.0.1)", "usort (==1.0.5)"]
|
230 |
+
|
231 |
+
[[package]]
|
232 |
+
name = "mccabe"
|
233 |
+
version = "0.7.0"
|
234 |
+
description = "McCabe checker, plugin for flake8"
|
235 |
+
category = "dev"
|
236 |
+
optional = false
|
237 |
+
python-versions = ">=3.6"
|
238 |
+
files = [
|
239 |
+
{file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
|
240 |
+
{file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
|
241 |
+
]
|
242 |
+
|
243 |
+
[[package]]
|
244 |
+
name = "moreorless"
|
245 |
+
version = "0.4.0"
|
246 |
+
description = "Python diff wrapper"
|
247 |
+
category = "dev"
|
248 |
+
optional = false
|
249 |
+
python-versions = ">=3.6"
|
250 |
+
files = [
|
251 |
+
{file = "moreorless-0.4.0-py2.py3-none-any.whl", hash = "sha256:17f1fbef60fd21c84ee085a929fe3acefcaddca30df5dd09c024e9939a9e6a00"},
|
252 |
+
{file = "moreorless-0.4.0.tar.gz", hash = "sha256:85e19972c1a0b3a49f8543914f57bd83f6e1b10df144d5b97b8c5e9744d9c08c"},
|
253 |
+
]
|
254 |
+
|
255 |
+
[package.dependencies]
|
256 |
+
click = "*"
|
257 |
+
|
258 |
+
[[package]]
|
259 |
+
name = "mypy"
|
260 |
+
version = "1.2.0"
|
261 |
+
description = "Optional static typing for Python"
|
262 |
+
category = "dev"
|
263 |
+
optional = false
|
264 |
+
python-versions = ">=3.7"
|
265 |
+
files = [
|
266 |
+
{file = "mypy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:701189408b460a2ff42b984e6bd45c3f41f0ac9f5f58b8873bbedc511900086d"},
|
267 |
+
{file = "mypy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fe91be1c51c90e2afe6827601ca14353bbf3953f343c2129fa1e247d55fd95ba"},
|
268 |
+
{file = "mypy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d26b513225ffd3eacece727f4387bdce6469192ef029ca9dd469940158bc89e"},
|
269 |
+
{file = "mypy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3a2d219775a120581a0ae8ca392b31f238d452729adbcb6892fa89688cb8306a"},
|
270 |
+
{file = "mypy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:2e93a8a553e0394b26c4ca683923b85a69f7ccdc0139e6acd1354cc884fe0128"},
|
271 |
+
{file = "mypy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3efde4af6f2d3ccf58ae825495dbb8d74abd6d176ee686ce2ab19bd025273f41"},
|
272 |
+
{file = "mypy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:695c45cea7e8abb6f088a34a6034b1d273122e5530aeebb9c09626cea6dca4cb"},
|
273 |
+
{file = "mypy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0e9464a0af6715852267bf29c9553e4555b61f5904a4fc538547a4d67617937"},
|
274 |
+
{file = "mypy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8293a216e902ac12779eb7a08f2bc39ec6c878d7c6025aa59464e0c4c16f7eb9"},
|
275 |
+
{file = "mypy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:f46af8d162f3d470d8ffc997aaf7a269996d205f9d746124a179d3abe05ac602"},
|
276 |
+
{file = "mypy-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:031fc69c9a7e12bcc5660b74122ed84b3f1c505e762cc4296884096c6d8ee140"},
|
277 |
+
{file = "mypy-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:390bc685ec209ada4e9d35068ac6988c60160b2b703072d2850457b62499e336"},
|
278 |
+
{file = "mypy-1.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4b41412df69ec06ab141808d12e0bf2823717b1c363bd77b4c0820feaa37249e"},
|
279 |
+
{file = "mypy-1.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4e4a682b3f2489d218751981639cffc4e281d548f9d517addfd5a2917ac78119"},
|
280 |
+
{file = "mypy-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a197ad3a774f8e74f21e428f0de7f60ad26a8d23437b69638aac2764d1e06a6a"},
|
281 |
+
{file = "mypy-1.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c9a084bce1061e55cdc0493a2ad890375af359c766b8ac311ac8120d3a472950"},
|
282 |
+
{file = "mypy-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaeaa0888b7f3ccb7bcd40b50497ca30923dba14f385bde4af78fac713d6d6f6"},
|
283 |
+
{file = "mypy-1.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bea55fc25b96c53affab852ad94bf111a3083bc1d8b0c76a61dd101d8a388cf5"},
|
284 |
+
{file = "mypy-1.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:4c8d8c6b80aa4a1689f2a179d31d86ae1367ea4a12855cc13aa3ba24bb36b2d8"},
|
285 |
+
{file = "mypy-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:70894c5345bea98321a2fe84df35f43ee7bb0feec117a71420c60459fc3e1eed"},
|
286 |
+
{file = "mypy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a99fe1768925e4a139aace8f3fb66db3576ee1c30b9c0f70f744ead7e329c9f"},
|
287 |
+
{file = "mypy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023fe9e618182ca6317ae89833ba422c411469156b690fde6a315ad10695a521"},
|
288 |
+
{file = "mypy-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4d19f1a239d59f10fdc31263d48b7937c585810288376671eaf75380b074f238"},
|
289 |
+
{file = "mypy-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:2de7babe398cb7a85ac7f1fd5c42f396c215ab3eff731b4d761d68d0f6a80f48"},
|
290 |
+
{file = "mypy-1.2.0-py3-none-any.whl", hash = "sha256:d8e9187bfcd5ffedbe87403195e1fc340189a68463903c39e2b63307c9fa0394"},
|
291 |
+
{file = "mypy-1.2.0.tar.gz", hash = "sha256:f70a40410d774ae23fcb4afbbeca652905a04de7948eaf0b1789c8d1426b72d1"},
|
292 |
+
]
|
293 |
+
|
294 |
+
[package.dependencies]
|
295 |
+
mypy-extensions = ">=1.0.0"
|
296 |
+
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
|
297 |
+
typing-extensions = ">=3.10"
|
298 |
+
|
299 |
+
[package.extras]
|
300 |
+
dmypy = ["psutil (>=4.0)"]
|
301 |
+
install-types = ["pip"]
|
302 |
+
python2 = ["typed-ast (>=1.4.0,<2)"]
|
303 |
+
reports = ["lxml"]
|
304 |
+
|
305 |
+
[[package]]
|
306 |
+
name = "mypy-extensions"
|
307 |
+
version = "1.0.0"
|
308 |
+
description = "Type system extensions for programs checked with the mypy type checker."
|
309 |
+
category = "dev"
|
310 |
+
optional = false
|
311 |
+
python-versions = ">=3.5"
|
312 |
+
files = [
|
313 |
+
{file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"},
|
314 |
+
{file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"},
|
315 |
+
]
|
316 |
+
|
317 |
+
[[package]]
|
318 |
+
name = "nodeenv"
|
319 |
+
version = "1.7.0"
|
320 |
+
description = "Node.js virtual environment builder"
|
321 |
+
category = "dev"
|
322 |
+
optional = false
|
323 |
+
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*"
|
324 |
+
files = [
|
325 |
+
{file = "nodeenv-1.7.0-py2.py3-none-any.whl", hash = "sha256:27083a7b96a25f2f5e1d8cb4b6317ee8aeda3bdd121394e5ac54e498028a042e"},
|
326 |
+
{file = "nodeenv-1.7.0.tar.gz", hash = "sha256:e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b"},
|
327 |
+
]
|
328 |
+
|
329 |
+
[package.dependencies]
|
330 |
+
setuptools = "*"
|
331 |
+
|
332 |
+
[[package]]
|
333 |
+
name = "packaging"
|
334 |
+
version = "23.1"
|
335 |
+
description = "Core utilities for Python packages"
|
336 |
+
category = "dev"
|
337 |
+
optional = false
|
338 |
+
python-versions = ">=3.7"
|
339 |
+
files = [
|
340 |
+
{file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"},
|
341 |
+
{file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"},
|
342 |
+
]
|
343 |
+
|
344 |
+
[[package]]
|
345 |
+
name = "pathspec"
|
346 |
+
version = "0.11.1"
|
347 |
+
description = "Utility library for gitignore style pattern matching of file paths."
|
348 |
+
category = "dev"
|
349 |
+
optional = false
|
350 |
+
python-versions = ">=3.7"
|
351 |
+
files = [
|
352 |
+
{file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"},
|
353 |
+
{file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"},
|
354 |
+
]
|
355 |
+
|
356 |
+
[[package]]
|
357 |
+
name = "platformdirs"
|
358 |
+
version = "3.2.0"
|
359 |
+
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
360 |
+
category = "dev"
|
361 |
+
optional = false
|
362 |
+
python-versions = ">=3.7"
|
363 |
+
files = [
|
364 |
+
{file = "platformdirs-3.2.0-py3-none-any.whl", hash = "sha256:ebe11c0d7a805086e99506aa331612429a72ca7cd52a1f0d277dc4adc20cb10e"},
|
365 |
+
{file = "platformdirs-3.2.0.tar.gz", hash = "sha256:d5b638ca397f25f979350ff789db335903d7ea010ab28903f57b27e1b16c2b08"},
|
366 |
+
]
|
367 |
+
|
368 |
+
[package.extras]
|
369 |
+
docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"]
|
370 |
+
test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
|
371 |
+
|
372 |
+
[[package]]
|
373 |
+
name = "prettier"
|
374 |
+
version = "0.0.7"
|
375 |
+
description = "Properly pprint of nested objects"
|
376 |
+
category = "dev"
|
377 |
+
optional = false
|
378 |
+
python-versions = "*"
|
379 |
+
files = [
|
380 |
+
{file = "prettier-0.0.7-py3-none-any.whl", hash = "sha256:20e76791de41cafe481328dd49552303f29ca192151cee1b120c26f66cae9bfc"},
|
381 |
+
{file = "prettier-0.0.7.tar.gz", hash = "sha256:6c34b8cd09fd9c8956c05d6395ea3f575e0122dce494ba57685c07065abed427"},
|
382 |
+
]
|
383 |
+
|
384 |
+
[[package]]
|
385 |
+
name = "pycodestyle"
|
386 |
+
version = "2.10.0"
|
387 |
+
description = "Python style guide checker"
|
388 |
+
category = "dev"
|
389 |
+
optional = false
|
390 |
+
python-versions = ">=3.6"
|
391 |
+
files = [
|
392 |
+
{file = "pycodestyle-2.10.0-py2.py3-none-any.whl", hash = "sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610"},
|
393 |
+
{file = "pycodestyle-2.10.0.tar.gz", hash = "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"},
|
394 |
+
]
|
395 |
+
|
396 |
+
[[package]]
|
397 |
+
name = "pydantic"
|
398 |
+
version = "1.10.7"
|
399 |
+
description = "Data validation and settings management using python type hints"
|
400 |
+
category = "main"
|
401 |
+
optional = false
|
402 |
+
python-versions = ">=3.7"
|
403 |
+
files = [
|
404 |
+
{file = "pydantic-1.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e79e999e539872e903767c417c897e729e015872040e56b96e67968c3b918b2d"},
|
405 |
+
{file = "pydantic-1.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:01aea3a42c13f2602b7ecbbea484a98169fb568ebd9e247593ea05f01b884b2e"},
|
406 |
+
{file = "pydantic-1.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:516f1ed9bc2406a0467dd777afc636c7091d71f214d5e413d64fef45174cfc7a"},
|
407 |
+
{file = "pydantic-1.10.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae150a63564929c675d7f2303008d88426a0add46efd76c3fc797cd71cb1b46f"},
|
408 |
+
{file = "pydantic-1.10.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ecbbc51391248116c0a055899e6c3e7ffbb11fb5e2a4cd6f2d0b93272118a209"},
|
409 |
+
{file = "pydantic-1.10.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f4a2b50e2b03d5776e7f21af73e2070e1b5c0d0df255a827e7c632962f8315af"},
|
410 |
+
{file = "pydantic-1.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:a7cd2251439988b413cb0a985c4ed82b6c6aac382dbaff53ae03c4b23a70e80a"},
|
411 |
+
{file = "pydantic-1.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:68792151e174a4aa9e9fc1b4e653e65a354a2fa0fed169f7b3d09902ad2cb6f1"},
|
412 |
+
{file = "pydantic-1.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe2507b8ef209da71b6fb5f4e597b50c5a34b78d7e857c4f8f3115effaef5fe"},
|
413 |
+
{file = "pydantic-1.10.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10a86d8c8db68086f1e30a530f7d5f83eb0685e632e411dbbcf2d5c0150e8dcd"},
|
414 |
+
{file = "pydantic-1.10.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d75ae19d2a3dbb146b6f324031c24f8a3f52ff5d6a9f22f0683694b3afcb16fb"},
|
415 |
+
{file = "pydantic-1.10.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:464855a7ff7f2cc2cf537ecc421291b9132aa9c79aef44e917ad711b4a93163b"},
|
416 |
+
{file = "pydantic-1.10.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:193924c563fae6ddcb71d3f06fa153866423ac1b793a47936656e806b64e24ca"},
|
417 |
+
{file = "pydantic-1.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:b4a849d10f211389502059c33332e91327bc154acc1845f375a99eca3afa802d"},
|
418 |
+
{file = "pydantic-1.10.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cc1dde4e50a5fc1336ee0581c1612215bc64ed6d28d2c7c6f25d2fe3e7c3e918"},
|
419 |
+
{file = "pydantic-1.10.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0cfe895a504c060e5d36b287ee696e2fdad02d89e0d895f83037245218a87fe"},
|
420 |
+
{file = "pydantic-1.10.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:670bb4683ad1e48b0ecb06f0cfe2178dcf74ff27921cdf1606e527d2617a81ee"},
|
421 |
+
{file = "pydantic-1.10.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:950ce33857841f9a337ce07ddf46bc84e1c4946d2a3bba18f8280297157a3fd1"},
|
422 |
+
{file = "pydantic-1.10.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c15582f9055fbc1bfe50266a19771bbbef33dd28c45e78afbe1996fd70966c2a"},
|
423 |
+
{file = "pydantic-1.10.7-cp37-cp37m-win_amd64.whl", hash = "sha256:82dffb306dd20bd5268fd6379bc4bfe75242a9c2b79fec58e1041fbbdb1f7914"},
|
424 |
+
{file = "pydantic-1.10.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8c7f51861d73e8b9ddcb9916ae7ac39fb52761d9ea0df41128e81e2ba42886cd"},
|
425 |
+
{file = "pydantic-1.10.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6434b49c0b03a51021ade5c4daa7d70c98f7a79e95b551201fff682fc1661245"},
|
426 |
+
{file = "pydantic-1.10.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64d34ab766fa056df49013bb6e79921a0265204c071984e75a09cbceacbbdd5d"},
|
427 |
+
{file = "pydantic-1.10.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:701daea9ffe9d26f97b52f1d157e0d4121644f0fcf80b443248434958fd03dc3"},
|
428 |
+
{file = "pydantic-1.10.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cf135c46099ff3f919d2150a948ce94b9ce545598ef2c6c7bf55dca98a304b52"},
|
429 |
+
{file = "pydantic-1.10.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0f85904f73161817b80781cc150f8b906d521fa11e3cdabae19a581c3606209"},
|
430 |
+
{file = "pydantic-1.10.7-cp38-cp38-win_amd64.whl", hash = "sha256:9f6f0fd68d73257ad6685419478c5aece46432f4bdd8d32c7345f1986496171e"},
|
431 |
+
{file = "pydantic-1.10.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c230c0d8a322276d6e7b88c3f7ce885f9ed16e0910354510e0bae84d54991143"},
|
432 |
+
{file = "pydantic-1.10.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:976cae77ba6a49d80f461fd8bba183ff7ba79f44aa5cfa82f1346b5626542f8e"},
|
433 |
+
{file = "pydantic-1.10.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d45fc99d64af9aaf7e308054a0067fdcd87ffe974f2442312372dfa66e1001d"},
|
434 |
+
{file = "pydantic-1.10.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2a5ebb48958754d386195fe9e9c5106f11275867051bf017a8059410e9abf1f"},
|
435 |
+
{file = "pydantic-1.10.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:abfb7d4a7cd5cc4e1d1887c43503a7c5dd608eadf8bc615413fc498d3e4645cd"},
|
436 |
+
{file = "pydantic-1.10.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:80b1fab4deb08a8292d15e43a6edccdffa5377a36a4597bb545b93e79c5ff0a5"},
|
437 |
+
{file = "pydantic-1.10.7-cp39-cp39-win_amd64.whl", hash = "sha256:d71e69699498b020ea198468e2480a2f1e7433e32a3a99760058c6520e2bea7e"},
|
438 |
+
{file = "pydantic-1.10.7-py3-none-any.whl", hash = "sha256:0cd181f1d0b1d00e2b705f1bf1ac7799a2d938cce3376b8007df62b29be3c2c6"},
|
439 |
+
{file = "pydantic-1.10.7.tar.gz", hash = "sha256:cfc83c0678b6ba51b0532bea66860617c4cd4251ecf76e9846fa5a9f3454e97e"},
|
440 |
+
]
|
441 |
+
|
442 |
+
[package.dependencies]
|
443 |
+
typing-extensions = ">=4.2.0"
|
444 |
+
|
445 |
+
[package.extras]
|
446 |
+
dotenv = ["python-dotenv (>=0.10.4)"]
|
447 |
+
email = ["email-validator (>=1.0.3)"]
|
448 |
+
|
449 |
+
[[package]]
|
450 |
+
name = "pyflakes"
|
451 |
+
version = "3.0.1"
|
452 |
+
description = "passive checker of Python programs"
|
453 |
+
category = "dev"
|
454 |
+
optional = false
|
455 |
+
python-versions = ">=3.6"
|
456 |
+
files = [
|
457 |
+
{file = "pyflakes-3.0.1-py2.py3-none-any.whl", hash = "sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf"},
|
458 |
+
{file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"},
|
459 |
+
]
|
460 |
+
|
461 |
+
[[package]]
|
462 |
+
name = "pyright"
|
463 |
+
version = "1.1.303"
|
464 |
+
description = "Command line wrapper for pyright"
|
465 |
+
category = "dev"
|
466 |
+
optional = false
|
467 |
+
python-versions = ">=3.7"
|
468 |
+
files = [
|
469 |
+
{file = "pyright-1.1.303-py3-none-any.whl", hash = "sha256:8fe3d122d7e965e2df2cef64e1ceb98cff8200f458e7892d92a4c21ee85689c7"},
|
470 |
+
{file = "pyright-1.1.303.tar.gz", hash = "sha256:7daa516424555681e8974b21a95c108c5def791bf5381522b1410026d4da62c1"},
|
471 |
+
]
|
472 |
+
|
473 |
+
[package.dependencies]
|
474 |
+
nodeenv = ">=1.6.0"
|
475 |
+
|
476 |
+
[package.extras]
|
477 |
+
all = ["twine (>=3.4.1)"]
|
478 |
+
dev = ["twine (>=3.4.1)"]
|
479 |
+
|
480 |
+
[[package]]
|
481 |
+
name = "pyyaml"
|
482 |
+
version = "6.0"
|
483 |
+
description = "YAML parser and emitter for Python"
|
484 |
+
category = "dev"
|
485 |
+
optional = false
|
486 |
+
python-versions = ">=3.6"
|
487 |
+
files = [
|
488 |
+
{file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
|
489 |
+
{file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
|
490 |
+
{file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"},
|
491 |
+
{file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"},
|
492 |
+
{file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"},
|
493 |
+
{file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"},
|
494 |
+
{file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"},
|
495 |
+
{file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"},
|
496 |
+
{file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"},
|
497 |
+
{file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"},
|
498 |
+
{file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"},
|
499 |
+
{file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"},
|
500 |
+
{file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"},
|
501 |
+
{file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"},
|
502 |
+
{file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"},
|
503 |
+
{file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"},
|
504 |
+
{file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"},
|
505 |
+
{file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"},
|
506 |
+
{file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"},
|
507 |
+
{file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"},
|
508 |
+
{file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"},
|
509 |
+
{file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"},
|
510 |
+
{file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"},
|
511 |
+
{file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"},
|
512 |
+
{file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"},
|
513 |
+
{file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"},
|
514 |
+
{file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"},
|
515 |
+
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"},
|
516 |
+
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"},
|
517 |
+
{file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"},
|
518 |
+
{file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"},
|
519 |
+
{file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"},
|
520 |
+
{file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"},
|
521 |
+
{file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"},
|
522 |
+
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"},
|
523 |
+
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"},
|
524 |
+
{file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"},
|
525 |
+
{file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"},
|
526 |
+
{file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
|
527 |
+
{file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
|
528 |
+
]
|
529 |
+
|
530 |
+
[[package]]
|
531 |
+
name = "setuptools"
|
532 |
+
version = "67.6.1"
|
533 |
+
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
534 |
+
category = "dev"
|
535 |
+
optional = false
|
536 |
+
python-versions = ">=3.7"
|
537 |
+
files = [
|
538 |
+
{file = "setuptools-67.6.1-py3-none-any.whl", hash = "sha256:e728ca814a823bf7bf60162daf9db95b93d532948c4c0bea762ce62f60189078"},
|
539 |
+
{file = "setuptools-67.6.1.tar.gz", hash = "sha256:257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a"},
|
540 |
+
]
|
541 |
+
|
542 |
+
[package.extras]
|
543 |
+
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
|
544 |
+
testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
|
545 |
+
testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
|
546 |
+
|
547 |
+
[[package]]
|
548 |
+
name = "sniffio"
|
549 |
+
version = "1.3.0"
|
550 |
+
description = "Sniff out which async library your code is running under"
|
551 |
+
category = "main"
|
552 |
+
optional = false
|
553 |
+
python-versions = ">=3.7"
|
554 |
+
files = [
|
555 |
+
{file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"},
|
556 |
+
{file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"},
|
557 |
+
]
|
558 |
+
|
559 |
+
[[package]]
|
560 |
+
name = "starlette"
|
561 |
+
version = "0.26.1"
|
562 |
+
description = "The little ASGI library that shines."
|
563 |
+
category = "main"
|
564 |
+
optional = false
|
565 |
+
python-versions = ">=3.7"
|
566 |
+
files = [
|
567 |
+
{file = "starlette-0.26.1-py3-none-any.whl", hash = "sha256:e87fce5d7cbdde34b76f0ac69013fd9d190d581d80681493016666e6f96c6d5e"},
|
568 |
+
{file = "starlette-0.26.1.tar.gz", hash = "sha256:41da799057ea8620e4667a3e69a5b1923ebd32b1819c8fa75634bbe8d8bea9bd"},
|
569 |
+
]
|
570 |
+
|
571 |
+
[package.dependencies]
|
572 |
+
anyio = ">=3.4.0,<5"
|
573 |
+
typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""}
|
574 |
+
|
575 |
+
[package.extras]
|
576 |
+
full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyaml"]
|
577 |
+
|
578 |
+
[[package]]
|
579 |
+
name = "stdlibs"
|
580 |
+
version = "2022.10.9"
|
581 |
+
description = "List of packages in the stdlib"
|
582 |
+
category = "dev"
|
583 |
+
optional = false
|
584 |
+
python-versions = ">=3.7"
|
585 |
+
files = [
|
586 |
+
{file = "stdlibs-2022.10.9-py3-none-any.whl", hash = "sha256:0deede419c34f9d57cddaff35939af6e186be6b3293c1f022eb0647709fb5b78"},
|
587 |
+
{file = "stdlibs-2022.10.9.tar.gz", hash = "sha256:72a3e4a7fbb40b0e766197e3381c2aabb4ca0442633e0bd99ffeec3908c9fdd8"},
|
588 |
+
]
|
589 |
+
|
590 |
+
[[package]]
|
591 |
+
name = "toml"
|
592 |
+
version = "0.10.2"
|
593 |
+
description = "Python Library for Tom's Obvious, Minimal Language"
|
594 |
+
category = "dev"
|
595 |
+
optional = false
|
596 |
+
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
597 |
+
files = [
|
598 |
+
{file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
|
599 |
+
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
|
600 |
+
]
|
601 |
+
|
602 |
+
[[package]]
|
603 |
+
name = "tomli"
|
604 |
+
version = "2.0.1"
|
605 |
+
description = "A lil' TOML parser"
|
606 |
+
category = "dev"
|
607 |
+
optional = false
|
608 |
+
python-versions = ">=3.7"
|
609 |
+
files = [
|
610 |
+
{file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
|
611 |
+
{file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
|
612 |
+
]
|
613 |
+
|
614 |
+
[[package]]
|
615 |
+
name = "trailrunner"
|
616 |
+
version = "1.4.0"
|
617 |
+
description = "Run things on paths"
|
618 |
+
category = "dev"
|
619 |
+
optional = false
|
620 |
+
python-versions = ">=3.7"
|
621 |
+
files = [
|
622 |
+
{file = "trailrunner-1.4.0-py3-none-any.whl", hash = "sha256:a286d39f2723f28d167347f41cf8f232832648709366e722f55cf5545772a48e"},
|
623 |
+
{file = "trailrunner-1.4.0.tar.gz", hash = "sha256:3fe61e259e6b2e5192f321c265985b7a0dc18497ced62b2da244f08104978398"},
|
624 |
+
]
|
625 |
+
|
626 |
+
[package.dependencies]
|
627 |
+
pathspec = ">=0.8.1"
|
628 |
+
|
629 |
+
[package.extras]
|
630 |
+
dev = ["attribution (==1.6.2)", "black (==22.3.0)", "click (==8.1.3)", "coverage (==6.5)", "flake8 (==4.0.1)", "flake8-bugbear (==23.2.13)", "flit (==3.7.1)", "mypy (==1.1.1)", "rich (==13.3.2)", "ufmt (==2.0.1)", "usort (==1.0.5)"]
|
631 |
+
docs = ["sphinx (==6.1.3)", "sphinx-mdinclude (==0.5.3)"]
|
632 |
+
|
633 |
+
[[package]]
|
634 |
+
name = "typing-extensions"
|
635 |
+
version = "4.5.0"
|
636 |
+
description = "Backported and Experimental Type Hints for Python 3.7+"
|
637 |
+
category = "main"
|
638 |
+
optional = false
|
639 |
+
python-versions = ">=3.7"
|
640 |
+
files = [
|
641 |
+
{file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"},
|
642 |
+
{file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"},
|
643 |
+
]
|
644 |
+
|
645 |
+
[[package]]
|
646 |
+
name = "typing-inspect"
|
647 |
+
version = "0.8.0"
|
648 |
+
description = "Runtime inspection utilities for typing module."
|
649 |
+
category = "dev"
|
650 |
+
optional = false
|
651 |
+
python-versions = "*"
|
652 |
+
files = [
|
653 |
+
{file = "typing_inspect-0.8.0-py3-none-any.whl", hash = "sha256:5fbf9c1e65d4fa01e701fe12a5bca6c6e08a4ffd5bc60bfac028253a447c5188"},
|
654 |
+
{file = "typing_inspect-0.8.0.tar.gz", hash = "sha256:8b1ff0c400943b6145df8119c41c244ca8207f1f10c9c057aeed1560e4806e3d"},
|
655 |
+
]
|
656 |
+
|
657 |
+
[package.dependencies]
|
658 |
+
mypy-extensions = ">=0.3.0"
|
659 |
+
typing-extensions = ">=3.7.4"
|
660 |
+
|
661 |
+
[[package]]
|
662 |
+
name = "usort"
|
663 |
+
version = "1.0.6"
|
664 |
+
description = "A small, safe import sorter"
|
665 |
+
category = "dev"
|
666 |
+
optional = false
|
667 |
+
python-versions = ">=3.6"
|
668 |
+
files = [
|
669 |
+
{file = "usort-1.0.6-py3-none-any.whl", hash = "sha256:81c69a4a6a750824834b18019a2e325ea38d7ae944cca4d98f15e62a27ca1f27"},
|
670 |
+
{file = "usort-1.0.6.tar.gz", hash = "sha256:b30a212f196d8f7b624e8c70ff0b11a6de4b1e1f21cc4fa75adf1689367e807a"},
|
671 |
+
]
|
672 |
+
|
673 |
+
[package.dependencies]
|
674 |
+
attrs = ">=21.2.0"
|
675 |
+
click = ">=7.0.0"
|
676 |
+
LibCST = ">=0.3.7"
|
677 |
+
moreorless = ">=0.3.0"
|
678 |
+
stdlibs = ">=2021.4.1"
|
679 |
+
toml = ">=0.10.0"
|
680 |
+
trailrunner = ">=1.0"
|
681 |
+
|
682 |
+
[[package]]
|
683 |
+
name = "uvicorn"
|
684 |
+
version = "0.21.1"
|
685 |
+
description = "The lightning-fast ASGI server."
|
686 |
+
category = "main"
|
687 |
+
optional = false
|
688 |
+
python-versions = ">=3.7"
|
689 |
+
files = [
|
690 |
+
{file = "uvicorn-0.21.1-py3-none-any.whl", hash = "sha256:e47cac98a6da10cd41e6fd036d472c6f58ede6c5dbee3dbee3ef7a100ed97742"},
|
691 |
+
{file = "uvicorn-0.21.1.tar.gz", hash = "sha256:0fac9cb342ba099e0d582966005f3fdba5b0290579fed4a6266dc702ca7bb032"},
|
692 |
+
]
|
693 |
+
|
694 |
+
[package.dependencies]
|
695 |
+
click = ">=7.0"
|
696 |
+
h11 = ">=0.8"
|
697 |
+
|
698 |
+
[package.extras]
|
699 |
+
standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"]
|
700 |
+
|
701 |
+
[metadata]
|
702 |
+
lock-version = "2.0"
|
703 |
+
python-versions = "^3.8.1"
|
704 |
+
content-hash = "3c75504cab4f87ed6dabe316e8c9698605b4cc250adcc472b721a0b54715921b"
|
poetry.toml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
[virtualenvs]
|
2 |
+
in-project = true
|
pyproject.toml
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[tool.poetry]
|
2 |
+
name = "zeno-evals-hub"
|
3 |
+
version = "0.1.0"
|
4 |
+
description = ""
|
5 |
+
authors = ["Alex Cabrera <[email protected]>"]
|
6 |
+
readme = "README.md"
|
7 |
+
|
8 |
+
[tool.poetry.dependencies]
|
9 |
+
python = "^3.8.1"
|
10 |
+
fastapi = "^0.95.0"
|
11 |
+
uvicorn = "^0.21.1"
|
12 |
+
|
13 |
+
[tool.poetry.dev-dependencies]
|
14 |
+
black = "^23.3.0"
|
15 |
+
usort = "^1.0.6"
|
16 |
+
flake8 = "^6.0.0"
|
17 |
+
mypy = "^1.2.0"
|
18 |
+
pyright = "^1.1.302"
|
19 |
+
prettier = "^0.0.7"
|
20 |
+
|
21 |
+
[build-system]
|
22 |
+
requires = ["poetry-core"]
|
23 |
+
build-backend = "poetry.core.masonry.api"
|
24 |
+
|
25 |
+
[tool.poetry.scripts]
|
26 |
+
zeno-evals-hub = "zeno-evals-hub.runner:command_line"
|
27 |
+
|
28 |
+
[tool.pyright]
|
29 |
+
include = ["zeno-evals-hub"]
|
30 |
+
useLibraryCodeForTypes = true
|
zeno-evals-hub/__init__.py
ADDED
File without changes
|
zeno-evals-hub/frontend/index.html
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en">
|
3 |
+
<head>
|
4 |
+
<meta charset="UTF-8" />
|
5 |
+
<link rel="icon" type="image/svg+xml" href="./build/vite.svg" />
|
6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7 |
+
<title>Vite + Svelte + TS</title>
|
8 |
+
<!-- Material Icons -->
|
9 |
+
<link
|
10 |
+
rel="stylesheet"
|
11 |
+
href="https://fonts.googleapis.com/icon?family=Material+Icons"
|
12 |
+
/>
|
13 |
+
<!-- Roboto -->
|
14 |
+
<link
|
15 |
+
rel="stylesheet"
|
16 |
+
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700"
|
17 |
+
/>
|
18 |
+
<!-- Roboto Mono -->
|
19 |
+
<link
|
20 |
+
rel="stylesheet"
|
21 |
+
href="https://fonts.googleapis.com/css?family=Roboto+Mono"
|
22 |
+
/>
|
23 |
+
</head>
|
24 |
+
<body>
|
25 |
+
<div id="app"></div>
|
26 |
+
<script type="module" src="http://localhost:5173/src/main.ts"></script>
|
27 |
+
</body>
|
28 |
+
</html>
|
zeno-evals-hub/runner.py
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
|
3 |
+
import uvicorn
|
4 |
+
from fastapi import FastAPI
|
5 |
+
from fastapi.staticfiles import StaticFiles
|
6 |
+
|
7 |
+
# from zeno import get_server, zeno
|
8 |
+
|
9 |
+
# create zeno object
|
10 |
+
# create second zeno object
|
11 |
+
|
12 |
+
# create fastapi for both zeno objects
|
13 |
+
|
14 |
+
# serve
|
15 |
+
|
16 |
+
# get_server()
|
17 |
+
|
18 |
+
|
19 |
+
def command_line():
|
20 |
+
app = FastAPI(title="Frontend API")
|
21 |
+
api_app = FastAPI(title="Backend API")
|
22 |
+
|
23 |
+
app.mount("/api", api_app)
|
24 |
+
app.mount(
|
25 |
+
"/",
|
26 |
+
StaticFiles(
|
27 |
+
directory=os.path.dirname(os.path.realpath(__file__)) + "/frontend",
|
28 |
+
html=True,
|
29 |
+
),
|
30 |
+
name="base",
|
31 |
+
)
|
32 |
+
|
33 |
+
print("Running server")
|
34 |
+
uvicorn.run(app)
|