From 55332d1ddb4f6f660c5de2e23b3bc052c1b147cc Mon Sep 17 00:00:00 2001 From: Rohan Verma <122026167+MODSetter@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:00:11 -0700 Subject: [PATCH] Initial commit --- .eslintrc.js | 10 + .gitignore | 58 + .npmrc | 0 .vscode/next-fast-turbo.code-workspace | 33 + .vscode/settings.json | 11 + LICENCE | 674 ++ README.md | 54 + apps/api/.env.example | 4 + apps/api/.vscode/launch.json | 13 + apps/api/.vscode/settings.json | 5 + apps/api/README.md | 8 + apps/api/harry-potter-db-seed-spells.csv | 78 + apps/api/harry-potter-db-seed-users.csv | 114 + apps/api/package.json | 8 + apps/api/poetry.lock | 1789 ++++ apps/api/poetry.toml | 3 + apps/api/pyproject.toml | 24 + apps/api/requirements.txt | 54 + apps/api/run.py | 4 + apps/api/src/__init__.py | 1 + apps/api/src/api/__init__.py | 0 apps/api/src/api/api_v1/__init__.py | 0 apps/api/src/api/api_v1/api.py | 6 + apps/api/src/api/api_v1/endpoints/__init__.py | 0 apps/api/src/api/api_v1/endpoints/spells.py | 63 + apps/api/src/api/api_v1/endpoints/users.py | 76 + apps/api/src/api/deps.py | 30 + apps/api/src/config.py | 30 + apps/api/src/crud/__init__.py | 2 + apps/api/src/crud/base.py | 74 + apps/api/src/crud/crud_spell.py | 43 + apps/api/src/crud/crud_user.py | 58 + apps/api/src/main.py | 51 + apps/api/src/schemas/__init__.py | 2 + apps/api/src/schemas/base.py | 40 + apps/api/src/schemas/spell.py | 26 + apps/api/src/schemas/user.py | 31 + apps/api/tests/__init__.py | 0 apps/api/tests/test_api.py | 5 + apps/api/vercel.json | 18 + apps/docs/.vscode/extensions.json | 3 + .../_images/deploy-api-configure-project.png | Bin 0 -> 66650 bytes apps/docs/_images/deploy-api-running.png | Bin 0 -> 44205 bytes .../deploy-docs-enable-auto-update.png | Bin 0 -> 41686 bytes apps/docs/_images/deploy-docs-select-repo.png | Bin 0 -> 18779 bytes .../_images/deploy-web-configure-project.png | Bin 0 -> 80585 bytes .../_images/deploy-web-ignored-build-step.png | Bin 0 -> 42586 bytes apps/docs/_images/no-workspace.png | Bin 0 -> 44105 bytes apps/docs/_images/run-and-debug.png | Bin 0 -> 10274 bytes .../_images/supabase-create-spells-table.png | Bin 0 -> 55824 bytes .../_images/supabase-create-user-table.png | Bin 0 -> 56784 bytes apps/docs/_images/supabase-credentials.png | Bin 0 -> 86446 bytes apps/docs/_images/supabase-new-table.png | Bin 0 -> 16016 bytes apps/docs/_images/supabase-project-create.png | Bin 0 -> 53014 bytes apps/docs/_images/supabase-upload-csv.png | Bin 0 -> 35746 bytes apps/docs/_images/tasks.png | Bin 0 -> 30782 bytes apps/docs/_images/terminals.png | Bin 0 -> 4628 bytes apps/docs/_images/type-hinting.png | Bin 0 -> 49281 bytes apps/docs/_images/workspace.png | Bin 0 -> 32933 bytes apps/docs/api/spells/get-all-spells.mdx | 3 + apps/docs/api/spells/get-spell.mdx | 3 + apps/docs/api/spells/search-spells.mdx | 3 + apps/docs/api/users/create-user.mdx | 3 + apps/docs/api/users/get-all-users.mdx | 3 + apps/docs/api/users/get-user.mdx | 3 + apps/docs/api/users/search-users.mdx | 3 + .../docs/documentation/configuration/docs.mdx | 161 + .../documentation/configuration/fastapi.mdx | 377 + .../documentation/configuration/nextjs.mdx | 176 + .../documentation/configuration/turbo.mdx | 53 + .../documentation/deployment/deployment.mdx | 131 + apps/docs/documentation/introduction.mdx | 70 + apps/docs/documentation/local-development.mdx | 308 + apps/docs/logos/favicon-placeholder.png | Bin 0 -> 755 bytes apps/docs/logos/logo-light.svg | 1 + apps/docs/logos/logo.svg | 1 + apps/docs/mint.json | 96 + apps/docs/openapi.json | 545 + apps/docs/package.json | 13 + apps/web/.eslintrc.js | 9 + apps/web/.vscode/launch.json | 17 + apps/web/app/globals.css | 13 + apps/web/app/layout.tsx | 49 + apps/web/app/page.tsx | 11 + apps/web/app/placeholder-stats.tsx | 17 + apps/web/app/settings/page.tsx | 3 + apps/web/components.json | 17 + apps/web/components/demo-exercise.tsx | 126 + apps/web/components/demo-goal.tsx | 120 + apps/web/components/demo-revenue.tsx | 82 + apps/web/components/demo-subscriptions.tsx | 65 + apps/web/components/flex-wrapper.tsx | 74 + apps/web/components/grid-wrapper.tsx | 70 + apps/web/components/icons.tsx | 118 + .../dashboard/DashboardLayout.module.css | 42 + .../layouts/dashboard/DashboardLayout.tsx | 35 + .../web/components/layouts/dashboard/index.ts | 1 + .../Footer/Footer.module.css | 4 + .../layout-components/Footer/Footer.tsx | 17 + .../layout-components/Footer/index.ts | 1 + .../layout-components/Header/Header.tsx | 33 + .../layout-components/Header/index.ts | 1 + .../layout-components/Sidebar/NavLink.tsx | 82 + .../layout-components/Sidebar/NavLinks.tsx | 67 + .../layout-components/Sidebar/Sidebar.tsx | 84 + .../Sidebar/SidebarMobile.tsx | 58 + .../layout-components/Sidebar/index.ts | 2 + .../dashboard/layout-components/index.ts | 4 + apps/web/components/search-users.tsx | 209 + apps/web/components/tailwind-indicator.tsx | 18 + apps/web/components/theme/mode-toggle.tsx | 25 + apps/web/components/theme/theme-provider.tsx | 9 + apps/web/components/theme/theme.css | 48 + apps/web/components/typography.tsx | 82 + apps/web/components/ui/button.tsx | 56 + apps/web/components/ui/card.tsx | 86 + apps/web/components/ui/dropdown-menu.tsx | 200 + apps/web/components/ui/form.tsx | 177 + apps/web/components/ui/input.tsx | 25 + apps/web/components/ui/label.tsx | 26 + apps/web/components/ui/radio-group.tsx | 44 + apps/web/components/ui/separator.tsx | 31 + apps/web/components/ui/skeleton.tsx | 15 + apps/web/components/ui/tooltip.tsx | 30 + apps/web/lib/api/client/core/ApiError.ts | 29 + .../lib/api/client/core/ApiRequestOptions.ts | 24 + apps/web/lib/api/client/core/ApiResult.ts | 11 + .../lib/api/client/core/CancelablePromise.ts | 130 + apps/web/lib/api/client/core/OpenAPI.ts | 32 + apps/web/lib/api/client/core/request.ts | 367 + apps/web/lib/api/client/index.ts | 19 + .../api/client/models/HTTPValidationError.ts | 8 + apps/web/lib/api/client/models/Spell.ts | 9 + .../api/client/models/SpellSearchResults.ts | 8 + apps/web/lib/api/client/models/User.ts | 10 + apps/web/lib/api/client/models/UserCreate.ts | 9 + .../api/client/models/UserSearchResults.ts | 8 + .../lib/api/client/models/ValidationError.ts | 9 + .../lib/api/client/services/SpellsService.ts | 92 + .../lib/api/client/services/UsersService.ts | 121 + apps/web/lib/config/index.ts | 1 + apps/web/lib/config/nav.tsx | 32 + apps/web/lib/twConfig.ts | 47 + apps/web/lib/utils.ts | 6 + apps/web/next-env.d.ts | 5 + apps/web/next.config.js | 8 + apps/web/package.json | 61 + apps/web/postcss.config.js | 6 + apps/web/public/favicon-16x16.png | Bin 0 -> 330 bytes apps/web/public/favicon-32x32.png | Bin 0 -> 565 bytes apps/web/public/favicon.png | Bin 0 -> 755 bytes apps/web/public/logo.svg | 20 + apps/web/tailwind.config.js | 84 + apps/web/tsconfig.json | 25 + package.json | 20 + packages/eslint-config/README.md | 3 + packages/eslint-config/library.js | 34 + packages/eslint-config/next.js | 37 + packages/eslint-config/package.json | 19 + packages/eslint-config/react-internal.js | 43 + packages/typescript-config/base.json | 24 + packages/typescript-config/nextjs.json | 33 + packages/typescript-config/package.json | 9 + packages/typescript-config/react-library.json | 16 + pnpm-lock.yaml | 9238 +++++++++++++++++ pnpm-workspace.yaml | 3 + tsconfig.json | 3 + turbo.json | 34 + 168 files changed, 18456 insertions(+) create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .vscode/next-fast-turbo.code-workspace create mode 100644 .vscode/settings.json create mode 100644 LICENCE create mode 100644 README.md create mode 100644 apps/api/.env.example create mode 100644 apps/api/.vscode/launch.json create mode 100644 apps/api/.vscode/settings.json create mode 100644 apps/api/README.md create mode 100644 apps/api/harry-potter-db-seed-spells.csv create mode 100644 apps/api/harry-potter-db-seed-users.csv create mode 100644 apps/api/package.json create mode 100644 apps/api/poetry.lock create mode 100644 apps/api/poetry.toml create mode 100644 apps/api/pyproject.toml create mode 100644 apps/api/requirements.txt create mode 100644 apps/api/run.py create mode 100644 apps/api/src/__init__.py create mode 100644 apps/api/src/api/__init__.py create mode 100644 apps/api/src/api/api_v1/__init__.py create mode 100644 apps/api/src/api/api_v1/api.py create mode 100644 apps/api/src/api/api_v1/endpoints/__init__.py create mode 100644 apps/api/src/api/api_v1/endpoints/spells.py create mode 100644 apps/api/src/api/api_v1/endpoints/users.py create mode 100644 apps/api/src/api/deps.py create mode 100644 apps/api/src/config.py create mode 100644 apps/api/src/crud/__init__.py create mode 100644 apps/api/src/crud/base.py create mode 100644 apps/api/src/crud/crud_spell.py create mode 100644 apps/api/src/crud/crud_user.py create mode 100644 apps/api/src/main.py create mode 100644 apps/api/src/schemas/__init__.py create mode 100644 apps/api/src/schemas/base.py create mode 100644 apps/api/src/schemas/spell.py create mode 100644 apps/api/src/schemas/user.py create mode 100644 apps/api/tests/__init__.py create mode 100644 apps/api/tests/test_api.py create mode 100644 apps/api/vercel.json create mode 100644 apps/docs/.vscode/extensions.json create mode 100644 apps/docs/_images/deploy-api-configure-project.png create mode 100644 apps/docs/_images/deploy-api-running.png create mode 100644 apps/docs/_images/deploy-docs-enable-auto-update.png create mode 100644 apps/docs/_images/deploy-docs-select-repo.png create mode 100644 apps/docs/_images/deploy-web-configure-project.png create mode 100644 apps/docs/_images/deploy-web-ignored-build-step.png create mode 100644 apps/docs/_images/no-workspace.png create mode 100644 apps/docs/_images/run-and-debug.png create mode 100644 apps/docs/_images/supabase-create-spells-table.png create mode 100644 apps/docs/_images/supabase-create-user-table.png create mode 100644 apps/docs/_images/supabase-credentials.png create mode 100644 apps/docs/_images/supabase-new-table.png create mode 100644 apps/docs/_images/supabase-project-create.png create mode 100644 apps/docs/_images/supabase-upload-csv.png create mode 100644 apps/docs/_images/tasks.png create mode 100644 apps/docs/_images/terminals.png create mode 100644 apps/docs/_images/type-hinting.png create mode 100644 apps/docs/_images/workspace.png create mode 100644 apps/docs/api/spells/get-all-spells.mdx create mode 100644 apps/docs/api/spells/get-spell.mdx create mode 100644 apps/docs/api/spells/search-spells.mdx create mode 100644 apps/docs/api/users/create-user.mdx create mode 100644 apps/docs/api/users/get-all-users.mdx create mode 100644 apps/docs/api/users/get-user.mdx create mode 100644 apps/docs/api/users/search-users.mdx create mode 100644 apps/docs/documentation/configuration/docs.mdx create mode 100644 apps/docs/documentation/configuration/fastapi.mdx create mode 100644 apps/docs/documentation/configuration/nextjs.mdx create mode 100644 apps/docs/documentation/configuration/turbo.mdx create mode 100644 apps/docs/documentation/deployment/deployment.mdx create mode 100644 apps/docs/documentation/introduction.mdx create mode 100644 apps/docs/documentation/local-development.mdx create mode 100644 apps/docs/logos/favicon-placeholder.png create mode 100644 apps/docs/logos/logo-light.svg create mode 100644 apps/docs/logos/logo.svg create mode 100644 apps/docs/mint.json create mode 100644 apps/docs/openapi.json create mode 100644 apps/docs/package.json create mode 100644 apps/web/.eslintrc.js create mode 100644 apps/web/.vscode/launch.json create mode 100644 apps/web/app/globals.css create mode 100644 apps/web/app/layout.tsx create mode 100644 apps/web/app/page.tsx create mode 100644 apps/web/app/placeholder-stats.tsx create mode 100644 apps/web/app/settings/page.tsx create mode 100644 apps/web/components.json create mode 100644 apps/web/components/demo-exercise.tsx create mode 100644 apps/web/components/demo-goal.tsx create mode 100644 apps/web/components/demo-revenue.tsx create mode 100644 apps/web/components/demo-subscriptions.tsx create mode 100644 apps/web/components/flex-wrapper.tsx create mode 100644 apps/web/components/grid-wrapper.tsx create mode 100644 apps/web/components/icons.tsx create mode 100644 apps/web/components/layouts/dashboard/DashboardLayout.module.css create mode 100644 apps/web/components/layouts/dashboard/DashboardLayout.tsx create mode 100644 apps/web/components/layouts/dashboard/index.ts create mode 100644 apps/web/components/layouts/dashboard/layout-components/Footer/Footer.module.css create mode 100644 apps/web/components/layouts/dashboard/layout-components/Footer/Footer.tsx create mode 100644 apps/web/components/layouts/dashboard/layout-components/Footer/index.ts create mode 100644 apps/web/components/layouts/dashboard/layout-components/Header/Header.tsx create mode 100644 apps/web/components/layouts/dashboard/layout-components/Header/index.ts create mode 100644 apps/web/components/layouts/dashboard/layout-components/Sidebar/NavLink.tsx create mode 100644 apps/web/components/layouts/dashboard/layout-components/Sidebar/NavLinks.tsx create mode 100644 apps/web/components/layouts/dashboard/layout-components/Sidebar/Sidebar.tsx create mode 100644 apps/web/components/layouts/dashboard/layout-components/Sidebar/SidebarMobile.tsx create mode 100644 apps/web/components/layouts/dashboard/layout-components/Sidebar/index.ts create mode 100644 apps/web/components/layouts/dashboard/layout-components/index.ts create mode 100644 apps/web/components/search-users.tsx create mode 100644 apps/web/components/tailwind-indicator.tsx create mode 100644 apps/web/components/theme/mode-toggle.tsx create mode 100644 apps/web/components/theme/theme-provider.tsx create mode 100644 apps/web/components/theme/theme.css create mode 100644 apps/web/components/typography.tsx create mode 100644 apps/web/components/ui/button.tsx create mode 100644 apps/web/components/ui/card.tsx create mode 100644 apps/web/components/ui/dropdown-menu.tsx create mode 100644 apps/web/components/ui/form.tsx create mode 100644 apps/web/components/ui/input.tsx create mode 100644 apps/web/components/ui/label.tsx create mode 100644 apps/web/components/ui/radio-group.tsx create mode 100644 apps/web/components/ui/separator.tsx create mode 100644 apps/web/components/ui/skeleton.tsx create mode 100644 apps/web/components/ui/tooltip.tsx create mode 100644 apps/web/lib/api/client/core/ApiError.ts create mode 100644 apps/web/lib/api/client/core/ApiRequestOptions.ts create mode 100644 apps/web/lib/api/client/core/ApiResult.ts create mode 100644 apps/web/lib/api/client/core/CancelablePromise.ts create mode 100644 apps/web/lib/api/client/core/OpenAPI.ts create mode 100644 apps/web/lib/api/client/core/request.ts create mode 100644 apps/web/lib/api/client/index.ts create mode 100644 apps/web/lib/api/client/models/HTTPValidationError.ts create mode 100644 apps/web/lib/api/client/models/Spell.ts create mode 100644 apps/web/lib/api/client/models/SpellSearchResults.ts create mode 100644 apps/web/lib/api/client/models/User.ts create mode 100644 apps/web/lib/api/client/models/UserCreate.ts create mode 100644 apps/web/lib/api/client/models/UserSearchResults.ts create mode 100644 apps/web/lib/api/client/models/ValidationError.ts create mode 100644 apps/web/lib/api/client/services/SpellsService.ts create mode 100644 apps/web/lib/api/client/services/UsersService.ts create mode 100644 apps/web/lib/config/index.ts create mode 100644 apps/web/lib/config/nav.tsx create mode 100644 apps/web/lib/twConfig.ts create mode 100644 apps/web/lib/utils.ts create mode 100644 apps/web/next-env.d.ts create mode 100644 apps/web/next.config.js create mode 100644 apps/web/package.json create mode 100644 apps/web/postcss.config.js create mode 100644 apps/web/public/favicon-16x16.png create mode 100644 apps/web/public/favicon-32x32.png create mode 100644 apps/web/public/favicon.png create mode 100644 apps/web/public/logo.svg create mode 100644 apps/web/tailwind.config.js create mode 100644 apps/web/tsconfig.json create mode 100644 package.json create mode 100644 packages/eslint-config/README.md create mode 100644 packages/eslint-config/library.js create mode 100644 packages/eslint-config/next.js create mode 100644 packages/eslint-config/package.json create mode 100644 packages/eslint-config/react-internal.js create mode 100644 packages/typescript-config/base.json create mode 100644 packages/typescript-config/nextjs.json create mode 100644 packages/typescript-config/package.json create mode 100644 packages/typescript-config/react-library.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 tsconfig.json create mode 100644 turbo.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..e928b86 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,10 @@ +// This configuration only applies to the package manager root. +/** @type {import("eslint").Linter.Config} */ +module.exports = { + ignorePatterns: ["apps/**", "packages/**"], + extends: ["@repo/eslint-config/library.js"], + parser: "@typescript-eslint/parser", + parserOptions: { + project: true, + }, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ff12bc4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Dependencies +node_modules +.pnp +.pnp.js + +# Local env files +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# Testing +coverage + +# Turbo +.turbo + +# Vercel +.vercel + +# Build Outputs +.next/ +out/ +build +dist + +# Debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Misc +.DS_Store +*.pem + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Environments +.venv \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..e69de29 diff --git a/.vscode/next-fast-turbo.code-workspace b/.vscode/next-fast-turbo.code-workspace new file mode 100644 index 0000000..89704e5 --- /dev/null +++ b/.vscode/next-fast-turbo.code-workspace @@ -0,0 +1,33 @@ +{ + "folders": [ + { + "name": "Frontend", + "path": "../apps/web" + }, + { + "name": "API", + "path": "../apps/api" + }, + { + "name": "Documentation", + "path": "../apps/docs" + }, + { + "name": "Root", + "path": "../" + } + ], + "extensions": { + "recommendations": ["joshx.workspace-terminals"] + }, + "launch": { + "version": "0.2.0", + "configurations": [], + "compounds": [ + { + "name": "Launch Frontend and Backend", + "configurations": ["Next.js: Chrome", "Python: FastAPI"] + } + ] + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3e5c2e2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "eslint.workingDirectories": [ + { + "mode": "auto" + } + ], + "python.testing.pytestArgs": ["apps"], + "python.testing.unittestEnabled": false, + "python.testing.pytestEnabled": true, + "cSpell.enableFiletypes": ["mdx"] +} diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENCE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f9d379d --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +

Next-Fast-Turbo

+ +

+ Introduction | + Features | + Tech Stack | + Getting started | + Contributing +

+

+ + Documentation + +

+
+ +## Introduction + +Next-Fast-Turbo is an open-source project scaffold. It's designed to be easy to get up and running both locally and in production. It's a monorepo that includes a Next.js frontend, a FastAPI backend, and a fully built and annotated Mintlify documentation site. It's built with TypeScript, and includes ESLint and Prettier for code quality. It's also set up to use Vercel for deployments and Remote Caching. + +View the live frontend at [next-fast-turbo-web.vercel.app](https://next-fast-turbo-web.vercel.app/) and the live backend at [next-fast-turbo-api.vercel.app](https://next-fast-turbo-api.vercel.app/). + +## Features + +- Pre-configured [FastAPI backend](https://next-fast-turbo.mintlify.app/documentation/configuration/fastapi) +- Pre-configured [Next.js frontend](https://next-fast-turbo.mintlify.app/documentation/configuration/nextjs) +- Pre-configured [Mintlify documentation site](https://next-fast-turbo.mintlify.app/documentation/configuration/docs) + +## Tech Stack + +- [Next.js](https://nextjs.org/) – Frontend Framework +- [Tailwind](https://tailwindcss.com/) – CSS Framework +- [ShadCN UI](https://ui.shadcn.com/) – UI Components +- [FastAPI](https://fastapi.tiangolo.com/) – Python Backend +- [Mintlify](https://mintlify.com/) – Documentation +- [Supabase](https://supabase.com/) – Database +- [Turborepo](https://turbo.build/repo) – Monorepo +- [Vercel](https://vercel.com/) – deployments + +## Getting started + +Next-Fast-Turbo is designed to be cloned and modified to each project. For more information on getting started, [view the documentation](https://next-fast-turbo.mintlify.app/documentation/introduction). + +## Contributing + +Contributions are welcome. Here's how you can contribute: + +- [Open an issue](https://github.com/cording12/next-fast-turbo/issues) if you believe you've encountered a bug. +- Follow the [local development guide](https://next-fast-turbo.mintlify.app/documentation/local-development) to get your local dev environment set up. +- Make a [pull request](https://github.com/cording12/next-fast-turbo/pulls) to add new features/make quality-of-life improvements/fix bugs. + +## License + +Next-Fast-Turbo is open-source under the GNU General Public License Version 3 (GPLv3) or any later version. diff --git a/apps/api/.env.example b/apps/api/.env.example new file mode 100644 index 0000000..db3b808 --- /dev/null +++ b/apps/api/.env.example @@ -0,0 +1,4 @@ +DB_URL=supabase_url +DB_API_KEY=supabase_api_key +DB_EMAIl=email_address +DB_PASSWORD=password \ No newline at end of file diff --git a/apps/api/.vscode/launch.json b/apps/api/.vscode/launch.json new file mode 100644 index 0000000..0585794 --- /dev/null +++ b/apps/api/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Python: FastAPI", + "type": "debugpy", + "request": "launch", + "module": "uvicorn", + "args": ["src.main:app", "--reload"], + "jinja": true + } + ] +} diff --git a/apps/api/.vscode/settings.json b/apps/api/.vscode/settings.json new file mode 100644 index 0000000..d969f96 --- /dev/null +++ b/apps/api/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "python.testing.pytestArgs": ["tests"], + "python.testing.unittestEnabled": false, + "python.testing.pytestEnabled": true +} diff --git a/apps/api/README.md b/apps/api/README.md new file mode 100644 index 0000000..51da84c --- /dev/null +++ b/apps/api/README.md @@ -0,0 +1,8 @@ +Generate requirements.txt using Poetry package manager: + +``` +poetry export --without-hashes --format=requirements.txt > requirements.txt +``` + +Python monorepo info: +https://medium.com/@ashley.e.shultz/python-mono-repo-with-only-built-in-tooling-7c2d52c2fc66 diff --git a/apps/api/harry-potter-db-seed-spells.csv b/apps/api/harry-potter-db-seed-spells.csv new file mode 100644 index 0000000..32bcf5f --- /dev/null +++ b/apps/api/harry-potter-db-seed-spells.csv @@ -0,0 +1,78 @@ +id,name,description +c76a2922-ba4c-4278-baab-44defb631236,Aberto,Opens locked doors +06485500-d023-4799-93fd-77f2c3341aa3,Accio,Summons objects +acbc0ae1-12e1-4813-b51e-09d22de40475,Aguamenti,Summons water +c9d2f389-a419-4f7e-8d3d-254959638019,Alohomora,Unlocks objects +018429a5-15d5-41af-bf8f-98a966733d77,Anapneo,Clears someone's airway +c828685c-52d2-466d-bcc6-fbcd8376cfb5,Aparecium,Reveals secret written messages +7fdd393c-2608-4ef3-9fd0-f691ad6f8b88,Apparate,A non-verbal transportation spell that allows a witch or wizard to instantly travel on the spot and appear at another location (disapparate is the opposite) +73886d47-2808-4861-ae40-956f4cb56272,Ascendio,Propells someone into the air +9a6b6854-8858-4b21-b761-12526a154597,Avada Kedavra,"Also known as The Killing Curse, the most evil spell in the Wizarding World; one of three Unforgivable Curses; Harry Potter is the only known witch or wizard to survive it" +b6f20bba-c0db-4ad2-8ac6-2a375a596287,Avis,Conjures a small flock of birds +48edfe4d-ddfc-49ac-8065-bd7e73c73778,Bat,Bogey Hex - Turns the target's boogers into bats +6bd8d5c1-9375-4b70-8d6e-ad019176c7a2,Bombardo,Creates an explosion +8fc19d10-3130-4b85-95c1-f2a51ba5ee3c,Brackium Emendo,Heals broken bones +f08c17fa-7bf9-49bf-9fba-a7806815bc80,Capacious Extremis,"Known as the Extension Charm, it's a complicated spell that can greatly expand or extend the capacity of an object or space without affecting it externally" +55dec867-ac07-4975-94c7-090f6fd25c86,Confundo,"Known as the Confundus Charm, it causes confusion of the target" +816d9fee-b78f-47b4-be46-b48626c013f9,Conjunctivitis Curse,Affects the eyes and sight of a target +58b8727a-6c0c-469c-b91d-8ac0cc0dd2d8,Crinus Muto,Changes hair color and style +f1e91049-e866-4f6f-9d87-d6fd366aecbf,Crucio,"One of three Unforgivable Curses, it causes unbearable pain in the target" +7324e645-8f41-4c83-a367-0d10a72906ff,Diffindo,Used to precisely cut an object +638072b9-b7ac-405d-914b-d9293c5f9d25,Disillusionment Charm,Causes the target to take on the appearance of its surroundings +b7643e32-ef9c-41b8-83f2-03f6b5015e04,Disapparate,A non-verbal transportation spell that allows a witch or wizard to instantly travel on the spot and leave for another location (apparate is the opposite) +20476c31-4f27-49ac-876f-a4c4028f1b5b,Engorgio,Causes rapid growth in the targeted object +ecb9a882-d6d7-495e-9958-a1a06902bb65,Episkey,Heals minor injuries +317ff981-ad65-421e-92fb-5f6647d95232,Expecto patronum,"The Patronus Charm is a powerful projection of hope and happiness that drives away Dementors; a corpeal Patronus takes the the respective animal form of the caster, while a non-corpeal appears as a wisp of light; at 13, Harry Potter was the youngest known witch or wizard to prouduce a corpeal Patronus" +60149246-91cf-44a5-8885-78a7acc4bf90,Erecto,"Allows a witch or wizard to build a structure, like a tent" +6d8138c3-0773-4c23-b0bf-aab0e5c6fd95,Evanesco,Vanishes objects +678474e6-fb30-4bf0-a18c-228f6b36592d,Expelliarmus,Forces an opponent to drop whatever's in their possession +31b38b6c-4775-4e20-815d-dbf302433de6,Ferula,A healing charm that conjures wraps and bandages for wounds +37d262c9-28ab-408f-9576-acf54ce50203,Fidelius Charm,"A complex charm that conceals a secret into the soul of a chosen ""Secret Keeper"". If a location is the subject of concealment, it becomes undetectable to others" +9121b557-0ebf-4b60-a119-9d1c5ff05dee,Fiendfyre Curse,"Conjures destructive, enormous enchanted flames" +de23025f-5e6a-4ec3-b827-5c526a922a89,Finite Incantatem,A general counter-spell that's used to reverse or counter already cast charms +d536cbe5-bc0f-49e5-b063-e02c231a3988,Furnunculus Curse,A jinx that causes a breakout of boils or pimples +7915b07a-d26e-4057-9083-e457643e57a6,Geminio,Duplicates objects +2a942514-7a19-4f0e-9353-171c573abcba,Glisseo,Transforms a staircase into a slide +a42028b6-67f5-463b-b759-452103533227,Homenum Revelio,Reveals the presence of another person +552cd4ee-2c67-48fd-ae20-a83773262a8a,Homonculus Charm,Detects anyone's true identity and location on a piece of parchment; used to create the Marauder's Map +2dfca7d2-ec9b-4150-b3f3-fd972a5fd1bc,Immobulus,Immobilises living targets +a49300cc-ddbf-4ff4-b8c2-e8bddbbe4118,Impedimenta,A temporary jinx that slows the movement of the target +e5c22d31-26f1-4c88-a586-d9c09cb88c1f,Incarcerous,Conjures ropes +a53ad5be-00ee-4254-b3c0-4cec60b0c034,Imperio,"One of the three Unforgivable Curses, it places the target under the complete control of the caster" +a3b34bf6-1ff7-4fe3-81ee-e617150f5da9,Impervius,Makes an object waterproof +de048df0-b227-4376-a29b-90fe6878d950,Incendio,Conjures flames +c4a4520b-b80d-49e8-9e5a-3ca0a7f376ca,Langlock,Causes the target's tongue to stick to the roof of their mouth +0da7cb76-dabc-46ff-b8e9-c23a4f03caea,Legilimens,Invading or navigating another's mind +723dd9c9-ee62-495b-9071-cddd16087b86,Levicorpus,Levitates the target by their ankle +8add16ef-b4b1-4e2b-a91e-80aa194da438,Locomotor Mortis,The Leg-Locker curse bounds the target's legs +3b7a10ce-3339-4a36-9493-292c8775e47b,Lumos,Illuminates the caster's wand +832edaca-dbff-4a57-80c7-1d8a827c8416,Morsmordre,Conjures and projects Lord Voldemort's Dark Mark +7f4b43e0-3356-43f9-9299-15ec37cfaf76,Mucus Ad Nauseam,Inflicts an extreme runny nose or cold +f86bbf7e-94ea-4c22-89fb-809af8214a85,Muffliato,Creates a buzzing sound in the target's ears to prevent eavesdropping +66be613d-532c-46d8-a3e9-f5a2d9cccf0c,Nox,"Reverses the lumos charm, extinguishing a wand's light" +9e3c0217-652a-4763-82f8-5519026a1ea6,Obliviate,Erases the target's memory +0af49753-c8ae-4748-87a7-b7cfc47d33a0,Obscuro,Conjures a blindfold +67e838c1-4623-414e-9a91-12125631dbad,Oculus Reparo,Repairs eyeglasses +12251f32-af9d-408f-a652-3a4cc9602bc0,Oppugno,Directs an object or person to attack a victim +da9eab7b-2c7c-42de-861c-fb254bd9423c,Petrificus Totalus,Temporarily freezes or petrifies the body of the target +3e5fd245-2ecf-40c4-937d-b2c2f9eee003,Periculum,Conjures flares/red sparks +ad5685f8-6e05-49b1-a41c-d72786001d72,Piertotum Locomotor,Incantation used to bring to life inanimate objects and artifacts +0a267162-0594-4372-a3d5-89382926f495,Protean Charm,Links objects together for better communication +8808aa30-39f4-400c-a0e5-1dcbad657931,Protego,"Casts an invisible shield around the caster, protecting against spells and objects (except for The Killing Curse)" +56742dd7-3c93-4085-bea3-971e88d81dc2,Reducto,Reduces the target to pieces +2f177949-1f80-4663-9840-da8197411f2a,Reducio,Shrinks an enlarged object to its regular size +358ecb3c-e684-492c-b706-47cbd1eae02e,Renneverate,Awakens or revives the target +1b7a8a4c-8d4f-4001-8155-e68f1198ef72,Reparifors,Heals magical ailments like poisoning or paralysis +799f31a3-799e-411f-b67c-a64e48a5f503,Reparo,Fixes broken objects +32dbeb89-0978-4037-ab1b-413d62be02c3,Rictusempra,A charm that disarms an opponent by tickling them +c9dc8bed-5834-4001-8fa1-852690d027f2,Riddikulus,"Used to defeat a Boggart, the charm allows the scary creature to assume a comedic form, disarming it" +14c47e18-cbf3-4aec-afd3-5473d18ee7c0,Scourgify,Cleans objects +3617c34c-e650-4e3b-a13a-651d18471225,Sectumsempra,Inflicts severe lacerations and haemorrhaging on the target +53747fb8-bdab-466e-90fb-ca75c66f3dd9,Serpensortia,Conjures a live snake +43d3d53e-7ab9-4145-bda7-d96be99c5d31,Silencio,Silences the target +d5f71164-fa43-4566-b537-8852859bde01,Sonorus,Amplifies the witch or wizard's voice +9ec3258c-bc2f-4427-8440-ebea450a44aa,Spongify,Softens the target +37110a48-07e3-4fd7-9aae-ac1145161e1e,Stupefy,The Stunning spell freezes objects and renders living targets unconscious +daeb6f2a-5aff-43e1-964a-a06da7f66a3c,Tarantallegra,"Aimed at the legs, causes uncontrollable dancing movement" +4eaa6532-3ef2-428d-922f-101aee3d66ed,Unbreakable Vow,A magically binding contract that results in the death of whoever breaks it +e23728b2-f6fd-4c70-a1d2-ce602940d873,Wingardium Leviosa,"Causes an object to levitate; but remember what Hermione said: ""It's Wing-gar-dium Levi-o-sa, make the 'gar' nice and long.'""" diff --git a/apps/api/harry-potter-db-seed-users.csv b/apps/api/harry-potter-db-seed-users.csv new file mode 100644 index 0000000..49aa6a1 --- /dev/null +++ b/apps/api/harry-potter-db-seed-users.csv @@ -0,0 +1,114 @@ +id,forename,surname,email +fd142190-f1d7-4ce2-bdb3-6ed6b3edc020,Patricia,Stimpson,patriciastimpson@hogwarts.com +f94086b8-03ae-4457-ba2c-e624d0980869,Lavender,Brown,lavenderbrown@hogwarts.com +ecca342d-d345-4fb3-8a85-ece848ab8938,Milicent,Bullstroude,milicentbullstroude@hogwarts.com +ec714982-e604-40d4-bd4c-dc5155506957,Morag,MacDougal,moragmacdougal@hogwarts.com +eaea5eb3-48a3-41c6-9ea5-c695299bab16,Lisa,Turpin,lisaturpin@hogwarts.com +e7f4554e-8193-4b16-a40b-a8b38a0c3e57,Graham,Montague,grahammontague@hogwarts.com +e65c8acb-0dfc-4f15-bcf8-d32b78811093,Rose,Zeller,rosezeller@hogwarts.com +e4653b01-76a5-4769-a6a2-1f2efaf89cbb,Rose,Weasley,roseweasley@hogwarts.com +e32dd37c-91cd-4950-8ef2-e2ba1b87bd75,Lily,Moon,lilymoon@hogwarts.com +dcdc063e-cf3e-48fc-b777-65922e899b38,Albus,Severus,albusseverus@hogwarts.com +d9cec110-a1d0-4437-9a55-dced475dfe6d,Andrew,Kirke,andrewkirke@hogwarts.com +d5c4daa3-c726-426a-aa98-fb40f3fba816,Cedric,Diggory,cedricdiggory@hogwarts.com +cf3707ad-e816-4b54-90d0-403800a06ecd,Emma,Dobbs,emmadobbs@hogwarts.com +cb263aed-289b-43ad-8647-db54b8a5fc92,Michael,Corner,michaelcorner@hogwarts.com +c8aed011-ab8f-46df-9e8d-dde938256ea9,Miles,Bletchley,milesbletchley@hogwarts.com +c74b1fae-4793-4b47-bec2-ee652beabce2,Ritchie,Coote,ritchiecoote@hogwarts.com +c61b5c80-2c8e-404f-88ca-349a6344f35c,Cassius,Warrington,cassiuswarrington@hogwarts.com +c5acae3e-1a05-4f1d-bb83-3f8c7639d84e,Mandy,Brocklehurst,mandybrocklehurst@hogwarts.com +c3b1f9a5-b87b-48bf-b00d-95b093ea6390,Ron,Weasley,ronweasley@hogwarts.com +c29cd5f9-d2c3-4be9-ba1c-04169cdf511b,Alicia,Spinet,aliciaspinet@hogwarts.com +bff82738-5bb0-4edc-9cec-f80d1af4801f,Vicky,Frobisher,vickyfrobisher@hogwarts.com +b78e6677-8bb4-4eb7-97cb-2f86677e27ea,Adrian,Pucey,adrianpucey@hogwarts.com +b634f0a1-7b48-49b6-b039-27f947ee76fd,Angelina,Johnson,angelinajohnson@hogwarts.com +b01be346-290b-4f65-9c88-a49922e116ee,Orla,Quirke,orlaquirke@hogwarts.com +af95bd8a-dfae-45bb-bc69-533860d34129,Draco,Malfoy,dracomalfoy@hogwarts.com +ae068570-8419-4063-bf61-ba4a0ef41fe3,Laura,Madley,lauramadley@hogwarts.com +a93b80a0-987d-4148-944d-16043df95e8c,Dennis,Creevey,denniscreevey@hogwarts.com +a506574f-c8cf-46c6-a8ac-2f805c25e49e,Graham,Pritchard,grahampritchard@hogwarts.com +a3e5ea64-b103-4f47-bc26-dc08b799c668,Eddie,Carmichael,eddiecarmichael@hogwarts.com +a31ddc78-af12-4978-929c-3cc8a00a833e,Gregory,Goyle,gregorygoyle@hogwarts.com +a01f6dbb-bad5-426b-a7df-f9613fa1021d,Euan,Abercrombie,euanabercrombie@hogwarts.com +9e3f7ce4-b9a7-4244-b709-dae5c1f1d4a8,Harry,Potter,harrypotter@hogwarts.com +9c8ce8c7-ae0a-4646-920f-09c071862f10,James,Potter,jamespotter@hogwarts.com +9ba0ca6e-4fba-410d-9b5e-e20694dde413,Melinda,Bobbin,melindabobbin@hogwarts.com +9ac09267-92ea-444a-a395-28f3b0f6fe6f,Terrence,Higgs,terrencehiggs@hogwarts.com +98546bab-8d5b-4627-95f6-38e306d58a91,Owen,Cauldwell,owencauldwell@hogwarts.com +979ab773-944f-4ff8-88be-943a4bc2c18a,Lee,Jordan,leejordan@hogwarts.com +938559ee-e8e5-4963-8437-e7da04fd1b31,Marcus,Belby,marcusbelby@hogwarts.com +9055a7b1-6ac9-4363-977c-4dec78572fad,Terry,Boot,terryboot@hogwarts.com +8f9aa40b-5d7c-441e-ad32-4564ecda3b70,Cho,Chang,chochang@hogwarts.com +8f3b8796-c7b9-442e-ac02-113d48306fc7,Percy,Weasley,percyweasley@hogwarts.com +8e557e86-28d5-433f-8ac1-d2cecfeb8fb7,Colin,Creevey,colincreevey@hogwarts.com +88886e27-9ce2-416f-9dd6-56d4cd94a4fb,Geoffrey,Hooper,geoffreyhooper@hogwarts.com +861c4cde-2f0f-4796-8d8f-9492e74b2573,Luna,Lovegood,lunalovegood@hogwarts.com +7f2f6207-8998-4f98-92c2-8d02898a82eb,Scorpius,Malfoy,scorpiusmalfoy@hogwarts.com +7cc5e694-850d-4c44-830b-7154e23bb5c3,Susan,Bones,susanbones@hogwarts.com +781f1061-5413-40c7-8a35-b078e2e969b1,Barnabas,the,barnabasthe@hogwarts.com +7772cb4e-5c33-405a-970d-c05cae167917,Daphne,Greengrass,daphnegreengrass@hogwarts.com +6fa93583-b935-4228-91e0-729e6713bdab,Zacharias,Smith,zachariassmith@hogwarts.com +6c4350a9-2356-4bba-96bd-0458c12d99b5,Romilda,Vane,romildavane@hogwarts.com +69c18f6a-cd97-4218-9f2f-740393e6eb1f,Padma,Patil,padmapatil@hogwarts.com +61b6d68e-4128-408c-9f71-9ef167cb0e69,Anthony,Goldstein,anthonygoldstein@hogwarts.com +58a287c2-8c7a-485a-b095-8c6dcfc7f31d,Lucian,Bole,lucianbole@hogwarts.com +57fe29d4-312a-4711-bd9a-c320253d9176,Victoire,Weasley,victoireweasley@hogwarts.com +575fbbc2-ac94-4c58-92f6-e5d75846da91,Jack,Sloper,jacksloper@hogwarts.com +4eef1e03-cf1c-4441-9119-a6e47a61f880,Kevin,Whitby,kevinwhitby@hogwarts.com +4c7e6819-a91a-45b2-a454-f931e4a7cce3,Hermione,Granger,hermionegranger@hogwarts.com +4a0f4c3b-14dc-4a9e-a2f8-da23734f5d34,Marietta,Edgecombe,mariettaedgecombe@hogwarts.com +48880498-3903-4914-bd11-ec650d803199,Natalie,McDonald,nataliemcdonald@hogwarts.com +47aa7511-59b9-4760-9bd7-822a1103177b,Theodore,Nott,theodorenott@hogwarts.com +458828b3-82a5-4cad-a784-e23215825765,Peregrine,Derrick,peregrinederrick@hogwarts.com +42915280-ba56-4ab8-8b17-9511ba2ab093,Penelope,Clearwater,penelopeclearwater@hogwarts.com +3db6dc51-b461-4fa4-a6e4-b1ff352221c5,Neville,Longbottom,nevillelongbottom@hogwarts.com +3d629315-1dbb-4e1e-840d-ffbf45bd5894,Sally-Anne,Perks,sally-anneperks@hogwarts.com +341e65d4-6917-48d7-80b2-1f9af607e95a,Cormac,McLaggen,cormacmclaggen@hogwarts.com +34155375-c8c0-415e-873a-b6483f0cbf17,Justin,Finch-Fletchley,justinfinch-fletchley@hogwarts.com +2f8db183-e935-4b91-884f-fb9effe42ab8,Malcolm,Baddock,malcolmbaddock@hogwarts.com +2b203c7e-7b3d-4f27-8b3c-11473904da73,Hugo,Weasley,hugoweasley@hogwarts.com +2a0615de-8aa4-41e7-9504-dd875f5f3f01,George,Weasley,georgeweasley@hogwarts.com +29adbbf0-417a-4c97-8467-adb5341f75e5,Eleanor,Branstone,eleanorbranstone@hogwarts.com +28e9fe6b-3ca5-41ca-8a14-b995e0fb398b,Jimmy,Peakes,jimmypeakes@hogwarts.com +2899e63f-ed02-4152-8ace-0270a068a70d,Pansy,Parkinson,pansyparkinson@hogwarts.com +28741184-263c-4000-b011-ca7c60466ef4,Fred,Weasley,fredweasley@hogwarts.com +2832bea8-7aad-4160-a748-442f5770d586,Katie,Bell,katiebell@hogwarts.com +26bd4437-73fa-4865-afdd-2fc1456f4592,Kenneth,Towler,kennethtowler@hogwarts.com +1fab149b-52b1-4ffe-be52-4eda25d98f5d,Blaise,Zabini,blaisezabini@hogwarts.com +1cd6dc64-01a9-4379-9cfd-1a7167ba1bb1,Ginny,Weasley,ginnyweasley@hogwarts.com +14aca981-2b60-413e-8f8e-3534961b534b,Millicent,Bulstrode,millicentbulstrode@hogwarts.com +1413e1b3-2903-4a47-a2d5-e8abc5ce8014,Seamus,Finnigan,seamusfinnigan@hogwarts.com +13a54f8a-7f68-4add-a1b4-49f60c8e7bcc,Eloise,Midgen,eloisemidgen@hogwarts.com +0e53860c-7679-49e4-891e-fb92286f0e5b,Demelza,Robins,demelzarobins@hogwarts.com +0e42ecbe-27b2-4940-9b03-00182a92c415,Marcus,Flint,marcusflint@hogwarts.com +0c80d701-fa23-4126-9711-efe5f3c4789a,Ernie,Macmillan,erniemacmillan@hogwarts.com +0af82694-e24f-45ec-a8d7-5bb1199ce631,Hannah,Abbott,hannahabbott@hogwarts.com +0a13bf8e-a763-44cc-ac76-c6c53a639809,Roger,Davies,rogerdavies@hogwarts.com +09396e81-d317-499f-b330-25b90ba17d20,Oliver,Wood,oliverwood@hogwarts.com +05bd5fd1-f347-45e6-8ec0-59b7f11c2aec,Stewart,Ackerley,stewartackerley@hogwarts.com +04f9eb45-d843-4e29-a7d3-0bd49ed87f85,Vincent,Crabbe,vincentcrabbe@hogwarts.com +0201cf73-8a86-4358-b232-2abaa23f09af,Parvati,Patil,parvatipatil@hogwarts.com +ca3827f0-375a-4891-aaa5-f5e8a5bad225,Minerva,McGonagall,minervamcgonagall@hogwarts.com +3569d265-bd27-44d8-88e8-82fb0a848374,Severus,Snape,severussnape@hogwarts.com +36bfefd0-e0bb-4d11-be98-d1ef6117a77a,Rubeus,Hagrid,rubeushagrid@hogwarts.com +b8f9095b-9de6-4d7d-83e0-4391af8f22e4,Remus,Lupin,remuslupin@hogwarts.com +2fb675cd-5505-4c8e-a54e-579e73bf4174,Horace,Slughorn,horaceslughorn@hogwarts.com +d58e7249-19d1-40bd-a43f-1da0497fe8aa,Dolores,Umbridge,doloresumbridge@hogwarts.com +b0620914-858d-46fc-8e6d-033c565e138b,Mrs,Norris,mrsnorris@hogwarts.com +2b82cfb8-0440-4a57-a030-6d75a40c0d98,Argus,Filch,argusfilch@hogwarts.com +b415c867-1cff-455e-b194-748662ac2cca,Albus,Dumbledore,albusdumbledore@hogwarts.com +e9457467-d10a-4893-afa9-19f9602b218a,Madam,Pomfrey,madampomfrey@hogwarts.com +ba19be27-178b-4594-95b7-51ba0e3ba1dd,Quirinus,Quirrel,quirinusquirrel@hogwarts.com +e8694719-a975-48fb-9523-f4cade1c38aa,Pomona,Sprout,pomonasprout@hogwarts.com +6ea188f3-d95c-407c-ab00-a0bec8678a71,Cuthbert,Binns,cuthbertbinns@hogwarts.com +a61e0783-7914-4f8d-a800-c409c06315cf,Filius,Flitwick,filiusflitwick@hogwarts.com +0a81c4f9-b80d-45a7-a4fd-9191453815a1,Madam,Hooch,madamhooch@hogwarts.com +3d687c4d-852e-470f-bac5-5a02758b1f8f,Gilderoy,Lockhart,gilderoylockhart@hogwarts.com +cdec9b95-c7a5-4623-ad12-6fa76d168588,Madame,Pince,madamepince@hogwarts.com +8ea29415-012d-4781-ba5f-d0de63a05abe,Sybill,Trelawney,sybilltrelawney@hogwarts.com +58f2cf41-392c-4e84-b441-dbbce585f78d,Septima,Vector,septimavector@hogwarts.com +99d3ce6b-6a45-495a-a7c6-132203697d45,Aurora,Sinistra,aurorasinistra@hogwarts.com +41ebe856-f0f4-4c77-8795-4735d3a87f3d,Alastor,Moody,alastormoody@hogwarts.com +b48c5b8a-4066-4c24-ba26-7677f5ed2b6f,Wilhelmina,Grubbly-Plank,wilhelminagrubbly-plank@hogwarts.com +c4e73590-3ee2-4125-87fb-692dd991819b,Galatea,Merrythought,galateamerrythought@hogwarts.com +61d78dce-890b-4f02-844f-b41d66553802,Charity,Burbage,charityburbage@hogwarts.com diff --git a/apps/api/package.json b/apps/api/package.json new file mode 100644 index 0000000..57fae1e --- /dev/null +++ b/apps/api/package.json @@ -0,0 +1,8 @@ +{ + "name": "api", + "version": "0.0.0", + "scripts": { + "dev": ".\\.venv\\Scripts\\python run.py", + "generate:requirements": "poetry export --without-hashes --format=requirements.txt > requirements.txt" + } +} \ No newline at end of file diff --git a/apps/api/poetry.lock b/apps/api/poetry.lock new file mode 100644 index 0000000..d70d202 --- /dev/null +++ b/apps/api/poetry.lock @@ -0,0 +1,1789 @@ +[[package]] +name = "aiohttp" +version = "3.9.3" +description = "Async http client/server framework (asyncio)" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +aiosignal = ">=1.1.2" +async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} +attrs = ">=17.3.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +yarl = ">=1.0,<2.0" + +[package.extras] +speedups = ["brotlicffi", "brotli", "aiodns"] + +[[package]] +name = "aiosignal" +version = "1.3.1" +description = "aiosignal: a list of registered asynchronous callbacks" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +frozenlist = ">=1.1.0" + +[[package]] +name = "annotated-types" +version = "0.6.0" +description = "Reusable constraint types to use with typing.Annotated" +category = "main" +optional = false +python-versions = ">=3.8" + +[[package]] +name = "anyio" +version = "4.3.0" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} +idna = ">=2.8" +sniffio = ">=1.1" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} + +[package.extras] +doc = ["packaging", "Sphinx (>=7)", "sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"] +test = ["anyio", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (>=0.23)"] + +[[package]] +name = "argcomplete" +version = "3.2.3" +description = "Bash tab completion for argparse" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.extras] +test = ["coverage", "pexpect", "wheel", "ruff", "mypy"] + +[[package]] +name = "astroid" +version = "3.1.0" +description = "An abstract syntax tree for Python with inference support." +category = "dev" +optional = false +python-versions = ">=3.8.0" + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} + +[[package]] +name = "async-timeout" +version = "4.0.3" +description = "Timeout context manager for asyncio programs" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "attrs" +version = "23.2.0" +description = "Classes Without Boilerplate" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +cov = ["attrs", "coverage[toml] (>=5.3)"] +dev = ["attrs", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs", "zope-interface"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs", "cloudpickle", "hypothesis", "pympler", "pytest-xdist", "pytest (>=4.3.0)"] + +[[package]] +name = "black" +version = "22.12.0" +description = "The uncompromising code formatter." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "certifi" +version = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" +optional = false +python-versions = ">=3.7.0" + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" + +[[package]] +name = "commitizen" +version = "3.18.4" +description = "Python commitizen client tool" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +argcomplete = ">=1.12.1,<3.3" +charset-normalizer = ">=2.1.0,<4" +colorama = ">=0.4.1,<0.5.0" +decli = ">=0.6.0,<0.7.0" +importlib_metadata = ">=4.13,<8" +jinja2 = ">=2.10.3" +packaging = ">=19" +pyyaml = ">=3.08" +questionary = ">=2.0,<3.0" +termcolor = ">=1.1,<3" +tomlkit = ">=0.5.3,<1.0.0" + +[[package]] +name = "decli" +version = "0.6.1" +description = "Minimal, easy-to-use, declarative cli tool" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "deprecation" +version = "2.1.0" +description = "A library to handle automated deprecations" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +packaging = "*" + +[[package]] +name = "dill" +version = "0.3.8" +description = "serialize all of Python" +category = "dev" +optional = false +python-versions = ">=3.8" + +[package.extras] +graph = ["objgraph (>=1.7.2)"] +profile = ["gprof2dot (>=2022.7.29)"] + +[[package]] +name = "dnspython" +version = "2.6.1" +description = "DNS toolkit" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.extras] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest-cov (>=4.1.0)", "pytest (>=7.4)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] +dnssec = ["cryptography (>=41)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] +doq = ["aioquic (>=0.9.25)"] +idna = ["idna (>=3.6)"] +trio = ["trio (>=0.23)"] +wmi = ["wmi (>=1.5.1)"] + +[[package]] +name = "email-validator" +version = "2.1.1" +description = "A robust email address syntax and deliverability validation library." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +dnspython = ">=2.0.0" +idna = ">=2.0.0" + +[[package]] +name = "exceptiongroup" +version = "1.2.0" +description = "Backport of PEP 654 (exception groups)" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "fastapi" +version = "0.109.2" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" +starlette = ">=0.36.3,<0.37.0" +typing-extensions = ">=4.8.0" + +[package.extras] +all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "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)"] + +[[package]] +name = "frozenlist" +version = "1.4.1" +description = "A list-like structure which implements collections.abc.MutableSequence" +category = "main" +optional = false +python-versions = ">=3.8" + +[[package]] +name = "gotrue" +version = "2.4.1" +description = "Python Client Library for GoTrue" +category = "main" +optional = false +python-versions = ">=3.8,<4.0" + +[package.dependencies] +httpx = ">=0.23,<0.26" +pydantic = ">=1.10,<3" + +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "httpcore" +version = "1.0.4" +description = "A minimal low-level HTTP client." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] +trio = ["trio (>=0.22.0,<0.25.0)"] + +[[package]] +name = "httpx" +version = "0.25.2" +description = "The next generation HTTP client." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = ">=1.0.0,<2.0.0" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] + +[[package]] +name = "idna" +version = "3.6" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "importlib-metadata" +version = "7.0.2" +description = "Read metadata from Python packages" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9.3)", "rst.linker (>=1.9)", "furo", "sphinx-lint", "jaraco.tidelift (>=1.4)"] +perf = ["ipython"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ruff (>=0.2.1)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-mypy", "importlib-resources (>=1.3)"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "isort" +version = "5.13.2" +description = "A Python utility / library to sort Python imports." +category = "dev" +optional = false +python-versions = ">=3.8.0" + +[package.extras] +colors = ["colorama (>=0.4.6)"] + +[[package]] +name = "jinja2" +version = "3.1.3" +description = "A very fast and expressive template engine." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "multidict" +version = "6.0.5" +description = "multidict implementation" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "packaging" +version = "24.0" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = ">=3.8" + +[[package]] +name = "platformdirs" +version = "4.2.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = ">=3.8" + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx (>=7.2.6)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest (>=7.4.3)"] + +[[package]] +name = "pluggy" +version = "1.4.0" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=3.8" + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "postgrest" +version = "0.16.1" +description = "PostgREST client for Python. This library provides an ORM interface to PostgREST." +category = "main" +optional = false +python-versions = ">=3.8,<4.0" + +[package.dependencies] +deprecation = ">=2.1.0,<3.0.0" +httpx = ">=0.24,<0.26" +pydantic = ">=1.9,<3.0" +strenum = ">=0.4.9,<0.5.0" + +[[package]] +name = "prompt-toolkit" +version = "3.0.36" +description = "Library for building powerful interactive command lines in Python" +category = "main" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "pydantic" +version = "2.6.4" +description = "Data validation using Python type hints" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +annotated-types = ">=0.4.0" +pydantic-core = "2.16.3" +typing-extensions = ">=4.6.1" + +[package.extras] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.16.3" +description = "" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + +[[package]] +name = "pydantic-settings" +version = "2.2.1" +description = "Settings management using Pydantic" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +pydantic = ">=2.3.0" +python-dotenv = ">=0.21.0" + +[package.extras] +toml = ["tomli (>=2.0.1)"] +yaml = ["pyyaml (>=6.0.1)"] + +[[package]] +name = "pylint" +version = "3.1.0" +description = "python code static checker" +category = "dev" +optional = false +python-versions = ">=3.8.0" + +[package.dependencies] +astroid = ">=3.1.0,<=3.2.0-dev0" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +dill = [ + {version = ">=0.2", markers = "python_version < \"3.11\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, +] +isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" +mccabe = ">=0.6,<0.8" +platformdirs = ">=2.2.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +tomlkit = ">=0.10.1" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +spelling = ["pyenchant (>=3.2,<4.0)"] +testutils = ["gitpython (>3)"] + +[[package]] +name = "pylint-plugin-utils" +version = "0.8.2" +description = "Utilities and helpers for writing Pylint plugins" +category = "dev" +optional = false +python-versions = ">=3.7,<4.0" + +[package.dependencies] +pylint = ">=1.7" + +[[package]] +name = "pylint-pydantic" +version = "0.3.2" +description = "A Pylint plugin to help Pylint understand the Pydantic" +category = "dev" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +pydantic = "<3.0" +pylint = ">2.0,<4.0" +pylint-plugin-utils = "*" + +[[package]] +name = "pytest" +version = "8.1.1" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=1.4,<2.0" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-dotenv" +version = "1.0.1" +description = "Read key-value pairs from a .env file and set them as environment variables" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "questionary" +version = "2.0.1" +description = "Python library to build pretty command line user prompts ⭐️" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +prompt_toolkit = ">=2.0,<=3.0.36" + +[[package]] +name = "realtime" +version = "1.0.2" +description = "" +category = "main" +optional = false +python-versions = ">=3.8,<4.0" + +[package.dependencies] +python-dateutil = ">=2.8.1,<3.0.0" +typing-extensions = ">=4.2.0,<5.0.0" +websockets = ">=11.0,<12.0" + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "sniffio" +version = "1.3.1" +description = "Sniff out which async library your code is running under" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "starlette" +version = "0.36.3" +description = "The little ASGI library that shines." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +anyio = ">=3.4.0,<5" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] + +[[package]] +name = "storage3" +version = "0.7.3" +description = "Supabase Storage client for Python." +category = "main" +optional = false +python-versions = ">=3.8,<4.0" + +[package.dependencies] +httpx = ">=0.24,<0.26" +python-dateutil = ">=2.8.2,<3.0.0" +typing-extensions = ">=4.2.0,<5.0.0" + +[[package]] +name = "strenum" +version = "0.4.15" +description = "An Enum that inherits from str." +category = "main" +optional = false +python-versions = "*" + +[package.extras] +docs = ["sphinx", "sphinx-rtd-theme", "myst-parser"] +release = ["twine"] +test = ["pytest", "pytest-black", "pytest-cov", "pytest-pylint", "pylint"] + +[[package]] +name = "supabase-py-async" +version = "2.5.5" +description = "supabase-py with async synax" +category = "main" +optional = false +python-versions = ">=3.9,<4.0" + +[package.dependencies] +aiohttp = ">=3.9.0,<4.0.0" +commitizen = ">=3.13.0,<4.0.0" +deprecation = ">=2.1.0,<3.0.0" +gotrue = ">=1.2,<3.0" +postgrest = ">=0.13,<0.17" +realtime = ">=1.0.2,<2.0.0" +storage3 = ">=0.6.1,<0.8.0" +supafunc = "0.4.0" + +[[package]] +name = "supafunc" +version = "0.4.0" +description = "Library for Supabase Functions" +category = "main" +optional = false +python-versions = ">=3.8,<4.0" + +[package.dependencies] +httpx = ">=0.24,<0.26" + +[[package]] +name = "termcolor" +version = "2.4.0" +description = "ANSI color formatting for output in terminal" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.extras] +tests = ["pytest", "pytest-cov"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "dev" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "tomlkit" +version = "0.12.4" +description = "Style preserving TOML library" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "typing-extensions" +version = "4.10.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +category = "main" +optional = false +python-versions = ">=3.8" + +[[package]] +name = "uvicorn" +version = "0.27.1" +description = "The lightning-fast ASGI server." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +click = ">=7.0" +h11 = ">=0.8" +typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} + +[package.extras] +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)"] + +[[package]] +name = "wcwidth" +version = "0.2.13" +description = "Measures the displayed width of unicode strings in a terminal" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "websockets" +version = "11.0.3" +description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "yarl" +version = "1.9.4" +description = "Yet another URL library" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + +[[package]] +name = "zipp" +version = "3.18.1" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.extras] +docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9.3)", "rst.linker (>=1.9)", "furo", "sphinx-lint", "jaraco.tidelift (>=1.4)"] +testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ruff (>=0.2.1)", "jaraco.itertools", "jaraco.functools", "more-itertools", "big-o", "pytest-ignore-flaky", "pytest-mypy"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.9" +content-hash = "534906ed9fdc495849ec95e0f62d963b5b8342bb248fa46e4675ed6b31805230" + +[metadata.files] +aiohttp = [ + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:939677b61f9d72a4fa2a042a5eee2a99a24001a67c13da113b2e30396567db54"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1f5cd333fcf7590a18334c90f8c9147c837a6ec8a178e88d90a9b96ea03194cc"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:82e6aa28dd46374f72093eda8bcd142f7771ee1eb9d1e223ff0fa7177a96b4a5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f56455b0c2c7cc3b0c584815264461d07b177f903a04481dfc33e08a89f0c26b"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bca77a198bb6e69795ef2f09a5f4c12758487f83f33d63acde5f0d4919815768"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e083c285857b78ee21a96ba1eb1b5339733c3563f72980728ca2b08b53826ca5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab40e6251c3873d86ea9b30a1ac6d7478c09277b32e14745d0d3c6e76e3c7e29"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df822ee7feaaeffb99c1a9e5e608800bd8eda6e5f18f5cfb0dc7eeb2eaa6bbec"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:acef0899fea7492145d2bbaaaec7b345c87753168589cc7faf0afec9afe9b747"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cd73265a9e5ea618014802ab01babf1940cecb90c9762d8b9e7d2cc1e1969ec6"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a78ed8a53a1221393d9637c01870248a6f4ea5b214a59a92a36f18151739452c"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6b0e029353361f1746bac2e4cc19b32f972ec03f0f943b390c4ab3371840aabf"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7cf5c9458e1e90e3c390c2639f1017a0379a99a94fdfad3a1fd966a2874bba52"}, + {file = "aiohttp-3.9.3-cp310-cp310-win32.whl", hash = "sha256:3e59c23c52765951b69ec45ddbbc9403a8761ee6f57253250c6e1536cacc758b"}, + {file = "aiohttp-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:055ce4f74b82551678291473f66dc9fb9048a50d8324278751926ff0ae7715e5"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b88f9386ff1ad91ace19d2a1c0225896e28815ee09fc6a8932fded8cda97c3d"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c46956ed82961e31557b6857a5ca153c67e5476972e5f7190015018760938da2"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07b837ef0d2f252f96009e9b8435ec1fef68ef8b1461933253d318748ec1acdc"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad46e6f620574b3b4801c68255492e0159d1712271cc99d8bdf35f2043ec266"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ed3e046ea7b14938112ccd53d91c1539af3e6679b222f9469981e3dac7ba1ce"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:039df344b45ae0b34ac885ab5b53940b174530d4dd8a14ed8b0e2155b9dddccb"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7943c414d3a8d9235f5f15c22ace69787c140c80b718dcd57caaade95f7cd93b"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84871a243359bb42c12728f04d181a389718710129b36b6aad0fc4655a7647d4"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5eafe2c065df5401ba06821b9a054d9cb2848867f3c59801b5d07a0be3a380ae"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9d3c9b50f19704552f23b4eaea1fc082fdd82c63429a6506446cbd8737823da3"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:f033d80bc6283092613882dfe40419c6a6a1527e04fc69350e87a9df02bbc283"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:2c895a656dd7e061b2fd6bb77d971cc38f2afc277229ce7dd3552de8313a483e"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1f5a71d25cd8106eab05f8704cd9167b6e5187bcdf8f090a66c6d88b634802b4"}, + {file = "aiohttp-3.9.3-cp311-cp311-win32.whl", hash = "sha256:50fca156d718f8ced687a373f9e140c1bb765ca16e3d6f4fe116e3df7c05b2c5"}, + {file = "aiohttp-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:5fe9ce6c09668063b8447f85d43b8d1c4e5d3d7e92c63173e6180b2ac5d46dd8"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:38a19bc3b686ad55804ae931012f78f7a534cce165d089a2059f658f6c91fa60"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:770d015888c2a598b377bd2f663adfd947d78c0124cfe7b959e1ef39f5b13869"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee43080e75fc92bf36219926c8e6de497f9b247301bbf88c5c7593d931426679"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52df73f14ed99cee84865b95a3d9e044f226320a87af208f068ecc33e0c35b96"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc9b311743a78043b26ffaeeb9715dc360335e5517832f5a8e339f8a43581e4d"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b955ed993491f1a5da7f92e98d5dad3c1e14dc175f74517c4e610b1f2456fb11"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:504b6981675ace64c28bf4a05a508af5cde526e36492c98916127f5a02354d53"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6fe5571784af92b6bc2fda8d1925cccdf24642d49546d3144948a6a1ed58ca5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ba39e9c8627edc56544c8628cc180d88605df3892beeb2b94c9bc857774848ca"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e5e46b578c0e9db71d04c4b506a2121c0cb371dd89af17a0586ff6769d4c58c1"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:938a9653e1e0c592053f815f7028e41a3062e902095e5a7dc84617c87267ebd5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:c3452ea726c76e92f3b9fae4b34a151981a9ec0a4847a627c43d71a15ac32aa6"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ff30218887e62209942f91ac1be902cc80cddb86bf00fbc6783b7a43b2bea26f"}, + {file = "aiohttp-3.9.3-cp312-cp312-win32.whl", hash = "sha256:38f307b41e0bea3294a9a2a87833191e4bcf89bb0365e83a8be3a58b31fb7f38"}, + {file = "aiohttp-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:b791a3143681a520c0a17e26ae7465f1b6f99461a28019d1a2f425236e6eedb5"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ed621426d961df79aa3b963ac7af0d40392956ffa9be022024cd16297b30c8c"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7f46acd6a194287b7e41e87957bfe2ad1ad88318d447caf5b090012f2c5bb528"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:feeb18a801aacb098220e2c3eea59a512362eb408d4afd0c242044c33ad6d542"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f734e38fd8666f53da904c52a23ce517f1b07722118d750405af7e4123933511"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b40670ec7e2156d8e57f70aec34a7216407848dfe6c693ef131ddf6e76feb672"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdd215b7b7fd4a53994f238d0f46b7ba4ac4c0adb12452beee724ddd0743ae5d"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:017a21b0df49039c8f46ca0971b3a7fdc1f56741ab1240cb90ca408049766168"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99abf0bba688259a496f966211c49a514e65afa9b3073a1fcee08856e04425b"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:648056db9a9fa565d3fa851880f99f45e3f9a771dd3ff3bb0c048ea83fb28194"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8aacb477dc26797ee089721536a292a664846489c49d3ef9725f992449eda5a8"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:522a11c934ea660ff8953eda090dcd2154d367dec1ae3c540aff9f8a5c109ab4"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5bce0dc147ca85caa5d33debc4f4d65e8e8b5c97c7f9f660f215fa74fc49a321"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b4af9f25b49a7be47c0972139e59ec0e8285c371049df1a63b6ca81fdd216a2"}, + {file = "aiohttp-3.9.3-cp38-cp38-win32.whl", hash = "sha256:298abd678033b8571995650ccee753d9458dfa0377be4dba91e4491da3f2be63"}, + {file = "aiohttp-3.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:69361bfdca5468c0488d7017b9b1e5ce769d40b46a9f4a2eed26b78619e9396c"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0fa43c32d1643f518491d9d3a730f85f5bbaedcbd7fbcae27435bb8b7a061b29"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:835a55b7ca49468aaaac0b217092dfdff370e6c215c9224c52f30daaa735c1c1"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06a9b2c8837d9a94fae16c6223acc14b4dfdff216ab9b7202e07a9a09541168f"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abf151955990d23f84205286938796c55ff11bbfb4ccfada8c9c83ae6b3c89a3"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59c26c95975f26e662ca78fdf543d4eeaef70e533a672b4113dd888bd2423caa"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f95511dd5d0e05fd9728bac4096319f80615aaef4acbecb35a990afebe953b0e"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:595f105710293e76b9dc09f52e0dd896bd064a79346234b521f6b968ffdd8e58"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7c8b816c2b5af5c8a436df44ca08258fc1a13b449393a91484225fcb7545533"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f1088fa100bf46e7b398ffd9904f4808a0612e1d966b4aa43baa535d1b6341eb"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f59dfe57bb1ec82ac0698ebfcdb7bcd0e99c255bd637ff613760d5f33e7c81b3"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:361a1026c9dd4aba0109e4040e2aecf9884f5cfe1b1b1bd3d09419c205e2e53d"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:363afe77cfcbe3a36353d8ea133e904b108feea505aa4792dad6585a8192c55a"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e2c45c208c62e955e8256949eb225bd8b66a4c9b6865729a786f2aa79b72e9d"}, + {file = "aiohttp-3.9.3-cp39-cp39-win32.whl", hash = "sha256:f7217af2e14da0856e082e96ff637f14ae45c10a5714b63c77f26d8884cf1051"}, + {file = "aiohttp-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:27468897f628c627230dba07ec65dc8d0db566923c48f29e084ce382119802bc"}, + {file = "aiohttp-3.9.3.tar.gz", hash = "sha256:90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7"}, +] +aiosignal = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] +annotated-types = [ + {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, + {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, +] +anyio = [ + {file = "anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8"}, + {file = "anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"}, +] +argcomplete = [ + {file = "argcomplete-3.2.3-py3-none-any.whl", hash = "sha256:c12355e0494c76a2a7b73e3a59b09024ca0ba1e279fb9ed6c1b82d5b74b6a70c"}, + {file = "argcomplete-3.2.3.tar.gz", hash = "sha256:bf7900329262e481be5a15f56f19736b376df6f82ed27576fa893652c5de6c23"}, +] +astroid = [ + {file = "astroid-3.1.0-py3-none-any.whl", hash = "sha256:951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819"}, + {file = "astroid-3.1.0.tar.gz", hash = "sha256:ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4"}, +] +async-timeout = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] +attrs = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] +black = [ + {file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"}, + {file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"}, + {file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"}, + {file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"}, + {file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"}, + {file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"}, + {file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"}, + {file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"}, + {file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"}, + {file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"}, + {file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"}, + {file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"}, +] +certifi = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] +charset-normalizer = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] +click = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] +colorama = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] +commitizen = [ + {file = "commitizen-3.18.4-py3-none-any.whl", hash = "sha256:42c9b2c5fd3d6b83ebf850424227a8935d3e49f9fa636c58c072a370713b176a"}, + {file = "commitizen-3.18.4.tar.gz", hash = "sha256:57b3051d4170e23a5317f348d1bc61b98e57ac01b04f66e0f9a25fef75e6f679"}, +] +decli = [ + {file = "decli-0.6.1-py3-none-any.whl", hash = "sha256:7815ac58617764e1a200d7cadac6315fcaacc24d727d182f9878dd6378ccf869"}, + {file = "decli-0.6.1.tar.gz", hash = "sha256:ed88ccb947701e8e5509b7945fda56e150e2ac74a69f25d47ac85ef30ab0c0f0"}, +] +deprecation = [ + {file = "deprecation-2.1.0-py2.py3-none-any.whl", hash = "sha256:a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a"}, + {file = "deprecation-2.1.0.tar.gz", hash = "sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff"}, +] +dill = [ + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, +] +dnspython = [ + {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, + {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, +] +email-validator = [ + {file = "email_validator-2.1.1-py3-none-any.whl", hash = "sha256:97d882d174e2a65732fb43bfce81a3a834cbc1bde8bf419e30ef5ea976370a05"}, + {file = "email_validator-2.1.1.tar.gz", hash = "sha256:200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84"}, +] +exceptiongroup = [ + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, +] +fastapi = [ + {file = "fastapi-0.109.2-py3-none-any.whl", hash = "sha256:2c9bab24667293b501cad8dd388c05240c850b58ec5876ee3283c47d6e1e3a4d"}, + {file = "fastapi-0.109.2.tar.gz", hash = "sha256:f3817eac96fe4f65a2ebb4baa000f394e55f5fccdaf7f75250804bc58f354f73"}, +] +frozenlist = [ + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, + {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, + {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, +] +gotrue = [ + {file = "gotrue-2.4.1-py3-none-any.whl", hash = "sha256:9647bb7a585c969d26667df21168fa20b18f91c5d6afe286af08d7a0610fd2cc"}, + {file = "gotrue-2.4.1.tar.gz", hash = "sha256:8b260ef285f45a3a2f9b5a006f12afb9fad7a36a28fa277f19e733f22eb88584"}, +] +h11 = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] +httpcore = [ + {file = "httpcore-1.0.4-py3-none-any.whl", hash = "sha256:ac418c1db41bade2ad53ae2f3834a3a0f5ae76b56cf5aa497d2d033384fc7d73"}, + {file = "httpcore-1.0.4.tar.gz", hash = "sha256:cb2839ccfcba0d2d3c1131d3c3e26dfc327326fbe7a5dc0dbfe9f6c9151bb022"}, +] +httpx = [ + {file = "httpx-0.25.2-py3-none-any.whl", hash = "sha256:a05d3d052d9b2dfce0e3896636467f8a5342fb2b902c819428e1ac65413ca118"}, + {file = "httpx-0.25.2.tar.gz", hash = "sha256:8b8fcaa0c8ea7b05edd69a094e63a2094c4efcb48129fb757361bc423c0ad9e8"}, +] +idna = [ + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, +] +importlib-metadata = [ + {file = "importlib_metadata-7.0.2-py3-none-any.whl", hash = "sha256:f4bc4c0c070c490abf4ce96d715f68e95923320370efb66143df00199bb6c100"}, + {file = "importlib_metadata-7.0.2.tar.gz", hash = "sha256:198f568f3230878cb1b44fbd7975f87906c22336dba2e4a7f05278c281fbd792"}, +] +iniconfig = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] +isort = [ + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, +] +jinja2 = [ + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, +] +markupsafe = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] +mccabe = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] +multidict = [ + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, + {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, + {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, + {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, + {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, +] +mypy-extensions = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] +packaging = [ + {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, + {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, +] +pathspec = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] +platformdirs = [ + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, +] +pluggy = [ + {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, + {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, +] +postgrest = [ + {file = "postgrest-0.16.1-py3-none-any.whl", hash = "sha256:412ec6bf61c58f38c92b6b61f57ab50e25c73ca9ef415a6f56ed9cf5429614cb"}, + {file = "postgrest-0.16.1.tar.gz", hash = "sha256:d955824d37e7123a8313cbf10c8e0a8d42418fcb942cd8e1526e8509fb71574d"}, +] +prompt-toolkit = [ + {file = "prompt_toolkit-3.0.36-py3-none-any.whl", hash = "sha256:aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305"}, + {file = "prompt_toolkit-3.0.36.tar.gz", hash = "sha256:3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63"}, +] +pydantic = [ + {file = "pydantic-2.6.4-py3-none-any.whl", hash = "sha256:cc46fce86607580867bdc3361ad462bab9c222ef042d3da86f2fb333e1d916c5"}, + {file = "pydantic-2.6.4.tar.gz", hash = "sha256:b1704e0847db01817624a6b86766967f552dd9dbf3afba4004409f908dcc84e6"}, +] +pydantic-core = [ + {file = "pydantic_core-2.16.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:75b81e678d1c1ede0785c7f46690621e4c6e63ccd9192af1f0bd9d504bbb6bf4"}, + {file = "pydantic_core-2.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9c865a7ee6f93783bd5d781af5a4c43dadc37053a5b42f7d18dc019f8c9d2bd1"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:162e498303d2b1c036b957a1278fa0899d02b2842f1ff901b6395104c5554a45"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f583bd01bbfbff4eaee0868e6fc607efdfcc2b03c1c766b06a707abbc856187"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b926dd38db1519ed3043a4de50214e0d600d404099c3392f098a7f9d75029ff8"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:716b542728d4c742353448765aa7cdaa519a7b82f9564130e2b3f6766018c9ec"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4ad7f7ee1a13d9cb49d8198cd7d7e3aa93e425f371a68235f784e99741561f"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bd87f48924f360e5d1c5f770d6155ce0e7d83f7b4e10c2f9ec001c73cf475c99"}, + {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0df446663464884297c793874573549229f9eca73b59360878f382a0fc085979"}, + {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4df8a199d9f6afc5ae9a65f8f95ee52cae389a8c6b20163762bde0426275b7db"}, + {file = "pydantic_core-2.16.3-cp310-none-win32.whl", hash = "sha256:456855f57b413f077dff513a5a28ed838dbbb15082ba00f80750377eed23d132"}, + {file = "pydantic_core-2.16.3-cp310-none-win_amd64.whl", hash = "sha256:732da3243e1b8d3eab8c6ae23ae6a58548849d2e4a4e03a1924c8ddf71a387cb"}, + {file = "pydantic_core-2.16.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:519ae0312616026bf4cedc0fe459e982734f3ca82ee8c7246c19b650b60a5ee4"}, + {file = "pydantic_core-2.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b3992a322a5617ded0a9f23fd06dbc1e4bd7cf39bc4ccf344b10f80af58beacd"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d62da299c6ecb04df729e4b5c52dc0d53f4f8430b4492b93aa8de1f541c4aac"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2acca2be4bb2f2147ada8cac612f8a98fc09f41c89f87add7256ad27332c2fda"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b662180108c55dfbf1280d865b2d116633d436cfc0bba82323554873967b340"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7c6ed0dc9d8e65f24f5824291550139fe6f37fac03788d4580da0d33bc00c97"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1bb0827f56654b4437955555dc3aeeebeddc47c2d7ed575477f082622c49e"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e56f8186d6210ac7ece503193ec84104da7ceb98f68ce18c07282fcc2452e76f"}, + {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:936e5db01dd49476fa8f4383c259b8b1303d5dd5fb34c97de194560698cc2c5e"}, + {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33809aebac276089b78db106ee692bdc9044710e26f24a9a2eaa35a0f9fa70ba"}, + {file = "pydantic_core-2.16.3-cp311-none-win32.whl", hash = "sha256:ded1c35f15c9dea16ead9bffcde9bb5c7c031bff076355dc58dcb1cb436c4721"}, + {file = "pydantic_core-2.16.3-cp311-none-win_amd64.whl", hash = "sha256:d89ca19cdd0dd5f31606a9329e309d4fcbb3df860960acec32630297d61820df"}, + {file = "pydantic_core-2.16.3-cp311-none-win_arm64.whl", hash = "sha256:6162f8d2dc27ba21027f261e4fa26f8bcb3cf9784b7f9499466a311ac284b5b9"}, + {file = "pydantic_core-2.16.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:0f56ae86b60ea987ae8bcd6654a887238fd53d1384f9b222ac457070b7ac4cff"}, + {file = "pydantic_core-2.16.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9bd22a2a639e26171068f8ebb5400ce2c1bc7d17959f60a3b753ae13c632975"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4204e773b4b408062960e65468d5346bdfe139247ee5f1ca2a378983e11388a2"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f651dd19363c632f4abe3480a7c87a9773be27cfe1341aef06e8759599454120"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aaf09e615a0bf98d406657e0008e4a8701b11481840be7d31755dc9f97c44053"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e47755d8152c1ab5b55928ab422a76e2e7b22b5ed8e90a7d584268dd49e9c6b"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:500960cb3a0543a724a81ba859da816e8cf01b0e6aaeedf2c3775d12ee49cade"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf6204fe865da605285c34cf1172879d0314ff267b1c35ff59de7154f35fdc2e"}, + {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d33dd21f572545649f90c38c227cc8631268ba25c460b5569abebdd0ec5974ca"}, + {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:49d5d58abd4b83fb8ce763be7794d09b2f50f10aa65c0f0c1696c677edeb7cbf"}, + {file = "pydantic_core-2.16.3-cp312-none-win32.whl", hash = "sha256:f53aace168a2a10582e570b7736cc5bef12cae9cf21775e3eafac597e8551fbe"}, + {file = "pydantic_core-2.16.3-cp312-none-win_amd64.whl", hash = "sha256:0d32576b1de5a30d9a97f300cc6a3f4694c428d956adbc7e6e2f9cad279e45ed"}, + {file = "pydantic_core-2.16.3-cp312-none-win_arm64.whl", hash = "sha256:ec08be75bb268473677edb83ba71e7e74b43c008e4a7b1907c6d57e940bf34b6"}, + {file = "pydantic_core-2.16.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:b1f6f5938d63c6139860f044e2538baeee6f0b251a1816e7adb6cbce106a1f01"}, + {file = "pydantic_core-2.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a1ef6a36fdbf71538142ed604ad19b82f67b05749512e47f247a6ddd06afdc7"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704d35ecc7e9c31d48926150afada60401c55efa3b46cd1ded5a01bdffaf1d48"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d937653a696465677ed583124b94a4b2d79f5e30b2c46115a68e482c6a591c8a"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9803edf8e29bd825f43481f19c37f50d2b01899448273b3a7758441b512acf8"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72282ad4892a9fb2da25defeac8c2e84352c108705c972db82ab121d15f14e6d"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f752826b5b8361193df55afcdf8ca6a57d0232653494ba473630a83ba50d8c9"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4384a8f68ddb31a0b0c3deae88765f5868a1b9148939c3f4121233314ad5532c"}, + {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4b2bf78342c40b3dc830880106f54328928ff03e357935ad26c7128bbd66ce8"}, + {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:13dcc4802961b5f843a9385fc821a0b0135e8c07fc3d9949fd49627c1a5e6ae5"}, + {file = "pydantic_core-2.16.3-cp38-none-win32.whl", hash = "sha256:e3e70c94a0c3841e6aa831edab1619ad5c511199be94d0c11ba75fe06efe107a"}, + {file = "pydantic_core-2.16.3-cp38-none-win_amd64.whl", hash = "sha256:ecdf6bf5f578615f2e985a5e1f6572e23aa632c4bd1dc67f8f406d445ac115ed"}, + {file = "pydantic_core-2.16.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bda1ee3e08252b8d41fa5537413ffdddd58fa73107171a126d3b9ff001b9b820"}, + {file = "pydantic_core-2.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:21b888c973e4f26b7a96491c0965a8a312e13be108022ee510248fe379a5fa23"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be0ec334369316fa73448cc8c982c01e5d2a81c95969d58b8f6e272884df0074"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5b6079cc452a7c53dd378c6f881ac528246b3ac9aae0f8eef98498a75657805"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ee8d5f878dccb6d499ba4d30d757111847b6849ae07acdd1205fffa1fc1253c"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7233d65d9d651242a68801159763d09e9ec96e8a158dbf118dc090cd77a104c9"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6119dc90483a5cb50a1306adb8d52c66e447da88ea44f323e0ae1a5fcb14256"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:578114bc803a4c1ff9946d977c221e4376620a46cf78da267d946397dc9514a8"}, + {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d8f99b147ff3fcf6b3cc60cb0c39ea443884d5559a30b1481e92495f2310ff2b"}, + {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4ac6b4ce1e7283d715c4b729d8f9dab9627586dafce81d9eaa009dd7f25dd972"}, + {file = "pydantic_core-2.16.3-cp39-none-win32.whl", hash = "sha256:e7774b570e61cb998490c5235740d475413a1f6de823169b4cf94e2fe9e9f6b2"}, + {file = "pydantic_core-2.16.3-cp39-none-win_amd64.whl", hash = "sha256:9091632a25b8b87b9a605ec0e61f241c456e9248bfdcf7abdf344fdb169c81cf"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:36fa178aacbc277bc6b62a2c3da95226520da4f4e9e206fdf076484363895d2c"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:dcca5d2bf65c6fb591fff92da03f94cd4f315972f97c21975398bd4bd046854a"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a72fb9963cba4cd5793854fd12f4cfee731e86df140f59ff52a49b3552db241"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b60cc1a081f80a2105a59385b92d82278b15d80ebb3adb200542ae165cd7d183"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cbcc558401de90a746d02ef330c528f2e668c83350f045833543cd57ecead1ad"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fee427241c2d9fb7192b658190f9f5fd6dfe41e02f3c1489d2ec1e6a5ab1e04a"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4cb85f693044e0f71f394ff76c98ddc1bc0953e48c061725e540396d5c8a2e1"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b29eeb887aa931c2fcef5aa515d9d176d25006794610c264ddc114c053bf96fe"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a425479ee40ff021f8216c9d07a6a3b54b31c8267c6e17aa88b70d7ebd0e5e5b"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5c5cbc703168d1b7a838668998308018a2718c2130595e8e190220238addc96f"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99b6add4c0b39a513d323d3b93bc173dac663c27b99860dd5bf491b240d26137"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f76ee558751746d6a38f89d60b6228fa174e5172d143886af0f85aa306fd89"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:00ee1c97b5364b84cb0bd82e9bbf645d5e2871fb8c58059d158412fee2d33d8a"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:287073c66748f624be4cef893ef9174e3eb88fe0b8a78dc22e88eca4bc357ca6"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ed25e1835c00a332cb10c683cd39da96a719ab1dfc08427d476bce41b92531fc"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:86b3d0033580bd6bbe07590152007275bd7af95f98eaa5bd36f3da219dcd93da"}, + {file = "pydantic_core-2.16.3.tar.gz", hash = "sha256:1cac689f80a3abab2d3c0048b29eea5751114054f032a941a32de4c852c59cad"}, +] +pydantic-settings = [ + {file = "pydantic_settings-2.2.1-py3-none-any.whl", hash = "sha256:0235391d26db4d2190cb9b31051c4b46882d28a51533f97440867f012d4da091"}, + {file = "pydantic_settings-2.2.1.tar.gz", hash = "sha256:00b9f6a5e95553590434c0fa01ead0b216c3e10bc54ae02e37f359948643c5ed"}, +] +pylint = [ + {file = "pylint-3.1.0-py3-none-any.whl", hash = "sha256:507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74"}, + {file = "pylint-3.1.0.tar.gz", hash = "sha256:6a69beb4a6f63debebaab0a3477ecd0f559aa726af4954fc948c51f7a2549e23"}, +] +pylint-plugin-utils = [ + {file = "pylint_plugin_utils-0.8.2-py3-none-any.whl", hash = "sha256:ae11664737aa2effbf26f973a9e0b6779ab7106ec0adc5fe104b0907ca04e507"}, + {file = "pylint_plugin_utils-0.8.2.tar.gz", hash = "sha256:d3cebf68a38ba3fba23a873809155562571386d4c1b03e5b4c4cc26c3eee93e4"}, +] +pylint-pydantic = [ + {file = "pylint_pydantic-0.3.2-py3-none-any.whl", hash = "sha256:e5cec02370aa68ac8eff138e5d573b0ac049bab864e9a6c3a9057cf043440aa1"}, +] +pytest = [ + {file = "pytest-8.1.1-py3-none-any.whl", hash = "sha256:2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7"}, + {file = "pytest-8.1.1.tar.gz", hash = "sha256:ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044"}, +] +python-dateutil = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] +python-dotenv = [ + {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, + {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, +] +pyyaml = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] +questionary = [ + {file = "questionary-2.0.1-py3-none-any.whl", hash = "sha256:8ab9a01d0b91b68444dff7f6652c1e754105533f083cbe27597c8110ecc230a2"}, + {file = "questionary-2.0.1.tar.gz", hash = "sha256:bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b"}, +] +realtime = [ + {file = "realtime-1.0.2-py3-none-any.whl", hash = "sha256:8f8375199fd917cd0ded818702321f91b208ab72794ade0a33cee9d55ae30f11"}, + {file = "realtime-1.0.2.tar.gz", hash = "sha256:776170a4329edc869b91e104c554cda02c8bf8e052cbb93c377e22482870959c"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +sniffio = [ + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, +] +starlette = [ + {file = "starlette-0.36.3-py3-none-any.whl", hash = "sha256:13d429aa93a61dc40bf503e8c801db1f1bca3dc706b10ef2434a36123568f044"}, + {file = "starlette-0.36.3.tar.gz", hash = "sha256:90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080"}, +] +storage3 = [ + {file = "storage3-0.7.3-py3-none-any.whl", hash = "sha256:dc6a59da801ee6fc00015da4967ac0b5c3e5508d31ffd796f0e4c83957e5c6a0"}, + {file = "storage3-0.7.3.tar.gz", hash = "sha256:943c31de4a7c7490ad7960d963a6b410979ebd0e1b3d320d76cb61564ab0b528"}, +] +strenum = [ + {file = "StrEnum-0.4.15-py3-none-any.whl", hash = "sha256:a30cda4af7cc6b5bf52c8055bc4bf4b2b6b14a93b574626da33df53cf7740659"}, + {file = "StrEnum-0.4.15.tar.gz", hash = "sha256:878fb5ab705442070e4dd1929bb5e2249511c0bcf2b0eeacf3bcd80875c82eff"}, +] +supabase-py-async = [ + {file = "supabase_py_async-2.5.5-py3-none-any.whl", hash = "sha256:cbb7fb870be5bfa5df73b8191c2f41134bc65157e7f4bee646ccc7332344a4a3"}, + {file = "supabase_py_async-2.5.5.tar.gz", hash = "sha256:77a1e0474763c7509e6b5c77259ddbdd209faa863348ef4075959a109e32860f"}, +] +supafunc = [ + {file = "supafunc-0.4.0-py3-none-any.whl", hash = "sha256:260c833523c3f5430a4f49ededd9b09a79ddcfe41279be5f987ab604731d62a3"}, + {file = "supafunc-0.4.0.tar.gz", hash = "sha256:7fc3b1eca86f6aacf65030fd74b0c8b9e6bbf07e690319e7570a9510a917c755"}, +] +termcolor = [ + {file = "termcolor-2.4.0-py3-none-any.whl", hash = "sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63"}, + {file = "termcolor-2.4.0.tar.gz", hash = "sha256:aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a"}, +] +tomli = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] +tomlkit = [ + {file = "tomlkit-0.12.4-py3-none-any.whl", hash = "sha256:5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b"}, + {file = "tomlkit-0.12.4.tar.gz", hash = "sha256:7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3"}, +] +typing-extensions = [ + {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"}, + {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, +] +uvicorn = [ + {file = "uvicorn-0.27.1-py3-none-any.whl", hash = "sha256:5c89da2f3895767472a35556e539fd59f7edbe9b1e9c0e1c99eebeadc61838e4"}, + {file = "uvicorn-0.27.1.tar.gz", hash = "sha256:3d9a267296243532db80c83a959a3400502165ade2c1338dea4e67915fd4745a"}, +] +wcwidth = [ + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, +] +websockets = [ + {file = "websockets-11.0.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3ccc8a0c387629aec40f2fc9fdcb4b9d5431954f934da3eaf16cdc94f67dbfac"}, + {file = "websockets-11.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d67ac60a307f760c6e65dad586f556dde58e683fab03323221a4e530ead6f74d"}, + {file = "websockets-11.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84d27a4832cc1a0ee07cdcf2b0629a8a72db73f4cf6de6f0904f6661227f256f"}, + {file = "websockets-11.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffd7dcaf744f25f82190856bc26ed81721508fc5cbf2a330751e135ff1283564"}, + {file = "websockets-11.0.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7622a89d696fc87af8e8d280d9b421db5133ef5b29d3f7a1ce9f1a7bf7fcfa11"}, + {file = "websockets-11.0.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bceab846bac555aff6427d060f2fcfff71042dba6f5fca7dc4f75cac815e57ca"}, + {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54c6e5b3d3a8936a4ab6870d46bdd6ec500ad62bde9e44462c32d18f1e9a8e54"}, + {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:41f696ba95cd92dc047e46b41b26dd24518384749ed0d99bea0a941ca87404c4"}, + {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:86d2a77fd490ae3ff6fae1c6ceaecad063d3cc2320b44377efdde79880e11526"}, + {file = "websockets-11.0.3-cp310-cp310-win32.whl", hash = "sha256:2d903ad4419f5b472de90cd2d40384573b25da71e33519a67797de17ef849b69"}, + {file = "websockets-11.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:1d2256283fa4b7f4c7d7d3e84dc2ece74d341bce57d5b9bf385df109c2a1a82f"}, + {file = "websockets-11.0.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e848f46a58b9fcf3d06061d17be388caf70ea5b8cc3466251963c8345e13f7eb"}, + {file = "websockets-11.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aa5003845cdd21ac0dc6c9bf661c5beddd01116f6eb9eb3c8e272353d45b3288"}, + {file = "websockets-11.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b58cbf0697721120866820b89f93659abc31c1e876bf20d0b3d03cef14faf84d"}, + {file = "websockets-11.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:660e2d9068d2bedc0912af508f30bbeb505bbbf9774d98def45f68278cea20d3"}, + {file = "websockets-11.0.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c1f0524f203e3bd35149f12157438f406eff2e4fb30f71221c8a5eceb3617b6b"}, + {file = "websockets-11.0.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:def07915168ac8f7853812cc593c71185a16216e9e4fa886358a17ed0fd9fcf6"}, + {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b30c6590146e53149f04e85a6e4fcae068df4289e31e4aee1fdf56a0dead8f97"}, + {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:619d9f06372b3a42bc29d0cd0354c9bb9fb39c2cbc1a9c5025b4538738dbffaf"}, + {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:01f5567d9cf6f502d655151645d4e8b72b453413d3819d2b6f1185abc23e82dd"}, + {file = "websockets-11.0.3-cp311-cp311-win32.whl", hash = "sha256:e1459677e5d12be8bbc7584c35b992eea142911a6236a3278b9b5ce3326f282c"}, + {file = "websockets-11.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:e7837cb169eca3b3ae94cc5787c4fed99eef74c0ab9506756eea335e0d6f3ed8"}, + {file = "websockets-11.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9f59a3c656fef341a99e3d63189852be7084c0e54b75734cde571182c087b152"}, + {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2529338a6ff0eb0b50c7be33dc3d0e456381157a31eefc561771ee431134a97f"}, + {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34fd59a4ac42dff6d4681d8843217137f6bc85ed29722f2f7222bd619d15e95b"}, + {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:332d126167ddddec94597c2365537baf9ff62dfcc9db4266f263d455f2f031cb"}, + {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6505c1b31274723ccaf5f515c1824a4ad2f0d191cec942666b3d0f3aa4cb4007"}, + {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f467ba0050b7de85016b43f5a22b46383ef004c4f672148a8abf32bc999a87f0"}, + {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9d9acd80072abcc98bd2c86c3c9cd4ac2347b5a5a0cae7ed5c0ee5675f86d9af"}, + {file = "websockets-11.0.3-cp37-cp37m-win32.whl", hash = "sha256:e590228200fcfc7e9109509e4d9125eace2042fd52b595dd22bbc34bb282307f"}, + {file = "websockets-11.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:b16fff62b45eccb9c7abb18e60e7e446998093cdcb50fed33134b9b6878836de"}, + {file = "websockets-11.0.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fb06eea71a00a7af0ae6aefbb932fb8a7df3cb390cc217d51a9ad7343de1b8d0"}, + {file = "websockets-11.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8a34e13a62a59c871064dfd8ffb150867e54291e46d4a7cf11d02c94a5275bae"}, + {file = "websockets-11.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4841ed00f1026dfbced6fca7d963c4e7043aa832648671b5138008dc5a8f6d99"}, + {file = "websockets-11.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a073fc9ab1c8aff37c99f11f1641e16da517770e31a37265d2755282a5d28aa"}, + {file = "websockets-11.0.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:68b977f21ce443d6d378dbd5ca38621755f2063d6fdb3335bda981d552cfff86"}, + {file = "websockets-11.0.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1a99a7a71631f0efe727c10edfba09ea6bee4166a6f9c19aafb6c0b5917d09c"}, + {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bee9fcb41db2a23bed96c6b6ead6489702c12334ea20a297aa095ce6d31370d0"}, + {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4b253869ea05a5a073ebfdcb5cb3b0266a57c3764cf6fe114e4cd90f4bfa5f5e"}, + {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1553cb82942b2a74dd9b15a018dce645d4e68674de2ca31ff13ebc2d9f283788"}, + {file = "websockets-11.0.3-cp38-cp38-win32.whl", hash = "sha256:f61bdb1df43dc9c131791fbc2355535f9024b9a04398d3bd0684fc16ab07df74"}, + {file = "websockets-11.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:03aae4edc0b1c68498f41a6772d80ac7c1e33c06c6ffa2ac1c27a07653e79d6f"}, + {file = "websockets-11.0.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:777354ee16f02f643a4c7f2b3eff8027a33c9861edc691a2003531f5da4f6bc8"}, + {file = "websockets-11.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8c82f11964f010053e13daafdc7154ce7385ecc538989a354ccc7067fd7028fd"}, + {file = "websockets-11.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3580dd9c1ad0701169e4d6fc41e878ffe05e6bdcaf3c412f9d559389d0c9e016"}, + {file = "websockets-11.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f1a3f10f836fab6ca6efa97bb952300b20ae56b409414ca85bff2ad241d2a61"}, + {file = "websockets-11.0.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df41b9bc27c2c25b486bae7cf42fccdc52ff181c8c387bfd026624a491c2671b"}, + {file = "websockets-11.0.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:279e5de4671e79a9ac877427f4ac4ce93751b8823f276b681d04b2156713b9dd"}, + {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1fdf26fa8a6a592f8f9235285b8affa72748dc12e964a5518c6c5e8f916716f7"}, + {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:69269f3a0b472e91125b503d3c0b3566bda26da0a3261c49f0027eb6075086d1"}, + {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:97b52894d948d2f6ea480171a27122d77af14ced35f62e5c892ca2fae9344311"}, + {file = "websockets-11.0.3-cp39-cp39-win32.whl", hash = "sha256:c7f3cb904cce8e1be667c7e6fef4516b98d1a6a0635a58a57528d577ac18a128"}, + {file = "websockets-11.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c792ea4eabc0159535608fc5658a74d1a81020eb35195dd63214dcf07556f67e"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f2e58f2c36cc52d41f2659e4c0cbf7353e28c8c9e63e30d8c6d3494dc9fdedcf"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de36fe9c02995c7e6ae6efe2e205816f5f00c22fd1fbf343d4d18c3d5ceac2f5"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ac56b661e60edd453585f4bd68eb6a29ae25b5184fd5ba51e97652580458998"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e052b8467dd07d4943936009f46ae5ce7b908ddcac3fda581656b1b19c083d9b"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:42cc5452a54a8e46a032521d7365da775823e21bfba2895fb7b77633cce031bb"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e6316827e3e79b7b8e7d8e3b08f4e331af91a48e794d5d8b099928b6f0b85f20"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8531fdcad636d82c517b26a448dcfe62f720e1922b33c81ce695d0edb91eb931"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c114e8da9b475739dde229fd3bc6b05a6537a88a578358bc8eb29b4030fac9c9"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e063b1865974611313a3849d43f2c3f5368093691349cf3c7c8f8f75ad7cb280"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:92b2065d642bf8c0a82d59e59053dd2fdde64d4ed44efe4870fa816c1232647b"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0ee68fe502f9031f19d495dae2c268830df2760c0524cbac5d759921ba8c8e82"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcacf2c7a6c3a84e720d1bb2b543c675bf6c40e460300b628bab1b1efc7c034c"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b67c6f5e5a401fc56394f191f00f9b3811fe843ee93f4a70df3c389d1adf857d"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d5023a4b6a5b183dc838808087033ec5df77580485fc533e7dab2567851b0a4"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ed058398f55163a79bb9f06a90ef9ccc063b204bb346c4de78efc5d15abfe602"}, + {file = "websockets-11.0.3-py3-none-any.whl", hash = "sha256:6681ba9e7f8f3b19440921e99efbb40fc89f26cd71bf539e45d8c8a25c976dc6"}, + {file = "websockets-11.0.3.tar.gz", hash = "sha256:88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"}, +] +yarl = [ + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, + {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, + {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, + {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, + {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, + {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, + {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, + {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, + {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, + {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, + {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, + {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, + {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, + {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, + {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, + {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, +] +zipp = [ + {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, + {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, +] diff --git a/apps/api/poetry.toml b/apps/api/poetry.toml new file mode 100644 index 0000000..62e2dff --- /dev/null +++ b/apps/api/poetry.toml @@ -0,0 +1,3 @@ +[virtualenvs] +in-project = true +create = true diff --git a/apps/api/pyproject.toml b/apps/api/pyproject.toml new file mode 100644 index 0000000..b01f7b1 --- /dev/null +++ b/apps/api/pyproject.toml @@ -0,0 +1,24 @@ +[tool.poetry] +name = "api" +version = "0.1.0" +description = "" +authors = ["cording12 "] + +[tool.poetry.dependencies] +python = "^3.9" +fastapi = "^0.109.2" +uvicorn = "^0.27.1" +email-validator = "^2.1.0" +pydantic-settings = "^2.2.1" +python-dotenv = "^1.0.1" +supabase-py-async = "^2.5.5" + +[tool.poetry.dev-dependencies] +isort = "^5.10.1" +black = "^22.6.0" +pytest = "^8.0.1" +pylint-pydantic = "^0.3.2" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/apps/api/requirements.txt b/apps/api/requirements.txt new file mode 100644 index 0000000..b366c59 --- /dev/null +++ b/apps/api/requirements.txt @@ -0,0 +1,54 @@ +aiohttp==3.9.3; python_version >= "3.9" and python_version < "4.0" +aiosignal==1.3.1; python_version >= "3.9" and python_version < "4.0" +annotated-types==0.6.0; python_version >= "3.8" +anyio==4.3.0; python_version >= "3.9" and python_version < "4.0" +argcomplete==3.2.3; python_version >= "3.9" and python_version < "4.0" +async-timeout==4.0.3; python_version >= "3.9" and python_version < "3.11" +attrs==23.2.0; python_version >= "3.9" and python_version < "4.0" +certifi==2024.2.2; python_version >= "3.9" and python_version < "4.0" +charset-normalizer==3.3.2; python_version >= "3.9" and python_version < "4.0" and python_full_version >= "3.7.0" +click==8.1.7; python_version >= "3.8" +colorama==0.4.6; python_version >= "3.9" and python_full_version < "3.0.0" and platform_system == "Windows" and python_version < "4.0" or platform_system == "Windows" and python_version >= "3.9" and python_full_version >= "3.7.0" and python_version < "4.0" +commitizen==3.18.4; python_version >= "3.9" and python_version < "4.0" +decli==0.6.1; python_version >= "3.9" and python_version < "4.0" +deprecation==2.1.0; python_version >= "3.9" and python_version < "4.0" +dnspython==2.6.1; python_version >= "3.8" +email-validator==2.1.1; python_version >= "3.8" +exceptiongroup==1.2.0; python_version < "3.11" and python_version >= "3.8" +fastapi==0.109.2; python_version >= "3.8" +frozenlist==1.4.1; python_version >= "3.9" and python_version < "4.0" +gotrue==2.4.1; python_version >= "3.9" and python_version < "4.0" +h11==0.14.0; python_version >= "3.9" and python_version < "4.0" +httpcore==1.0.4; python_version >= "3.9" and python_version < "4.0" +httpx==0.25.2; python_version >= "3.9" and python_version < "4.0" +idna==3.6; python_version >= "3.9" and python_version < "4.0" +importlib-metadata==7.0.2; python_version >= "3.9" and python_version < "4.0" +jinja2==3.1.3; python_version >= "3.9" and python_version < "4.0" +markupsafe==2.1.5; python_version >= "3.9" and python_version < "4.0" +multidict==6.0.5; python_version >= "3.9" and python_version < "4.0" +packaging==24.0; python_version >= "3.9" and python_version < "4.0" +postgrest==0.16.1; python_version >= "3.9" and python_version < "4.0" +prompt-toolkit==3.0.36; python_version >= "3.9" and python_version < "4.0" and python_full_version >= "3.6.2" +pydantic-core==2.16.3; python_version >= "3.8" +pydantic-settings==2.2.1; python_version >= "3.8" +pydantic==2.6.4; python_version >= "3.9" and python_version < "4.0" +python-dateutil==2.9.0.post0; python_version >= "3.9" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.9" and python_version < "4.0" and python_full_version >= "3.3.0" +python-dotenv==1.0.1; python_version >= "3.8" +pyyaml==6.0.1; python_version >= "3.9" and python_version < "4.0" +questionary==2.0.1; python_version >= "3.9" and python_version < "4.0" +realtime==1.0.2; python_version >= "3.9" and python_version < "4.0" +six==1.16.0; python_version >= "3.9" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.9" and python_version < "4.0" and python_full_version >= "3.3.0" +sniffio==1.3.1; python_version >= "3.9" and python_version < "4.0" +starlette==0.36.3; python_version >= "3.8" +storage3==0.7.3; python_version >= "3.9" and python_version < "4.0" +strenum==0.4.15; python_version >= "3.9" and python_version < "4.0" +supabase-py-async==2.5.5; python_version >= "3.9" and python_version < "4.0" +supafunc==0.4.0; python_version >= "3.9" and python_version < "4.0" +termcolor==2.4.0; python_version >= "3.9" and python_version < "4.0" +tomlkit==0.12.4; python_version >= "3.9" and python_version < "4.0" +typing-extensions==4.10.0; python_version < "3.10" and python_version >= "3.9" +uvicorn==0.27.1; python_version >= "3.8" +wcwidth==0.2.13; python_version >= "3.9" and python_version < "4.0" and python_full_version >= "3.6.2" +websockets==11.0.3; python_version >= "3.9" and python_version < "4.0" +yarl==1.9.4; python_version >= "3.9" and python_version < "4.0" +zipp==3.18.1; python_version >= "3.9" and python_version < "4.0" diff --git a/apps/api/run.py b/apps/api/run.py new file mode 100644 index 0000000..a97e37b --- /dev/null +++ b/apps/api/run.py @@ -0,0 +1,4 @@ +import uvicorn + +if __name__ == "__main__": + uvicorn.run("src.main:app", reload=True) diff --git a/apps/api/src/__init__.py b/apps/api/src/__init__.py new file mode 100644 index 0000000..3dc1f76 --- /dev/null +++ b/apps/api/src/__init__.py @@ -0,0 +1 @@ +__version__ = "0.1.0" diff --git a/apps/api/src/api/__init__.py b/apps/api/src/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/src/api/api_v1/__init__.py b/apps/api/src/api/api_v1/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/src/api/api_v1/api.py b/apps/api/src/api/api_v1/api.py new file mode 100644 index 0000000..b4e2f8e --- /dev/null +++ b/apps/api/src/api/api_v1/api.py @@ -0,0 +1,6 @@ +from fastapi import APIRouter +from src.api.api_v1.endpoints import users, spells + +api_router = APIRouter() +api_router.include_router(users.router, prefix="/users", tags=["users"], responses={404: {"description": "Not found"}}) +api_router.include_router(spells.router, prefix="/spells", tags=["spells"], responses={404: {"description": "Not found"}}) diff --git a/apps/api/src/api/api_v1/endpoints/__init__.py b/apps/api/src/api/api_v1/endpoints/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/src/api/api_v1/endpoints/spells.py b/apps/api/src/api/api_v1/endpoints/spells.py new file mode 100644 index 0000000..c67d211 --- /dev/null +++ b/apps/api/src/api/api_v1/endpoints/spells.py @@ -0,0 +1,63 @@ +from typing import Literal, Optional, Union + +from fastapi import APIRouter, HTTPException + +from src.api.deps import SessionDep +from src.crud import spell +from src.schemas import Spell, SpellSearchResults + +router = APIRouter() + + +@router.get("/get/", status_code=200, response_model=Spell) +async def get_spell(session: SessionDep, spell_id: str) -> Spell: + """Returns a spell from a spell_id. + + **Returns:** + - spell: spell object. + """ + return await spell.get(session, id=spell_id) + + +@router.get("/get-all/", status_code=200, response_model=list[Spell]) +async def get_all_spells(session: SessionDep) -> list[Spell]: + """Returns a list of all spells. + + **Returns:** + - list[spell]: List of all spells. + """ + return await spell.get_all(session) + + +@router.get("/search/", status_code=200, response_model=SpellSearchResults) +async def search_spells( + session: SessionDep, + search_on: Literal["id", "name", "description"] = "name", + keyword: Optional[Union[str, int]] = None, + max_results: Optional[int] = 10, +) -> SpellSearchResults: + """ + Search for spells based on a keyword and return the top `max_results` items. + + **Args:** + - search_on (str, optional): The field to perform the search on. Defaults to "name". + - keyword (str, optional): The keyword to search for. Defaults to None. + - max_results (int, optional): The maximum number of search results to return. Defaults to 10. + + **Returns:** + - SpellSearchResults: Object containing a list of the top `max_results` items that match the keyword. + """ + if not keyword: + results = await spell.get_all(session) + return SpellSearchResults(results=results) + + results = await spell.search_all( + session, field=search_on, search_value=keyword, max_results=max_results + ) + + if not results: + raise HTTPException( + status_code=404, detail="No spells found matching the search criteria" + ) + + return SpellSearchResults(results=results) diff --git a/apps/api/src/api/api_v1/endpoints/users.py b/apps/api/src/api/api_v1/endpoints/users.py new file mode 100644 index 0000000..a1d4543 --- /dev/null +++ b/apps/api/src/api/api_v1/endpoints/users.py @@ -0,0 +1,76 @@ +from typing import Literal, Optional, Union + +from fastapi import APIRouter, HTTPException + +from src.api.deps import SessionDep +from src.crud import user +from src.schemas import User, UserCreate, UserSearchResults + +router = APIRouter() + + +@router.get("/get/", status_code=200, response_model=User) +async def get_user(session: SessionDep, user_id: str) -> User: + """Returns a user from a user_id. + + **Returns:** + - User: User object. + """ + return await user.get(session, id=user_id) + + +@router.get("/get-all/", status_code=200, response_model=list[User]) +async def get_all_users(session: SessionDep) -> list[User]: + """Returns a list of all users. + + **Returns:** + - list[User]: List of all users. + """ + return await user.get_all(session) + + +@router.get("/search/", status_code=200, response_model=UserSearchResults) +async def search_users( + session: SessionDep, + search_on: Literal["id", "email", "forename", "surname"] = "email", + keyword: Optional[Union[str, int]] = None, + max_results: Optional[int] = 10, +) -> UserSearchResults: + """ + Search for users based on a keyword and return the top `max_results` items. + + **Args:** + - keyword (str, optional): The keyword to search for. Defaults to None. + - max_results (int, optional): The maximum number of search results to return. Defaults to 10. + - search_on (str, optional): The field to perform the search on. Defaults to "email". + + **Returns:** + - UserSearchResults: Object containing a list of the top `max_results` items that match the keyword. + """ + if not keyword: + results = await user.get_all(session) + return UserSearchResults(results=results) + + results = await user.search_all( + session, field=search_on, search_value=keyword, max_results=max_results + ) + + if not results: + raise HTTPException( + status_code=404, detail="No users found matching the search criteria" + ) + + return UserSearchResults(results=results) + + +@router.post("/create", status_code=201, response_model=User) +async def create_user(user_in: UserCreate, session: SessionDep) -> User: + """Craete a new user. + + **Args:** + - user_in (UserCreate): JSON of the user to create. Forename, surname and email. Email must be unique. + + **Returns:** + - User: User object + """ + return await user.create(session, obj_in=user_in) diff --git a/apps/api/src/api/deps.py b/apps/api/src/api/deps.py new file mode 100644 index 0000000..4b227ce --- /dev/null +++ b/apps/api/src/api/deps.py @@ -0,0 +1,30 @@ +from typing import Annotated + +from fastapi import Depends, HTTPException +from supabase_py_async import AsyncClient, create_client +from supabase_py_async.lib.client_options import ClientOptions + +from src.config import settings + + +async def get_db() -> AsyncClient: + client: AsyncClient | None = None + try: + client = await create_client( + settings.DB_URL, + settings.DB_API_KEY, + options=ClientOptions( + postgrest_client_timeout=10, storage_client_timeout=10 + ), + ) + # client = await client.auth.sign_in_with_password( + # {"email": settings.DB_EMAIL, "password": settings.DB_PASSWORD} + # ) + yield client + + except Exception as e: + print(e) + raise + + +SessionDep = Annotated[AsyncClient, Depends(get_db)] diff --git a/apps/api/src/config.py b/apps/api/src/config.py new file mode 100644 index 0000000..f3db238 --- /dev/null +++ b/apps/api/src/config.py @@ -0,0 +1,30 @@ +import os + +from dotenv import load_dotenv +from pydantic_settings import BaseSettings, SettingsConfigDict + +load_dotenv() + +# If the environment is Gitpod, the root path will be the workspace cluster host +# If not using gitpod, you can delete this if statement, but keep the else clause +if os.getenv("USER") == "gitpod": + ROOT_PATH = f"https://8000-cording12-nextfastturbo-qqfo0frc496.{os.getenv('GITPOD_WORKSPACE_CLUSTER_HOST')}" +else: + # Otherwise, the root path will be the local host. ROOT_PATH is an env var configured in Vercel deployment. + # The value for production is equal to the root path of the deployment URL in Vercel. + ROOT_PATH = os.getenv("ROOT_PATH", "http://127.0.0.1:8000") + + +class Settings(BaseSettings): + PROJECT_NAME: str = "FastAPI App" + PROJECT_DESCRIPTION: str = "A simple FastAPI app" + DB_URL: str = os.getenv("DB_URL") + DB_API_KEY: str = os.getenv("DB_API_KEY") + DB_EMAIL: str = os.getenv("DB_EMAIL") + DB_PASSWORD: str = os.getenv("DB_PASSWORD") + model_config = SettingsConfigDict(env_file=".env") + API_VERSION: str = "/api/v1" + ROOT: str = ROOT_PATH + + +settings = Settings() diff --git a/apps/api/src/crud/__init__.py b/apps/api/src/crud/__init__.py new file mode 100644 index 0000000..a2466d9 --- /dev/null +++ b/apps/api/src/crud/__init__.py @@ -0,0 +1,2 @@ +from .crud_spell import spell +from .crud_user import user diff --git a/apps/api/src/crud/base.py b/apps/api/src/crud/base.py new file mode 100644 index 0000000..115d2c8 --- /dev/null +++ b/apps/api/src/crud/base.py @@ -0,0 +1,74 @@ +from typing import Generic, Optional, TypeVar + +from supabase_py_async import AsyncClient + +from src.schemas.base import CreateBase, ResponseBase, UpdateBase + +ModelType = TypeVar("ModelType", bound=ResponseBase) +CreateSchemaType = TypeVar("CreateSchemaType", bound=CreateBase) +UpdateSchemaType = TypeVar("UpdateSchemaType", bound=UpdateBase) + + +class CRUDBase(Generic[ModelType, CreateSchemaType, UpdateSchemaType]): + def __init__(self, model: type[ModelType]): + """CRUD object with default methods to do CRUD ops + + Args: + model (type[ModelType]): Model class type + """ + self.model = model + + async def get(self, db: AsyncClient, *, id: str) -> Optional[ModelType]: + """get by table_name by id""" + data, count = ( + await db.table(self.model.table_name).select("*").eq("id", id).execute() + ) + _, got = data + return self.model(**got[0]) if got else None + + async def get_all(self, db: AsyncClient) -> list[ModelType]: + """get all by table_name""" + data, count = await db.table(self.model.table_name).select("*").execute() + _, got = data + return [self.model(**item) for item in got] + + async def search_all( + self, db: AsyncClient, *, field: str, search_value: str, max_results: int + ) -> list[ModelType]: + """search all by table_name""" + data, count = ( + await db.table(self.model.table_name) + .select("*") + .ilike(field, f"%{search_value}%") + .limit(max_results) + .execute() + ) + _, got = data + return [self.model(**item) for item in got] + + async def create(self, db: AsyncClient, *, obj_in: CreateSchemaType) -> ModelType: + """create by CreateSchemaType""" + data, count = ( + await db.table(self.model.table_name).insert(obj_in.model_dump()).execute() + ) + _, created = data + return self.model(**created[0]) + + async def update(self, db: AsyncClient, *, obj_in: UpdateSchemaType) -> ModelType: + """update by UpdateSchemaType""" + data, count = ( + await db.table(self.model.table_name) + .update(obj_in.model_dump()) + .eq("id", obj_in.id) + .execute() + ) + _, updated = data + return self.model(**updated[0]) + + async def delete(self, db: AsyncClient, *, id: str) -> ModelType: + """remove by UpdateSchemaType""" + data, count = ( + await db.table(self.model.table_name).delete().eq("id", id).execute() + ) + _, deleted = data + return self.model(**deleted[0]) diff --git a/apps/api/src/crud/crud_spell.py b/apps/api/src/crud/crud_spell.py new file mode 100644 index 0000000..82bd48c --- /dev/null +++ b/apps/api/src/crud/crud_spell.py @@ -0,0 +1,43 @@ +from typing import Optional + +from fastapi import HTTPException +from supabase_py_async import AsyncClient + +from src.crud.base import CRUDBase +from src.schemas import Spell, SpellCreate, SpellUpdate + + +class CRUDSpell(CRUDBase[Spell, SpellCreate, SpellUpdate]): + async def get(self, db: AsyncClient, *, id: str) -> Optional[Spell]: + try: + return await super().get(db, id=id) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"{e.code}: Spell not found. {e.details}", + ) + + async def get_all(self, db: AsyncClient) -> list[Spell]: + try: + return await super().get_all(db) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"An error occurred while fetching spells. {e}", + ) + + async def search_all( + self, db: AsyncClient, *, field: str, search_value: str, max_results: int + ) -> list[Spell]: + try: + return await super().search_all( + db, field=field, search_value=search_value, max_results=max_results + ) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"An error occurred while searching for users. {e}", + ) + + +spell = CRUDSpell(Spell) diff --git a/apps/api/src/crud/crud_user.py b/apps/api/src/crud/crud_user.py new file mode 100644 index 0000000..a3099ac --- /dev/null +++ b/apps/api/src/crud/crud_user.py @@ -0,0 +1,58 @@ +from typing import Optional + +from fastapi import HTTPException +from supabase_py_async import AsyncClient + +from src.crud.base import CRUDBase +from src.schemas import User, UserCreate, UserUpdate + + +class CRUDUser(CRUDBase[User, UserCreate, UserUpdate]): + async def create(self, db: AsyncClient, *, obj_in: UserCreate) -> User: + try: + return await super().create(db, obj_in=obj_in) + except Exception as e: + raise HTTPException( + status_code=400, + detail=f"{e.code}: Failed to create user. {e.details}", + ) + + async def get(self, db: AsyncClient, *, id: str) -> Optional[User]: + try: + return await super().get(db, id=id) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"{e.code}: User not found. {e.details}", + ) + + async def get_all(self, db: AsyncClient) -> list[User]: + try: + return await super().get_all(db) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"An error occurred while fetching users. {e}", + ) + + async def search_all( + self, db: AsyncClient, *, field: str, search_value: str, max_results: int + ) -> list[User]: + try: + return await super().search_all( + db, field=field, search_value=search_value, max_results=max_results + ) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"An error occurred while searching for users. {e}", + ) + + async def update(self, db: AsyncClient, *, obj_in: UserUpdate) -> User: + return await super().update(db, obj_in=obj_in) + + async def delete(self, db: AsyncClient, *, id: str) -> User: + return await super().delete(db, id=id) + + +user = CRUDUser(User) diff --git a/apps/api/src/main.py b/apps/api/src/main.py new file mode 100644 index 0000000..b7dee74 --- /dev/null +++ b/apps/api/src/main.py @@ -0,0 +1,51 @@ +from fastapi import APIRouter, FastAPI +from fastapi.middleware.cors import CORSMiddleware +from fastapi.routing import APIRoute + +from src.api.api_v1.api import api_router +from src.config import settings + +info_router = APIRouter() + + +@info_router.get("/", status_code=200, include_in_schema=False) +async def info(): + return [{"Status": "API Running"}] + + +def custom_generate_unique_id(route: APIRoute): + """Generates a custom ID when using the TypeScript Generator Client + + Args: + route (APIRoute): The route to be customised + + Returns: + str: tag-route_name, e.g. items-CreateItem + """ + return f"{route.tags[0]}-{route.name}" + + +def get_application(): + _app = FastAPI( + title=settings.PROJECT_NAME, + description=settings.PROJECT_DESCRIPTION, + generate_unique_id_function=custom_generate_unique_id, + root_path=settings.ROOT, + root_path_in_servers=True, + ) + + _app.include_router(api_router, prefix=settings.API_VERSION) + _app.include_router(info_router, tags=[""]) + + _app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], + ) + + return _app + + +app = get_application() diff --git a/apps/api/src/schemas/__init__.py b/apps/api/src/schemas/__init__.py new file mode 100644 index 0000000..29f5765 --- /dev/null +++ b/apps/api/src/schemas/__init__.py @@ -0,0 +1,2 @@ +from .spell import Spell, SpellCreate, SpellSearchResults, SpellUpdate +from .user import User, UserCreate, UserSearchResults, UserUpdate diff --git a/apps/api/src/schemas/base.py b/apps/api/src/schemas/base.py new file mode 100644 index 0000000..fd319bb --- /dev/null +++ b/apps/api/src/schemas/base.py @@ -0,0 +1,40 @@ +from typing import ClassVar +from pydantic import BaseModel, ConfigDict + +# Shared properties +# class CRUDBaseModel(BaseModel): +# # where the data +# table_name: str + + +# Properties to receive on item creation +# in +class CreateBase(BaseModel): + # inherent to add more properties for creating + pass + + +# Properties to receive on item update +# in +class UpdateBase(BaseModel): + # inherent to add more properties for updating + id: str + + +# response +# Properties shared by models stored in DB +class InDBBase(BaseModel): + id: str + user_id: str + created_at: str + + +# Properties to return to client +# crud model +# out +class ResponseBase(InDBBase): + # inherent to add more properties for responding + table_name: ClassVar[str] = "ResponseBase".lower() + Config: ClassVar[ConfigDict] = ConfigDict( + extra="ignore", arbitrary_types_allowed=True + ) diff --git a/apps/api/src/schemas/spell.py b/apps/api/src/schemas/spell.py new file mode 100644 index 0000000..38ce46d --- /dev/null +++ b/apps/api/src/schemas/spell.py @@ -0,0 +1,26 @@ +from typing import ClassVar, Sequence + +from pydantic import BaseModel + + +class Spell(BaseModel): + id: str + name: str + description: str + table_name: ClassVar[str] = "spells" + + +class SpellCreate(BaseModel): + id: str + name: str + description: str + + +class SpellUpdate(BaseModel): + id: str + name: str + description: str + + +class SpellSearchResults(BaseModel): + results: Sequence[Spell] diff --git a/apps/api/src/schemas/user.py b/apps/api/src/schemas/user.py new file mode 100644 index 0000000..ad82d9d --- /dev/null +++ b/apps/api/src/schemas/user.py @@ -0,0 +1,31 @@ +from typing import ClassVar, Sequence + +from pydantic import BaseModel, EmailStr + + +class User(BaseModel): + id: str + forename: str + surname: str + email: EmailStr + table_name: ClassVar[str] = "user" + + +class UserCreate(BaseModel): + forename: str + surname: str + email: EmailStr + + +class UserUpdate(BaseModel): + forename: str + surname: str + email: EmailStr + + +class ResponseMessage(BaseModel): + message: str + + +class UserSearchResults(BaseModel): + results: Sequence[User] diff --git a/apps/api/tests/__init__.py b/apps/api/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/api/tests/test_api.py b/apps/api/tests/test_api.py new file mode 100644 index 0000000..d855243 --- /dev/null +++ b/apps/api/tests/test_api.py @@ -0,0 +1,5 @@ +from src import __version__ + + +def test_version(): + assert __version__ == '0.1.0' diff --git a/apps/api/vercel.json b/apps/api/vercel.json new file mode 100644 index 0000000..75e99f2 --- /dev/null +++ b/apps/api/vercel.json @@ -0,0 +1,18 @@ +{ + "version": 2, + "builds": [ + { + "src": "/src/main.py", + "use": "@vercel/python" + } + ], + "routes": [ + { + "src": "/(.*)", + "dest": "src/main.py" + } + ], + "env": { + "APP_MODULE": "src.main:app" + } +} diff --git a/apps/docs/.vscode/extensions.json b/apps/docs/.vscode/extensions.json new file mode 100644 index 0000000..9908def --- /dev/null +++ b/apps/docs/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["unifiedjs.vscode-mdx", "xyc.vscode-mdx-preview"] +} diff --git a/apps/docs/_images/deploy-api-configure-project.png b/apps/docs/_images/deploy-api-configure-project.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a95d1d69399fb415ee61c166e12aaf52a281f5 GIT binary patch literal 66650 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 literal 0 HcmV?d00001 diff --git a/apps/docs/_images/deploy-docs-enable-auto-update.png b/apps/docs/_images/deploy-docs-enable-auto-update.png new file mode 100644 index 0000000000000000000000000000000000000000..5f6585fec0c5e1034481421a84673705c577ebc3 GIT binary patch literal 41686 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 literal 0 HcmV?d00001 diff --git a/apps/docs/_images/deploy-docs-select-repo.png b/apps/docs/_images/deploy-docs-select-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..c39b35d003e0bd3064390a7abef6a73e3fd16dec GIT binary patch literal 18779 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 F{{g3PvyK1& literal 0 HcmV?d00001 diff --git a/apps/docs/_images/deploy-web-configure-project.png b/apps/docs/_images/deploy-web-configure-project.png new file mode 100644 index 0000000000000000000000000000000000000000..600089469e4e585b0cbe426f2adb880ff2b4dcc6 GIT binary patch literal 80585 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

-+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 V)Np<;W-e`$z0Fzcs*{&*{vS4;6vF@j literal 0 HcmV?d00001 diff --git a/apps/docs/_images/deploy-web-ignored-build-step.png b/apps/docs/_images/deploy-web-ignored-build-step.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa83e974a5667d0a3d88937a3e328b2f9d706b9 GIT binary patch literal 42586 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%0AN<*fnDa`?!xgdV82l1_pq@cNO7-i)G& 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 UJwlSz&)`KtMpe2-@?F6H0$E_O%>V!Z literal 0 HcmV?d00001 diff --git a/apps/docs/_images/no-workspace.png b/apps/docs/_images/no-workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc5d33fbd2096d2fe8af70c3dad51930804e0f1 GIT binary patch literal 44105 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

upU&aTKe#^0OMJ#4rLVS=wcvu94xo{ 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

jhG){PIY{t#6POPpHOf2X_&#x@E>M>pDCYZ~YMS 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�TeU>U6ols|?FN7w zpa*C#7QaXupKP|0PnI$>fPT9SQMd%%<@RW%d0NS+d$DnuFDronu*dB_`7CEGj{ojD z&o+k_Vtm1$8oqqddmXoP?f5 zkoyXRoRRuyu}5<0H8|f~TO?-k;5eA8R6l$LfXqyRp{8=Nn2b;d9suQ~lhA|f6#(`m zBo6mB`#n5W`=Y>H+vEa6pGl@|AAFZmUEC#<+1vG0%&g?=k=!+%P&8`i$5+hr8*5rh z)I)&d)i@|z==A74)%Avu+?Cgh;~&`5NzF!Hf#X>Z3_#tP z_x~?K>;9XxF}8xOBp5PBlI3-voLWqPlrAa%mqqHRP9|8wfg!fpsM%yZrh?54U;28a zI^C~~q@yf-ZxETx&sa*|a$KHY0`T=6M!)sHl78XE@34}vimImd4jz*3N&U(%v&i&M^B(>g+i~qh-rwTT| zmh1mY;#>KCHUzx-f4W)!;h6v5B=r5ai~TQ{+5ewJp#Mbyjx+&>1ZNVc3mgN+K2YWA zzx?)y+_=Q*y`W)fGsqfX)}SMaDmCvoDzcxoBAtT3*{75Qg}cEy0*)-euIWJpD}-&PPOmnhAlDdjP)v7yzq-!!Q-l99FCq zq9*{~!*0|(C_seEV+&LBs^>Q8gjaJg8~Oe!mSh+u9pNUyMg!1UfSc_E&KgM4P!=2{ zSx8qFyUpileSO6$n_RT+;3`fqU;gxH2;?>?2 zN?n;s=>ZJJtiE!GAs}r8k9WGQph_l8(v-o2o&4BLrd2#}yMxEq3?OPL7ZXipHdsWh z-jT57myDGu^S}|ZkT`B_P!CA5q!HiCe|-vNYJj_3$9;fS5fy^J$zi*^W7_W(p&HL! zbvl;@=)6KI-(eNn8FB~!=^6WYOUwxXsUU%XpSTWSHArxYqbToe7?f^4mtn^rKbl64uu7v%n&CLO4Ajb{xbz(5L3V(tAwfP5yu#i&aX+x9T2+! zj9Jd$L=4B^0mJKoM8N?TfcuyC!Z*%M4%?3wrU8O83HL6BJoS|IcuA8nCl<*di~xkG zekz&+u%CkgtGB!9ZvhVgC58l5mHZ?ffdIV7kT6vis)`u>}Cu5-AOth>Qt zW@HaSS^Vrpcz9gbhVzmFKmr8B=^OP;lCF=$;afzRvx4I+gThvNNt_vRZ)5TgDV+d( zrnaOaA~mrc5QOm~`{0Sew8wH300@_mg+?~0Tt)zNox$n)I!$J&;26jh$OrT#ao{RM zLLm1nabx1OZ8$P_CkeqAGDkoy_QFw-l&d5LG@eNEItGP6P5|z@vhJ`B+!LW|Bomku zFhN%-Zsir#uGWqMRy{I6rNWu?JpBEHS>n`6xz|$hOY_Uafv6^qo9E8bn${FmZ$~)F z&U;{eHTzeN!F?;_Pd>!zG(K!(hGIpN(KLb~0#M+CFVv0lD(MB@QMm)98-iXT6x0Yn zFdMH}B%y})j&}OczSVZdZPCnYBgZ6~Fpv1Z9XO)?RcJ$9>gXNk_QH8V|^C`)Z+yYW)lA0|`ex61aJx$Wc&n%%ZwMwYq{z zT6tAVVh%|~zWnvCOUeP46zF7rpiF5gh3!^cyJgx50508?kK`|u0P+%qX^!L$p9&o~ z?u=p!WpWS0u$W=V06BG~pIieevc`Uf49enhUJdB_utWeN8;SC@F|hz~CzItQ5uvlZ zwb09%TOZ|2#|j(O{_Bp9vkkyEDC@41`)^g=2|*{UK(a9-P^wV0=2CacT(B%kXMe&` zI90~iy)o32c9{xfSWK$=uVf{m7)<*=T6dGpo!Eby6LQ>)aST=n)))!+{rqW_^f%u# z;-@?64?fyfgObF=RaL^Lv_82cwwuGWQZ>8yg>x#{96!k!5?kobQ3vN9$?e3Xa$MZ3 z9I$@*{e6^$==e<;Bb-m>mAA=3o?3iI=cq34sNZ8b%P*K7K4SW5jWH1cQo5jv7 ze5P?F0m@tP{L~B1+gH}gg zUtv0Vkn6M#2jGl^)zP9L%}r=Z2|#FpLSy3TK-{7LAU)`|}k?cUS#8 z2;uuHLv7^YpzMW-RM`Jn8|{;wT?2Ru%Iq6vs5#S503Ln@DU<;%EsL;s1(?C z03O+Lz%)lq$9ydTYexgN^c&bfNzC-=v>WscH^>500C+DEw&m1!bl0J6gLKrD7p>x* zm*}Ci0$55s&!c}*cW4Oz6Hx&|NBGJVXGx?DVdOK#j{q<~QfLZ<%n!hZLnV_hgVp7H z-_)nLn3LxW01|s(f{z9tA=gUf0IC(?^y}%f1@Pj*p?`uv7o$)hrkcdd1EresrWT-M zTlpq?yZu1l`tc;n{d6e69W1=0rpf}!)xKsr$>JjWO2ncEN%UHPnCK*xE)qg^AS|G8 z^9oW<1l|`?C~}UBk8RT<7*tyBbGZgWrZLRY-sN|IcK-0=F$vH9;PvnJnj8!m%9RM! zfBl~Qz!t=IgmpjmsUb0YF+y^6;2UiO!l+F3{{l>v1K?;y5;Y8f_SOV?-JxC%fbHz6 zOjSXB?T-8QK0(2f)H4EIg89Ovub=Tcr<0dxxhv^!^Fn1NKWO2;>RHmS4@G*df8^v7HgSv57#h<~dpERA%l{tpkWk=)DaL`gp2)vqSb?7ZnSwr>3xe#K428{3F8t?{cME&a9N zN!e!}X@IuBlw;l8Cjs}oMG62Oyvmmf1IE`FyAj$9eOW{uNWu}aw@m|7L$8dvv30-@ z@!g&SK>680u2`ET@`Cs;ktfL^0c07xDxW#xt+fKzK<5YYm&L7_2JdmC*_FE#VqJ#^ z{)dG{7!ag1TkSlDFDXTe`S1~ z*JmH=p}j8!04*kWR@)Bx-4z>D&Qt(_v;MUgoBuEnzkW^qOrqjFt0#db0iD&3M8!`? zD%!NC8V4i@({D%Mcvlsi^5*V({dsCn^82_`u(_F%w{Op&8*@2*wj}7t?{-_i^~cK~ z-ZHFx-OhBklc6Efz@6>J*U$yHVlSEl0<0hP~o?%ja-zIIM&uMbYQ@KBUG6CG5dwSC9- zOopWf%UNn)xbp-!#keQ+h!+!DdvEJ6yD2a=>&6}cra^2LeHz(?nghr`Br>Mx@+ku=gJntm6dJ!uGyW;J7-;fd0vZ+ zD>A`OYA7qbWvM;?>0HXAm`2Z)!7QPlKOO|i#$-3yMLf!Aw<%w4wM}GUCm`8{^bw>$E$^ z&?aJ6>ERX3^x`~KaMIJUGY4qJ)7HTDV-a?BH@*g^-V=N@T` zyw7g26PNW|hR>l^dt$)o(Md$odgXx86nWvDt>>f)uhS< z24z2bZQa_GSM)q8nQOs?*TQv{l%>d3cQm3U8`u~ezhL|&Sk`8hDY+Tq%VS<%aAgsT z+IeSN1_>6ab7E!NwvtyJwUL)x?W5g3xAMr$LN-Ost2#c7b;docd`|jL`n65ptpzjo zOr9k<2L(Cqn0>*|Df5Ec!Znxu3yW9S*i-dVsIK$I+`Z^KFk3$vSAN+?M`cEc+KAPD z=F%MBX9(jnwwKSYGCl0~3MG|G5UJbu?Wac=%*-ln;dyo=47Ck!gU2Y&ch6lu28>grPabS3o(DJtdKWE?k6%u3awyo5F2M zjSKaYx0m{soYrQA(lZ&Is!-xRvvhf5J=?nZoksPt>twaEH1v7e!sqDZqH~J_YLyqq ztl<@B&tD+(5N8)`A}R*%tL>lf)ZO>S;x*vYwB%IZ(SZB< z5NT(=$9jbCL_(~ug~dIQoAeooP~m58;9TjXa${Lh+Kj)rBw>37svFPxFz7mSktiQ8VT1peA5qo{#LDLhi(lNKhudlks~o+ z*BaN%v6>-((*dS}EOswE+7xB2hXu&>SAZ`3U7a6s=eb2%7$NRQY6>AMH z47+oRmSdE*vDrMvHC?lHX?XMf#h|jl#TIohGoKW*-!|XxMoTWSJU-iQJX7*cAVmM+ zO}{pjm^soI3pg?Wj)k>(e0 zc9Y~i#<_!vN@|FEjGQmt3{f>kLXyD>y;Su*`e{Sg8An!t$b7_q4q6->@jee0EO}Y; zLL$tw;>As|DXPFUmPsG7TLH`?u@gDZ>{IQjHbJ>mPE|YAbfz`MY-D z$Z~2EI9Q0y2OM?Uo|j4la9*D-cV)FSP~>N7W-m{D_X-VI$5xdwny)C!a%i zqMx#SN~_8L0E&3**-OsmVLm*_Xv4tkN)$W!x#bAQ(Iz^WymLo&; z-H{f*Oa{lK3I}L7UdkF4_V=It*V>B6C~W|!P>;t~ti^XYOkTw>@WNG~^E@thbpP2e zxmmL}C?zjHG}Ga{k^Ql6MlHDkbK~{N6Z&UohB}|jbXoZGv0Q#4ANWBnCit^ja4=Xh z8&gMEQP`i@OJPR}f#+T%woUu6Iz6x4zLofRq0xsWQT>kgn~qYD-_V%xD4|5fbNJb{ zmv^>g`E-r;f6m`^J(K}M?00IC0)ZLJmu*sTwzKgz~DO zc;=;`p@Po80n^MG**X_9A0*r%YU>Mh@$@ecGby@k57!y!D1hEte($~KYzv!TqB7E= z+7q0Nq=M<|>cVhKA~-KKzfz{D9JL>t+vAYvA2|ALR_oHnxdy;QZ5@+IY&wafxL92; z3YKT*lqY8%*K4M8Q&r`@^S@S?;UvBCBz+6>DDoDazf7F3j=pYPTJ0RY@a38q-uOrWflK zUntk-UY)`sM=gU$+psXqPu&#_j2n3vtkkQV*d){IHJDs(7qAiyE!_zrlnM&OGc4V0 zYYP&7Ud13EMR<1NDqtwLGhV2%LqF8mCiGvo@9oQ*WG*-QZ&cpMx6EC9+n63KJMRDN z?e+UD3~}XW`u*xX7u&3>?yAhJCZ)Yb$63NIz4_^MPdQ70@~){@p!r2Id&x{`S%LAu z!*b5{%>vVoOlhH(ToFuMhv=dh8Fva3+|!pYO=HId6|lEMiDC}7AtvW^?gOwXLykJb zrs26Co5?1^@zyEpV!6H4^1^jX&IYJbfjVFQf8HSo_lsakpnx-fe>5$m%4cH4W$(NR zy$L#}DjgtIuQXUx{mQd_XxgBy^1kEq3eIrw7v3Nr4-{mvVeUH@nMkEs$Cv+i!rK3% zqt|{GgT5NDvXdIpG;VyLwfFCA+xc(!SEQf)uZ8RX7mfX-3xD-^6B(wGTME*Sj7c#M zV6uX+42dY+&IU<<2*{)qsXzSB^#1qv9Di;uRksBg=&8rP$N>=|BcKbc|E$ogW&%W3 z(RRmfX9M4$ko>iJ65nkh)RUAl0*Y?RDK65l>MCvrDEGNlD@q=G~?gYqybdndp zM8pM*P5ED-VujmTl@$*))FQuk?{EF{yNx%QypC1b|K~4#zq=DqZAE#Vg6g&nbkZwH z_T*sB8(a|vlq1aD9T_CraUsY*0ABu25-7CJ3*KKx-~73=R1w>bBLv74NDJElXs2?} zcf)|wh3Tm;IAly#16b`;ul%WhDkwf+8R4W%G4R6F(qM24`ou5N@4HM@x3ds8NkD%q z+pombdl8US5GgxZlQbA!VhGY6FHLbJc1-ptr}Qb63dZ}JUo&)8U7x7PBSm}_79D|( zMaiT$rl*391*AIw`=-kT05&=zvF_@dz=JgVz^eHoX$%ew3=She`T*)>BM}~tfWLoA zKr6WZnDt3<74LbikpPemMn>SokV5G|pQI@m%4NKdpEOMu)FO?ECqY*oa4$LHcf!g! zHM_p&UkJBL^Gf9RTwxFVGw?JdchTsoOXbW35~m;J!*)c=Y`0rPhp7y#Vvt3kg6@6- zXGtUafx#;Fyu(V5{a|J|vq!fmsd0$`@{L>m{2m|-Ey-)Szu~IX@>dJBtHD}k`8hwI z(M*D#AJBvtKtb&j0_}KymY%bc7ti)1lY=@YNj%|bp2{d~Y|1lY`%&nKar%b-gpE5( zY@)I+)J?Ik!>QdU2DBcZlG;C{vSANoWPn^iKajMy0V-SXhVN}Y%9poDt${p$)Q^|9 z9=!fUnsWjvFQD6%$^wl-1NzH8S=PsJCTZ{d0C1_0s&da4h93c3oivA#26r>WWxo7s z@j5AO!Fh>Pb|QF=ZehJK&X5#=5c*4ryzE>QinA}ZWfy`aPo@4Y|CqeVvUrR;J}|ezcPTAfTHbmNA9EhatnjGr!AT7gb;fDdUwYy>O;_g170G33sRmfznEfQ z7f@iVp0t9v1?!wI?h&a^@~#Tfmw#;KP{`_vFI|n2m?{RXt_vRSoz^3LfMeDvzbUbx zcY1P65~p|!sn80A0Y(-B>p`g?6zdjBOeGM&aHWvRE=cC&)$M~T1YQnbl5_KK`%;U#bhQ^;{6vZ#JiO4m{5k1-n(ubh&aGTilOuSAmyX@G%Z;5d)HQ*Jl@lbNS zHd6}zVxfzKGu5<{>)MMekgpEPZ_7E0gUjIL z-9N6ewJ)5BROz5+WeYA`B1spH({f3%i`-gYmQT`Ud`ovh{>t%&7vQXtgXxdYKMB=U zXRpg%|JV}p$9)GNw)uKh2+at5kqM<#-ZNYzl%pl<{^opgk`yab}(f=2iu; z-SzPy%_dT~2WY-$5mO_b{R}Q%yD0NhV?0PM2uNopz-%Oi(TSLtO^Sxl{nDMI+>%t4 zMcxLdeKs+uu)NDl0lqO>kQbZxdbmJHXTkZJx!$Tgek7A#Ag4DU0`a0JkQ?%iPB2{_KMH;-ABQA-f6YM+-THF!!cU})?+$kOG~8 zj@Qibz4lWt8~pxcK6^XFs2EAHll$%xciq7(C2S!#WTuYJ{*yi4_srqNOxx)^ z14h06Tx}ouLq#Rv%QbmcfATW=ML3MC(`0k!l%(bZ`*B&G1#eO+$fw~`JK>Hwr`<3H zPZp?^lLoko8!PZ$e(O2bd5diPJu(sIYrL3#X}g_G2JmANVzZMI`hzAjMCiZO}<6r zWBc$cOON~heK$!_YoyrG`ec9A#~<6sFG|$?m7!z#t6fg7K)Af75#_+lJ z;S1#Ul@22mt}K^Aon-HpijX8-Q1W_Jr5N={t6zm~G~<7Mo@qL3r8rPp;ZiX@Y34Ycw9VH{~h;8WhOezBme2+nczz>;>&L&p6qVmC%6)SS zrm3#sBcsP2D6go_Yx;FvUQpDsHZP{!0)1D4SJ*-E8~KOJsd{wgf$m9oQg0c_Z0cT) z|D=0`>uVRo{p3xo)&~)=00sIyX7AX(u*=i6-4;3G34asK7Czz?t?VD5)<3@$U=()i z`@)V!^~z8V+Brvv=giT3yfy%jW_7{YL^6f!Bt3J9datfA90YuOFJ$<&!@K{wmKisk z=Gxz6_J4Mg?Ns5pQEf_&H6FJ4bMezDE9K%IZnw0EHY>*1(%YPI2V_AX1uXN#SbBetHy^Nn&c8(O zp!~Jt3%3;wFJ_ti8^v39fsbcCt$cbqJ%cDWx>uiG@&e?x7N_>!wC59VO?{3K-TPSL zNETM!{7ihC8FjA7wi68Rm-$dilXGMapWgbzw}y1QSp;wBWb3$k?tY+2zBdwa_S9sI zw!B#L$}c)+z6jd_s{qUQ*g#4lQ1ywUjc?zj*n=Iiq}Gm>P#*C}?%Fv>OccJ(*! zXO}UP#jQgPl_jLlo+GNIJ>?g0h!=o!61T!#r^2Y|feGtMD0|f5m$ot4RpIEflfA&s zhx*cioELn?K$~AGYjTaViB{=|T)`hCq%1szTV66T*}R1sYtm-@s+-P;Y7cdya7eJ1 zm7^MWL5$~!#cinn+PPbIcrWm{T;cC-S^D{_59@1|Zth5;kTh~U5*7KUvzG-w*!W+# z7s~NJdV9;TsM@z*SP_ttE^m|=x)D@BkQ^jMO1jIULApbSkWP^l5v5ZQq&vl;yOlJ?2r36_V&x|&5Sc^hPAGBoxijw%HvcM{Y-!SmuQq_>vsF`wd9cu+KO{( zwENPz-p^~}kFWN7N6OfNz`(9VM8Um&ZYs!;!qSr7aW3Soqg=;CkKrQ$RqU;=w3@Oz z`~?-nv8Qow%r5P3 ze8xhLBrs@w#D20hHHM_RpZa?13E~(D)BGiB%8HnOb}lM2q&wx$S8{5}{;(haL_Rt? zh<$VSRs=6MZ$q_=|6S$F=g)V%IF8zA=Y4pKrMawexJJN_NKo(MnBwu(hKQqX7RiIU z&aK}o%^}p%l+ssr@GZY8CO&)jmvzKLD|#;Gr&xqRPC!A)9EniZE>6rJ#%sO1Q<|o4 z9}BXFy$ufuW*!~D?y+7y7ZeztI>lck7;Cf;sxa7Tzi`)$EWyG1gDvfOOS9U{9qV$$XQ;q2DBU|79Rr zzxiQXPtFY$r_Wejj-mFByc>x8tJS7vA<={W5i5CnAMuQ%Whm4=aAhbyidC%V$IRBW z$f9#Fo5Pqddvs9GFdx2YAx9wlKL<@&*Ba5gEcE+C=0z`W!u!)cF!hpUZ7UNAkj&huX+?9BQ{{&5*|+;JFEW>a->bwUFAa6qBvK9@Gk${MST2qcf&jpsm1lZL|u}DZwH_ zt1|N2^Y7{-Xp$^NWcAubhL=@t=92OHrgElxh9Jb?J>E$oeLgmBM~M+-{p z&8xG4#N2*8;T@v%fbq*7sTiCZ;Qw(?H2G&O03c51hheM?;ykOn2THpPNc@p(x$wYu z9#&;X*=p%MN?3EC!p7ck>du7jsZp3!0y*gr-TqaI$OUBLRiWz2A9oWLh7$YT_h0k% zE8nLYYp5+B!-QIN?r#Wv0FV1A$ONjpg9o~DWwXXIrGuu^6i(C@zvZd79QW;iLiUX3 zFJ76(DsidS9RcERT&@c~L*TppmIKbi#)De7jr9{^=43{^5%X}~Ku%FSwXVZ1EOc;E z2JgbBf&!C<`W`}K=o??l3?c^G`u!TGg#rc=&g1KB*Pi98>J!74POSp}%ygt4w%M%7 z=5`>^Tl;A|34*&-iH?La$_!9%)lfe$){@YQJ^7?h#@Ybn_Tl)^4(Ox|61eUomC=NY zZ1TT`w->1(Q)eBNI6Rbwg9_U0EwD;>d;pSty6k{bfz^ zfzK2B2(()FxwCV$I9(SULCR56fhgUea=j3?$?HnViylRboY-fz6_-Eig694g!9V&} z@QJFq7HVI4Q=*|x49X6IauAsfQhb0QRG>uY8H3rv7TPAAe`RG(lrZ_+lPtV|OcD?p z^yAaUkHS>KJCIXv1BDe8h@Qcg1R6_@-38T2>$eVtsn6 zk^S_Ulz(Cb{Km$w4)7U$)J3@BN#=XeQGX}B?8lxC85z~jR3CV=SkWwWLHC3cx9v98 z0#VClyp!m>D zbL}+?n(q$;>b&*2x(H{kWx||ZA|~-p|J55yb!BsZ$IF%u##^paK5oMGR)|#XT<+%i zkcY5uUJW9VaG3KKDa9kNxy4MH`5CJxN9rHI3{vHpxst&h% z0q3ET-mSPZS8m}>`sUu)2d8K^TFJjKn0(CliA=G-mTj6#>H{FsDwu*k06dY@scqLK z!AG2D)5Xx$O@@UPsL+3m2y4!9=%uu|>88uq&&sexEI0AnxGv4jPaqI00;reucM$9Q@I@(YHaoUMAOY>#Le z32Jc&sjHRJxebbxZWn#74vM4*Iu*UlDJ4qwaPcBLanI7vFm8T=6SR@&mdGQ~CWdM~twXI$TpeAjQ@wb{tfy3D)x9uJcZ8!MRvCZYt6Ut+~mYZ2xf9 zP_jJph6|~vc~R+RMAMvM-xtb_TH;SCxS<^;@0?MCZE3_I#(QC65fnS0b|=e09CK0A zN#M5k4c=7Z5GHA+5N3XYUWfCFR;!L?(nHY$+%t1ZO>4DXIo?ca2M9=2-*rzk_I)oG z0nxk6F~=U>4=#oGd@(p<%D<>~9=_<_*i%SI2%({mQ`n^EbDsUmXw25ZeSb2{M1rQ< z@CwC|v*rtiX4W^)16xI0#J*Zx(f(j(H1tLG*}%MNi@V|d!NR8dlygENHMGy;h>ciY znT8TbN-nZQQ+`=Nf`&x-qHtOS^GlJBBlvnq@~TTOs!qH(^Lr;@i5@ID+EnPvn*ND^M`eL zzeSq_n?kARhZb2qgD+(4Oh{-5s&P0~_H733<-33dvIVJ1_-HF}vS%Ue)0=#4eUM6` zA==GdairtLT@XW+Aq;t>Axc9g(PpmL^_sXVtwY@2??wwzQ1H8NIcOwzX$n?EHOp+AF*4Eg7@1p zjr4=Jz5aB6zs3G?0nnrozaUX;^IkQX^1Y}bk$t9&ZnuM3CT4QQi!E^g(jqi@f}Ez``f4Ud#oG}jpd z;yByssjJ?-+Mvm4UV5M2LGamDF|(Gh zWu}iz_<|fqv_l}8ROjNBBar{kPHOr8h$ISI5Di7*I{AGY&YY(Nb|7tEXBY6W($qE} z$0yh?-39i9Q|c@q`9Cg+k%(fL+qgu|%o)TCJl4uEAV1|li!`SBH`4gVzr@}u*Hh_i zeX=ua2EW0zq?d=V_xt}hf0k>ap^!<6f5LV3{r&t!JJz=*8A~LJ`?Air2VUvdx)uUz z#+A&aA%5gM0I|C7QgReFq_P;tk(RN6t&pK*bP2H(&-mj7Xb>TW(B zb}%^8^y;ycIT?;ZmSS0z%MQfFIgiWKUE_aU3$54C$>Q1Sq?o_7t-!W7j)XgchKYc* zZQ=YjmIo?M98FVhFHMOLH*VohW>j0D;l)tHw0CNWmYsC-F)r0#c6l)d;M#x%$7ZZz@AZBr?<~-Bo1i3dfvWX9Q z7e&6#CNcOPamkW@xn$dw!xOvBOGon(^33ORdR%%_;_qplTj8?j+CwC$?(F3E;VvFe zRo9*U<#}ca2uzCJB%9&j6lT8ThWqQ!_F_KcI+2w&Yc{Kxc>57N@;|T8F*4ouzXIYV zyP2&>&Z80pn|#c;mNo@-a}^Y`5jQgn!^7{~KOH;a7<#BVInO*U^Fe+urPX_W+qokd zAZJf1dn$aZ2Xe4AVwc+!u!yKPK$L;(pKbytWvXNh-N=?g-TAVQ-O^Mxy}X?Fg# zTsSq(Mt2baVWWr_mx5iDD0lvQjv~bvupw)(wts*PBaWsrdv`IySsnLz7!Lbq!d{MZ zC&tcDF`|qbs)C(PlPHlb_EV{w4v~Esl9KKp)N_T4wCuire#}rGcYnfHx%~Yj`ub0v zX@w_$bqo%=ldAqM;WVK+3(Fj5vKg;s;5dV>Zxv{;@^_kVM=w8kMW)jC3n4TtB1PL_ zB)E(m@R;=Mqqk|+K8JswTEvJacDx{-sq0FMYI#ob0WfV;vc{3I*V>IS*gD$`8M%SO z?R&9_WGxh+uZ=z_embVFzkhCU3f*}1ZOA1`Di-SA*HIEb=_#B6e8$yOdKUW+3pwMD zhQ;XLO=fkvC3{OZ>^anU7Rtz267$v_@;`llQC^flv`QGOjXD#CN z(18sO?xw-OJ*3#ZZq)?##vi;w-fpEhJekXN01~0rzmkXWBBp|Vo8V#?>fI6eD$78# z^sxb6$;k`s7;*K>j$Dt6!fX7&p`v)!6+8i{vQ4#hc%(>6`;e|0`McVhb4KE?rd@== zIPzy50o2#9I-Xsk8x6!ET!pu;1Oc!7M4y#ZRc-2iB{jVdnQ!DI;@tQ+jMT=ODyd30 zUvMMb>3s2|sHXka)1Q{$v$YgxGt6Ir)^$sg+rQQ7m)xM#9_IzGeucvl+!uW;!Q8|D zeWDMk1Ur3Ro8=sIPWFecOb% zWYO;lx2Z~`r7R1}<^s)68e?~}I~GdC)w2Y`#0i2?W+FVhAOS8#@Ohwom-rsjW_W_z ze1VUD;sA_ESHzYxgA9#Nfu|Th<>_z}1`4we#~dm59-D$0YJ45`k>Wk4(?KLQ#h?B< zH8{2W6$f*TD^Rg#?sCv}_m`jI+}Eg0rIXBX$J44CO?W>-_QJIyYp0>=%`a^n&At;6 zYl{?SxhScaqhI^yw#J1rn@wjJR zx<@NM#D|S;KQT-+VpprRbHkf2c8@g%F43t;s0D@J$8n(O8yacGVh6LHDPK=TS$}lq zUjQ0M;UQaiT7%e~6Jotcvh%axg?@lg#Hp$!8(Sl?#GW~a?htZe8ISl%*jv9I zyO?+i9&m&sjP)udPHX^6^GCvhvu$_hI9QkXOzUAzH{xda#W?_H+T@~wSj{7nU-#Wo zP2W>q#6nMHEBGt)s%f1!uZquOjF}E&J5Vv9#7!NA<~TbTPs;!)7%=ubeyYRxs4hGH zDMB|LAESwf?Q+ zkZ*9s&Qytxgbz>)Gcej|zK%Jrb_(!0+9hea!pVmn1}gT9o{ZK@tVW>(I$TbVd9;@zij0zRe^hHi-fOL}Q? zVOq&3heb(8z)Igi-Q(-Aiq6}Pa_KjFd*{OV^zC6tCp-~Ed{@v?-ySb0G1@>&-$EK- zlld#cZmGQgR!?OP;+krD^_zC+3?ng$bQn=`pf&k%@S_@bA~mPNH#}pGs-**WLEF#f zbL~23>atRwJg*oZ(V21oSJ6~F(9t4?RtDcK23iO5Bn4yCjb#O-b@`jDIzM=~NOf|J0mmkOv z33f0=&?(YVH=gt8ehZ@B>cln&ny2csxMYDE&#)#OS}v_WOH}a-Pu8Z=#~!f;-<;3x zQ#T8*_{voV5@$bzCe+onV~>e1%K| z$9)xzG8}3D^5uR!WrW7f&u?C?mr~5X&fe3Lz#@Cb^*Od9nYG zRor}+ow-4$dhi?!k?W0y1j$Gy_MI9fn;3PqGdnz#LxeZuB!qj8p4jxz?-pN+A)e#2 zv}4RV6c*3rr^2eVtfpmqsGP(2i(qGp{ZrfwZH#fqeog(}anC&xwMU-V#1>>xHs8J* zr=Q**J*OVk*hL)J;$qZO@rpu$`p!-IfY*?q7Kr9d4HHtx$&X%YDg_Z^psfC{>MZ53 zd)~jy%r2lUnH6%vGdg-dPbk^r8kHlC%wK_vHH9H^|FCF&K3BpLI@O>h{iu$djz!|> z<0fB6ocy5?2KJxwC?z4BP&pOp>>SNk(%JD>B-GIVz8tp29xe&}t3zEHda;(E0cEdq zI$sjLF*@!L9_oHi%XW)@VE!jbXsvim9(yC_x<<5aDXE|)C!X!&vSO2}7T>8%ZRs3&$LXayy}-hPw& z5))6H6%C~{eG`3QAhz$LHi?!8RE$c3j}^atug%F!L~{~6R^&0@pvjvHJ4h}y)DI%( z6^<+G?3sTn(GoT{Ga2jiSP|xykygA}_X0(j7J@iKI?8md)v?o0bc_UjLRmD6g3xJK zVpZ8Z(EAEs6qDrRpDQu=>b(4co_epVHe(g+mwzjL8)HMT@Ub?9!WrDlAqQ(3oV8%h zoKL4oUhhu7c)({;U#DgfnzQ=eum&PF^}cEs=#qi$Sfau7by=QEmO)Y$Ry@U(r9hV* z4LdcG!Gu>lq&YmZW-IYRsIKMpMO1s}-JO%}1a2rqp&LAI;g3}Fe=B3m&R})RSfQIH z5N})kJ=Uvp{!&s_>MQY6(*njHwPm_de2mr6q>6Ve$irz9Bon+I;XQogzTe1iQ3&GNqX zY^*#iqjClj!aVLdL@n7>gv171BLDvKEHL19tNt541?&%-+-hgDtY@q4$dTv(2+M55 z2Rt-N&O!pNdpjsZB=qfZJ&9^WUL)oUcRp|E+56o3k5&~Alz#As{QstBp9;it|a}n=qK86|K}o<@72L zd1Sfui*D3NPPb1qP}e+9IO#JL#C45!;{G5M}j zfgI#_(i!cezkk7nxD`WDkfVCuE~!$_c@dW zkwN;F%e6ylbd10@wnvb7EJ2|hS2)Y%ZCnpD9OSR{MfiGZ^L=70AL1MUY#ZbjI(WC* zW<;=(QAx&y3K9djt=zI;z74l9DAd2<_G(9rIA!ZuJY9u|=ChnwMLiacZ{1I$b&HKZ zRj}vA+iRTzn<2p@>m8ipW&;ga4z#EfB(Ose(V-7YM%p0o5!3H`KXmKd9lwP4sdU4^ z<}R^>QO2&DC%VMTchh5`p(g#XnTQIHKgcR9p5=@O+YZpatxp>6bVaboJcY*~C+92_ zBbFpWIw!m)uT&+Gx9u%B^wwEJ&(6B8i|x$Rx#6Oh6T8aZxFeJ1`ZK}w=lN3Ct|4cm zV|7ZV+s5Sj8~G@OI-AIAysKq3__@+SxK)US5h4II>-UH<`sUS5tfaxOUI@FibyY`t zm#Jz;i&WShoH-G}>zYIi6JQy*s#`!1NavmJ{dJ=6<7+jI&iP20ZFT95TjFaKUlG%~ z9Z#(M`8#rC{i);oBHnurUbCU>ft<0t*dY}Hd#QNUb6`Ys40$Z7lq64}PrU}YLPgL8 z{`7rc`fah~m#-m00H%5s9sGmcIQDy0qRxxeyNqhXh-UI=Z_7^d_>heG4t7Roc&5i> zokvX%Pca^g;PH*zqgkEC#es~|)3r4G3d%OBXUb$u9NGQ_=b4fj^D;TY$S&cvU&0>p zzoQ~RE7!=#SIx>nMiz{bLbIqxIG(>dEhQy~)|(CN%vSgoM2fzSR+GVwcotip>4+MM|`nDGT)RcX_~_+$zEe$4n; zGz3WWP)6L7KnYb{Br%JR`?ehKSC~EeJgGshXp6&2g-;s&MnyWb6)v?DnAk_X64PPJ zl>%kYUIT*iDD@oX$1!_AG^UnXbi9OQ1P|VJL-(1GAMWrSO+2{jhaqu3rG@d-Z9y^ZU+C4&!)@KNI7@a8uV(~(a)Auj){pb>XC&BlZ;7|#kbtMbj5O7ln`HW{n9_zOQP&Q{n6fOrMSm3 zQB^h zF_=VSkx|<9&jxzJ=CTihwajk0u0Aw6tX@GdfN}r_YZ;RMKuPXuJy?H}N6H_hBID*d zZ1Klb0OVYYz}Xc(ToHFyPkA#ZeXx^pYUnDCIR5{>au>zpgq)|`Rlm@Op`&pav)tby zl04r4kQqBGl&)O8#)7G}QMQ|w`{$NR-m$ot+j>Phfq3HQ20uUNNslGOO+ES-n5+~S z;+y_TA8;IRARcTVO4(=ZhhYu_6s}1H$9G(ga z(=3oDT3jI>I;ftPj)r8$ja2-ax++@6i(8P3CI}wg%5=BJ6ME2^{y5SfIGJw9+%Ynz@k z_l48T7PAS!&4!}!!Gu#>Aip9H6~DNjlSql~<=0tH%gD;|GWBD4+0oM-B!tut*3 zbiyKIsy1uEeZl~o@Zu!>{E@ z4ke%+=dmPn7B@AIKqu;-G2r8I7=uWIo=(;K6uQOET~2) z8&^Z~@Mb?bPd1h`W-@grk37RUCf%SlRw80O#<#0kp#DXbonglFp#Rk)K0vX=$Yiu; zSpoKWn-&na(Ygh0)zZF;?X~S|ivmvW1!$))e`0KG$viau70}ZRuES=3jc1SUsECvO zskksu$_lXmm|F|5#)zxq^`GiT z++^gikmhmVL$j6tQ-vsQ*Yj;^Ota0U=FNBz9Iour>*a$Xh>j_6v;|52pD+qn>Ja?q zVCh1;iH|q4nYKyd#3aSR1fG(nP&{4o#=z3wB^q$1N<*(bQHR;*cB~4?} z!y_4)8;s4;^UYC&cjKZsoR+{l&26C9`&8~vpd}rJAldB#RqI&g<>9H*%O-lOZ3Nch zoAbX9UJK8seKcGv@#PNA>XByoZAdidE***{cg25zJ)!WI?>gT1b2B1!VMtEOKsnC9 zxgen+VKv+Zz~cCN^e9mjn>Wcc9NlO#Gh){p=W%s=oj|~w%w1gfMS`8^#U^80pxTRu zhzmhXLyTq=MIGJe2!)1^Jbc7m*V@iCJVIgg1sG=^Vf%_TKMd_o7f3!3J}sQ>43C^J z;V~vtf5|wkIA+fC)F)+Aux6xaS>y@Pc-Vu;n)z7e)hF4c7-Fa9xI#}pN`jx=?WUp@ zS1h?(10F$O%FVX{4tofgdC^q6$xNX8nk;>zE6!g1c=4`NjL(YZYO6`g+-57?&@ zteFT0u07*1o}ty&2DE#$KbPzU1P+F#2$%&@C4buqgavy)B9SMJ>*mcuiH#5BtA{1T)*$bq;#yxjte?DiGJCVcPMal$Z~F9*!NIR zY}^VWZR(lh&+QA0^Ja+?nlZoAhxN>mI*3ZlSAAKgWWBV3M>RL+7qj|kw(hIFg>uV7 z52dRKjhqtIMehoGv-vVvRBb%y`~qyLf0j046rGC%O4|qH2;RR^n=JYqtPg~Eg;7&Lsn4rsg`wFz@jfwHRUVnzlZL90 zb90Y}U!Lg*TZF)vFUC{o!*P}?#Y|7|NJGaHi-Di`>o&coaR;UTOfQEq1Eo$$tjZx% zghj?e&P@}-MgG*F{#!I(%g6ISKW^*sS5ITrV(@_dvQGCq@$gzJ&kQ++EX?!?oo-64 zv{vspTU$Z(TUzKewEC9XegDxYo33snD;ce)1*M+BZpkzsb2g<>=C6X?sr9>)jCidVg{=PusQW3Z)164KEtbXm<7B z0P)ZS!tE9^8#6+$I$gXZ2u=0m^};s~_je{$lC#Mr6k{gW^S+}b_fAzqS5nFs^~MP; zP97@Qi^3rfMG+w%YZ#|hcevs5l3W2a$*aXIu>= zODr5$(4$n+onF9Q79>ukee}kl4N^OJ#SW)Fd3_i{wHjB;;-eT7&SjFQV;fZERWs)N z(#G8pd!XrwTRWr8!cGx5jH1@g`6(-dmR1Z$|3o>OJ+XSPfIY)NRBeEtL=^d&!Ajp% zCLR}qcc9KC#%!Q9ZplS#p}53K^f){iFBOi!xhdvCta6@|mg+La?-z`BQUcOae3SPT zvz??eGVOCH{C*1s2imARHrprlBoZ88cPKE1g=Nmu6sg&!g@3;6tUfAIDxc9g@9OSO zhA%pEqnVjSiSEFkP!{)(05g_*noZ2P2jR;UWkE$53t+}&C0UQ*Sk1g5RbdGUQJGUa1|@Ym)U^j z6>qjA6Xgnp%zSDrO(-G_`n2bAo|%Krfqq}B^JRaZuDrTqtEQibiZR58A)q&>~BuWtM6x$ ze5OHueJ*>qF*18u_dW{;j-r^Fb8_TRX403fVu%iKeORsrC#PLh$CLbxkNh8%d$?sd zS`c1{jA{F>;`3BcyV^cDlwrBR{~2hAPY*(wRQAA%)EUGlorcG2Iuj$jmU+1FZKO z{fPTH(M(MDvaL5zIMUV|znS|s<+#55Asfk_#j5qcD6l#ev2$yXHe5V(VFmPQq6_hw zDzNqM%X&`#c^elZ!;46o$O?!!gTJ%8@dm^3^T+*SYf^eBS3|p36P(MI`Q%|*2tN4p;Mm7 zfDvnHejIfTV1`fo3;cd5+KgBo4m`z*?O+@8sm+Y=tXAa-+t%7Yjd+;6TRor2BS%Yf zE3Fiw({6f*PEGnlaLyPx-N=c_q}ckw*=*HJg1@k$H1;`4>m*kkv;~5|+zBxF{EivY zFq|G_ibn#UylhKEm}p@CRbmssPfMON?IjmDTnmwZpB^-cZg(=TEg_`k<4BQNyq$>+-=Q!W347SK_RhA2_W@bm zi_iYbRAO)X!Y@|P(af!dJsnlP8j>nY`V{dv)nFRo)qZ!O{-CvkR08GTcHu3Y*EER_{NMJWLVY=@se;B~>yi`P?)mthc|H z)Ns@$4y3NJvYC+Q?}yHi={54?^|0yZ)|N&_f&vjM|1P;!IVwAA0a>Ex=YN2z@+|Zc znTrtW1+SLd&WDEM!c}NsY%o%-7PcE7K2b#y5`O?Zl3K5>AiXbv!InI%w$y-`1zH>kv}> zW~~>A!5)fDhj`<00_6@+efEJVu@}T7b<{EUNHG>2kvCwPwHQItyk906d%iP7m^7XE z!2DrkJf%1rPqV&&Xpx%~{U~UOGyt=SUzVM2A(A+>IVux!rPUA{<+3_FSO+8UBDlP+ z@z-qzP8?M#)(qT=V-^p`IJUCHeGq7T_7;m>>V1j3oQ4|85pvqJM=nl?)W=JYJ8t#9 zywUSSk>pvUWb)CvTZ7OAT%wZ6^D%y#jO6`>4Zc1j?J9|VQ`C1lHFG-nNw?_B_Cw5J zVm2$W|C;+^2*ni!ak4LwYS0dJQo8$WXwKM;Aw!EOLW(-G5%(OAOU1nCO;m1=bn69A zSRPVg@bTo`LI$@*;17R;pu16=+V6$Zml9wYc{lXzB7o)>|8Ik|{raa}EuPY}>s=ezX5N!L9RiKTj3{$}*c2;m@agh$te>wiQEGmG+{;0er!!Kr&DEM<7D!7nGa& zkE`xKpZVN1TjI$U7!w~%(FyUL97v{i5{b|D>VB2>JMFsXJA1q56~dRFq|+F= z#0-_OyC~2d`jcL3;A~#*V$Y~Z_vrv*Ss&<+gK?N1xK-Pe0%1_d*}$UBt$DIOieZh!wLb2&V+M7VR+jPc2&d0TA2P zmy`29ZqvlcVfeE?A+~bUaTX0=g@7L3taJqH*wDfSry$KH_Yq+0Qt!lYu?CkMz(r%L z31Ps+R#AEFE$$%w9y3(Cn6;cKnkiial8(9HYzmCJ3T?AYermZX#E9RlNob0dE>}+C zn@qn=#2_&qCWcLgdhz{n9j==wlWeU0L_Od>x`PYG9X1&0I8qj&tF3I|=ax%))yUj2 z1UjgIqZ>7Kk-B$$Z5Ke?6*x3Q`h^?Ugy z$KC%}9Q1*(^O2v9A0}Ah%LjWCv1m~*sa!k1Bkc(1Hq#Cqij>1WvXYv=fjH9@ z+oWOz4uR6LvHQ5fHrD=YbGQU!*&cCuk)~lUZ8$hZSq*>B+g#E6T z8R=p?Xh#d_^`o%Je9xUr^d#HDcp0Lkro_0?xYhKxJ%^!z{f6 zqI7hf72chOQkOj)LybFu^|QN0$0xfD!VUX<_H_^59pX<)PhJ@6=uHu#@Wdh*an`{^ zC$+t|V6#0bY3O7ql?hqux*5a3@sy&qHhopNX^w{NRn#u!Uys)^GmAt_Q^C>sQ+S6v z{tiAuBD2Sg-+tXh!_>}Hr?NsJ?il=C_d9woacF<%G!wq-$=9Z>{U7n9FH$`X&asfB zi`v?(7N=9MQ)3Gu=g5&E)z4x}rZ5LHc46P6IsS6%y2y8o;<6@N&jU#lgT;abEIUcd zeGXkyDZ<~no7VZaa8$JHZUt~)%yf;D#aGBYTQ_I!;g>Sj~mAcEJx0>c}>R^J+ zb~-!UVs1FqaR$jw-Zp#KF7jbE<-`|}BY9m8k#Z>!;U9UwB$Jg{WJ8oF)GmD!H`lu* z^A0gJw`Uh2%X31KR}5jkzc4h4pJd>xCKSD$xUFof&k zwOMIork;l5&3|&F7sqx{xwvmKZ_UD0-}ityCb8{0kIVFxBesft*~x5ov+n}OBp14x zSuXmJ@-uRK=yeAA?-c(H$7#9y@baMal(mI=ck(rhI%bWat+v#z)7KfX!tp;(7byIU z&^PJ7YX1lDs58uIRntvXs*wLO96f;Ge`LcR5)!OX7M$z6g#yFqC;i#aOK$h( z+$!m1e#5} zT#Dx?+W!H`Ft}5YxzvnnPLR-}gCCT6B|P9F55WtHHLlhu5aNiD4E#;@hdCzF#Ru(^ zw>Mm6n@aVxKR=oG#MzBUf~VzQ5QFK_+_@ba9Bk2Ha> zS(4U4yZ%k!+_L<7dZEmoH2QOt#>i!uRoOHhX_asBo2ePFpoimKs#6Ff#}?+vxkwWz z4zPWgG3wT)4|1cJXqriU0_$T`j|K-w31DW%Z!qFB;991*!W_T>kP(0G-O8tYG7oy? z9?iAV`=H{+W@hAA=7WduqM|u$moM-UUH;Y*fj9lMOb!d+hkFQGlbzGjM=XOgPZYBg zu*)&@Ie5sREV#vtzhtZT;t=s>seFL1`6qyZ!8P0$p@#W4H`fFLOt5hV%s|9~pY{{^bR zn0ThfngZp&AB9a#}^zp+nKqVYQ#&47og4Yh$K4d%^F3EbQ{`%QIjCFO; z@;Y_!;{#UZP72-ihtU<_kNjy3$>herCjWx20O#?N=-TR3jq}@~$EzN|S27IsA1Zt| zhIRm_HSZI6^2opkAd8A`c!*6guXz`Tj_zMYs)UNa4^ORpmL+-dWXbLBcj8k(JyuOb zKx3-{^IadL&QmP!fmL8+j!FH{4^)@IYp{C1*arz|owfy%{6CgqF-9UfPdcXRNAjir zPh*wWu3fF@cx7xsnlsDerB6GOSL)nOgs1LCyVjSZ*N&cfFIukszFJQxU*>wCpY3`e zICaD4)l}omXw9>uHACmn(VE;9imuV)po1R!zhY|PDAHPL`k+&e0_nNZ8Z07Eh0iXIM_O8g z6e(xDKq#=lMq);$SDhjpE){Wq;$M_c__Ovyo(gSBEHV^DXm#Qi(FisO9EJlgEo8f!BiRO%S$K+v)gBN-4;hH+hpFrsejXhJ&Bn_EDX|fD?>v zkjH$2IiquZh%1S6#Ulga)L)-|ua^*!Q!zSkdh@=0YxDD9|a&;(4@ zbtd|~)O_FMWO=xL^8{lEJmB(+ks;1*&Yo#;>vrP~CRIlePz>ev5~VpYL%n9b0U)Sh zo#<@49`@jKh31jOJ|AT8KHKh}p`_?5A9*uKvvba17kj@$gF|5|==l)>JL;eGge3$Z zTfz$x7yx+OEPHGlK22DEnpi3znkm4WdGLll8m)M@-|tpGcbl7}{7F9= z!vcj&JP~MxgkVEhkOF4U{mI?>2N{G+!JYg7<6;6|gK%UKqF{vJnk)13SeFt|h0JJ# zDDH)ViEq%a0aqueE|Wo}kqm<9eoyAOnaEU0zj_adS}K$$hwH~`pcVpngltEze|@LP zKDPcABqEEThp+t59fTBwjl(tl*AZCN)q0RQj5>aDH<-O^?W@T-1UbG{fDao~@s1M_nVbEHV~m_;u# z?)L-OAOt;3LLim+3fXV=_dG<3Ks{p(6qohpbdzhsW;Bzm3akjWk<9eH49Cmz)*ydc z%uTi9+LiR5oj&;7y15+8U>2V8uK zu=@jLo_`)YLwNqED;#MsoSEXt_lcFI4Ui7#q^6Pqwi(SH6yE@rcft=~Hz>aHXs?5S zBkkTo!Z0w_Vmfssw4K{P4 zOeTNr$EycldH#I&*L@pLbh6ZSP5 R%Ic4@D=19)Ahg?xa!D9;<&dt^TP`fXK^dx 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%0DQ16_lTkie)u>A51}wmCyyohS5L#;A0fF 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 E0D(~1=Kufz literal 0 HcmV?d00001 diff --git a/apps/docs/_images/supabase-credentials.png b/apps/docs/_images/supabase-credentials.png new file mode 100644 index 0000000000000000000000000000000000000000..7f1a08fc3b47ae2d517e3ae83255ed6de723406a GIT binary patch literal 86446 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 O-+Yi)m8+655BqP5Y6Kbp literal 0 HcmV?d00001 diff --git a/apps/docs/_images/supabase-project-create.png b/apps/docs/_images/supabase-project-create.png new file mode 100644 index 0000000000000000000000000000000000000000..26524eba36dbc370deae003debc947ffdee954ed GIT binary patch literal 53014 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[H3;r=oVx|j^jsR^4BR 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 Hqk#Vn5x({0 literal 0 HcmV?d00001 diff --git a/apps/docs/_images/supabase-upload-csv.png b/apps/docs/_images/supabase-upload-csv.png new file mode 100644 index 0000000000000000000000000000000000000000..85c0da91a201d8a12f3e7dd8cf2db02ea79f321a GIT binary patch literal 35746 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 H+8+N4&X95u^qwCP)ue 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 AaR2}S literal 0 HcmV?d00001 diff --git a/apps/docs/_images/type-hinting.png b/apps/docs/_images/type-hinting.png new file mode 100644 index 0000000000000000000000000000000000000000..77035d616d282c83e6ad3b29a3cf17c153aabcae GIT binary patch literal 49281 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

JKH;3QklpS_kn{h&c;xiL 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 LO(m3qdC>m=_A;Zg literal 0 HcmV?d00001 diff --git a/apps/docs/_images/workspace.png b/apps/docs/_images/workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..b6716fb23058e99de242f05cae502fb0f76d8ee7 GIT binary patch literal 32933 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 + For a more detailed description, read the [official + documentation](https://mintlify.com/docs/api-playground/openapi/setup#create-mdx-files-for-openapi-endpoints) + + +### Generating OpenAPI schema + +#### Step 1: Generate MDX + +Run the `generate-api` scripts within the `package.json` to generate the required MDX +files. There are two scripts here, one configured to use the production +`OpenAPI.json` and the second configured to use the development version.\ +\ +It is typically preferred to use the production version once any changes to +your API have been made and published. + +#### Step 2: Update mint.json + + + + Upon generating the relevant API information, `@mintlify/scraping` helpfully outputs the suggested navigation to the terminal: + +```bash +navigation object suggestion: +[ + { + "group": "users", + "pages": [ + "api/users/get-user", + "api/users/get-all-users", + "api/users/search-users", + "api/users/create-user" + ] + }, + { + "group": "spells", + "pages": [ + "api/spells/get-spell", + "api/spells/get-all-spells", + "api/spells/search-spells" + ] + } +] +``` + +For sake of simplicity, copy this navigation object suggestion and add it your `mint.json` under the `navigation` object: + +```json +"navigation": [ + { + "group": "Getting Started", + "pages": ["documentation/introduction", "documentation/local-development"] + }, + { + "group": "Configuration", + "pages": [ + "documentation/configuration/turbo", + "documentation/configuration/fastapi", + "documentation/configuration/nextjs", + "documentation/configuration/docs" + ] + }, + { + "group": "Deployment", + "pages": [ + "documentation/deployment/vercel", + "documentation/deployment/deployment" + ] + }, + { + "group": "API Reference", + "pages": ["api/introduction"] + }, + { + "group": "Users", + "pages": [ + "api/users/get-user", + "api/users/get-all-users", + "api/users/search-users", + "api/users/create-user" + ] + }, + { + "group": "Spells", + "pages": [ + "api/spells/get-spell", + "api/spells/get-all-spells", + "api/spells/search-spells" + ] + } +], +``` + + + + Add the `openapi` key to your `mint.json`. This, preferably, can be linked to your published OpenAPI schema: + + ```json + { + ... + "openapi":"https://next-fast-turbo-api.vercel.app/openapi.json" + ... + } + ``` + + This enables the generated MDX files to describe and interact with your API. + + + This has been hit and miss in the past for me. If doing this does not auto-populate your API reference with the documentation, the solution is to manually\ + create an `openapi.json` file in the `docs` root. Manually copy and paste/save your `openapi.json` into this file. + + + + diff --git a/apps/docs/documentation/configuration/fastapi.mdx b/apps/docs/documentation/configuration/fastapi.mdx new file mode 100644 index 0000000..ddac7ee --- /dev/null +++ b/apps/docs/documentation/configuration/fastapi.mdx @@ -0,0 +1,377 @@ +--- +title: FastAPI config +"og:title": "FastAPI configuration and setup" +description: FastAPI configuration and setup +--- + +## Introduction + +The backend uses [FastAPI](https://fastapi.tiangolo.com/). FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.8+ based on standard Python type hints + +You can run the **api only** by running the `pnpm run dev` command from a terminal within the `api` directory. Alternatively, you can directly run the `run.py` file. + +## API structure + +The API root directory is structured as follows: + +``` +api +├── src +│ ├── api +│ ├── crud +│ ├── schemas +│ ├── __init__.py +│ ├── config.py +│ └── main.py +├── tests +├── .env +├── .env.example +├── harry-potter-db-seed-spells.csv +├── harry-potter-db-seed-users.csv +├── package.json +├── poetry.lock +├── pyproject.toml +├── requirements.txt +├── run.py +└── vercel.json +``` + +### Src directory + +The `src` directory is where all the application code sits. Below briefly explains each folder/file + +| Item | Description | +| --------- | ----------------------------------------------- | +| api | The API endpoints for the application | +| crud | The CRUD operations used within the application | +| schemas | The schemas used within the application | +| config.py | Main application configuration | +| main.py | Application | + +### Root directory + +The root directory contains the typical files one would expect to see in a Python project. The below files are worth describing: + +| Item | Description | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| package.json | Not typical in a Python programme; used due to the nature of the monorepo. Running `pnpm run dev` at the project root will execute the `dev` script in this `package.json` | +| vercel.json | The configuration for deploying the FastAPI aspect of the application to Vercel. | +| \*.csv | Simple seed data for the database, sourced from the [Harry Potter API](https://hp-api.onrender.com/) | + +## Dependencies + +### Python 3.9 + +Because the project is being deployed on Vercel, Python version `3.9` must be used as this is the latest supported version of Python. For more information, read the [official documentation](https://vercel.com/docs/functions/runtimes/python). + +If deploying to somewhere other than Vercel, check which version of Python you may use and adjust the project according to your needs. + +### Supabase + +The project uses [Supabase](https://supabase.com/) as a database. Since Planetscale [removed their free Hobby tier](https://planetscale.com/blog/planetscale-forever), +Supabase has seemed like a good alternative to use. You do not have to use Supabase with the backend, but the project is written from the perspective of using it. + + + If you are using Supabase, + [`supabase-py-async`](https://pypi.org/project/supabase-py-async/) is already + included as a project dependency within the `pyproject.toml`. If you are not + using Supabase, this can be removed. + + +### Poetry + +[Poetry](https://python-poetry.org/) is used to manage the virtual environment and project dependencies. +A `requirements.txt` has been generated to enable the installation of Python packages via the `pip install` command. + +If you do not use Poetry, you can remove the `poetry.lock` and `pyproject.toml` files. + +You will need a `requirements.txt` when deploying. Vercel also accepts a `Pipenv` file if you use Pipenv, otherwise, you'll need the `requirements.txt` for the `api` to build correctly + +## Adding your own endpoints + +Given the project structure, there are three areas that you must be aware of when adding your own endpoints with new models. The main areas are: + +- Schemas +- CRUD +- API + +### Example: Creation of Spells endpoints + +#### Step 1: Create a schema + + + + Add a new schema to the `schemas` directory. + + ```python src/schemas/spell.py + from typing import ClassVar, Sequence + + from pydantic import BaseModel + + + class Spell(BaseModel): + id: str + name: str + description: str + table_name: ClassVar[str] = "spells" + + + class SpellCreate(BaseModel): + id: str + name: str + description: str + + + class SpellUpdate(BaseModel): + id: str + name: str + description: str + + + class SpellSearchResults(BaseModel): + results: Sequence[Spell] + + ``` + + The `table_name` value needs to be included in the base `Spell` class. This **must** be the same as the name of the table created in Supabase. It is used in the CRUD operations to identify the table to work with. + + | Item | Description | + |--------------------|---------------------------------------------------------------------------------------------| + | `Spell` | The base class describing the columns that will be in the Supabase table | + | SpellCreate | The class for creating a new `Spell` | + | SpellUpdate | The class for updating an existing `Spell` | + | SpellSearchResults | Describes how data will be returned in the API response. It will be a `Sequence` of `Spell` | + + + + + To easily import the new `Spell` classes throughout our application, they need to be added to the `src/schemas/__init__.py` file. + + ```python src/schemas/__init__.py + from .user import User, UserCreate, UserSearchResults, UserUpdate + from .spell import Spell, SpellCreate, SpellSearchResults, SpellUpdate + ``` + + This allows us to import from `src/schemas` like so: + + ```python + from src.schemas import Spell, SpellCreate, SpellSearchResults, SpellUpdate + ``` + + + + +#### Step 2: Setup CRUD operations + +Specific CRUD operations can be created for each endpoint. However, generic CRUD operations in `src/crud/base.py` can also be used without modification. + + + + ```python src/crud/crud_spell.py + from fastapi import HTTPException + from supabase_py_async import AsyncClient + + from src.crud.base import CRUDBase + from src.schemas import Spell, SpellCreate, SpellUpdate + + + class CRUDSpell(CRUDBase[Spell, SpellCreate, SpellUpdate]): + async def get(self, db: AsyncClient, *, id: str) -> Spell | None: + try: + return await super().get(db, id=id) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"{e.code}: Spell not found. {e.details}", + ) + + async def get_all(self, db: AsyncClient) -> list[Spell]: + try: + return await super().get_all(db) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"An error occurred while fetching spells. {e}", + ) + + async def search_all( + self, db: AsyncClient, *, field: str, search_value: str, max_results: int + ) -> list[Spell]: + try: + return await super().search_all( + db, field=field, search_value=search_value, max_results=max_results + ) + except Exception as e: + raise HTTPException( + status_code=404, + detail=f"An error occurred while searching for spells. {e}", + ) + + + spell = CRUDSpell(Spell) + ``` + The `CRUDSpell` class inherits from the `CRUDBase` class located in `src/crud/base.py`. The `Spell`, `SpellCreate` and `SpellUpdate` classes are passed to the `CRUDBase` class to specify the types of data that will be used in the CRUD operations. + + The operations that will be used in the API endpoints are functions of the `CRUDSpell` class. + + Finally, `spell` is an instance of `CRUDSpell`. We import this instance to use in the API endpoints like so: `spell.get_all(db)` or `spell.get(db, id=id)`. + + + **This part of the project is intended to be read-only**, however, the `SpellCreate` and `SpellUpdate` classes are created in the schema regardless as they are required by the `CRUDBase` model's function arguments. `CRUDBase` can be refactored to have optional parameters, or a read-only version of the `CRUDBase` class can be created. This is beyond the scope of this project. + + + + + + Similar to setting up the schemas, the `CRUDSpell` class needs to be added to the `src/crud/__init__.py` file. + + ```python src/crud/__init__.py + from .crud_user import user + from .crud_spell import spell + ``` + + + + +#### Step 3: Create the API endpoints + + + + Create the endpoints in the `src/api/api_v1/endpoints/spells.py` file. + + ```python src/api/api_v1/endpoints/spells.py + from typing import Literal, Optional, Union + + from fastapi import APIRouter, HTTPException + + from src.api.deps import SessionDep + from src.crud import spell + from src.schemas import Spell, SpellSearchResults + + router = APIRouter() + + + @router.get("/get/", status_code=200, response_model=Spell) + async def get_spell(session: SessionDep, spell_id: str) -> Spell: + """Returns a spell from a spell_id. + + **Returns:** + - spell: spell object. + """ + return await spell.get(session, id=spell_id) + + + @router.get("/get-all/", status_code=200, response_model=list[Spell]) + async def get_all_spells(session: SessionDep) -> list[Spell]: + """Returns a list of all spells. + + **Returns:** + - list[spell]: List of all spells. + """ + return await spell.get_all(session) + + + @router.get("/search/", status_code=200, response_model=SpellSearchResults) + async def search_spells( + session: SessionDep, + search_on: Literal["spells", "description"] = "spell", + keyword: Optional[Union[str, int]] = None, + max_results: Optional[int] = 10, + ) -> SpellSearchResults: + """ + Search for spells based on a keyword and return the top `max_results` spells. + + **Args:** + - keyword (str, optional): The keyword to search for. Defaults to None. + - max_results (int, optional): The maximum number of search results to return. Defaults to 10. + - search_on (str, optional): The field to perform the search on. Defaults to "email". + + **Returns:** + - SpellSearchResults: Object containing a list of the top `max_results` spells that match the keyword. + """ + if not keyword: + results = await spell.get_all(session) + return SpellSearchResults(results=results) + + results = await spell.search_all( + session, field=search_on, search_value=keyword, max_results=max_results + ) + + if not results: + raise HTTPException( + status_code=404, detail="No spells found matching the search criteria" + ) + + return SpellSearchResults(results=results) + ``` + + Here we are calling `spell` object which we setup in step 2. + + The `SessionDep` (located in `src/api/deps.py`) dependency is used to access the database. + + The `response_model` parameter is used to specify the type of data that will be returned from the endpoint. This is used to generate TypeScript types for the frontend. + + + + To include the new endpoints in the API, it must be added to the API router, located in `src/api/api_v1/api.py`. + + ```python src/api/api_v1/api.py + from fastapi import APIRouter + from src.api.api_v1.endpoints import users, spells + + api_router = APIRouter() + api_router.include_router(users.router, prefix="/users", tags=["users"], responses={404: {"description": "Not found"}}) + api_router.include_router(spells.router, prefix="/spells", tags=["spells"], responses={404: {"description": "Not found"}}) + ``` + + + + +#### Step 4: Create the table in Supabase + + + + Create a new table in your Supabase dashboard. It is **imperative** that the table name matches the `table_name` value in the `Spell` class in `src/schemas/spell.py`. + + Columns should be added to match the `Spell` class. For example, we have the following `Spell` class: + + ```python + class Spell(BaseModel): + id: str + name: str + description: str + table_name: ClassVar[str] = "spells" + ``` + + In this example, the table should be named `spells` (table names are case-sensitive) with the columns `id`, `name`, and `description`. \ + \ + For data types, `id` can be automatically assigned - in this example, it is set to a `uuid`. The `name` and `description` fields are strings, therefore their column's type is set to `text`. The `id` column should be the primary key. + You do not need to add the `table_name` column as this is used in the FastAPI code to identify the table to work with. + + + The data can be seeded using the Supabase dashboard by uploading the `harry-potter-db-seed-spells.csv` file. For a more detailed explanation, please see the [official documentation](https://supabase.com/docs/guides/database/import-data#option-1-csv-import-via-supabase-dashboard) + + + The table security should be configured to allow the FastAPI application to access the data. By default, Supabase will have [RLS (Row Level Security)](https://supabase.com/docs/guides/auth/row-level-security) enabled.\ + \ + If left un-configured, the database will return an empty array. As this is a simple read-only project, I am turning `RLS` off. However, for true CRUD operations, it should be configured to use authentication which is beyond the scope of this project. + + \ + To disable `RLS`, in the table settings, select `configure RLS` and then `disable RLS`.\ + + + Once the table has been created, you must ensure that the `DB_URL` and `DB_API_KEY` parameters are populated in your `.env` file located in the root of the `API` directory.\ + \ + These values come from the Supabase dashboard by going to `settings` and then `API`. Copy the Project URL (`DB_URL`) and the Project API Key (`DB_API_KEY`). + + + `DB_USERNAME` and `DB_PASSWORD` should also included in the `.env` as they are configured in the `src/config.py`. If you do not include these you will receive an error from Pydantic.\ + \ + Their inclusion is a pre-cursor to authentication, but they are not actually used in this project scaffold. + + + + + +#### Step 5: Test your new endpoints +You can now test your new endpoints using the FastAPI Swagger UI or by making requests to the API. diff --git a/apps/docs/documentation/configuration/nextjs.mdx b/apps/docs/documentation/configuration/nextjs.mdx new file mode 100644 index 0000000..976efa4 --- /dev/null +++ b/apps/docs/documentation/configuration/nextjs.mdx @@ -0,0 +1,176 @@ +--- +title: Next.js config +"og:title": "Next.js config and setup" +"description": "Next.js config and setup" +--- + +## Introduction + +The frontend uses the latest version of Next.js and TypeScript; it is configured using the latest [app router](https://nextjs.org/docs/app). + +You can run the **frontend only** by running the `pnpm run dev` command from a terminal within the `web` directory. Alternatively, you can run the entire application by running `pnpm run dev` from the **root directory**. + +## App structure + +The app root directory is structured as follows: + +``` +web +├── app +├── components +├── lib +├── public +├── .env +├── .env.example +├── .eslintrc.js +├── components.json +├── next.config.js +├── package.json +├── postcss.config.js +├── README.md +├── tailwind.config.js +├── tsconfig.json +└── yarn.lock +``` + +#### App + +| Item | Description | +| ----------- | ---------------------------------------------------------------------------------------------------- | +| globals.css | Tailwind global config. Uses a generated theme from [ShadCN UI themes](https://ui.shadcn.com/themes) | +| layout.tsx | App layout | +| page.tsx | Landing page | + +#### Components + +| Item | Description | +| ------- | ----------------------------------------------------------------------------------------------------------------------------- | +| layouts | The dashboard layout is stored which wraps the application `{children}` in `root/app/layout.tsx` | +| theme | The `ThemeProvider` component(s) that wrap the application. | +| ui | Where `ShadCN` components are stored upon being generated. Configured by the `components.json` located in the `frontend root` | +| \*.tsx | Components used within the application | + +#### Lib +| Item | Description | +| ----------- | ---------------------------------------------------------------------------------------------------------------- | +| api | The output generated by the `openapi` npm package. Configured in the `package.json` task named `generate-client` | +| config | Stores site config. Currently contains the setup for sidebar navigation | +| twConfig.ts | Tailwind colour config exported to an accessible Object. Used for assigning theme-aware colours in charts | +| utils.ts | ShadCN utils | + + + +## TypeScript from FastAPI +As FastAPI is based on the OpenAPI specification, you get automatic compatibility with many tools, including the automatic API docs (provided by Swagger UI). + +One particular advantage that is not necessarily obvious is that you can generate clients (sometimes called SDKs ) for your API, for many different programming languages. + +For a more detailed explanation, see the [official FastAPI documentation](https://fastapi.tiangolo.com/advanced/generate-clients/#generate-a-typescript-client-with-the-preprocessed-openapi) + +## Why generate TypeScript? +Generating a TypeScript client for your FastAPI backend is a great way to ensure that your frontend and backend are always in sync. It is also a way to provide type hinting while writing your frontend code without needing a permanent reference to the API, or re-creating the schema using something like Zod. + + + +### How to generate TypeScript + + + There are two generate-client tasks configured in the `package.json`: + ```JSON + "scripts": { + ... + "generate-client": "openapi --input https://next-fast-turbo.vercel.app/openapi.json --output ./lib/api/client --client axios --useOptions --useUnionTypes", + "generate-client:dev": "openapi --input http://127.0.0.0:8000/openapi.json --output ./lib/api/client --client axios --useOptions --useUnionTypes" + ... + }, + ``` + The `generate-client` task is set to run off the production OpenAPI schema.\ + \ + The `generate-client:dev` task is set to use the localhost OpenAPI schema. This is useful for development, as it will use the latest schema from the backend. + + Ensure your production API URL is configured, or that your local API URL is correct, and then run the relevant task. + + + + + A key file to be aware of is the `OpenAPI.ts` which is generated in the `lib/api/client/core` directory. This file has the main configuration for the API connection as below: + + ```tsx lib/api/client/core/OpenAPI.ts + export const OpenAPI: OpenAPIConfig = { + BASE: "http://127.0.0.0:8000", + VERSION: "0.1.0", + WITH_CREDENTIALS: false, + CREDENTIALS: "include", + TOKEN: undefined, + USERNAME: undefined, + PASSWORD: undefined, + HEADERS: undefined, + ENCODE_PATH: undefined, + }; + ``` + + The problem with this is that we would want to differentiate between which API is being used. When the TypeScript is generated, the given OpenAPI URL is used as the base URL for the API. + This is not ideal for production, as you would want to use the production API URL, and vice versa in development. + + You can override this by adding the following to your root `layout.tsx` file: + + ```tsx layout.tsx + import { OpenAPI } from "@/lib/api/client"; + + if (process.env.NODE_ENV === "production") { + OpenAPI.BASE = "https://next-fast-turbo.vercel.app" + } + + ``` + + + + + +## Using the generated API +Once you have generated your TypeScript interface to your API, you can use it in your frontend code. + +In its simplest form, you can import the generated API and use it as below: + +```tsx +import { UsersService } from "@/lib/api/client"; + +const response = await UsersService.usersSearchUsers({ + keyword: "keyword", + searchOn: "searchOn", + maxResults: "maxResults", + }); +``` + +You can see this code being used in the `components/search-users.tsx` file, as part of the form's onSubmit function: + +```tsx + const onSubmit = async (data: z.infer) => { + try { + const maxResults = data.searchResults ? parseInt(data.searchResults) : 10; + const response = await UsersService.usersSearchUsers({ + keyword: data.keyword, + searchOn: data.searchOn, + maxResults: maxResults, + }); + setSearchResults(response); + setError(null); + } catch (error) { + setSearchResults({ results: [] }); + setError(error); + } + }; +``` +This code also imports the `UserSearchResults` type which is used to set the state of the search results: +```tsx +import { UsersService, UserSearchResults } from "@/lib/api/client"; + +const [searchResults, setSearchResults] = React.useState({ + results: [], + }); +``` + + +## Important considerations +- If you make changes to your API, you will need to re-generate the TypeScript interface. +- Re-generating this interface will overwrite the existing files. If you want to modify anything (e.g. `api/client/core/OpenAPI.ts`) and have it persist, do this outside of the generated files. You can see this in action in the `root/app/layout.tsx` file. \ No newline at end of file diff --git a/apps/docs/documentation/configuration/turbo.mdx b/apps/docs/documentation/configuration/turbo.mdx new file mode 100644 index 0000000..156d69c --- /dev/null +++ b/apps/docs/documentation/configuration/turbo.mdx @@ -0,0 +1,53 @@ +--- +title: Turbo config +"og:title": "Configuring Turbo for FastAPI, Next.js and Turborepo" +description: Configuring Turbo for FastAPI, Next.js and Turborepo. +--- + +## Introduction +This project was first created using the `create-turbo` npm package: + + + ```bash npm + npx create-turbo@latest + ``` + + ```bash yarn + yarn dlx create-turbo@latest + ``` + + ```bash pnpm + pnpm dlx create-turbo@latest + ``` + + +It is recommended that you read through the [official documentation](https://turbo.build/repo/docs/getting-started/create-new) to understand the breakdown of the monorepo. + +## Changes to the official Turbo starter +The official Turbo starter is a great starting point for a monorepo, but it has some configurations I did not need. As I will not be sharing code between the backend and frontend (nor the docs), I have **removed** the `packages/ui` directory. + +If you want to **add a new package** to the project, please reference the [official documentation](https://turbo.build/repo/docs/handbook/sharing-code/internal-packages). + +For quick reference: + 1. Create a new folder in `packages/` + 2. Add a `package.json`, with `name` and `types` pointing at `src/index.ts[x]` + 3. Add `src/index.ts[x]`, with at least one named export + 4. Install your packages from `root` + + +## Turbo.json +The currently configured `turbo.json` does not have many changes from the official starter. The only change is the addition of the `globalEnv` key. + +```json +{ + "globalEnv": [ + "NODE_ENV" + ], +} +``` +Without adding these environment variables to the `globalEnv`, you will receive an eslint error when referencing variables in your `.env`, however, your code will still work. + + +There are different ways that people solve this. While it's possible to use\ +`"globalDependencies": ["**/.env"]`, that did not work in this project.\ + \ No newline at end of file diff --git a/apps/docs/documentation/deployment/deployment.mdx b/apps/docs/documentation/deployment/deployment.mdx new file mode 100644 index 0000000..4ee0152 --- /dev/null +++ b/apps/docs/documentation/deployment/deployment.mdx @@ -0,0 +1,131 @@ +--- +title: Deploying the monorepo +description: Deploying your monorepo to Vercel/Mintlify +"og:title": Deploying your monorepo to Vercel/Mintlify +--- + +## Introduction + +Deploying your monorepo to Vercel is relatively straightforward, but there are a handful of things to be aware of. +The frontend deployment is relatively straightforward, but the backend deployment can be a little more complex and need a bit more attention. + +For a more detailed guide on deploying a monorepo to Vercel, see the [official documentation](https://vercel.com/docs/monorepos/turborepo). + +## Prerequisites +Before continuing, ensure you have: +- A [Vercel](https://vercel.com/) account. It is typically easiest to sign up with your GitHub account, as we'll also be deploying directly from the GitHub repository. +- Published your repo to GitHub. If you haven't done this yet, you can follow the instructions [here](https://docs.github.com/en/get-started/quickstart/create-a-repo). +- Optional. If you're planning to deploy your documentation site to Mintlify, you'll need to have a [Mintlify](https://mintlify.com/) account. + +## Frontend Deployment + + + Go to your [Vercel dashboard](https://vercel.com/dashboard) and click the `Add New...` button, and select `Project`. + + + + Select the `Import Git Repository` option and select your repository from the list of repositories. + + + + Vercel will automatically detect that you have a monorepo, and should have correctly populated all the required fields. + + The project root directory should be automatically detected, but if it isn't, you can manually set it to the folder where your frontend is stored. In this project, that is `apps/web`. + + + + + + + + Click the `Deploy` button to deploy your project. + + + + We don't want to continuously rebuild our frontend every time we push changes to the backend or documentation. To prevent this, we can add an ignored build step.\ + \ + From the newly deployed frontend dashboard, navigate to `Settings`, then to `Git`. Scroll down to the `Ignored Build Step` section and set the behaviour to + **Only build Turborepo app if there are changes**. + + + + + + For more information, see the [official documentation](https://vercel.com/docs/projects/overview#ignored-build-step). + + + +## Backend deployment + + + Go to your [Vercel dashboard](https://vercel.com/dashboard) and click the `Add New...` button, and select `Project`. + + + + Select the `Import Git Repository` option and select your repository from the list of repositories. + + + + Vercel will automatically detect that you have a monorepo, but for the backend we need to change the default configuration. + + - Configure your project name + - Change the `Framework Preset` to `Other` (there is currently no Python option) + - Change the `Root Directory` to the folder where your backend is stored. In this project, that is `apps/api` + - Add your Environment Variables + + + + + + + + Click the `Deploy` button to deploy your project. Once built, the API should be running at the URL provided. + + + + + + + + We don't want to continuously rebuild our frontend every time we push changes to the backend or documentation. To prevent this, we can add an ignored build step.\ + \ + From the newly deployed frontend dashboard, navigate to `Settings`, then to `Git`. Scroll down to the `Ignored Build Step` section and set the behaviour to + **Only build Turborepo app if there are changes**. + + + + + + For more information, see the [official documentation](https://vercel.com/docs/projects/overview#ignored-build-step). + + + + +## Documentation deployment +For a more detailed explanation, visit the [offical documentation](https://mintlify.com/docs/quickstart) + +Connecting to an existing repository with Mintlify is a little bit tricky, as their walkthrough currently seems to only support creating a new repository. However, it is possible to connect an existing repository by following the steps below. + + + + Sign in to [Mintlify](https://mintlify.com/). You will further be prompted to **Sign in with GitHub**. Follow the onscreen instructions. + + + + Configure your deployment to be pointed to your `docs` directory. Ensure **set up as a monorepo** is selected. + + + + + + + + From the Mintlify dashboard, click **Things to Do** and then click **Enable automatic updates**. + + + + + + + + diff --git a/apps/docs/documentation/introduction.mdx b/apps/docs/documentation/introduction.mdx new file mode 100644 index 0000000..2a7194a --- /dev/null +++ b/apps/docs/documentation/introduction.mdx @@ -0,0 +1,70 @@ +--- +title: Introduction +"og:title": "Getting started with Next-Fast-Turbo" +description: A starter project for FastAPI, Next.js and Turborepo. +--- + +## What is Next-Fast-Turbo? + +Next-Fast-Turbo is designed as a personal starter kit for Next.js and FastAPI projects. It is a monorepo that includes a Next.js frontend and a FastAPI backend. The project is designed to be deployed to Vercel, but can be deployed to any platform that supports monorepos. + +This documentation is not written to be a tutorial, but instead to be a reference for the project. It is designed to be a living document that can be updated as the project evolves. + +## Features + +**Frontend**\ +The Next.js application comes with a fully built frontend that includes: + +- A responsive layout +- A dashboard/sidebar design +- Pre-configured connection to the backend API +- Autogenerated TypeScript types based off the FastAPI OpenAPI schema +- A variety of design components, mostly from ShadCN UI (including chart examples) + +**Backend**\ +The FastAPI application comes with a fully built backend that includes: + +- Example endpoints +- Pre-configured schema/crud operations +- Easily extensible to add more endpoints + +**Documentation**\ +Built using Mintlify, a fully responsive and configured documentation site that features: + +- A fully built documentation site +- A variety of Mintlify components +- A fully configured mint.json + +## Tech stack + +Next-Fast-Turbo is fully open-source built using the following technologies: + +**Frontend** + +- [Next.js](https://nextjs.org/) - Framework for building React applications +- [Tailwind CSS](https://tailwindcss.com/) - CSS framework +- [ShadCN UI](https://ui.shadcn.com/) - UI kit + +**Backend** + +- [FastAPI](https://fastapi.tiangolo.com/) - Python backend API + +**Documentation** + +- [Mintlify](https://mintlify.io/) - Documentation + +**Global** + +- [Vercel](https://vercel.com/) - hosting +- [Turbo](https://turbo.build/repo) - monorepo + +## Getting started + + + + Install the application locally + + + Deploy the monorepo to Vercel + + diff --git a/apps/docs/documentation/local-development.mdx b/apps/docs/documentation/local-development.mdx new file mode 100644 index 0000000..88f39cd --- /dev/null +++ b/apps/docs/documentation/local-development.mdx @@ -0,0 +1,308 @@ +--- +title: "Local Development" +"og:title": "How to setup local development" +description: "A guide on how to run the codebase locally." +--- + +## Introduction + +Next-Fast-Turbo 's codebase is set up in a monorepo (via [Turborepo](https://turbo.build/repo)) and is fully open-source. +Here's the monorepo structure: + +``` +apps +├── api +├── docs +├── web +packages +├── eslint-config +├── typescript-config +``` + +The `apps` directory contains the code for: + +- `web`: The frontend of the Next-Fast-Turbo's application +- `api`: Next-Fast-Turbo's FastAPI backend - written in Python +- `docs`: Next-Fast-Turbo's documentation site + +The `packages` directory contains the code for: + +- `eslint-config`: ESLint configurations for Next-Fast-Turbo's codebase. Boilerplate code included as part of the [create Turbo](https://turbo.build/repo/docs/getting-started/create-new) command +- `typescript-config`: TypeScript configurations for Next-Fast-Turbo's codebase. Boilerplate code included as part of the [create Turbo](https://turbo.build/repo/docs/getting-started/create-new) command + +## Running Next-Fast-Turbo +### Step 1: Local setup + + + + Clone the [Next-Fast-Turbo repo](https://github.com/cording12/next-fast-turbo.git). + + ```bash + git clone https://github.com/cording12/next-fast-turbo.git app-name + ``` + + + + Change to the root directory of the cloned repository and install the dependencies using the following command: + + ```bash + cd app-name + pnpm install + ``` + + + + It is recommended to use the pre-configured Workspace stored in the `.vscode` folder at the project root. + + Navigate to `app-name/.vscode/` and double click `next-fast-turbo.code-workspace` to open in VS Code, or, in VS Code navigate to **File** and then **Open Workspace from File**. + + You can rename this to match your project name. The extension, `code-workspace`, must stay the same, but it can be changed to `app-name.code-workspace` + + + +### Step 2: Python setup + + In a monorepo, VS Code sometimes uses the wrong Python interpreter, leading to **module not found** errors. You can open the `api` folder in its own VS Code window, but using + the pre-configured Workspace is recommended. + +While working on the Python backend, ensure that your terminal is activated in the correct folder. From the root, run the following command to change to the `api` directory: + +```bash +cd apps/api +``` + + + + Create a virtual environment in the `api` directory: + + + ```bash Poetry + poetry install + ``` + + ```bash Pip + python -m venv .venv + ``` + + + + If you're using Poetry, you could receive an error noting incorrect format of the `poetry.lock` file. This is a version mismatch between the version installed and the version used to generate the lock file. You can fix this by deleting the `poetry.lock` file + and running `poetry install` again. + + + + + + Run the following command to install the Python dependencies: + + ```bash + pip install -r requirements.txt + ``` + + + + Create a `.env` file in the `api` directory and add the following environment variables: + + ```env + DB_URL=supabase_url + DB_API_KEY=supabase_api_key + DB_EMAIl=email_address + DB_PASSWORD=password + ``` + + These can be placeholder values for now, but you'll need to replace them with your actual Supabase credentials (covered in step 3). + + + + + +### Step 3: Creating tables in Supabase +Next-Fast-Turbo uses [Supabase](https://supabase.com/) as the database for the backend. You'll need to create a new project in Supabase and then create the required tables. To get this example running, you need to only create two tables in Supabase. + + + + Visit [Supabase](https://supabase.com/) and register an account. Once you're logged in, create a new project and give it a name. + + + + + + + While your project is building, copy the `Project API Key` and `URL` values and add these to the `.env` file in the `api` directory, as described in step 3 of the [Python setup](#step-2-python-setup). + + + + + + + The tables are seeded with the two `.csv` files located in the `api` root, but the tables must be created before seeding. + + From the dashboard, visit the `Table Editor` and click the `New table` button. + + + + + Create the `users` and `spells` tables with columns that match their respective CSV columns. Below is how they are both configured: + + + + + + + + + + + + + + + RLS is set to disabled on these tables. Authentication with Supabase was not in the scope for this project, but you will want to configure this yourself for anything more than this simple example. + You can read more about [RLS](https://supabase.com/docs/guides/auth/row-level-security) in the Supabase documentation. + + + + + Once the tables are created, you can seed them with the data from the `.csv` files. From the `Table Editor`, click the `Insert` button and select the relevant `.csv` file to upload. + + + + + + + +### Step 4: Configure Turbo remote caching (optional) +Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines. + +By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. + + + + From the project root, run the command: + ```bash + npx turbo login + ``` + This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview). + + + Link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo: + ```bash + npx turbo link + ``` + + + +### Step 5: Running everything +To make the most of Turbo's monorepo structure, you can run the frontend, backend and documentation site simultaneously. From the root, run the following command: + +```bash root +pnpm run dev +``` +You can still run each separately by running the task directly from the relevant `package.json` or by running the `pnpm run dev` command from a terminal activated in the desired target location + + +## Working with a monorepo in VS Code + +For a better development experience, you can use VS Code Workspaces for the monorepo. This will allow you to run tasks and debug the codebase from a single window, while keeping things more organised. + +Furthermore, VS Code doesn't handle Python virtual environments particularly well when working within a monorepo. Running the `dev` command from the project root can make VS Code use your global Python installation, +instead of the `.venv` created in the `api` root. By using a Workspace, this alleviates the problem. + +For a more detailed guide on setting up a monorepo in VS Code, check out the [official Multi-root Workspaces](https://code.visualstudio.com/docs/editor/multi-root-workspaces) documentation + +### Step 1: Open the monorepo +In the `/.vscode/` directory, you'll find a `next-fast-turbo.code-workspace` file. Open this file in VS Code to open the monorepo Workspace. + + + + + + + + + + + + + + + +### Step 2: Running tasks +VS Code will try to autodetect tasks from gulp, grunt, npm, and TypeScript project files across all folders in a workspace as well as search for tasks defined in tasks.json files. The location of tasks is indicated by a folder name suffix + + + + + +From the above example, you can see there are several configured tasks with the relevant folder name after the task name. + +### Step 3: Debugging +With multi-root workspaces, VS Code searches across all folders for `launch.json` debug configuration files and displays them with the folder name as a suffix. +Additionally VS Code will also display launch configurations defined in the workspace configuration file. + + + + + +You can still create [launch configurations](https://code.visualstudio.com/docs/editor/debugging#_launch-configurations) for each individual package in the monorepo and they will populate in the dropdown list automatically. + +#### Workspace launch configurations +If you want to create a Workspace level configuration with [compound launch](https://code.visualstudio.com/docs/editor/debugging#_compound-launch-configurations), you can edit the `next-fast-turbo.code-workspace` file and add the configurations you wish to launch. + +You can also edit the Workspace configuration file via the Command Palette\ +(Windows: Ctrl + Shift + P) and searching for `open workspace config` + +A compound launch configuration can reference the individual launch configurations by name as long as the names are unique within the workspace, for example: + +```json +{ + "launch": { + "version": "0.2.0", + "configurations": [], + "compounds": [ + { + "name": "Launch Frontend and Backend", + "configurations": ["Next.js: Chrome", "Python: FastAPI"] + } + ] + } +} +``` + +For a more detailed explanation, check out the [official documentation](https://code.visualstudio.com/docs/editor/multi-root-workspaces#_workspace-launch-configurations) + +### Optional: Extensions + + + Helps VS Code identify the correct Python virtual environment when installed in the working directory. This is especially useful when working with Python in a monorepo, as it can be difficult for VS Code to manage multiple virtual environments. + + [Python Envy](https://marketplace.visualstudio.com/items?itemName=teticio.python-envy) + + + + + + Terminal management in a monorepo can become cumbersome. This extension automatically creates a terminal in each of your monorepo's directories and names them accordingly. This will allow you to run commands and tasks from a terminal that's already set up in the correct directory. + + [Workspace Terminals](https://marketplace.visualstudio.com/items?itemName=joshx.workspace-terminals) + + + + +## Next Steps + + + + Configuring Turbo for your monorepo + + + Configuring FastAPI + + + Configuring Next.js + + + Configuring Mintlify for documentation + + + diff --git a/apps/docs/logos/favicon-placeholder.png b/apps/docs/logos/favicon-placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..a64d760e01313b98322638506946011757f3dc95 GIT binary patch literal 755 zcmVZ z9dI4cK`4O~uyW+YzB4SW{{}BN(nt$h;C*;Jz>Jv?0#ueUmIEl2=jyZ-fC<2$wnzE< zD#So_-Drr6F)6rKV!wGF{sN$reidR079k-*oC7rn1`Y@!Z#hteXz@OP11AoQgyNU( z4dWv|=Rmikc+)2ioJk=#P^uHB05DzNv^*L@#eQn>rVlodqXTHa3u2qVM*y&btUf1H z?(YG73eMg8*y~k@YI$b9ajEuz0MdSBj5RlVSHh?{SQxE&u^CPoV+DZUiSKTR&BAIK zPPapKOp{^tJ~xaoDnf_%xow5Er>e64zwi5h|DL8vd@sw;km_$zEC(*J0KyZ30Hjz# zc)wOG0fu1^pYz;$oD?m^6M$UaAUIH^0w4w%O$e{F8Vf)SQfP=iH2@(Al0+8NmQtu5A31Wx%S=UJb?tw%@ymZ|R!sTHW>%W?2cFkxADcZEiC#==iM&1RY z^gZ!jAc3LVJ7=f8K_cc}ry-n*VS9l@CXcu0gmY1h8iXMGoixNb=E9*MMCm&>D|}G` zd_jl+hUNE!caeAvVMijD%Z31EdVKpq)dcLAIrj5*?5n<8|lHn0=K;?*QYc**`;>8i^MLcF&C z+MUFEHQ|FHR$wSbW>oEFYvX;*NtOy_jGZ9Au>P;K`QmuktLo6o6*f`JhDg^tX){_; l=DH^-RKC_slxv*;;4h@J6u{M9*WUmD002ovPDHLkV1nM!MUemi literal 0 HcmV?d00001 diff --git a/apps/docs/logos/logo-light.svg b/apps/docs/logos/logo-light.svg new file mode 100644 index 0000000..34b9008 --- /dev/null +++ b/apps/docs/logos/logo-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/docs/logos/logo.svg b/apps/docs/logos/logo.svg new file mode 100644 index 0000000..ace6683 --- /dev/null +++ b/apps/docs/logos/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/docs/mint.json b/apps/docs/mint.json new file mode 100644 index 0000000..24a7214 --- /dev/null +++ b/apps/docs/mint.json @@ -0,0 +1,96 @@ +{ + "$schema": "https://mintlify.com/schema.json", + "name": "Next-Fast-Turbo Docs", + "favicon": "/logos/logo.svg", + "logo": { + "light": "/logos/logo.svg", + "dark": "/logos/logo-light.svg" + }, + "colors": { + "primary": "#7c3aed", + "light": "#af87ff", + "dark": "#1e293b", + "background": { + "dark": "#030712", + "light": "#ffffff" + } + }, + "modeToggle": { + "default": "dark" + }, + "topbarCtaButton": { + "name": "Dashboard", + "url": "https://next-fast-turbo-web.vercel.app/" + }, + "tabs": [ + { + "name": "API Reference", + "url": "api" + } + ], + "anchors": [ + { + "name": "Documentation", + "icon": "book-open-cover", + "url": "documentation" + }, + { + "name": "API Reference", + "icon": "rectangle-terminal", + "url": "api" + } + ], + "navigation": [ + { + "group": "Getting Started", + "pages": [ + "documentation/introduction", + "documentation/local-development" + ] + }, + { + "group": "Configuration", + "pages": [ + "documentation/configuration/turbo", + "documentation/configuration/fastapi", + "documentation/configuration/nextjs", + "documentation/configuration/docs" + ] + }, + { + "group": "Deployment", + "pages": [ + "documentation/deployment/deployment" + ] + }, + { + "group": "Users", + "pages": [ + "api/users/get-user", + "api/users/get-all-users", + "api/users/search-users", + "api/users/create-user" + ] + }, + { + "group": "Spells", + "pages": [ + "api/spells/get-spell", + "api/spells/get-all-spells", + "api/spells/search-spells" + ] + } + ], + "api": { + "maintainOrder": true, + "baseUrl": "https://next-fast-turbo-api.vercel.app" + }, + "openapi": "https://next-fast-turbo-api.vercel.app/openapi.json", + "feedback": { + "thumbsRating": true + }, + "footerSocials": { + "github": "https://github.com/cording12/next-fast-turbo", + "linkedin": "https://www.linkedin.com/in/jon-cording/" + } +} \ No newline at end of file diff --git a/apps/docs/openapi.json b/apps/docs/openapi.json new file mode 100644 index 0000000..c3cb3bf --- /dev/null +++ b/apps/docs/openapi.json @@ -0,0 +1,545 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "FastAPI App", + "description": "A simple FastAPI app", + "version": "0.1.0" + }, + "servers": [ + { + "url": "https://next-fast-turbo-api.vercel.app" + } + ], + "paths": { + "/api/v1/users/get/": { + "get": { + "tags": [ + "users" + ], + "summary": "Get User", + "description": "Returns a user from a user_id.\n\n**Returns:**\n- User: User object.", + "operationId": "users-get_user", + "parameters": [ + { + "name": "user_id", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "404": { + "description": "Not found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/api/v1/users/get-all/": { + "get": { + "tags": [ + "users" + ], + "summary": "Get All Users", + "description": "Returns a list of all users.\n\n**Returns:**\n- list[User]: List of all users.", + "operationId": "users-get_all_users", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/User" + }, + "type": "array", + "title": "Response Users-Get All Users" + } + } + } + }, + "404": { + "description": "Not found" + } + } + } + }, + "/api/v1/users/search/": { + "get": { + "tags": [ + "users" + ], + "summary": "Search Users", + "description": "Search for users based on a keyword and return the top `max_results` items.\n\n**Args:**\n- keyword (str, optional): The keyword to search for. Defaults to None.\n- max_results (int, optional): The maximum number of search results to return. Defaults to 10.\n- search_on (str, optional): The field to perform the search on. Defaults to \"email\".\n\n**Returns:**\n- UserSearchResults: Object containing a list of the top `max_results` items that match the keyword.", + "operationId": "users-search_users", + "parameters": [ + { + "name": "search_on", + "in": "query", + "required": false, + "schema": { + "enum": [ + "id", + "email", + "forename", + "surname" + ], + "type": "string", + "default": "email", + "title": "Search On" + } + }, + { + "name": "keyword", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Keyword" + } + }, + { + "name": "max_results", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": 10, + "title": "Max Results" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSearchResults" + } + } + } + }, + "404": { + "description": "Not found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/api/v1/users/create": { + "post": { + "tags": [ + "users" + ], + "summary": "Create User", + "description": "Craete a new user.\n\n**Args:**\n- user_in (UserCreate): JSON of the user to create. Forename, surname and email. Email must be unique.\n\n**Returns:**\n- User: User object", + "operationId": "users-create_user", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "404": { + "description": "Not found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/api/v1/spells/get/": { + "get": { + "tags": [ + "spells" + ], + "summary": "Get Spell", + "description": "Returns a spell from a spell_id.\n\n**Returns:**\n- spell: spell object.", + "operationId": "spells-get_spell", + "parameters": [ + { + "name": "spell_id", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Spell Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Spell" + } + } + } + }, + "404": { + "description": "Not found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/api/v1/spells/get-all/": { + "get": { + "tags": [ + "spells" + ], + "summary": "Get All Spells", + "description": "Returns a list of all spells.\n\n**Returns:**\n- list[spell]: List of all spells.", + "operationId": "spells-get_all_spells", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Spell" + }, + "type": "array", + "title": "Response Spells-Get All Spells" + } + } + } + }, + "404": { + "description": "Not found" + } + } + } + }, + "/api/v1/spells/search/": { + "get": { + "tags": [ + "spells" + ], + "summary": "Search Spells", + "description": "Search for spells based on a keyword and return the top `max_results` items.\n\n**Args:**\n- keyword (str, optional): The keyword to search for. Defaults to None.\n- max_results (int, optional): The maximum number of search results to return. Defaults to 10.\n- search_on (str, optional): The field to perform the search on. Defaults to \"email\".\n\n**Returns:**\n- spellSearchResults: Object containing a list of the top `max_results` items that match the keyword.", + "operationId": "spells-search_spells", + "parameters": [ + { + "name": "search_on", + "in": "query", + "required": false, + "schema": { + "enum": [ + "id", + "spells", + "description" + ], + "type": "string", + "default": "spells", + "title": "Search On" + } + }, + { + "name": "keyword", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Keyword" + } + }, + { + "name": "max_results", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": 10, + "title": "Max Results" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpellSearchResults" + } + } + } + }, + "404": { + "description": "Not found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } + }, + "type": "object", + "title": "HTTPValidationError" + }, + "Spell": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "description": { + "type": "string", + "title": "Description" + } + }, + "type": "object", + "required": [ + "id", + "name", + "description" + ], + "title": "Spell" + }, + "SpellSearchResults": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/Spell" + }, + "type": "array", + "title": "Results" + } + }, + "type": "object", + "required": [ + "results" + ], + "title": "SpellSearchResults" + }, + "User": { + "properties": { + "id": { + "type": "string", + "title": "Id" + }, + "forename": { + "type": "string", + "title": "Forename" + }, + "surname": { + "type": "string", + "title": "Surname" + }, + "email": { + "type": "string", + "format": "email", + "title": "Email" + } + }, + "type": "object", + "required": [ + "id", + "forename", + "surname", + "email" + ], + "title": "User" + }, + "UserCreate": { + "properties": { + "forename": { + "type": "string", + "title": "Forename" + }, + "surname": { + "type": "string", + "title": "Surname" + }, + "email": { + "type": "string", + "format": "email", + "title": "Email" + } + }, + "type": "object", + "required": [ + "forename", + "surname", + "email" + ], + "title": "UserCreate" + }, + "UserSearchResults": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/User" + }, + "type": "array", + "title": "Results" + } + }, + "type": "object", + "required": [ + "results" + ], + "title": "UserSearchResults" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "type": "array", + "title": "Location" + }, + "msg": { + "type": "string", + "title": "Message" + }, + "type": { + "type": "string", + "title": "Error Type" + } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError" + } + } + } +} \ No newline at end of file diff --git a/apps/docs/package.json b/apps/docs/package.json new file mode 100644 index 0000000..759a3fd --- /dev/null +++ b/apps/docs/package.json @@ -0,0 +1,13 @@ +{ + "name": "docs", + "version": "0.1.0", + "scripts": { + "dev": "mintlify dev --port 3001", + "generate-api": "npx @mintlify/scraping@latest openapi-file https://next-fast-turbo-api.vercel.app/openapi.json --outDir ./api/", + "generate-api:dev": "npx @mintlify/scraping@latest openapi-file https://127.0.0.1:8000/openapi.json --outDir ./api/" + }, + "dependencies": { + "@mintlify/scraping": "^3.0.88", + "mintlify": "^4.0.127" + } +} \ No newline at end of file diff --git a/apps/web/.eslintrc.js b/apps/web/.eslintrc.js new file mode 100644 index 0000000..7d644a4 --- /dev/null +++ b/apps/web/.eslintrc.js @@ -0,0 +1,9 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + extends: ["@repo/eslint-config/next.js"], + parser: "@typescript-eslint/parser", + parserOptions: { + project: true, + }, +}; diff --git a/apps/web/.vscode/launch.json b/apps/web/.vscode/launch.json new file mode 100644 index 0000000..3804a07 --- /dev/null +++ b/apps/web/.vscode/launch.json @@ -0,0 +1,17 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Next.js: Chrome", + "type": "node-terminal", + "request": "launch", + "command": "pnpm run dev", + "serverReadyAction": { + "pattern": "- Local:.+(https?://.+)", + "uriFormat": "%s", + "action": "debugWithChrome", + "webRoot": "${workspaceFolder}" + } + } + ] +} diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css new file mode 100644 index 0000000..6c05562 --- /dev/null +++ b/apps/web/app/globals.css @@ -0,0 +1,13 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; +@import "../components/theme/theme.css"; + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} \ No newline at end of file diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx new file mode 100644 index 0000000..8ffd0bd --- /dev/null +++ b/apps/web/app/layout.tsx @@ -0,0 +1,49 @@ +import "./globals.css"; +import type { Metadata } from "next"; +import { Inter as FontSans } from "next/font/google"; +import { DashboardLayout } from "@/components/layouts/dashboard"; +import { cn } from "@/lib/utils"; +import { ThemeProvider } from "@/components/theme/theme-provider"; +import { OpenAPI } from "@/lib/api/client"; +import { TailwindIndicator } from "@/components/tailwind-indicator"; + +export const fontSans = FontSans({ + subsets: ["latin"], + variable: "--font-sans", +}); + +if (process.env.NODE_ENV === "production") { + OpenAPI.BASE = "https://next-fast-turbo.vercel.app"; +} + +console.log("Using OpenAPI.base", OpenAPI.BASE); + +export const metadata: Metadata = { + title: "Next-Fast-Turbo", + description: "A Next.js, FastAPI and Turbo project scaffol", + icons: { + icon: ["/favicon.png"], + }, +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}): JSX.Element { + return ( + + + + {children} + + + + + ); +} diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx new file mode 100644 index 0000000..6e09c03 --- /dev/null +++ b/apps/web/app/page.tsx @@ -0,0 +1,11 @@ +import { CardsStats } from "./placeholder-stats"; +import SearchUsers from "@/components/search-users"; + +export default async function Page() { + return ( +
+ + +
+ ); +} diff --git a/apps/web/app/placeholder-stats.tsx b/apps/web/app/placeholder-stats.tsx new file mode 100644 index 0000000..ada9498 --- /dev/null +++ b/apps/web/app/placeholder-stats.tsx @@ -0,0 +1,17 @@ +// Example cards from ShadCN: https://github.com/shadcn-ui/ui/tree/0fae3fd93ae749aca708bdfbbbeddc5d576bfb2e/apps/www/registry/default/example/cards +import { FlexWrapper } from "@/components/flex-wrapper"; +import { DemoRevenue } from "@/components/demo-revenue"; +import { DemoSubscriptions } from "@/components/demo-subscriptions"; +import { DemoExercise } from "@/components/demo-exercise"; +import { DemoGoal } from "@/components/demo-goal"; + +export function CardsStats() { + return ( + + + + + + + ); +} diff --git a/apps/web/app/settings/page.tsx b/apps/web/app/settings/page.tsx new file mode 100644 index 0000000..f6ffccf --- /dev/null +++ b/apps/web/app/settings/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
Settings page
; +} diff --git a/apps/web/components.json b/apps/web/components.json new file mode 100644 index 0000000..811d2db --- /dev/null +++ b/apps/web/components.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "tailwind.config.js", + "css": "app/globals.css", + "baseColor": "slate", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils" + } +} \ No newline at end of file diff --git a/apps/web/components/demo-exercise.tsx b/apps/web/components/demo-exercise.tsx new file mode 100644 index 0000000..afa465a --- /dev/null +++ b/apps/web/components/demo-exercise.tsx @@ -0,0 +1,126 @@ +"use client"; +// Example data from ShadCN: https://github.com/shadcn-ui/ui/blob/0fae3fd93ae749aca708bdfbbbeddc5d576bfb2e/apps/www/registry/default/example/cards/stats.tsx#L61 + +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { Line, LineChart, ResponsiveContainer, Tooltip } from "recharts"; +import { twColourConfig } from "@/lib/twConfig"; + +const timeSeriesData = [ + { + average: 400, + today: 240, + }, + { + average: 300, + today: 139, + }, + { + average: 200, + today: 980, + }, + { + average: 278, + today: 390, + }, + { + average: 189, + today: 480, + }, + { + average: 239, + today: 380, + }, + { + average: 349, + today: 430, + }, +]; + +export function DemoExercise() { + return ( + + + Exercise Minutes + + Your exercise minutes are ahead of where you normally are. + + + + {/*
*/} +
+ + + { + if (active && payload && payload.length) { + return ( +
+
+
+ + Average + + + {payload[0].value} + +
+
+ + Today + + + {payload[1].value} + +
+
+
+ ); + } + return null; + }} + /> + + +
+
+
+ + + ); +} diff --git a/apps/web/components/demo-goal.tsx b/apps/web/components/demo-goal.tsx new file mode 100644 index 0000000..01fc427 --- /dev/null +++ b/apps/web/components/demo-goal.tsx @@ -0,0 +1,120 @@ +"use client"; +// https://github.com/shadcn-ui/ui/blob/0fae3fd93ae749aca708bdfbbbeddc5d576bfb2e/apps/www/registry/default/example/cards/activity-goal.tsx +import * as React from "react"; +import { Minus, Plus } from "lucide-react"; +import { Bar, BarChart, ResponsiveContainer } from "recharts"; +import { Button } from "@/components/ui/button"; +import { + Card, + CardContent, + CardDescription, + CardFooter, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { twColourConfig } from "@/lib/twConfig"; + +const data = [ + { + goal: 400, + }, + { + goal: 300, + }, + { + goal: 200, + }, + { + goal: 300, + }, + { + goal: 200, + }, + { + goal: 278, + }, + { + goal: 189, + }, + { + goal: 239, + }, + { + goal: 300, + }, + { + goal: 200, + }, + { + goal: 278, + }, + { + goal: 189, + }, + { + goal: 349, + }, +]; + +export function DemoGoal() { + const [goal, setGoal] = React.useState(350); + + function onClick(adjustment: number) { + setGoal(Math.max(200, Math.min(400, goal + adjustment))); + } + + return ( + + + Move Goal + Set your daily activity goal. + + +
+ +
+
{goal}
+
+ Calories/day +
+
+ +
+
+ + + + + +
+
+ + + +
+ ); +} diff --git a/apps/web/components/demo-revenue.tsx b/apps/web/components/demo-revenue.tsx new file mode 100644 index 0000000..1622b30 --- /dev/null +++ b/apps/web/components/demo-revenue.tsx @@ -0,0 +1,82 @@ +"use client"; +// Example data from ShadCN: https://github.com/shadcn-ui/ui/blob/0fae3fd93ae749aca708bdfbbbeddc5d576bfb2e/apps/www/registry/default/example/cards/stats.tsx#L61 + +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { Line, LineChart, ResponsiveContainer } from "recharts"; +import { twColourConfig } from "@/lib/twConfig"; + +const data = [ + { + revenue: 10400, + subscription: 240, + }, + { + revenue: 14405, + subscription: 300, + }, + { + revenue: 9400, + subscription: 200, + }, + { + revenue: 8200, + subscription: 278, + }, + { + revenue: 7000, + subscription: 189, + }, + { + revenue: 9600, + subscription: 239, + }, + { + revenue: 11244, + subscription: 278, + }, + { + revenue: 26475, + subscription: 189, + }, +]; + +export function DemoRevenue() { + return ( + + + Total Revenue + + +
$15,231.89
+

+20.1% from last month

+
+ + + + + +
+
+
+ ); +} diff --git a/apps/web/components/demo-subscriptions.tsx b/apps/web/components/demo-subscriptions.tsx new file mode 100644 index 0000000..9e4d923 --- /dev/null +++ b/apps/web/components/demo-subscriptions.tsx @@ -0,0 +1,65 @@ +"use client"; +// Example data from ShadCN: https://github.com/shadcn-ui/ui/blob/0fae3fd93ae749aca708bdfbbbeddc5d576bfb2e/apps/www/registry/default/example/cards/stats.tsx#L61 + +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { Bar, BarChart, ResponsiveContainer } from "recharts"; +import { twColourConfig } from "@/lib/twConfig"; + +const data = [ + { + revenue: 10400, + subscription: 240, + }, + { + revenue: 14405, + subscription: 300, + }, + { + revenue: 9400, + subscription: 200, + }, + { + revenue: 8200, + subscription: 278, + }, + { + revenue: 7000, + subscription: 189, + }, + { + revenue: 9600, + subscription: 239, + }, + { + revenue: 11244, + subscription: 278, + }, + { + revenue: 26475, + subscription: 189, + }, +]; + +export function DemoSubscriptions() { + return ( + + + Subscriptions + + +
+2350
+

+180.1% from last month

+
+ + + + + +
+
+
+ ); +} diff --git a/apps/web/components/flex-wrapper.tsx b/apps/web/components/flex-wrapper.tsx new file mode 100644 index 0000000..7157fbc --- /dev/null +++ b/apps/web/components/flex-wrapper.tsx @@ -0,0 +1,74 @@ +import { cn } from "@/lib/utils"; +import { cva, type VariantProps } from "class-variance-authority"; +import { ReactNode, Children } from "react"; + +const flexVariants = cva("", { + variants: { + columns: { + default: "", + "1": "flex-1 basis-full", + "2": "flex-1 basis-full sm:basis-[48%]", + "3": "flex-1 basis-full sm:basis-[48%] md:basis-[32%]", + "4": "flex-1 basis-full sm:basis-[48%] md:basis-[32%] lg:basis-[24%]", + "5": "flex-1 basis-full sm:basis-[48%] md:basis-[32%] lg:basis-[19%]", + "6": "flex-1 basis-full sm:basis-[48%] md:basis-[32%] lg:basis-[19%] xl:basis-[12%]", + }, + horizontal_position: { + start: "justify-start", + center: "justify-center text-center", + end: "justify-end", + none: null, + }, + vertical_position: { + start: "items-start", + center: "items-center text-center", + end: "items-end", + none: null, + }, + borders: { + default: "border rounded-md p-5", + none: null, + }, + }, + defaultVariants: { + columns: "default", + horizontal_position: "none", + vertical_position: "none", + borders: "none", + }, +}); + +export type FlexWrapperProps = VariantProps & { + children: ReactNode; + className?: string; +}; + +export function FlexWrapper({ + children, + className, + columns, + horizontal_position, + vertical_position, +}: FlexWrapperProps) { + return ( +
+ {Children.map(children, (child, index) => ( +
+ {/*
*/} + {child} +
+ ))} +
+ ); +} diff --git a/apps/web/components/grid-wrapper.tsx b/apps/web/components/grid-wrapper.tsx new file mode 100644 index 0000000..578bc62 --- /dev/null +++ b/apps/web/components/grid-wrapper.tsx @@ -0,0 +1,70 @@ +import { cn } from "@/lib/utils"; +import { cva, type VariantProps } from "class-variance-authority"; +import { ReactNode, Children } from "react"; + +const gridVariants = cva("w-full grid gap-4 justify-between", { + variants: { + columns: { + default: + "grid-cols-1 sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5 2xl:grid-cols-6", + "1": "grid-cols-1", + "2": "grid-cols-1 sm:grid-cols-2", + "3": "grid-cols-1 sm:grid-cols-2 md:grid-cols-3", + "4": "grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4", + "5": "grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5", + "6": "grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6", + }, + horizontal_position: { + start: "justify-start", + center: "justify-center text-center", + end: "justify-end", + }, + vertical_position: { + start: "items-start", + center: "items-center text-center", + end: "items-end", + }, + borders: { + default: "border rounded-md p-5", + none: null, + }, + }, + defaultVariants: { + columns: "default", + horizontal_position: "center", + vertical_position: "center", + borders: "none", + }, +}); + +export type GridWrapperProps = VariantProps & { + children: ReactNode; + className?: string; +}; + +export function GridWrapper({ + children, + className, + columns, + horizontal_position, + vertical_position, +}: GridWrapperProps) { + const isCentered = + horizontal_position === "center" && vertical_position === "center"; + + return ( +
+ {Children.map(children, (child, index) => ( +
+ {child} +
+ ))} +
+ ); +} diff --git a/apps/web/components/icons.tsx b/apps/web/components/icons.tsx new file mode 100644 index 0000000..f7b4ad2 --- /dev/null +++ b/apps/web/components/icons.tsx @@ -0,0 +1,118 @@ +// https://lucide.dev/icons/ +// Country icons: https://www.svgrepo.com/collection/countrys-flags/ +// LinkedIn/Facebook/Twitter: https://icons8.com/icons/ + +import { + Activity, + ArrowRight, + BadgePercent, + BarChart, + Bell, + Building2, + ChevronDown, + ChevronsUpDown, + ClipboardList, + Copy, + File, + Gauge, + Globe, + Home, + LayoutTemplate, + Link, + LucideProps, + Menu, + Moon, + PanelLeftClose, + PanelLeftOpen, + Plus, + PoundSterling, + Settings, + SlidersHorizontal, + SunMedium, + User2, + Users, + Workflow, + X, +} from "lucide-react"; + +export const Icons = { + activity: Activity, + analytics: BarChart, + arrowRight: ArrowRight, + badgePercent: BadgePercent, + building: Building2, + chevronDown: ChevronDown, + chevronUpDown: ChevronsUpDown, + collaboration: Users, + copy: Copy, + file: File, + globe: Globe, + home: Home, + link: Link, + menu: Menu, + menuClose: X, + moon: Moon, + notification: Bell, + panelLeftClose: PanelLeftClose, + panelLeftOpen: PanelLeftOpen, + performance: Gauge, + plus: Plus, + poundSterling: PoundSterling, + rules: ClipboardList, + settings: Settings, + slider: SlidersHorizontal, + sun: SunMedium, + template: LayoutTemplate, + user2: User2, + workflow: Workflow, + github: (props: LucideProps) => ( + + + + ), + linkedin: (props: LucideProps) => ( + + + + ), + doubleChevron: (props: LucideProps) => ( + + + + + ), + logo: (props: LucideProps) => ( + + + + + + + + + ), +}; diff --git a/apps/web/components/layouts/dashboard/DashboardLayout.module.css b/apps/web/components/layouts/dashboard/DashboardLayout.module.css new file mode 100644 index 0000000..45032ed --- /dev/null +++ b/apps/web/components/layouts/dashboard/DashboardLayout.module.css @@ -0,0 +1,42 @@ +.dashboardWrapper { + grid-template-columns: min-content auto; + grid-template-areas: "sidebar main"; + --header-height: 5rem; + --footer-height: 2rem; + --small-spacing: 1rem; /* tw class: gap-4, m-4 etc. */ + --large-spacing: 2rem; /* tw class: gap-8, m-8 etc. */ + --header-size: calc(var(--header-height) + var(--small-spacing)); + --footer-size: calc(var(--footer-height) + var(--small-spacing)); +} + +.dashboardSidebar { + grid-area: sidebar; +} + +.dashboardMain { + @apply gap-[var(--large-spacing)]; + grid-area: main; + grid-template-rows: var(--header-height) calc( + 100vh - (var(--header-height) + var(--footer-height)) + ); + grid-template-areas: "header" "content"; +} + +.dashboardHeader { + grid-area: header; +} + +.dashboardContent { + grid-area: content; +} + +.dashboardContentWrapper { + @apply gap-[var(--small-spacing)]; + min-height: calc( + 100vh - + ( + var(--header-size) + var(--footer-size) + var(--small-spacing) + + var(--small-spacing) + ) + ); +} diff --git a/apps/web/components/layouts/dashboard/DashboardLayout.tsx b/apps/web/components/layouts/dashboard/DashboardLayout.tsx new file mode 100644 index 0000000..7a579db --- /dev/null +++ b/apps/web/components/layouts/dashboard/DashboardLayout.tsx @@ -0,0 +1,35 @@ +import styles from "./DashboardLayout.module.css"; +import { Footer, Header, Sidebar } from "./layout-components"; + +type DashboardLayoutProps = { + children: React.ReactNode; +}; + +export default function DashboardLayout({ children }: DashboardLayoutProps) { + return ( +
+
+ +
+
+
+
+
+
+
+ {children} +
+
+
+
+
+
+
+ ); +} diff --git a/apps/web/components/layouts/dashboard/index.ts b/apps/web/components/layouts/dashboard/index.ts new file mode 100644 index 0000000..d83db63 --- /dev/null +++ b/apps/web/components/layouts/dashboard/index.ts @@ -0,0 +1 @@ +export { default as DashboardLayout } from "../dashboard/DashboardLayout"; diff --git a/apps/web/components/layouts/dashboard/layout-components/Footer/Footer.module.css b/apps/web/components/layouts/dashboard/layout-components/Footer/Footer.module.css new file mode 100644 index 0000000..b856cbd --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Footer/Footer.module.css @@ -0,0 +1,4 @@ +/* Vars here are coming from /DashboardLayout.module.css */ +.dashboardFooter { + @apply mt-[var(--small-spacing)] min-h-[var(--footer-height)]; +} diff --git a/apps/web/components/layouts/dashboard/layout-components/Footer/Footer.tsx b/apps/web/components/layouts/dashboard/layout-components/Footer/Footer.tsx new file mode 100644 index 0000000..ae38321 --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Footer/Footer.tsx @@ -0,0 +1,17 @@ +import styles from "./Footer.module.css"; + +const Footer = () => { + return ( +
+
+
+
+ Copyright© Next-Fast-Turbo. All rights reserved. +
+
+
+
+ ); +}; + +export default Footer; diff --git a/apps/web/components/layouts/dashboard/layout-components/Footer/index.ts b/apps/web/components/layouts/dashboard/layout-components/Footer/index.ts new file mode 100644 index 0000000..3738288 --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Footer/index.ts @@ -0,0 +1 @@ +export { default } from "./Footer"; diff --git a/apps/web/components/layouts/dashboard/layout-components/Header/Header.tsx b/apps/web/components/layouts/dashboard/layout-components/Header/Header.tsx new file mode 100644 index 0000000..c953d53 --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Header/Header.tsx @@ -0,0 +1,33 @@ +"use client"; + +import { usePathname } from "next/navigation"; +import { navConfig } from "@/lib/config"; +import { ModeToggle } from "@/components/theme/mode-toggle"; +import { SidebarMobile } from "../../layout-components"; + +const Header = () => { + const pathName = usePathname(); + const pageTitle = navConfig.navLinks.find((elem) => { + if (elem.href === pathName) { + return elem.pageTitle; + } + }); + + return ( +
+
+ {pageTitle?.pageTitle} +
+
+
+ +
+
+ +
+
+
+ ); +}; + +export default Header; diff --git a/apps/web/components/layouts/dashboard/layout-components/Header/index.ts b/apps/web/components/layouts/dashboard/layout-components/Header/index.ts new file mode 100644 index 0000000..2764567 --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Header/index.ts @@ -0,0 +1 @@ +export { default } from "./Header"; diff --git a/apps/web/components/layouts/dashboard/layout-components/Sidebar/NavLink.tsx b/apps/web/components/layouts/dashboard/layout-components/Sidebar/NavLink.tsx new file mode 100644 index 0000000..4c09425 --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Sidebar/NavLink.tsx @@ -0,0 +1,82 @@ +"use client"; + +import Link from "next/link"; +import { AnimatePresence, motion } from "framer-motion"; + +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@/components/ui/tooltip"; + +export default function LinkComponent(...props: any) { + const activeLink = props[0].activeLink; + const collapsed = props[0].collapsed; + const animationDuration = props[0].animationDuration; + + return ( + + {collapsed ? ( + + + +
+
+ {props[0].icon} +
+ + + {props[0].label} + + +
+
+ +

{props[0].label}

+
+
+
+ ) : ( +
+
{props[0].icon}
+ + + {props[0].label} + + +
+ )} + + ); +} diff --git a/apps/web/components/layouts/dashboard/layout-components/Sidebar/NavLinks.tsx b/apps/web/components/layouts/dashboard/layout-components/Sidebar/NavLinks.tsx new file mode 100644 index 0000000..6cd08ca --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Sidebar/NavLinks.tsx @@ -0,0 +1,67 @@ +import { FC } from "react"; +import { usePathname } from "next/navigation"; +import LinkComponent from "./NavLink"; +import { navConfig } from "@/lib/config/"; + +type NavLinksProps = { + collapsed: boolean; + animationDuration: number; +}; + +const NavLinks: FC = ({ collapsed, animationDuration }) => { + const pathName = usePathname(); + + return ( +
+ + + +
+ ); +}; + +export default NavLinks; diff --git a/apps/web/components/layouts/dashboard/layout-components/Sidebar/Sidebar.tsx b/apps/web/components/layouts/dashboard/layout-components/Sidebar/Sidebar.tsx new file mode 100644 index 0000000..d1e55d0 --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Sidebar/Sidebar.tsx @@ -0,0 +1,84 @@ +"use client"; +import { useEffect } from "react"; +import { useState } from "react"; +import Link from "next/link"; +import { Icons } from "@/components/icons"; +import { motion } from "framer-motion"; +import NavLinks from "./NavLinks"; + +const Sidebar = () => { + const [collapsed, setCollapsed] = useState(false); + const animationDuration = 0.4; + const sideBarWidth = "250px"; + + // Load collapsed state from localStorage on component mount + useEffect(() => { + const collapsedState = localStorage.getItem("sidebarCollapsed"); + if (collapsedState !== null) { + setCollapsed(collapsedState === "true" ? true : false); + } + }, []); + + const handleClose = () => { + localStorage.setItem("sidebarCollapsed", (!collapsed).toString()); + setCollapsed(!collapsed); + }; + + return ( + +
+ + +
+ + + + Next-Fast-Turbo +
+
+ + + {collapsed ? ( + + ) : ( + + )} +
+
+ +
+
+ ); +}; + +export default Sidebar; diff --git a/apps/web/components/layouts/dashboard/layout-components/Sidebar/SidebarMobile.tsx b/apps/web/components/layouts/dashboard/layout-components/Sidebar/SidebarMobile.tsx new file mode 100644 index 0000000..b0b0edb --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Sidebar/SidebarMobile.tsx @@ -0,0 +1,58 @@ +"use client"; +import { useRef } from "react"; +import { useState } from "react"; +import { Squash as Hamburger } from "hamburger-react"; +import { useClickAway } from "react-use"; +import { navConfig } from "@/lib/config/"; + +import { AnimatePresence, motion } from "framer-motion"; +import Link from "next/link"; +import { Separator } from "@/components/ui/separator"; + +const SidebarMobile = () => { + const [isOpen, setOpen] = useState(false); + const ref = useRef(null); + + useClickAway(ref, () => setOpen(false)); + + return ( +
+ + + {isOpen && ( + +
    + {navConfig.navLinks.map((link, index) => { + return ( + + {link.pageTitle} + + + ); + })} +
+
+ )} +
+
+ ); +}; + +export default SidebarMobile; diff --git a/apps/web/components/layouts/dashboard/layout-components/Sidebar/index.ts b/apps/web/components/layouts/dashboard/layout-components/Sidebar/index.ts new file mode 100644 index 0000000..7334011 --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/Sidebar/index.ts @@ -0,0 +1,2 @@ +export { default as Sidebar } from "./Sidebar"; +export { default as SidebarMobile } from "./SidebarMobile"; diff --git a/apps/web/components/layouts/dashboard/layout-components/index.ts b/apps/web/components/layouts/dashboard/layout-components/index.ts new file mode 100644 index 0000000..7ac056f --- /dev/null +++ b/apps/web/components/layouts/dashboard/layout-components/index.ts @@ -0,0 +1,4 @@ +export { Sidebar } from "./Sidebar"; +export { SidebarMobile } from "./Sidebar"; +export { default as Header } from "./Header"; +export { default as Footer } from "./Footer"; diff --git a/apps/web/components/search-users.tsx b/apps/web/components/search-users.tsx new file mode 100644 index 0000000..08a73b7 --- /dev/null +++ b/apps/web/components/search-users.tsx @@ -0,0 +1,209 @@ +"use client"; +import * as React from "react"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { useForm } from "react-hook-form"; +import { z } from "zod"; +import { Button } from "@/components/ui/button"; +import { + Form, + FormControl, + FormDescription, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form"; +import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; +import { + Card, + CardContent, + CardDescription, + CardFooter, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { Skeleton } from "./ui/skeleton"; +import { Input } from "@/components/ui/input"; +import { UsersService, UserSearchResults } from "@/lib/api/client"; + +const searchOnFields = ["id", "email", "forename", "surname"]; + +const FormSchema = z.object({ + keyword: z.string().optional(), + searchOn: z.enum(["id", "email", "forename", "surname"]).optional(), + searchResults: z + .string() + .min(1, { + message: "Must return at least 1 result", + }) + .optional(), +}); + +export default function SearchUsers() { + const [searchResults, setSearchResults] = React.useState({ + results: [], + }); + const [error, setError] = React.useState(null); + const [loading, setLoading] = React.useState(false); + + const form = useForm>({ + resolver: zodResolver(FormSchema), + defaultValues: { + keyword: ".com", + searchOn: "email", + searchResults: "10", + }, + }); + + const onSubmit = async (data: z.infer) => { + console.log(data); + try { + setLoading(true); // set loading state + setError(null); // clear error state if it exists + const maxResults = data.searchResults ? parseInt(data.searchResults) : 10; + const response = await UsersService.usersSearchUsers({ + keyword: data.keyword, + searchOn: data.searchOn, + maxResults: maxResults, + }); + setLoading(false); + console.log(response); + setSearchResults(response); + setError(null); + } catch (error) { + console.log("Error received", error); + setLoading(false); + setSearchResults({ results: [] }); + setError(error); + } + }; + + return ( +
+
+ + + + FastAPI data + + Data coming from FastAPI backend + + + + +
+ ( + + Keyword + + + + The keyword to search. + + + )} + /> + ( + + Max results + + + + + Set maximum number of results to return. + + + + )} + /> + ( + + Search field + + + {searchOnFields.map((item) => ( + + + + + + {item.charAt(0).toUpperCase() + item.slice(1)} + + + ))} + + + The field to search on. + + )} + /> +
+
+ +
+ + +
+
+ +
+ + + {loading ? ( + + ) : null} + + {searchResults.results.length >= 1 ? ( + // Render the results if searchResults is set +
+ {/* Replace this with your code to render the results */} +
{JSON.stringify(searchResults, null, 2)}
+
+ ) : null} + + {/* This can be handled better to understand what type of error is occurring rather than just a blanket handler */} + {error ? ( +
+ Couldn't find any results that match your criteria. Please try again. +
+ ) : null} +
+ ); +} diff --git a/apps/web/components/tailwind-indicator.tsx b/apps/web/components/tailwind-indicator.tsx new file mode 100644 index 0000000..3d1b062 --- /dev/null +++ b/apps/web/components/tailwind-indicator.tsx @@ -0,0 +1,18 @@ +// https://github.com/shadcn-ui/taxonomy/blob/main/components/tailwind-indicator.tsx#L1 + +export function TailwindIndicator() { + if (process.env.NODE_ENV === "production") return null; + + return ( +
+
xs
+
+ sm +
+
md
+
lg
+
xl
+
2xl
+
+ ); +} diff --git a/apps/web/components/theme/mode-toggle.tsx b/apps/web/components/theme/mode-toggle.tsx new file mode 100644 index 0000000..adf561c --- /dev/null +++ b/apps/web/components/theme/mode-toggle.tsx @@ -0,0 +1,25 @@ +"use client"; + +import * as React from "react"; +import { MoonIcon, SunIcon } from "@radix-ui/react-icons"; +import { useTheme } from "next-themes"; + +import { Button } from "@/components/ui/button"; + +export function ModeToggle() { + const { setTheme, resolvedTheme } = useTheme(); + + const handleSubmit = () => { + setTheme(resolvedTheme === "dark" ? "light" : "dark"); + }; + + return ( + <> + + + ); +} diff --git a/apps/web/components/theme/theme-provider.tsx b/apps/web/components/theme/theme-provider.tsx new file mode 100644 index 0000000..b0ff266 --- /dev/null +++ b/apps/web/components/theme/theme-provider.tsx @@ -0,0 +1,9 @@ +"use client"; + +import * as React from "react"; +import { ThemeProvider as NextThemesProvider } from "next-themes"; +import { type ThemeProviderProps } from "next-themes/dist/types"; + +export function ThemeProvider({ children, ...props }: ThemeProviderProps) { + return {children}; +} diff --git a/apps/web/components/theme/theme.css b/apps/web/components/theme/theme.css new file mode 100644 index 0000000..fc09588 --- /dev/null +++ b/apps/web/components/theme/theme.css @@ -0,0 +1,48 @@ +@tailwind base; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 224 71.4% 4.1%; + --card: 0 0% 100%; + --card-foreground: 224 71.4% 4.1%; + --popover: 0 0% 100%; + --popover-foreground: 224 71.4% 4.1%; + --primary: 262.1 83.3% 57.8%; + --primary-foreground: 210 20% 98%; + --secondary: 220 14.3% 95.9%; + --secondary-foreground: 220.9 39.3% 11%; + --muted: 220 14.3% 95.9%; + --muted-foreground: 220 8.9% 46.1%; + --accent: 220 14.3% 95.9%; + --accent-foreground: 220.9 39.3% 11%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 210 20% 98%; + --border: 220 13% 91%; + --input: 220 13% 91%; + --ring: 262.1 83.3% 57.8%; + --radius: 0.5rem; + } + + .dark { + --background: 224 71.4% 4.1%; + --foreground: 210 20% 98%; + --card: 224 71.4% 4.1%; + --card-foreground: 210 20% 98%; + --popover: 224 71.4% 4.1%; + --popover-foreground: 210 20% 98%; + --primary: 263.4 70% 50.4%; + --primary-foreground: 210 20% 98%; + --secondary: 215 27.9% 16.9%; + --secondary-foreground: 210 20% 98%; + --muted: 215 27.9% 16.9%; + --muted-foreground: 217.9 10.6% 64.9%; + --accent: 215 27.9% 16.9%; + --accent-foreground: 210 20% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 210 20% 98%; + --border: 215 27.9% 16.9%; + --input: 215 27.9% 16.9%; + --ring: 263.4 70% 50.4%; + } +} diff --git a/apps/web/components/typography.tsx b/apps/web/components/typography.tsx new file mode 100644 index 0000000..c65c42d --- /dev/null +++ b/apps/web/components/typography.tsx @@ -0,0 +1,82 @@ +// WIP component. Will flesh out more as we develop + +import * as React from "react"; +import { cn } from "@/lib/utils"; +import { cva, type VariantProps } from "class-variance-authority"; + +const typographyVariants = cva("m-0 self-center p-0", { + variants: { + variant: { + h1: "scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl", + h2: "scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0", + h3: "scroll-m-20 text-2xl font-semibold tracking-tight", + h4: "scroll-m-20 text-xl font-semibold tracking-tight", + p: "leading-7 [&:not(:first-child)]:mt-6", + code: "relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold", + lead: "text-xl text-muted-foreground", + }, + size: { + default: "text-lg", + sm: "text-sm", + lg: "text-xl", + }, + colour: { + default: "text-foreground", + muted: "text-muted-foreground", + accent: "text-accent", + inverted: "text-background", + }, + }, + defaultVariants: { + variant: "p", + size: "default", + colour: "default", + }, +}); + +export interface TypographyProps + extends React.HTMLAttributes, + VariantProps { + children: React.ReactNode; +} + +const Typography = ({ + variant, + size, + colour, + className, + children, +}: TypographyProps) => { + let HeadingComponent: React.ElementType = "div"; + + switch (variant) { + case "h1": + HeadingComponent = "h1"; + break; + case "h2": + HeadingComponent = "h2"; + break; + case "h3": + HeadingComponent = "h3"; + break; + case "h4": + HeadingComponent = "h4"; + break; + case "p": + HeadingComponent = "p"; + break; + case "code": + HeadingComponent = "code"; + break; + } + + return ( + + {children} + + ); +}; + +export { Typography, typographyVariants as buttonVariants }; diff --git a/apps/web/components/ui/button.tsx b/apps/web/components/ui/button.tsx new file mode 100644 index 0000000..57c9fe4 --- /dev/null +++ b/apps/web/components/ui/button.tsx @@ -0,0 +1,56 @@ +import * as React from "react"; +import { Slot } from "@radix-ui/react-slot"; +import { cva, type VariantProps } from "class-variance-authority"; + +import { cn } from "@/lib/utils"; + +const buttonVariants = cva( + "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground hover:bg-destructive/90", + outline: + "border border-input bg-background hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 rounded-md px-3", + lg: "h-11 rounded-md px-8", + icon: "h-10 w-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + }, +); + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean; +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button"; + return ( + + ); + }, +); +Button.displayName = "Button"; + +export { Button, buttonVariants }; diff --git a/apps/web/components/ui/card.tsx b/apps/web/components/ui/card.tsx new file mode 100644 index 0000000..dc3b01d --- /dev/null +++ b/apps/web/components/ui/card.tsx @@ -0,0 +1,86 @@ +import * as React from "react"; + +import { cn } from "@/lib/utils"; + +const Card = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +Card.displayName = "Card"; + +const CardHeader = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +CardHeader.displayName = "CardHeader"; + +const CardTitle = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)); +CardTitle.displayName = "CardTitle"; + +const CardDescription = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)); +CardDescription.displayName = "CardDescription"; + +const CardContent = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)); +CardContent.displayName = "CardContent"; + +const CardFooter = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +CardFooter.displayName = "CardFooter"; + +export { + Card, + CardHeader, + CardFooter, + CardTitle, + CardDescription, + CardContent, +}; diff --git a/apps/web/components/ui/dropdown-menu.tsx b/apps/web/components/ui/dropdown-menu.tsx new file mode 100644 index 0000000..3a0c7fe --- /dev/null +++ b/apps/web/components/ui/dropdown-menu.tsx @@ -0,0 +1,200 @@ +"use client"; + +import * as React from "react"; +import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; +import { Check, ChevronRight, Circle } from "lucide-react"; + +import { cn } from "@/lib/utils"; + +const DropdownMenu = DropdownMenuPrimitive.Root; + +const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger; + +const DropdownMenuGroup = DropdownMenuPrimitive.Group; + +const DropdownMenuPortal = DropdownMenuPrimitive.Portal; + +const DropdownMenuSub = DropdownMenuPrimitive.Sub; + +const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup; + +const DropdownMenuSubTrigger = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & { + inset?: boolean; + } +>(({ className, inset, children, ...props }, ref) => ( + + {children} + + +)); +DropdownMenuSubTrigger.displayName = + DropdownMenuPrimitive.SubTrigger.displayName; + +const DropdownMenuSubContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +DropdownMenuSubContent.displayName = + DropdownMenuPrimitive.SubContent.displayName; + +const DropdownMenuContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, sideOffset = 4, ...props }, ref) => ( + + + +)); +DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName; + +const DropdownMenuItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & { + inset?: boolean; + } +>(({ className, inset, ...props }, ref) => ( + +)); +DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName; + +const DropdownMenuCheckboxItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, checked, ...props }, ref) => ( + + + + + + + {children} + +)); +DropdownMenuCheckboxItem.displayName = + DropdownMenuPrimitive.CheckboxItem.displayName; + +const DropdownMenuRadioItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + + + + + + {children} + +)); +DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName; + +const DropdownMenuLabel = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & { + inset?: boolean; + } +>(({ className, inset, ...props }, ref) => ( + +)); +DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName; + +const DropdownMenuSeparator = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName; + +const DropdownMenuShortcut = ({ + className, + ...props +}: React.HTMLAttributes) => { + return ( + + ); +}; +DropdownMenuShortcut.displayName = "DropdownMenuShortcut"; + +export { + DropdownMenu, + DropdownMenuTrigger, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuCheckboxItem, + DropdownMenuRadioItem, + DropdownMenuLabel, + DropdownMenuSeparator, + DropdownMenuShortcut, + DropdownMenuGroup, + DropdownMenuPortal, + DropdownMenuSub, + DropdownMenuSubContent, + DropdownMenuSubTrigger, + DropdownMenuRadioGroup, +}; diff --git a/apps/web/components/ui/form.tsx b/apps/web/components/ui/form.tsx new file mode 100644 index 0000000..497718a --- /dev/null +++ b/apps/web/components/ui/form.tsx @@ -0,0 +1,177 @@ +import * as React from "react"; +import * as LabelPrimitive from "@radix-ui/react-label"; +import { Slot } from "@radix-ui/react-slot"; +import { + Controller, + ControllerProps, + FieldPath, + FieldValues, + FormProvider, + useFormContext, +} from "react-hook-form"; + +import { cn } from "@/lib/utils"; +import { Label } from "@/components/ui/label"; + +const Form = FormProvider; + +type FormFieldContextValue< + TFieldValues extends FieldValues = FieldValues, + TName extends FieldPath = FieldPath, +> = { + name: TName; +}; + +const FormFieldContext = React.createContext( + {} as FormFieldContextValue, +); + +const FormField = < + TFieldValues extends FieldValues = FieldValues, + TName extends FieldPath = FieldPath, +>({ + ...props +}: ControllerProps) => { + return ( + + + + ); +}; + +const useFormField = () => { + const fieldContext = React.useContext(FormFieldContext); + const itemContext = React.useContext(FormItemContext); + const { getFieldState, formState } = useFormContext(); + + const fieldState = getFieldState(fieldContext.name, formState); + + if (!fieldContext) { + throw new Error("useFormField should be used within "); + } + + const { id } = itemContext; + + return { + id, + name: fieldContext.name, + formItemId: `${id}-form-item`, + formDescriptionId: `${id}-form-item-description`, + formMessageId: `${id}-form-item-message`, + ...fieldState, + }; +}; + +type FormItemContextValue = { + id: string; +}; + +const FormItemContext = React.createContext( + {} as FormItemContextValue, +); + +const FormItem = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => { + const id = React.useId(); + + return ( + +
+ + ); +}); +FormItem.displayName = "FormItem"; + +const FormLabel = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => { + const { error, formItemId } = useFormField(); + + return ( +