From 57c556b339085d3bf6f7a503e5ddd63cfddab8bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:40:48 +0000 Subject: [PATCH 01/21] Bump django from 4.1.7 to 4.1.9 Bumps [django](https://github.com/django/django) from 4.1.7 to 4.1.9. - [Commits](https://github.com/django/django/compare/4.1.7...4.1.9) --- updated-dependencies: - dependency-name: django dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- poetry.lock | 114 ++++++++++++++++++++++++++++++++++++++++++++++--- pyproject.toml | 2 +- 2 files changed, 109 insertions(+), 7 deletions(-) diff --git a/poetry.lock b/poetry.lock index cdb06c3f..18b4b707 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,9 +1,10 @@ -# This file is automatically @generated by Poetry 1.5.0 and should not be changed by hand. +# This file is automatically @generated by Poetry and should not be changed by hand. [[package]] name = "appdirs" version = "1.4.4" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "main" optional = false python-versions = "*" files = [ @@ -15,6 +16,7 @@ files = [ name = "asgiref" version = "3.7.1" description = "ASGI specs, helper code, and adapters" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -32,6 +34,7 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "babel" version = "2.12.1" description = "Internationalization utilities" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -43,6 +46,7 @@ files = [ name = "bandit" version = "1.7.4" description = "Security oriented static analyser for python code." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -65,6 +69,7 @@ yaml = ["PyYAML"] name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" +category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -83,6 +88,7 @@ lxml = ["lxml"] name = "black" version = "23.1.0" description = "The uncompromising code formatter." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -131,6 +137,7 @@ uvloop = ["uvloop (>=0.15.2)"] name = "certifi" version = "2023.5.7" description = "Python package for providing Mozilla's CA Bundle." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -142,6 +149,7 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." +category = "main" optional = false python-versions = "*" files = [ @@ -218,6 +226,7 @@ pycparser = "*" name = "cfgv" version = "3.3.1" description = "Validate configuration and produce human readable error messages." +category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -229,6 +238,7 @@ files = [ name = "charset-normalizer" version = "2.0.12" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" optional = false python-versions = ">=3.5.0" files = [ @@ -243,6 +253,7 @@ unicode-backport = ["unicodedata2"] name = "click" version = "8.1.3" description = "Composable command line interface toolkit" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -257,6 +268,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -268,6 +280,7 @@ files = [ name = "coreapi" version = "2.3.3" description = "Python client library for Core API." +category = "main" optional = false python-versions = "*" files = [ @@ -285,6 +298,7 @@ uritemplate = "*" name = "coreschema" version = "0.0.4" description = "Core Schema." +category = "main" optional = false python-versions = "*" files = [ @@ -299,6 +313,7 @@ jinja2 = "*" name = "coverage" version = "6.2" description = "Code coverage measurement for Python" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -358,6 +373,7 @@ toml = ["tomli"] name = "cryptography" version = "40.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -399,6 +415,7 @@ tox = ["tox"] name = "cssbeautifier" version = "1.14.7" description = "CSS unobfuscator and beautifier." +category = "dev" optional = false python-versions = "*" files = [ @@ -414,6 +431,7 @@ six = ">=1.13.0" name = "distlib" version = "0.3.6" description = "Distribution utilities" +category = "dev" optional = false python-versions = "*" files = [ @@ -423,13 +441,14 @@ files = [ [[package]] name = "django" -version = "4.1.7" +version = "4.1.9" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." +category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.1.7-py3-none-any.whl", hash = "sha256:f2f431e75adc40039ace496ad3b9f17227022e8b11566f4b363da44c7e44761e"}, - {file = "Django-4.1.7.tar.gz", hash = "sha256:44f714b81c5f190d9d2ddad01a532fe502fa01c4cb8faf1d081f4264ed15dcd8"}, + {file = "Django-4.1.9-py3-none-any.whl", hash = "sha256:adae3a952fd86800094ae6f64aa558572e8b4ba8dfe21f0ed8175147e75a72a1"}, + {file = "Django-4.1.9.tar.gz", hash = "sha256:e9f074a84930662104871bfcea55c3c180c50a0a47739db82435deae6cbaf032"}, ] [package.dependencies] @@ -445,6 +464,7 @@ bcrypt = ["bcrypt"] name = "django-cors-headers" version = "3.14.0" description = "django-cors-headers is a Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS)." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -459,6 +479,7 @@ Django = ">=3.2" name = "django-filter" version = "22.1" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -473,6 +494,7 @@ Django = ">=3.2" name = "django-money" version = "3.0.0" description = "Adds support for using money and currency fields in django models and forms. Uses py-moneyed as the money implementation." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -493,6 +515,7 @@ test = ["mixer", "pytest (>=3.1.0)", "pytest-cov", "pytest-django", "pytest-pyth name = "django-stubs" version = "4.2.0" description = "Mypy stubs for Django" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -516,6 +539,7 @@ compatible-mypy = ["mypy (>=1.2.0,<1.3)"] name = "django-stubs-ext" version = "4.2.0" description = "Monkey-patching and extensions for django-stubs" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -531,6 +555,7 @@ typing-extensions = "*" name = "django-types" version = "0.17.0" description = "Type stubs for Django" +category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -542,6 +567,7 @@ files = [ name = "djangorestframework" version = "3.14.0" description = "Web APIs for Django, made easy." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -557,6 +583,7 @@ pytz = "*" name = "djangorestframework-camel-case" version = "1.4.2" description = "Camel case JSON support for Django REST framework." +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -567,6 +594,7 @@ files = [ name = "djangorestframework-stubs" version = "1.8.0" description = "PEP-484 stubs for django-rest-framework" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -591,6 +619,7 @@ markdown = ["types-Markdown (>=0.1.5)"] name = "djlint" version = "1.19.14" description = "HTML Template Linter and Formatter" +category = "dev" optional = false python-versions = ">=3.7.2,<4.0.0" files = [ @@ -615,6 +644,7 @@ tqdm = ">=4.62.2,<5.0.0" name = "drf-extra-fields" version = "3.4.1" description = "Additional fields for Django Rest Framework." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -633,6 +663,7 @@ base64imagefield = ["Pillow (>=6.2.1)"] name = "drf-yasg" version = "1.21.5" description = "Automated generation of real Swagger/OpenAPI 2.0 schemas from Django Rest Framework code." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -658,6 +689,7 @@ validation = ["swagger-spec-validator (>=2.1.0)"] name = "editorconfig" version = "0.12.3" description = "EditorConfig File Locator and Interpreter for Python" +category = "dev" optional = false python-versions = "*" files = [ @@ -669,6 +701,7 @@ files = [ name = "factory-boy" version = "3.2.1" description = "A versatile test fixtures replacement based on thoughtbot's factory_bot for Ruby." +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -687,6 +720,7 @@ doc = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"] name = "faker" version = "11.3.0" description = "Faker is a Python package that generates fake data for you." +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -702,6 +736,7 @@ text-unidecode = "1.3" name = "filelock" version = "3.12.0" description = "A platform independent file lock." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -717,6 +752,7 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "p name = "flake8" version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" +category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -733,6 +769,7 @@ pyflakes = ">=2.5.0,<2.6.0" name = "flake8-django" version = "1.1.5" description = "Plugin to catch bad style specific to Django Projects." +category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -747,6 +784,7 @@ flake8 = ">=3.8.4,<6" name = "frozendict" version = "2.3.8" description = "A simple immutable dictionary" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -793,6 +831,7 @@ files = [ name = "gitdb" version = "4.0.10" description = "Git Object Database" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -807,6 +846,7 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.31" description = "GitPython is a Python library used to interact with Git repositories" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -821,6 +861,7 @@ gitdb = ">=4.0.1,<5" name = "html-tag-names" version = "0.1.2" description = "List of known HTML tag names" +category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -832,6 +873,7 @@ files = [ name = "html-void-elements" version = "0.1.0" description = "List of HTML void tag names." +category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -843,6 +885,7 @@ files = [ name = "html5lib" version = "1.1" description = "HTML parser based on the WHATWG HTML specification" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -864,6 +907,7 @@ lxml = ["lxml"] name = "identify" version = "2.5.24" description = "File identification library for Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -878,6 +922,7 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -889,6 +934,7 @@ files = [ name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -900,6 +946,7 @@ files = [ name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." +category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -917,6 +964,7 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "itypes" version = "1.2.0" description = "Simple immutable types for python." +category = "main" optional = false python-versions = "*" files = [ @@ -928,6 +976,7 @@ files = [ name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -945,6 +994,7 @@ i18n = ["Babel (>=2.7)"] name = "jsbeautifier" version = "1.14.7" description = "JavaScript unobfuscator and beautifier." +category = "dev" optional = false python-versions = "*" files = [ @@ -959,6 +1009,7 @@ six = ">=1.13.0" name = "lxml" version = "4.9.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -1051,6 +1102,7 @@ source = ["Cython (>=0.29.7)"] name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1110,6 +1162,7 @@ files = [ name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1121,6 +1174,7 @@ files = [ name = "multitasking" version = "0.0.11" description = "Non-blocking Python methods using decorators" +category = "main" optional = false python-versions = "*" files = [ @@ -1132,6 +1186,7 @@ files = [ name = "mypy" version = "1.3.0" description = "Optional static typing for Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1178,6 +1233,7 @@ reports = ["lxml"] 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" files = [ @@ -1189,6 +1245,7 @@ files = [ name = "mysqlclient" version = "2.1.0" description = "Python interface to MySQL" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1203,6 +1260,7 @@ files = [ name = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" +category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -1217,6 +1275,7 @@ setuptools = "*" name = "numpy" version = "1.24.3" description = "Fundamental package for array computing in Python" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1254,6 +1313,7 @@ files = [ name = "packaging" version = "23.1" description = "Core utilities for Python packages" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1265,6 +1325,7 @@ files = [ name = "pandas" version = "1.4.3" description = "Powerful data structures for data analysis, time series, and statistics" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1303,6 +1364,7 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1314,6 +1376,7 @@ files = [ name = "pbr" version = "5.11.1" description = "Python Build Reasonableness" +category = "dev" optional = false python-versions = ">=2.6" files = [ @@ -1325,6 +1388,7 @@ files = [ name = "pillow" version = "9.3.0" description = "Python Imaging Library (Fork)" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1399,6 +1463,7 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "platformdirs" version = "3.5.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1414,6 +1479,7 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pre-commit" version = "2.15.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." +category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -1433,6 +1499,7 @@ virtualenv = ">=20.0.8" name = "py-moneyed" version = "2.0" description = "Provides Currency and Money classes for use in your Python code." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1452,6 +1519,7 @@ type-tests = ["mypy (>=0.812)", "pytest (>=2.3.0)", "pytest-mypy-plugins"] name = "pycodestyle" version = "2.9.1" description = "Python style guide checker" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1463,6 +1531,7 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1474,6 +1543,7 @@ files = [ name = "pyflakes" version = "2.5.0" description = "passive checker of Python programs" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1485,6 +1555,7 @@ files = [ name = "pyright" version = "1.1.296" description = "Command line wrapper for pyright" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1503,6 +1574,7 @@ dev = ["twine (>=3.4.1)"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -1517,6 +1589,7 @@ six = ">=1.5" name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" +category = "main" optional = false python-versions = "*" files = [ @@ -1528,6 +1601,7 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1577,6 +1651,7 @@ files = [ name = "regex" version = "2022.10.31" description = "Alternative regular expression module, to replace re." +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1674,6 +1749,7 @@ files = [ name = "requests" version = "2.26.0" description = "Python HTTP for Humans." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -1695,6 +1771,7 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<5)"] name = "responses" version = "0.17.0" description = "A utility library for mocking out the `requests` Python library." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1714,6 +1791,7 @@ tests = ["coverage (>=3.7.1,<6.0.0)", "flake8", "mypy", "pytest (>=4.6)", "pytes name = "ruamel-yaml" version = "0.17.28" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" +category = "main" optional = false python-versions = ">=3" files = [ @@ -1732,6 +1810,7 @@ jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] name = "ruamel-yaml-clib" version = "0.2.7" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1742,7 +1821,8 @@ files = [ {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:1a6391a7cabb7641c32517539ca42cf84b87b667bad38b78d4d42dd23e957c81"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9c7617df90c1365638916b98cdd9be833d31d337dbcd722485597b43c4a215bf"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win32.whl", hash = "sha256:f6d3d39611ac2e4f62c3128a9eed45f19a6608670c5a2f4f07f24e8de3441d38"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:da538167284de58a52109a9b89b8f6a53ff8437dd6dc26d33b57bf6699153122"}, @@ -1777,6 +1857,7 @@ files = [ name = "sentry-sdk" version = "1.14.0" description = "Python client for Sentry (https://sentry.io)" +category = "main" optional = false python-versions = "*" files = [ @@ -1815,6 +1896,7 @@ tornado = ["tornado (>=5)"] name = "setuptools" version = "67.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1831,6 +1913,7 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( 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.*" files = [ @@ -1842,6 +1925,7 @@ files = [ name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1853,6 +1937,7 @@ files = [ name = "soupsieve" version = "2.4.1" description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1864,6 +1949,7 @@ files = [ name = "sqlparse" version = "0.4.4" description = "A non-validating SQL parser." +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1880,6 +1966,7 @@ test = ["pytest", "pytest-cov"] name = "stevedore" version = "5.1.0" description = "Manage dynamic plugins for Python applications" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1894,6 +1981,7 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "text-unidecode" version = "1.3" description = "The most basic Text::Unidecode port" +category = "dev" optional = false python-versions = "*" files = [ @@ -1905,6 +1993,7 @@ files = [ name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1916,6 +2005,7 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1927,6 +2017,7 @@ files = [ name = "tqdm" version = "4.65.0" description = "Fast, Extensible Progress Meter" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1947,6 +2038,7 @@ telegram = ["requests"] name = "types-pytz" version = "2023.3.0.0" description = "Typing stubs for pytz" +category = "dev" optional = false python-versions = "*" files = [ @@ -1958,6 +2050,7 @@ files = [ name = "types-pyyaml" version = "6.0.12.10" description = "Typing stubs for PyYAML" +category = "dev" optional = false python-versions = "*" files = [ @@ -1969,6 +2062,7 @@ files = [ name = "types-requests" version = "2.28.11.13" description = "Typing stubs for requests" +category = "dev" optional = false python-versions = "*" files = [ @@ -1983,6 +2077,7 @@ types-urllib3 = "<1.27" name = "types-urllib3" version = "1.26.25.13" description = "Typing stubs for urllib3" +category = "dev" optional = false python-versions = "*" files = [ @@ -1994,6 +2089,7 @@ files = [ name = "typing-extensions" version = "4.6.2" description = "Backported and Experimental Type Hints for Python 3.7+" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2005,6 +2101,7 @@ files = [ name = "tzdata" version = "2023.3" description = "Provider of IANA time zone data" +category = "main" optional = false python-versions = ">=2" files = [ @@ -2016,6 +2113,7 @@ files = [ name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2027,6 +2125,7 @@ files = [ name = "urllib3" version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -2043,6 +2142,7 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "virtualenv" version = "20.23.0" description = "Virtual Python Environment builder" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2063,6 +2163,7 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" +category = "main" optional = false python-versions = "*" files = [ @@ -2074,6 +2175,7 @@ files = [ name = "yfinance" version = "0.2.12" description = "Download market data from Yahoo! Finance API" +category = "main" optional = false python-versions = "*" files = [ @@ -2097,4 +2199,4 @@ requests = ">=2.26" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "8561f3d32cd34f70c1ad8be795b60a66ab90403afefb3daa84c7c11625fddc92" +content-hash = "993cdbda0b6c420dcf7994eb8fd2b66d2aa0ec7c2cd7233411d77b00b246ada9" diff --git a/pyproject.toml b/pyproject.toml index 56d29c0e..9c77cd80 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,7 +46,7 @@ packages = [{include = "backend"}] [tool.poetry.dependencies] python = "^3.10" -django = "4.1.7" +django = "4.1.9" django-cors-headers = "3.14.0" django-filter = "22.1" django-money = "3.0.0" From 26fca0533c8c4debcbddbe20d7b2e79735247d3e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:55:21 +0000 Subject: [PATCH 02/21] Bump cryptography from 40.0.2 to 41.0.0 Bumps [cryptography](https://github.com/pyca/cryptography) from 40.0.2 to 41.0.0. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/40.0.2...41.0.0) --- updated-dependencies: - dependency-name: cryptography dependency-type: indirect ... Signed-off-by: dependabot[bot] --- poetry.lock | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/poetry.lock b/poetry.lock index f9193d52..0303b7e5 100644 --- a/poetry.lock +++ b/poetry.lock @@ -371,31 +371,31 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "40.0.2" +version = "41.0.0" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b"}, - {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2"}, - {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b"}, - {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9"}, - {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c"}, - {file = "cryptography-40.0.2-cp36-abi3-win32.whl", hash = "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9"}, - {file = "cryptography-40.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a"}, - {file = "cryptography-40.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e"}, - {file = "cryptography-40.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404"}, - {file = "cryptography-40.0.2.tar.gz", hash = "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99"}, + {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c5ef25d060c80d6d9f7f9892e1d41bb1c79b78ce74805b8cb4aa373cb7d5ec8"}, + {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8362565b3835ceacf4dc8f3b56471a2289cf51ac80946f9087e66dc283a810e0"}, + {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3680248309d340fda9611498a5319b0193a8dbdb73586a1acf8109d06f25b92d"}, + {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84a165379cb9d411d58ed739e4af3396e544eac190805a54ba2e0322feb55c46"}, + {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4ab14d567f7bbe7f1cdff1c53d5324ed4d3fc8bd17c481b395db224fb405c237"}, + {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9f65e842cb02550fac96536edb1d17f24c0a338fd84eaf582be25926e993dde4"}, + {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:b7f2f5c525a642cecad24ee8670443ba27ac1fab81bba4cc24c7b6b41f2d0c75"}, + {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7d92f0248d38faa411d17f4107fc0bce0c42cae0b0ba5415505df72d751bf62d"}, + {file = "cryptography-41.0.0-cp37-abi3-win32.whl", hash = "sha256:34d405ea69a8b34566ba3dfb0521379b210ea5d560fafedf9f800a9a94a41928"}, + {file = "cryptography-41.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:344c6de9f8bda3c425b3a41b319522ba3208551b70c2ae00099c205f0d9fd3be"}, + {file = "cryptography-41.0.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:88ff107f211ea696455ea8d911389f6d2b276aabf3231bf72c8853d22db755c5"}, + {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b846d59a8d5a9ba87e2c3d757ca019fa576793e8758174d3868aecb88d6fc8eb"}, + {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5d0bf9b252f30a31664b6f64432b4730bb7038339bd18b1fafe129cfc2be9be"}, + {file = "cryptography-41.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5c1f7293c31ebc72163a9a0df246f890d65f66b4a40d9ec80081969ba8c78cc9"}, + {file = "cryptography-41.0.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf8fc66012ca857d62f6a347007e166ed59c0bc150cefa49f28376ebe7d992a2"}, + {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a4fc68d1c5b951cfb72dfd54702afdbbf0fb7acdc9b7dc4301bbf2225a27714d"}, + {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14754bcdae909d66ff24b7b5f166d69340ccc6cb15731670435efd5719294895"}, + {file = "cryptography-41.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0ddaee209d1cf1f180f1efa338a68c4621154de0afaef92b89486f5f96047c55"}, + {file = "cryptography-41.0.0.tar.gz", hash = "sha256:6b71f64beeea341c9b4f963b48ee3b62d62d57ba93eb120e1196b31dc1025e78"}, ] [package.dependencies] @@ -404,12 +404,12 @@ cffi = ">=1.12" [package.extras] docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] -pep8test = ["black", "check-manifest", "mypy", "ruff"] -sdist = ["setuptools-rust (>=0.11.4)"] +nox = ["nox"] +pep8test = ["black", "check-sdist", "mypy", "ruff"] +sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist"] +test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] -tox = ["tox"] [[package]] name = "cssbeautifier" @@ -2199,4 +2199,4 @@ requests = ">=2.26" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "1869c70fb25a83568426f6f55ed4df33baf32dfd1289015115b5ceb06ca7442c" +content-hash = "e2059290ada6557650bc0a60bbd861a8753b14bcb041d4660b8855c87ffefcda" From fd42730d3ce469d0f031722b9a7ce875a7413fb4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Jun 2023 02:20:35 +0000 Subject: [PATCH 03/21] Bump vite from 4.2.1 to 4.2.3 in /client Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.2.1 to 4.2.3. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v4.2.3/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.2.3/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- client/package.json | 2 +- client/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/client/package.json b/client/package.json index 9b760f68..a99eb962 100644 --- a/client/package.json +++ b/client/package.json @@ -44,7 +44,7 @@ "react-router-dom": "^6.9.0", "react-toastify": "^9.0.3", "typescript": "^4.9.5", - "vite": "^4.1.4", + "vite": "^4.2.3", "vite-plugin-eslint": "^1.8.1", "vite-plugin-svgr": "^2.4.0", "vite-tsconfig-paths": "^4.0.7", diff --git a/client/yarn.lock b/client/yarn.lock index 826f74ad..a1575603 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -6978,10 +6978,10 @@ vite-tsconfig-paths@^4.0.7: globrex "^0.1.2" tsconfck "^2.1.0" -"vite@^3.0.0 || ^4.0.0", vite@^4.1.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.2.1.tgz#6c2eb337b0dfd80a9ded5922163b94949d7fc254" - integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg== +"vite@^3.0.0 || ^4.0.0", vite@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.2.3.tgz#067ada47ebd52e078d014bf1f92badda9d10564d" + integrity sha512-kLU+m2q0Y434Y1kCy3TchefAdtFso0ILi0dLyFV8Us3InXTU11H/B5ZTqCKIQHzSKNxVG/yEx813EA9f1imQ9A== dependencies: esbuild "^0.17.5" postcss "^8.4.21" From 2c97fe92d5d0e64886bd30cc2dbb7bf723e34da8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jul 2023 00:11:04 +0000 Subject: [PATCH 04/21] Bump django from 4.1.9 to 4.1.10 Bumps [django](https://github.com/django/django) from 4.1.9 to 4.1.10. - [Commits](https://github.com/django/django/compare/4.1.9...4.1.10) --- updated-dependencies: - dependency-name: django dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- poetry.lock | 111 +++---------------------------------------------- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 107 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0303b7e5..df5c143b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "appdirs" version = "1.4.4" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = "*" files = [ @@ -16,7 +15,6 @@ files = [ name = "asgiref" version = "3.7.1" description = "ASGI specs, helper code, and adapters" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -34,7 +32,6 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "babel" version = "2.12.1" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -46,7 +43,6 @@ files = [ name = "bandit" version = "1.7.4" description = "Security oriented static analyser for python code." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -69,7 +65,6 @@ yaml = ["PyYAML"] name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -88,7 +83,6 @@ lxml = ["lxml"] name = "black" version = "23.1.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -137,7 +131,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "certifi" version = "2023.5.7" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -149,7 +142,6 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -226,7 +218,6 @@ pycparser = "*" name = "cfgv" version = "3.3.1" description = "Validate configuration and produce human readable error messages." -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -238,7 +229,6 @@ files = [ name = "charset-normalizer" version = "2.0.12" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.5.0" files = [ @@ -253,7 +243,6 @@ unicode-backport = ["unicodedata2"] name = "click" version = "8.1.3" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -268,7 +257,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -280,7 +268,6 @@ files = [ name = "coreapi" version = "2.3.3" description = "Python client library for Core API." -category = "main" optional = false python-versions = "*" files = [ @@ -298,7 +285,6 @@ uritemplate = "*" name = "coreschema" version = "0.0.4" description = "Core Schema." -category = "main" optional = false python-versions = "*" files = [ @@ -313,7 +299,6 @@ jinja2 = "*" name = "coverage" version = "6.2" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -373,7 +358,6 @@ toml = ["tomli"] name = "cryptography" version = "41.0.0" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -415,7 +399,6 @@ test-randomorder = ["pytest-randomly"] name = "cssbeautifier" version = "1.14.7" description = "CSS unobfuscator and beautifier." -category = "dev" optional = false python-versions = "*" files = [ @@ -431,7 +414,6 @@ six = ">=1.13.0" name = "distlib" version = "0.3.6" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -441,14 +423,13 @@ files = [ [[package]] name = "django" -version = "4.1.9" +version = "4.1.10" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.1.9-py3-none-any.whl", hash = "sha256:adae3a952fd86800094ae6f64aa558572e8b4ba8dfe21f0ed8175147e75a72a1"}, - {file = "Django-4.1.9.tar.gz", hash = "sha256:e9f074a84930662104871bfcea55c3c180c50a0a47739db82435deae6cbaf032"}, + {file = "Django-4.1.10-py3-none-any.whl", hash = "sha256:26d0260c2fb8121009e62ffc548b2398dea2522b6454208a852fb0ef264c206c"}, + {file = "Django-4.1.10.tar.gz", hash = "sha256:56343019a9fd839e2e5bf203daf45f25af79d5bffa4c71d56eae4f4404d82ade"}, ] [package.dependencies] @@ -464,7 +445,6 @@ bcrypt = ["bcrypt"] name = "django-cors-headers" version = "3.14.0" description = "django-cors-headers is a Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS)." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -479,7 +459,6 @@ Django = ">=3.2" name = "django-filter" version = "22.1" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -494,7 +473,6 @@ Django = ">=3.2" name = "django-money" version = "3.0.0" description = "Adds support for using money and currency fields in django models and forms. Uses py-moneyed as the money implementation." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -515,7 +493,6 @@ test = ["mixer", "pytest (>=3.1.0)", "pytest-cov", "pytest-django", "pytest-pyth name = "django-stubs" version = "4.2.0" description = "Mypy stubs for Django" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -539,7 +516,6 @@ compatible-mypy = ["mypy (>=1.2.0,<1.3)"] name = "django-stubs-ext" version = "4.2.0" description = "Monkey-patching and extensions for django-stubs" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -555,7 +531,6 @@ typing-extensions = "*" name = "django-types" version = "0.17.0" description = "Type stubs for Django" -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -567,7 +542,6 @@ files = [ name = "djangorestframework" version = "3.14.0" description = "Web APIs for Django, made easy." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -583,7 +557,6 @@ pytz = "*" name = "djangorestframework-camel-case" version = "1.4.2" description = "Camel case JSON support for Django REST framework." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -594,7 +567,6 @@ files = [ name = "djangorestframework-stubs" version = "1.8.0" description = "PEP-484 stubs for django-rest-framework" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -619,7 +591,6 @@ markdown = ["types-Markdown (>=0.1.5)"] name = "djlint" version = "1.19.14" description = "HTML Template Linter and Formatter" -category = "dev" optional = false python-versions = ">=3.7.2,<4.0.0" files = [ @@ -644,7 +615,6 @@ tqdm = ">=4.62.2,<5.0.0" name = "drf-extra-fields" version = "3.4.1" description = "Additional fields for Django Rest Framework." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -663,7 +633,6 @@ base64imagefield = ["Pillow (>=6.2.1)"] name = "drf-yasg" version = "1.21.5" description = "Automated generation of real Swagger/OpenAPI 2.0 schemas from Django Rest Framework code." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -689,7 +658,6 @@ validation = ["swagger-spec-validator (>=2.1.0)"] name = "editorconfig" version = "0.12.3" description = "EditorConfig File Locator and Interpreter for Python" -category = "dev" optional = false python-versions = "*" files = [ @@ -701,7 +669,6 @@ files = [ name = "factory-boy" version = "3.2.1" description = "A versatile test fixtures replacement based on thoughtbot's factory_bot for Ruby." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -720,7 +687,6 @@ doc = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"] name = "faker" version = "11.3.0" description = "Faker is a Python package that generates fake data for you." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -736,7 +702,6 @@ text-unidecode = "1.3" name = "filelock" version = "3.12.0" description = "A platform independent file lock." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -752,7 +717,6 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "p name = "flake8" version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -769,7 +733,6 @@ pyflakes = ">=2.5.0,<2.6.0" name = "flake8-django" version = "1.1.5" description = "Plugin to catch bad style specific to Django Projects." -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -784,7 +747,6 @@ flake8 = ">=3.8.4,<6" name = "frozendict" version = "2.3.8" description = "A simple immutable dictionary" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -831,7 +793,6 @@ files = [ name = "gitdb" version = "4.0.10" description = "Git Object Database" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -846,7 +807,6 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.31" description = "GitPython is a Python library used to interact with Git repositories" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -861,7 +821,6 @@ gitdb = ">=4.0.1,<5" name = "html-tag-names" version = "0.1.2" description = "List of known HTML tag names" -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -873,7 +832,6 @@ files = [ name = "html-void-elements" version = "0.1.0" description = "List of HTML void tag names." -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -885,7 +843,6 @@ files = [ name = "html5lib" version = "1.1" description = "HTML parser based on the WHATWG HTML specification" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -907,7 +864,6 @@ lxml = ["lxml"] name = "identify" version = "2.5.24" description = "File identification library for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -922,7 +878,6 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -934,7 +889,6 @@ files = [ name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -946,7 +900,6 @@ files = [ name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -964,7 +917,6 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "itypes" version = "1.2.0" description = "Simple immutable types for python." -category = "main" optional = false python-versions = "*" files = [ @@ -976,7 +928,6 @@ files = [ name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -994,7 +945,6 @@ i18n = ["Babel (>=2.7)"] name = "jsbeautifier" version = "1.14.7" description = "JavaScript unobfuscator and beautifier." -category = "dev" optional = false python-versions = "*" files = [ @@ -1009,7 +959,6 @@ six = ">=1.13.0" name = "lxml" version = "4.9.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -1102,7 +1051,6 @@ source = ["Cython (>=0.29.7)"] name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1162,7 +1110,6 @@ files = [ name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1174,7 +1121,6 @@ files = [ name = "multitasking" version = "0.0.11" description = "Non-blocking Python methods using decorators" -category = "main" optional = false python-versions = "*" files = [ @@ -1186,7 +1132,6 @@ files = [ name = "mypy" version = "1.3.0" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1233,7 +1178,6 @@ reports = ["lxml"] 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" files = [ @@ -1245,7 +1189,6 @@ files = [ name = "mysqlclient" version = "2.1.0" description = "Python interface to MySQL" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1260,7 +1203,6 @@ files = [ name = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -1275,7 +1217,6 @@ setuptools = "*" name = "numpy" version = "1.24.3" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1313,7 +1254,6 @@ files = [ name = "packaging" version = "23.1" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1325,7 +1265,6 @@ files = [ name = "pandas" version = "1.4.3" description = "Powerful data structures for data analysis, time series, and statistics" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1364,7 +1303,6 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1376,7 +1314,6 @@ files = [ name = "pbr" version = "5.11.1" description = "Python Build Reasonableness" -category = "dev" optional = false python-versions = ">=2.6" files = [ @@ -1388,7 +1325,6 @@ files = [ name = "pillow" version = "9.3.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1463,7 +1399,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "platformdirs" version = "3.5.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1479,7 +1414,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pre-commit" version = "2.15.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -1499,7 +1433,6 @@ virtualenv = ">=20.0.8" name = "py-moneyed" version = "2.0" description = "Provides Currency and Money classes for use in your Python code." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1519,7 +1452,6 @@ type-tests = ["mypy (>=0.812)", "pytest (>=2.3.0)", "pytest-mypy-plugins"] name = "pycodestyle" version = "2.9.1" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1531,7 +1463,6 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1543,7 +1474,6 @@ files = [ name = "pyflakes" version = "2.5.0" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1555,7 +1485,6 @@ files = [ name = "pyright" version = "1.1.296" description = "Command line wrapper for pyright" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1574,7 +1503,6 @@ dev = ["twine (>=3.4.1)"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -1589,7 +1517,6 @@ six = ">=1.5" name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -1601,7 +1528,6 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1651,7 +1577,6 @@ files = [ name = "regex" version = "2022.10.31" description = "Alternative regular expression module, to replace re." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1749,7 +1674,6 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1771,7 +1695,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "responses" version = "0.17.0" description = "A utility library for mocking out the `requests` Python library." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1791,7 +1714,6 @@ tests = ["coverage (>=3.7.1,<6.0.0)", "flake8", "mypy", "pytest (>=4.6)", "pytes name = "ruamel-yaml" version = "0.17.28" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "main" optional = false python-versions = ">=3" files = [ @@ -1810,7 +1732,6 @@ jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] name = "ruamel-yaml-clib" version = "0.2.7" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1857,7 +1778,6 @@ files = [ name = "sentry-sdk" version = "1.14.0" description = "Python client for Sentry (https://sentry.io)" -category = "main" optional = false python-versions = "*" files = [ @@ -1896,7 +1816,6 @@ tornado = ["tornado (>=5)"] name = "setuptools" version = "67.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1913,7 +1832,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( 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.*" files = [ @@ -1925,7 +1843,6 @@ files = [ name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1937,7 +1854,6 @@ files = [ name = "soupsieve" version = "2.4.1" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1949,7 +1865,6 @@ files = [ name = "sqlparse" version = "0.4.4" description = "A non-validating SQL parser." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1966,7 +1881,6 @@ test = ["pytest", "pytest-cov"] name = "stevedore" version = "5.1.0" description = "Manage dynamic plugins for Python applications" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1981,7 +1895,6 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "text-unidecode" version = "1.3" description = "The most basic Text::Unidecode port" -category = "dev" optional = false python-versions = "*" files = [ @@ -1993,7 +1906,6 @@ files = [ name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2005,7 +1917,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2017,7 +1928,6 @@ files = [ name = "tqdm" version = "4.65.0" description = "Fast, Extensible Progress Meter" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2038,7 +1948,6 @@ telegram = ["requests"] name = "types-pytz" version = "2023.3.0.0" description = "Typing stubs for pytz" -category = "dev" optional = false python-versions = "*" files = [ @@ -2050,7 +1959,6 @@ files = [ name = "types-pyyaml" version = "6.0.12.10" description = "Typing stubs for PyYAML" -category = "dev" optional = false python-versions = "*" files = [ @@ -2062,7 +1970,6 @@ files = [ name = "types-requests" version = "2.28.11.13" description = "Typing stubs for requests" -category = "dev" optional = false python-versions = "*" files = [ @@ -2077,7 +1984,6 @@ types-urllib3 = "<1.27" name = "types-urllib3" version = "1.26.25.13" description = "Typing stubs for urllib3" -category = "dev" optional = false python-versions = "*" files = [ @@ -2089,7 +1995,6 @@ files = [ name = "typing-extensions" version = "4.6.2" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2101,7 +2006,6 @@ files = [ name = "tzdata" version = "2023.3" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" files = [ @@ -2113,7 +2017,6 @@ files = [ name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2125,7 +2028,6 @@ files = [ name = "urllib3" version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -2142,7 +2044,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "virtualenv" version = "20.23.0" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2163,7 +2064,6 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" -category = "main" optional = false python-versions = "*" files = [ @@ -2175,7 +2075,6 @@ files = [ name = "yfinance" version = "0.2.12" description = "Download market data from Yahoo! Finance API" -category = "main" optional = false python-versions = "*" files = [ @@ -2199,4 +2098,4 @@ requests = ">=2.26" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "e2059290ada6557650bc0a60bbd861a8753b14bcb041d4660b8855c87ffefcda" +content-hash = "1e9bb047c3dc5d4f22df271f78369ae1354397affda0c3edd3ff2115b6ab61ea" diff --git a/pyproject.toml b/pyproject.toml index 6fba8351..8070eb2d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,7 +46,7 @@ packages = [{include = "backend"}] [tool.poetry.dependencies] python = "^3.10" -django = "4.1.9" +django = "4.1.10" django-cors-headers = "3.14.0" django-filter = "22.1" django-money = "3.0.0" From 1c20e02f04d1071d3fb8db2b0f683c45e48a4048 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jul 2023 03:32:27 +0000 Subject: [PATCH 05/21] Bump tough-cookie from 4.1.2 to 4.1.3 in /client Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.3. - [Release notes](https://github.com/salesforce/tough-cookie/releases) - [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md) - [Commits](https://github.com/salesforce/tough-cookie/compare/v4.1.2...v4.1.3) --- updated-dependencies: - dependency-name: tough-cookie dependency-type: indirect ... Signed-off-by: dependabot[bot] --- client/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/yarn.lock b/client/yarn.lock index a1575603..7928f427 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -6631,9 +6631,9 @@ toggle-selection@^1.0.6: integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== tough-cookie@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== dependencies: psl "^1.1.33" punycode "^2.1.1" From 40ea8cd12b3c7d366688066bc8e6483fa9c97d43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 07:03:46 +0000 Subject: [PATCH 06/21] Bump semver from 6.3.0 to 6.3.1 in /client Bumps [semver](https://github.com/npm/node-semver) from 6.3.0 to 6.3.1. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v6.3.1/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v6.3.0...v6.3.1) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] --- client/yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client/yarn.lock b/client/yarn.lock index a1575603..c9b10ac8 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -6266,14 +6266,14 @@ scroll-into-view-if-needed@^3.0.3: compute-scroll-into-view "^3.0.2" semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.7: - version "7.4.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.4.0.tgz#8481c92feffc531ab1e012a8ffc15bdd3a0f4318" - integrity sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw== + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" From 5d3fab81471cab938004c5bd23e8dca70104722f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 17:41:25 +0000 Subject: [PATCH 07/21] Bump semver from 5.7.1 to 5.7.2 in /docs Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] --- docs/yarn.lock | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 646cb2ea..e1b4a221 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -1666,7 +1666,6 @@ dependencies: "@hapi/hoek" "^9.0.0" - "@jest/schemas@^29.4.3": version "29.4.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" @@ -1691,12 +1690,10 @@ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: - "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" - "@jridgewell/resolve-uri@3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" @@ -1707,7 +1704,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - "@jridgewell/source-map@^0.3.2": version "0.3.3" resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda" @@ -1726,12 +1722,10 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.18" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" @@ -1893,7 +1887,6 @@ dependencies: "@hapi/hoek" "^9.0.0" - "@sideway/formula@^3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" @@ -2458,13 +2451,11 @@ acorn-walk@^8.0.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - acorn@^8.0.4, acorn@^8.5.0, acorn@^8.7.1: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - address@^1.0.1, address@^1.1.2: version "1.2.2" resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" @@ -4943,9 +4934,7 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - json5@^2.1.2, json5@^2.2.2: - version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -6666,19 +6655,19 @@ semver-diff@^3.1.1: semver "^6.3.0" semver@^5.4.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.2, semver@^7.3.4, semver@^7.3.7, semver@^7.3.8: - version "7.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" - integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" @@ -7096,12 +7085,10 @@ terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7: serialize-javascript "^6.0.1" terser "^5.16.5" - terser@^5.10.0, terser@^5.16.5: version "5.16.9" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.9.tgz#7a28cb178e330c484369886f2afd623d9847495f" integrity sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg== - dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -7210,7 +7197,6 @@ ua-parser-js@^0.7.30: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.35.tgz#8bda4827be4f0b1dda91699a29499575a1f1d307" integrity sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g== - unherit@^1.0.4: version "1.1.3" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" From 2e8878680d38e432cf506c78efc02c90a8035989 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 15 Jul 2023 01:23:31 +0000 Subject: [PATCH 08/21] Bump cryptography from 41.0.0 to 41.0.2 Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.0 to 41.0.2. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/41.0.0...41.0.2) --- updated-dependencies: - dependency-name: cryptography dependency-type: indirect ... Signed-off-by: dependabot[bot] --- poetry.lock | 147 +++++++++------------------------------------------- 1 file changed, 25 insertions(+), 122 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0303b7e5..3093d926 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "appdirs" version = "1.4.4" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = "*" files = [ @@ -16,7 +15,6 @@ files = [ name = "asgiref" version = "3.7.1" description = "ASGI specs, helper code, and adapters" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -34,7 +32,6 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "babel" version = "2.12.1" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -46,7 +43,6 @@ files = [ name = "bandit" version = "1.7.4" description = "Security oriented static analyser for python code." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -69,7 +65,6 @@ yaml = ["PyYAML"] name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -88,7 +83,6 @@ lxml = ["lxml"] name = "black" version = "23.1.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -137,7 +131,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "certifi" version = "2023.5.7" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -149,7 +142,6 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -226,7 +218,6 @@ pycparser = "*" name = "cfgv" version = "3.3.1" description = "Validate configuration and produce human readable error messages." -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -238,7 +229,6 @@ files = [ name = "charset-normalizer" version = "2.0.12" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.5.0" files = [ @@ -253,7 +243,6 @@ unicode-backport = ["unicodedata2"] name = "click" version = "8.1.3" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -268,7 +257,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -280,7 +268,6 @@ files = [ name = "coreapi" version = "2.3.3" description = "Python client library for Core API." -category = "main" optional = false python-versions = "*" files = [ @@ -298,7 +285,6 @@ uritemplate = "*" name = "coreschema" version = "0.0.4" description = "Core Schema." -category = "main" optional = false python-versions = "*" files = [ @@ -313,7 +299,6 @@ jinja2 = "*" name = "coverage" version = "6.2" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -371,31 +356,34 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "41.0.0" +version = "41.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c5ef25d060c80d6d9f7f9892e1d41bb1c79b78ce74805b8cb4aa373cb7d5ec8"}, - {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8362565b3835ceacf4dc8f3b56471a2289cf51ac80946f9087e66dc283a810e0"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3680248309d340fda9611498a5319b0193a8dbdb73586a1acf8109d06f25b92d"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84a165379cb9d411d58ed739e4af3396e544eac190805a54ba2e0322feb55c46"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4ab14d567f7bbe7f1cdff1c53d5324ed4d3fc8bd17c481b395db224fb405c237"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9f65e842cb02550fac96536edb1d17f24c0a338fd84eaf582be25926e993dde4"}, - {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:b7f2f5c525a642cecad24ee8670443ba27ac1fab81bba4cc24c7b6b41f2d0c75"}, - {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7d92f0248d38faa411d17f4107fc0bce0c42cae0b0ba5415505df72d751bf62d"}, - {file = "cryptography-41.0.0-cp37-abi3-win32.whl", hash = "sha256:34d405ea69a8b34566ba3dfb0521379b210ea5d560fafedf9f800a9a94a41928"}, - {file = "cryptography-41.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:344c6de9f8bda3c425b3a41b319522ba3208551b70c2ae00099c205f0d9fd3be"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:88ff107f211ea696455ea8d911389f6d2b276aabf3231bf72c8853d22db755c5"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b846d59a8d5a9ba87e2c3d757ca019fa576793e8758174d3868aecb88d6fc8eb"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5d0bf9b252f30a31664b6f64432b4730bb7038339bd18b1fafe129cfc2be9be"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5c1f7293c31ebc72163a9a0df246f890d65f66b4a40d9ec80081969ba8c78cc9"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf8fc66012ca857d62f6a347007e166ed59c0bc150cefa49f28376ebe7d992a2"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a4fc68d1c5b951cfb72dfd54702afdbbf0fb7acdc9b7dc4301bbf2225a27714d"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14754bcdae909d66ff24b7b5f166d69340ccc6cb15731670435efd5719294895"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0ddaee209d1cf1f180f1efa338a68c4621154de0afaef92b89486f5f96047c55"}, - {file = "cryptography-41.0.0.tar.gz", hash = "sha256:6b71f64beeea341c9b4f963b48ee3b62d62d57ba93eb120e1196b31dc1025e78"}, + {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:01f1d9e537f9a15b037d5d9ee442b8c22e3ae11ce65ea1f3316a41c78756b711"}, + {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:079347de771f9282fbfe0e0236c716686950c19dee1b76240ab09ce1624d76d7"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:439c3cc4c0d42fa999b83ded80a9a1fb54d53c58d6e59234cfe97f241e6c781d"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f14ad275364c8b4e525d018f6716537ae7b6d369c094805cae45300847e0894f"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:84609ade00a6ec59a89729e87a503c6e36af98ddcd566d5f3be52e29ba993182"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:49c3222bb8f8e800aead2e376cbef687bc9e3cb9b58b29a261210456a7783d83"}, + {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d73f419a56d74fef257955f51b18d046f3506270a5fd2ac5febbfa259d6c0fa5"}, + {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:2a034bf7d9ca894720f2ec1d8b7b5832d7e363571828037f9e0c4f18c1b58a58"}, + {file = "cryptography-41.0.2-cp37-abi3-win32.whl", hash = "sha256:d124682c7a23c9764e54ca9ab5b308b14b18eba02722b8659fb238546de83a76"}, + {file = "cryptography-41.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:9c3fe6534d59d071ee82081ca3d71eed3210f76ebd0361798c74abc2bcf347d4"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a719399b99377b218dac6cf547b6ec54e6ef20207b6165126a280b0ce97e0d2a"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:182be4171f9332b6741ee818ec27daff9fb00349f706629f5cbf417bd50e66fd"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7a9a3bced53b7f09da251685224d6a260c3cb291768f54954e28f03ef14e3766"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f0dc40e6f7aa37af01aba07277d3d64d5a03dc66d682097541ec4da03cc140ee"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:674b669d5daa64206c38e507808aae49904c988fa0a71c935e7006a3e1e83831"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7af244b012711a26196450d34f483357e42aeddb04128885d95a69bd8b14b69b"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9b6d717393dbae53d4e52684ef4f022444fc1cce3c48c38cb74fca29e1f08eaa"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:192255f539d7a89f2102d07d7375b1e0a81f7478925b3bc2e0549ebf739dae0e"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f772610fe364372de33d76edcd313636a25684edb94cee53fd790195f5989d14"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b332cba64d99a70c1e0836902720887fb4529ea49ea7f5462cf6640e095e11d2"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9a6673c1828db6270b76b22cc696f40cde9043eb90373da5c2f8f2158957f42f"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:342f3767e25876751e14f8459ad85e77e660537ca0a066e10e75df9c9e9099f0"}, + {file = "cryptography-41.0.2.tar.gz", hash = "sha256:7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c"}, ] [package.dependencies] @@ -415,7 +403,6 @@ test-randomorder = ["pytest-randomly"] name = "cssbeautifier" version = "1.14.7" description = "CSS unobfuscator and beautifier." -category = "dev" optional = false python-versions = "*" files = [ @@ -431,7 +418,6 @@ six = ">=1.13.0" name = "distlib" version = "0.3.6" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -443,7 +429,6 @@ files = [ name = "django" version = "4.1.9" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -464,7 +449,6 @@ bcrypt = ["bcrypt"] name = "django-cors-headers" version = "3.14.0" description = "django-cors-headers is a Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS)." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -479,7 +463,6 @@ Django = ">=3.2" name = "django-filter" version = "22.1" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -494,7 +477,6 @@ Django = ">=3.2" name = "django-money" version = "3.0.0" description = "Adds support for using money and currency fields in django models and forms. Uses py-moneyed as the money implementation." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -515,7 +497,6 @@ test = ["mixer", "pytest (>=3.1.0)", "pytest-cov", "pytest-django", "pytest-pyth name = "django-stubs" version = "4.2.0" description = "Mypy stubs for Django" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -539,7 +520,6 @@ compatible-mypy = ["mypy (>=1.2.0,<1.3)"] name = "django-stubs-ext" version = "4.2.0" description = "Monkey-patching and extensions for django-stubs" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -555,7 +535,6 @@ typing-extensions = "*" name = "django-types" version = "0.17.0" description = "Type stubs for Django" -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -567,7 +546,6 @@ files = [ name = "djangorestframework" version = "3.14.0" description = "Web APIs for Django, made easy." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -583,7 +561,6 @@ pytz = "*" name = "djangorestframework-camel-case" version = "1.4.2" description = "Camel case JSON support for Django REST framework." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -594,7 +571,6 @@ files = [ name = "djangorestframework-stubs" version = "1.8.0" description = "PEP-484 stubs for django-rest-framework" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -619,7 +595,6 @@ markdown = ["types-Markdown (>=0.1.5)"] name = "djlint" version = "1.19.14" description = "HTML Template Linter and Formatter" -category = "dev" optional = false python-versions = ">=3.7.2,<4.0.0" files = [ @@ -644,7 +619,6 @@ tqdm = ">=4.62.2,<5.0.0" name = "drf-extra-fields" version = "3.4.1" description = "Additional fields for Django Rest Framework." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -663,7 +637,6 @@ base64imagefield = ["Pillow (>=6.2.1)"] name = "drf-yasg" version = "1.21.5" description = "Automated generation of real Swagger/OpenAPI 2.0 schemas from Django Rest Framework code." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -689,7 +662,6 @@ validation = ["swagger-spec-validator (>=2.1.0)"] name = "editorconfig" version = "0.12.3" description = "EditorConfig File Locator and Interpreter for Python" -category = "dev" optional = false python-versions = "*" files = [ @@ -701,7 +673,6 @@ files = [ name = "factory-boy" version = "3.2.1" description = "A versatile test fixtures replacement based on thoughtbot's factory_bot for Ruby." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -720,7 +691,6 @@ doc = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"] name = "faker" version = "11.3.0" description = "Faker is a Python package that generates fake data for you." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -736,7 +706,6 @@ text-unidecode = "1.3" name = "filelock" version = "3.12.0" description = "A platform independent file lock." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -752,7 +721,6 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "p name = "flake8" version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -769,7 +737,6 @@ pyflakes = ">=2.5.0,<2.6.0" name = "flake8-django" version = "1.1.5" description = "Plugin to catch bad style specific to Django Projects." -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -784,7 +751,6 @@ flake8 = ">=3.8.4,<6" name = "frozendict" version = "2.3.8" description = "A simple immutable dictionary" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -831,7 +797,6 @@ files = [ name = "gitdb" version = "4.0.10" description = "Git Object Database" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -846,7 +811,6 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.31" description = "GitPython is a Python library used to interact with Git repositories" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -861,7 +825,6 @@ gitdb = ">=4.0.1,<5" name = "html-tag-names" version = "0.1.2" description = "List of known HTML tag names" -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -873,7 +836,6 @@ files = [ name = "html-void-elements" version = "0.1.0" description = "List of HTML void tag names." -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -885,7 +847,6 @@ files = [ name = "html5lib" version = "1.1" description = "HTML parser based on the WHATWG HTML specification" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -907,7 +868,6 @@ lxml = ["lxml"] name = "identify" version = "2.5.24" description = "File identification library for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -922,7 +882,6 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -934,7 +893,6 @@ files = [ name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -946,7 +904,6 @@ files = [ name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -964,7 +921,6 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "itypes" version = "1.2.0" description = "Simple immutable types for python." -category = "main" optional = false python-versions = "*" files = [ @@ -976,7 +932,6 @@ files = [ name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -994,7 +949,6 @@ i18n = ["Babel (>=2.7)"] name = "jsbeautifier" version = "1.14.7" description = "JavaScript unobfuscator and beautifier." -category = "dev" optional = false python-versions = "*" files = [ @@ -1009,7 +963,6 @@ six = ">=1.13.0" name = "lxml" version = "4.9.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -1102,7 +1055,6 @@ source = ["Cython (>=0.29.7)"] name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1162,7 +1114,6 @@ files = [ name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1174,7 +1125,6 @@ files = [ name = "multitasking" version = "0.0.11" description = "Non-blocking Python methods using decorators" -category = "main" optional = false python-versions = "*" files = [ @@ -1186,7 +1136,6 @@ files = [ name = "mypy" version = "1.3.0" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1233,7 +1182,6 @@ reports = ["lxml"] 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" files = [ @@ -1245,7 +1193,6 @@ files = [ name = "mysqlclient" version = "2.1.0" description = "Python interface to MySQL" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1260,7 +1207,6 @@ files = [ name = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -1275,7 +1221,6 @@ setuptools = "*" name = "numpy" version = "1.24.3" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1313,7 +1258,6 @@ files = [ name = "packaging" version = "23.1" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1325,7 +1269,6 @@ files = [ name = "pandas" version = "1.4.3" description = "Powerful data structures for data analysis, time series, and statistics" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1364,7 +1307,6 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1376,7 +1318,6 @@ files = [ name = "pbr" version = "5.11.1" description = "Python Build Reasonableness" -category = "dev" optional = false python-versions = ">=2.6" files = [ @@ -1388,7 +1329,6 @@ files = [ name = "pillow" version = "9.3.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1463,7 +1403,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "platformdirs" version = "3.5.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1479,7 +1418,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pre-commit" version = "2.15.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -1499,7 +1437,6 @@ virtualenv = ">=20.0.8" name = "py-moneyed" version = "2.0" description = "Provides Currency and Money classes for use in your Python code." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1519,7 +1456,6 @@ type-tests = ["mypy (>=0.812)", "pytest (>=2.3.0)", "pytest-mypy-plugins"] name = "pycodestyle" version = "2.9.1" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1531,7 +1467,6 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1543,7 +1478,6 @@ files = [ name = "pyflakes" version = "2.5.0" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1555,7 +1489,6 @@ files = [ name = "pyright" version = "1.1.296" description = "Command line wrapper for pyright" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1574,7 +1507,6 @@ dev = ["twine (>=3.4.1)"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -1589,7 +1521,6 @@ six = ">=1.5" name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -1601,7 +1532,6 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1651,7 +1581,6 @@ files = [ name = "regex" version = "2022.10.31" description = "Alternative regular expression module, to replace re." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1749,7 +1678,6 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1771,7 +1699,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "responses" version = "0.17.0" description = "A utility library for mocking out the `requests` Python library." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1791,7 +1718,6 @@ tests = ["coverage (>=3.7.1,<6.0.0)", "flake8", "mypy", "pytest (>=4.6)", "pytes name = "ruamel-yaml" version = "0.17.28" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "main" optional = false python-versions = ">=3" files = [ @@ -1810,7 +1736,6 @@ jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] name = "ruamel-yaml-clib" version = "0.2.7" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1857,7 +1782,6 @@ files = [ name = "sentry-sdk" version = "1.14.0" description = "Python client for Sentry (https://sentry.io)" -category = "main" optional = false python-versions = "*" files = [ @@ -1896,7 +1820,6 @@ tornado = ["tornado (>=5)"] name = "setuptools" version = "67.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1913,7 +1836,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( 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.*" files = [ @@ -1925,7 +1847,6 @@ files = [ name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1937,7 +1858,6 @@ files = [ name = "soupsieve" version = "2.4.1" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1949,7 +1869,6 @@ files = [ name = "sqlparse" version = "0.4.4" description = "A non-validating SQL parser." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1966,7 +1885,6 @@ test = ["pytest", "pytest-cov"] name = "stevedore" version = "5.1.0" description = "Manage dynamic plugins for Python applications" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1981,7 +1899,6 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "text-unidecode" version = "1.3" description = "The most basic Text::Unidecode port" -category = "dev" optional = false python-versions = "*" files = [ @@ -1993,7 +1910,6 @@ files = [ name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2005,7 +1921,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2017,7 +1932,6 @@ files = [ name = "tqdm" version = "4.65.0" description = "Fast, Extensible Progress Meter" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2038,7 +1952,6 @@ telegram = ["requests"] name = "types-pytz" version = "2023.3.0.0" description = "Typing stubs for pytz" -category = "dev" optional = false python-versions = "*" files = [ @@ -2050,7 +1963,6 @@ files = [ name = "types-pyyaml" version = "6.0.12.10" description = "Typing stubs for PyYAML" -category = "dev" optional = false python-versions = "*" files = [ @@ -2062,7 +1974,6 @@ files = [ name = "types-requests" version = "2.28.11.13" description = "Typing stubs for requests" -category = "dev" optional = false python-versions = "*" files = [ @@ -2077,7 +1988,6 @@ types-urllib3 = "<1.27" name = "types-urllib3" version = "1.26.25.13" description = "Typing stubs for urllib3" -category = "dev" optional = false python-versions = "*" files = [ @@ -2089,7 +1999,6 @@ files = [ name = "typing-extensions" version = "4.6.2" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2101,7 +2010,6 @@ files = [ name = "tzdata" version = "2023.3" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" files = [ @@ -2113,7 +2021,6 @@ files = [ name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2125,7 +2032,6 @@ files = [ name = "urllib3" version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -2142,7 +2048,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "virtualenv" version = "20.23.0" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2163,7 +2068,6 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" -category = "main" optional = false python-versions = "*" files = [ @@ -2175,7 +2079,6 @@ files = [ name = "yfinance" version = "0.2.12" description = "Download market data from Yahoo! Finance API" -category = "main" optional = false python-versions = "*" files = [ From 7f882327375c7ddaeb0542afcfa3b0b38fe21a87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 04:57:17 +0000 Subject: [PATCH 09/21] Bump word-wrap from 1.2.3 to 1.2.4 in /client Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] --- client/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/yarn.lock b/client/yarn.lock index a1575603..82adf7f0 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -7154,9 +7154,9 @@ why-is-node-running@^2.2.2: stackback "0.0.2" word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" + integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== wrap-ansi@^6.2.0: version "6.2.0" From 0100b05309d770ea86faf9f48e3579bd48cdd984 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Jul 2023 23:26:12 +0000 Subject: [PATCH 10/21] Bump certifi from 2023.5.7 to 2023.7.22 Bumps [certifi](https://github.com/certifi/python-certifi) from 2023.5.7 to 2023.7.22. - [Commits](https://github.com/certifi/python-certifi/compare/2023.05.07...2023.07.22) --- updated-dependencies: - dependency-name: certifi dependency-type: indirect ... Signed-off-by: dependabot[bot] --- poetry.lock | 109 ++-------------------------------------------------- 1 file changed, 4 insertions(+), 105 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0303b7e5..dc4ec0f7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "appdirs" version = "1.4.4" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = "*" files = [ @@ -16,7 +15,6 @@ files = [ name = "asgiref" version = "3.7.1" description = "ASGI specs, helper code, and adapters" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -34,7 +32,6 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "babel" version = "2.12.1" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -46,7 +43,6 @@ files = [ name = "bandit" version = "1.7.4" description = "Security oriented static analyser for python code." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -69,7 +65,6 @@ yaml = ["PyYAML"] name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -88,7 +83,6 @@ lxml = ["lxml"] name = "black" version = "23.1.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -135,21 +129,19 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "certifi" -version = "2023.5.7" +version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, - {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, ] [[package]] name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -226,7 +218,6 @@ pycparser = "*" name = "cfgv" version = "3.3.1" description = "Validate configuration and produce human readable error messages." -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -238,7 +229,6 @@ files = [ name = "charset-normalizer" version = "2.0.12" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.5.0" files = [ @@ -253,7 +243,6 @@ unicode-backport = ["unicodedata2"] name = "click" version = "8.1.3" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -268,7 +257,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -280,7 +268,6 @@ files = [ name = "coreapi" version = "2.3.3" description = "Python client library for Core API." -category = "main" optional = false python-versions = "*" files = [ @@ -298,7 +285,6 @@ uritemplate = "*" name = "coreschema" version = "0.0.4" description = "Core Schema." -category = "main" optional = false python-versions = "*" files = [ @@ -313,7 +299,6 @@ jinja2 = "*" name = "coverage" version = "6.2" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -373,7 +358,6 @@ toml = ["tomli"] name = "cryptography" version = "41.0.0" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -415,7 +399,6 @@ test-randomorder = ["pytest-randomly"] name = "cssbeautifier" version = "1.14.7" description = "CSS unobfuscator and beautifier." -category = "dev" optional = false python-versions = "*" files = [ @@ -431,7 +414,6 @@ six = ">=1.13.0" name = "distlib" version = "0.3.6" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -443,7 +425,6 @@ files = [ name = "django" version = "4.1.9" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -464,7 +445,6 @@ bcrypt = ["bcrypt"] name = "django-cors-headers" version = "3.14.0" description = "django-cors-headers is a Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS)." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -479,7 +459,6 @@ Django = ">=3.2" name = "django-filter" version = "22.1" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -494,7 +473,6 @@ Django = ">=3.2" name = "django-money" version = "3.0.0" description = "Adds support for using money and currency fields in django models and forms. Uses py-moneyed as the money implementation." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -515,7 +493,6 @@ test = ["mixer", "pytest (>=3.1.0)", "pytest-cov", "pytest-django", "pytest-pyth name = "django-stubs" version = "4.2.0" description = "Mypy stubs for Django" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -539,7 +516,6 @@ compatible-mypy = ["mypy (>=1.2.0,<1.3)"] name = "django-stubs-ext" version = "4.2.0" description = "Monkey-patching and extensions for django-stubs" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -555,7 +531,6 @@ typing-extensions = "*" name = "django-types" version = "0.17.0" description = "Type stubs for Django" -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -567,7 +542,6 @@ files = [ name = "djangorestframework" version = "3.14.0" description = "Web APIs for Django, made easy." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -583,7 +557,6 @@ pytz = "*" name = "djangorestframework-camel-case" version = "1.4.2" description = "Camel case JSON support for Django REST framework." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -594,7 +567,6 @@ files = [ name = "djangorestframework-stubs" version = "1.8.0" description = "PEP-484 stubs for django-rest-framework" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -619,7 +591,6 @@ markdown = ["types-Markdown (>=0.1.5)"] name = "djlint" version = "1.19.14" description = "HTML Template Linter and Formatter" -category = "dev" optional = false python-versions = ">=3.7.2,<4.0.0" files = [ @@ -644,7 +615,6 @@ tqdm = ">=4.62.2,<5.0.0" name = "drf-extra-fields" version = "3.4.1" description = "Additional fields for Django Rest Framework." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -663,7 +633,6 @@ base64imagefield = ["Pillow (>=6.2.1)"] name = "drf-yasg" version = "1.21.5" description = "Automated generation of real Swagger/OpenAPI 2.0 schemas from Django Rest Framework code." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -689,7 +658,6 @@ validation = ["swagger-spec-validator (>=2.1.0)"] name = "editorconfig" version = "0.12.3" description = "EditorConfig File Locator and Interpreter for Python" -category = "dev" optional = false python-versions = "*" files = [ @@ -701,7 +669,6 @@ files = [ name = "factory-boy" version = "3.2.1" description = "A versatile test fixtures replacement based on thoughtbot's factory_bot for Ruby." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -720,7 +687,6 @@ doc = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"] name = "faker" version = "11.3.0" description = "Faker is a Python package that generates fake data for you." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -736,7 +702,6 @@ text-unidecode = "1.3" name = "filelock" version = "3.12.0" description = "A platform independent file lock." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -752,7 +717,6 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "p name = "flake8" version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -769,7 +733,6 @@ pyflakes = ">=2.5.0,<2.6.0" name = "flake8-django" version = "1.1.5" description = "Plugin to catch bad style specific to Django Projects." -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -784,7 +747,6 @@ flake8 = ">=3.8.4,<6" name = "frozendict" version = "2.3.8" description = "A simple immutable dictionary" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -831,7 +793,6 @@ files = [ name = "gitdb" version = "4.0.10" description = "Git Object Database" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -846,7 +807,6 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.31" description = "GitPython is a Python library used to interact with Git repositories" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -861,7 +821,6 @@ gitdb = ">=4.0.1,<5" name = "html-tag-names" version = "0.1.2" description = "List of known HTML tag names" -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -873,7 +832,6 @@ files = [ name = "html-void-elements" version = "0.1.0" description = "List of HTML void tag names." -category = "dev" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -885,7 +843,6 @@ files = [ name = "html5lib" version = "1.1" description = "HTML parser based on the WHATWG HTML specification" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -907,7 +864,6 @@ lxml = ["lxml"] name = "identify" version = "2.5.24" description = "File identification library for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -922,7 +878,6 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -934,7 +889,6 @@ files = [ name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -946,7 +900,6 @@ files = [ name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -964,7 +917,6 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "itypes" version = "1.2.0" description = "Simple immutable types for python." -category = "main" optional = false python-versions = "*" files = [ @@ -976,7 +928,6 @@ files = [ name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -994,7 +945,6 @@ i18n = ["Babel (>=2.7)"] name = "jsbeautifier" version = "1.14.7" description = "JavaScript unobfuscator and beautifier." -category = "dev" optional = false python-versions = "*" files = [ @@ -1009,7 +959,6 @@ six = ">=1.13.0" name = "lxml" version = "4.9.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -1102,7 +1051,6 @@ source = ["Cython (>=0.29.7)"] name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1162,7 +1110,6 @@ files = [ name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1174,7 +1121,6 @@ files = [ name = "multitasking" version = "0.0.11" description = "Non-blocking Python methods using decorators" -category = "main" optional = false python-versions = "*" files = [ @@ -1186,7 +1132,6 @@ files = [ name = "mypy" version = "1.3.0" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1233,7 +1178,6 @@ reports = ["lxml"] 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" files = [ @@ -1245,7 +1189,6 @@ files = [ name = "mysqlclient" version = "2.1.0" description = "Python interface to MySQL" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1260,7 +1203,6 @@ files = [ name = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -1275,7 +1217,6 @@ setuptools = "*" name = "numpy" version = "1.24.3" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1313,7 +1254,6 @@ files = [ name = "packaging" version = "23.1" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1325,7 +1265,6 @@ files = [ name = "pandas" version = "1.4.3" description = "Powerful data structures for data analysis, time series, and statistics" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1364,7 +1303,6 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1376,7 +1314,6 @@ files = [ name = "pbr" version = "5.11.1" description = "Python Build Reasonableness" -category = "dev" optional = false python-versions = ">=2.6" files = [ @@ -1388,7 +1325,6 @@ files = [ name = "pillow" version = "9.3.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1463,7 +1399,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "platformdirs" version = "3.5.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1479,7 +1414,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pre-commit" version = "2.15.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -1499,7 +1433,6 @@ virtualenv = ">=20.0.8" name = "py-moneyed" version = "2.0" description = "Provides Currency and Money classes for use in your Python code." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1519,7 +1452,6 @@ type-tests = ["mypy (>=0.812)", "pytest (>=2.3.0)", "pytest-mypy-plugins"] name = "pycodestyle" version = "2.9.1" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1531,7 +1463,6 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1543,7 +1474,6 @@ files = [ name = "pyflakes" version = "2.5.0" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1555,7 +1485,6 @@ files = [ name = "pyright" version = "1.1.296" description = "Command line wrapper for pyright" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1574,7 +1503,6 @@ dev = ["twine (>=3.4.1)"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -1589,7 +1517,6 @@ six = ">=1.5" name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -1601,7 +1528,6 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1651,7 +1577,6 @@ files = [ name = "regex" version = "2022.10.31" description = "Alternative regular expression module, to replace re." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1749,7 +1674,6 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1771,7 +1695,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "responses" version = "0.17.0" description = "A utility library for mocking out the `requests` Python library." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1791,7 +1714,6 @@ tests = ["coverage (>=3.7.1,<6.0.0)", "flake8", "mypy", "pytest (>=4.6)", "pytes name = "ruamel-yaml" version = "0.17.28" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "main" optional = false python-versions = ">=3" files = [ @@ -1810,7 +1732,6 @@ jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] name = "ruamel-yaml-clib" version = "0.2.7" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1857,7 +1778,6 @@ files = [ name = "sentry-sdk" version = "1.14.0" description = "Python client for Sentry (https://sentry.io)" -category = "main" optional = false python-versions = "*" files = [ @@ -1896,7 +1816,6 @@ tornado = ["tornado (>=5)"] name = "setuptools" version = "67.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1913,7 +1832,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( 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.*" files = [ @@ -1925,7 +1843,6 @@ files = [ name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1937,7 +1854,6 @@ files = [ name = "soupsieve" version = "2.4.1" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1949,7 +1865,6 @@ files = [ name = "sqlparse" version = "0.4.4" description = "A non-validating SQL parser." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1966,7 +1881,6 @@ test = ["pytest", "pytest-cov"] name = "stevedore" version = "5.1.0" description = "Manage dynamic plugins for Python applications" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1981,7 +1895,6 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "text-unidecode" version = "1.3" description = "The most basic Text::Unidecode port" -category = "dev" optional = false python-versions = "*" files = [ @@ -1993,7 +1906,6 @@ files = [ name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2005,7 +1917,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2017,7 +1928,6 @@ files = [ name = "tqdm" version = "4.65.0" description = "Fast, Extensible Progress Meter" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2038,7 +1948,6 @@ telegram = ["requests"] name = "types-pytz" version = "2023.3.0.0" description = "Typing stubs for pytz" -category = "dev" optional = false python-versions = "*" files = [ @@ -2050,7 +1959,6 @@ files = [ name = "types-pyyaml" version = "6.0.12.10" description = "Typing stubs for PyYAML" -category = "dev" optional = false python-versions = "*" files = [ @@ -2062,7 +1970,6 @@ files = [ name = "types-requests" version = "2.28.11.13" description = "Typing stubs for requests" -category = "dev" optional = false python-versions = "*" files = [ @@ -2077,7 +1984,6 @@ types-urllib3 = "<1.27" name = "types-urllib3" version = "1.26.25.13" description = "Typing stubs for urllib3" -category = "dev" optional = false python-versions = "*" files = [ @@ -2089,7 +1995,6 @@ files = [ name = "typing-extensions" version = "4.6.2" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2101,7 +2006,6 @@ files = [ name = "tzdata" version = "2023.3" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" files = [ @@ -2113,7 +2017,6 @@ files = [ name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2125,7 +2028,6 @@ files = [ name = "urllib3" version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -2142,7 +2044,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "virtualenv" version = "20.23.0" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2163,7 +2064,6 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" -category = "main" optional = false python-versions = "*" files = [ @@ -2175,7 +2075,6 @@ files = [ name = "yfinance" version = "0.2.12" description = "Download market data from Yahoo! Finance API" -category = "main" optional = false python-versions = "*" files = [ From ac2b34a71941de0e8b0fa2f976cdb49b9e02f8ee Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sat, 29 Jul 2023 13:45:16 +0200 Subject: [PATCH 11/21] Use docker compose and env files --- .dockerignore | 8 +- .env.sample | 67 ++++++++++++++++ .gitignore | 5 ++ .vscode/launch.json | 12 ++- .vscode/settings.json | 4 - Dockerfile | 60 ++++----------- Dockerfile.dev | 40 ---------- .../settings}/__init__.py | 0 .../{settings.py => settings/common.py} | 76 ++++++------------- backend/buho_backend/settings/dev.py | 1 + backend/buho_backend/settings/prod.py | 1 + backend/buho_backend/settings/test.py | 72 ++++++++++++++++++ backend/buho_backend/settings_loader.py | 21 +++++ backend/buho_backend/wsgi.py | 5 +- backend/config/config.sample.py | 48 ------------ backend/config/mysql.sample.conf | 7 -- backend/manage.py | 5 +- docker-compose.yml | 56 ++++++++++++++ docker.client.Dockerfile | 22 ++++++ .../create-initial-admin-user.md | 31 -------- docs/docs/deploy-application/deploy-docker.md | 4 +- .../development/using-virtual-environment.md | 20 ++--- etc/entrypoint.sh | 31 ++++++++ nginx-app.conf => nginx/nginx.conf | 43 +++++------ poetry.lock | 38 +++++++++- prestart.sh | 5 -- pyproject.toml | 2 + uwsgi.ini | 20 ----- volumes/.gitkeep | 0 29 files changed, 403 insertions(+), 301 deletions(-) create mode 100644 .env.sample delete mode 100644 Dockerfile.dev rename backend/{config => buho_backend/settings}/__init__.py (100%) rename backend/buho_backend/{settings.py => settings/common.py} (76%) create mode 100644 backend/buho_backend/settings/dev.py create mode 100644 backend/buho_backend/settings/prod.py create mode 100644 backend/buho_backend/settings/test.py create mode 100644 backend/buho_backend/settings_loader.py delete mode 100644 backend/config/config.sample.py delete mode 100644 backend/config/mysql.sample.conf create mode 100644 docker-compose.yml create mode 100644 docker.client.Dockerfile delete mode 100644 docs/docs/deploy-application/create-initial-admin-user.md create mode 100644 etc/entrypoint.sh rename nginx-app.conf => nginx/nginx.conf (55%) delete mode 100644 prestart.sh delete mode 100644 uwsgi.ini create mode 100644 volumes/.gitkeep diff --git a/.dockerignore b/.dockerignore index 1c42e109..bccffd58 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,15 +7,21 @@ pip-log.txt .tox .coverage .coverage.* +.coveragerc .cache nosetests.xml coverage.xml *.cover *.log +*mypy.ini .mypy_cache .pytest_cache +.pylintrc_old .hypothesis node_modules client/node_modules client/build -client/dist \ No newline at end of file +client/dist +.venv +.git +.gitingore diff --git a/.env.sample b/.env.sample new file mode 100644 index 00000000..6fad5495 --- /dev/null +++ b/.env.sample @@ -0,0 +1,67 @@ +PYTHONPATH=${PYTHONPATH}:${PWD} +# NGINX port where the application will listen for connections +# Default: 8080 (integer) +NGINX_PORT=8080 +# List of allowed hosts to access the application +# Default: 0.0.0.0,localhost +ALLOWED_HOSTS=0.0.0.0,localhost,127.0.0.1 +# Origins allowed by CORS to access the application API +# Default: http://localhost:3000,http://127.0.0.1:3000 +CORS_ALLOWED_ORIGINS = http://localhost:3000,http://127.0.0.1:3000 +# Debug mode enabled +# Default: true +DEBUG=true +# Log level +# Default: "DEBUG" (Other options: "INFO", "WARNING", "ERROR", "CRITICAL") +LOG_LEVEL=DEBUG +# Whether or not to log to file +# Default: false +LOG_TO_FILE=false +# Active handlers for the logger +# Default: console. Other options: console,file +LOGGER_HANDLERS=console +# Path to the log files +# Default: "". Other options: "/usr/src/logs/" +LOGS_ROOT=/your/path/to/buho-stocks/data/ +# Type of database +# VALUES: sqlite | mysql | postgresql +DB_TYPE=sqlite +# MySQL root user password +# Default: ex4mpl3 (string) +DB_ROOT_PASSWORD=ex4mpl3 +# Database name +# Default: buho_stocks (string) +DB_NAME=buho_stocks +# Database user +# Default: root (string) +DB_USER=root +# Database password +# Default: example (string) +DB_PASSWORD=example +# Database hostname +# Default: db (string) +DB_HOSTNAME=db +# Database port +# Default: 3306 (integer) +DB_PORT=3306 +# Path of the database +# Default: /your/path/to/buho-stocks/data/db.sqlite3 +DATABASE_SQLITE_PATH=/your/path/to/buho-stocks/data/db.sqlite3 +# Secret key for the application. Can be generated by os.urandom(20). +# It is generated automatically when the container is created for the first time +SECRET_KEY=REPLACE_SECRET_KEY +# List of allowed hosts to access the application +# Default: 0.0.0.0,localhost +ALLOWED_HOSTS=0.0.0.0,localhost,127.0.0.1 +# Path to the media files uploaded by the users +# Default: /your/path/to/buho-stocks/media/ +MEDIA_ROOT=/your/path/to/buho-stocks/media/ +# Timezone of the application +# Default: UTC +TIME_ZONE=UTC +# Enable or disable Sentry +# Default: False +ENABLE_SENTRY=false +# Sentry DSN (Data Source Name) in order to send your errors to Sentry +# Default: "" (string) +SENTRY_DSN=https://863c26cf130741e594cb5d93e3339568@o301826.ingest.sentry.io/1727901 diff --git a/.gitignore b/.gitignore index f7d674cb..da48494b 100644 --- a/.gitignore +++ b/.gitignore @@ -126,3 +126,8 @@ mysql.conf media client/src/config.js client/.env.production +volumes/mariadb_data +volumes/static +volumes/media +volumes/logs +.env.prod diff --git a/.vscode/launch.json b/.vscode/launch.json index c5276135..01fda4bf 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -19,7 +19,10 @@ "request": "launch", "program": "${workspaceFolder}/backend/manage.py", "args": ["runserver", "0.0.0.0:8001"], - "django": true + "django": true, + "env": { + "DJANGO_ENV": "development" + } }, { @@ -29,14 +32,17 @@ "runtimeExecutable": "yarn", "runtimeArgs": ["start"], "cwd": "${workspaceRoot}/client", - "console": "integratedTerminal" + "console": "integratedTerminal", }, { "name": "Python: Test", "type": "python", "request": "launch", "program": "${workspaceFolder}/backend/manage.py", - "args": ["test"] + "args": ["test"], + "env": { + "DJANGO_ENV": "test" + } } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index e7083503..d258c379 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -22,9 +22,6 @@ "python.analysis.completeFunctionParens": true, "python.analysis.autoImportCompletions": true, "python.analysis.useLibraryCodeForTypes": true, - //"python.analysis.inlayHints.variableTypes": true, - //"python.analysis.inlayHints.functionReturnTypes": true, - //"python.analysis.inlayHints.pytestParameters": true, "python.analysis.ignore": ["**/site-packages/**/*.py", "**/migrations/*.py"], "[python]": { "editor.codeActionsOnSave": { @@ -43,5 +40,4 @@ "[jinja-html]": { "editor.defaultFormatter": "monosans.djlint" }, - "python.pythonPath": "python" } diff --git a/Dockerfile b/Dockerfile index 1bbf9650..5627b6ad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,35 +1,21 @@ -FROM tiangolo/uwsgi-nginx:python3.10 +FROM python:3.10-slim -RUN apt-get update -RUN apt-get -y install curl gnupg -RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - -RUN apt-get -y install nodejs - -VOLUME /usr/src/data -VOLUME /usr/src/media - -RUN npm install --global yarn - -# set work directory WORKDIR /usr/src/app -# set environment variables +ENV PYTHONPATH "${PYTHONPATH}:/usr/src" +ENV PIP_DISABLE_PIP_VERSION_CHECK 1 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 -ENV PYTHONPATH "${PYTHONPATH}:/usr/src" -ENV LISTEN_PORT 34800 -ENV UWSGI_INI /usr/src/uwsgi.ini -# The following environment variables are used by Poetry to install dependencies + ENV POETRY_VERSION 1.5.0 ENV POETRY_HOME /opt/poetry ENV POETRY_VIRTUALENVS_IN_PROJECT true -ENV POETRY_CACHE_DIR ${WORKING_DIR}/.cache -ENV VIRTUAL_ENVIRONMENT_PATH ${WORKING_DIR}/.venv +ENV POETRY_CACHE_DIR ${WORKDIR}/.cache +ENV VIRTUAL_ENVIRONMENT_PATH ${WORKDIR}/.venv - -COPY ./uwsgi.ini /usr/src/uwsgi.ini -COPY ./nginx-app.conf /etc/nginx/conf.d/custom.conf -COPY ./prestart.sh /app/prestart.sh +# Required to have netcat-openbsd +RUN apt-get update +RUN apt-get install default-libmysqlclient-dev netcat-openbsd gcc -y # Install Poetry and dependencies COPY pyproject.toml ./ @@ -38,29 +24,11 @@ COPY poetry.lock ./ # Using Poetry to install dependencies without requiring the project main files to be present RUN pip install poetry==${POETRY_VERSION} && poetry install --only main --no-root --no-directory -WORKDIR /usr/src/client -COPY ./client/package.json /usr/src/client/package.json -COPY ./client/yarn.lock /usr/src/client/yarn.lock -COPY ./client/yarn.lock /usr/src/client/vite.config.ts -RUN yarn --production --pure-lockfile -COPY ./client /usr/src/client - -RUN yarn build -RUN rm -rf /usr/src/client/node_modules/ -RUN mkdir /app/frontend/ -RUN mv ./dist/* /app/frontend/ - -WORKDIR /usr/src/app -COPY ./backend /usr/src/app - -RUN mkdir /usr/src/media/ -RUN mkdir /usr/src/logs/ -# copy project -COPY ./backend/config/config.sample.py /usr/src/app/config/config.py - -EXPOSE 34800 +COPY ./backend $WORKDIR +COPY ./etc /usr/src/etc -RUN poetry run python manage.py collectstatic -RUN sed -i -e "s/REPLACE_SECRET_KEY/$(od -x /dev/urandom | head -1 | awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}')/g" /usr/src/app/config/config.py +RUN chmod +x /usr/src/etc/entrypoint.sh +EXPOSE 8000 +ENTRYPOINT ["/usr/src/etc/entrypoint.sh"] diff --git a/Dockerfile.dev b/Dockerfile.dev deleted file mode 100644 index 87f82e5f..00000000 --- a/Dockerfile.dev +++ /dev/null @@ -1,40 +0,0 @@ -FROM tiangolo/uwsgi-nginx:python3.10 -EXPOSE 8000 3000 - -# https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/common.md -COPY .devcontainer/library-scripts/common-debian.sh /tmp/library-scripts/ -RUN apt-get update && bash /tmp/library-scripts/common-debian.sh - -RUN apt-get update -RUN apt-get -y install curl gnupg -RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - -RUN apt-get -y install nodejs -RUN npm install - -RUN npm install --global yarn - -# set work directory -WORKDIR /usr/src/app - -# set environment variables -ENV PYTHONDONTWRITEBYTECODE 1 -ENV PYTHONUNBUFFERED 1 -ENV PYTHONPATH "${PYTHONPATH}:/usr/src:/workspace/backend" -ENV LISTEN_PORT 8000 - -# install dependencies -RUN pip install --upgrade pip - -COPY ./requirements.txt /usr/src -RUN pip install --no-cache-dir --upgrade -r /usr/src/requirements.txt - -RUN mkdir /usr/src/media/ -RUN mkdir /usr/src/logs/ -# copy project -COPY ./backend /usr/src/app -COPY ./data/db.sqlite3.base /usr/src/data/db.sqlite3 -RUN mv /usr/src/app/config/config.sample.py /usr/src/app/config/config.py - -RUN python manage.py collectstatic - -RUN sed -i -e "s/REPLACE_SECRET_KEY/$(od -x /dev/urandom | head -1 | awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}')/g" /usr/src/app/config/config.py \ No newline at end of file diff --git a/backend/config/__init__.py b/backend/buho_backend/settings/__init__.py similarity index 100% rename from backend/config/__init__.py rename to backend/buho_backend/settings/__init__.py diff --git a/backend/buho_backend/settings.py b/backend/buho_backend/settings/common.py similarity index 76% rename from backend/buho_backend/settings.py rename to backend/buho_backend/settings/common.py index a064e015..25e509d3 100644 --- a/backend/buho_backend/settings.py +++ b/backend/buho_backend/settings/common.py @@ -14,7 +14,9 @@ from pathlib import Path import sentry_sdk -from config import config + +# from decouple import Config, RepositoryEnv +from decouple import config from django.db.models import ForeignKey from django.db.models.manager import BaseManager from django.db.models.query import QuerySet @@ -28,19 +30,19 @@ cls.__class_getitem__ = classmethod(lambda cls, *args, **kwargs: cls) # type: ignore [attr-defined] # Build paths inside the project like this: BASE_DIR / 'subdir'. -BASE_DIR = Path(__file__).resolve().parent.parent - +BASE_DIR = Path(__file__).parent.parent # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = config.SECRET_KEY +SECRET_KEY = config("SECRET_KEY") # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = config.DEBUG +DEBUG = config("DEBUG", default=False, cast=bool) +TEMPLATE_DEBUG = DEBUG -ALLOWED_HOSTS = config.ALLOWED_HOSTS +ALLOWED_HOSTS = config("ALLOWED_HOSTS", cast=lambda v: [s.strip() for s in v.split(",")]) # Application definition @@ -125,6 +127,8 @@ WSGI_APPLICATION = "buho_backend.wsgi.application" +DB_TYPE = config("DB_TYPE") +SQLITE_DB_PATH = config("DATABASE_SQLITE_PATH", default="/usr/src/data/db.sqlite3") # Database # https://docs.djangoproject.com/en/3.1/ref/settings/#databases @@ -132,16 +136,18 @@ DATABASES = { "default": { "ENGINE": "django.db.backends.sqlite3", - "NAME": config.DATABASE_SQLITE_PATH, + "NAME": SQLITE_DB_PATH, } } -if config.DATABASE_TYPE == "mysql": +if DB_TYPE == "mysql": DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", - "OPTIONS": { - "read_default_file": config.DATABASE_MYSQL_CONFIG_PATH, - }, + "NAME": config("DB_NAME", default="buho_stocks"), + "USER": config("DB_USER", default="root"), + "PASSWORD": config("DB_PASSWORD", default="example"), + "HOST": config("DB_HOST", default="db"), + "PORT": config("DB_PORT", default=3306, cast=int), } } DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" @@ -170,7 +176,7 @@ LANGUAGE_CODE = "en-us" -TIME_ZONE = config.TIME_ZONE +TIME_ZONE = config("TIME_ZONE") USE_I18N = True @@ -186,51 +192,15 @@ STATIC_ROOT = "/app/static/" MEDIA_URL = "/media/" -MEDIA_ROOT = config.MEDIA_ROOT +MEDIA_ROOT = config("MEDIA_ROOT") SWAGGER_SETTINGS = {} -LOGGING = { - "version": 1, - "disable_existing_loggers": False, - "formatters": { - "file": { - "format": "{levelname} | {asctime} | {module}:{lineno} | {process:d} | {thread:d} | {message}", - "style": "{", - }, - "console": { - "format": "{levelname} | {asctime} | {message} | {pathname}:{lineno} | {module} | {funcName}", - "style": "{", - }, - }, - "handlers": { - "console": {"class": "logging.StreamHandler", "formatter": "console"}, - "file": { - "level": "DEBUG", - "class": "logging.handlers.RotatingFileHandler", - "formatter": "file", - "maxBytes": 15728640, # 1024 * 1024 * 15B = 15MB - "backupCount": 10, - "filename": config.LOGS_ROOT + "debug.log", - }, - }, - "loggers": { - "*": { - "handlers": config.LOGGER_HANDLERS, - "level": "ERROR", - "propagate": True, - }, - "buho_backend": { - "handlers": config.LOGGER_HANDLERS, - "level": config.LOG_LEVEL, - "propagate": True, - }, - }, -} +LOGS_ROOT = config("LOGS_ROOT") -if config.ENABLE_SENTRY: +if config("ENABLE_SENTRY", default=False, cast=bool): sentry_sdk.init( - dsn=config.SENTRY_DSN, + dsn=config("SENTRY_DSN", default="", cast=str), integrations=[ DjangoIntegration(), ], @@ -243,4 +213,4 @@ send_default_pii=True, ) -CORS_ALLOWED_ORIGINS = config.CORS_ALLOWED_ORIGINS +CORS_ALLOWED_ORIGINS = config("CORS_ALLOWED_ORIGINS", cast=lambda v: [s.strip() for s in v.split(",")]) diff --git a/backend/buho_backend/settings/dev.py b/backend/buho_backend/settings/dev.py new file mode 100644 index 00000000..55e5f844 --- /dev/null +++ b/backend/buho_backend/settings/dev.py @@ -0,0 +1 @@ +from .common import * diff --git a/backend/buho_backend/settings/prod.py b/backend/buho_backend/settings/prod.py new file mode 100644 index 00000000..55e5f844 --- /dev/null +++ b/backend/buho_backend/settings/prod.py @@ -0,0 +1 @@ +from .common import * diff --git a/backend/buho_backend/settings/test.py b/backend/buho_backend/settings/test.py new file mode 100644 index 00000000..deec8800 --- /dev/null +++ b/backend/buho_backend/settings/test.py @@ -0,0 +1,72 @@ +import os + +from .common import * + +# Override or add settings specific to the testing environment +DEBUG = False +ALLOWED_HOSTS = [] +DB_TYPE = "sqlite" +SQLITE_DB_PATH = path.join(BASE_DIR.parent.parent, "data", "db_test.sqlite3") +LOGS_ROOT = path.join(BASE_DIR.parent.parent, "data") +LOG_LEVEL = "INFO" +LOGGER_HANDLERS = ["console"] +DATABASES = { + "default": { + "ENGINE": "django.db.backends.sqlite3", + "NAME": SQLITE_DB_PATH, + } +} + +LOGGING = { + "version": 1, + "disable_existing_loggers": False, + "formatters": { + "file": { + "format": "{levelname} | {asctime} | {module}:{lineno} | {process:d} | {thread:d} | {message}", + "style": "{", + }, + "console": { + "format": "{levelname} | {asctime} | {message} | {pathname}:{lineno} | {module} | {funcName}", + "style": "{", + }, + }, + "handlers": { + "console": {"class": "logging.StreamHandler", "formatter": "console"}, + "file": { + "level": "DEBUG", + "class": "logging.handlers.RotatingFileHandler", + "formatter": "file", + "maxBytes": 15728640, # 1024 * 1024 * 15B = 15MB + "backupCount": 10, + "filename": os.path.join(LOGS_ROOT, "debug.log"), + }, + "file": { + "level": "INFO", + "class": "logging.handlers.RotatingFileHandler", + "formatter": "file", + "maxBytes": 15728640, # 1024 * 1024 * 15B = 15MB + "backupCount": 10, + "filename": os.path.join(LOGS_ROOT, "info.log"), + }, + "file": { + "level": "ERROR", + "class": "logging.handlers.RotatingFileHandler", + "formatter": "file", + "maxBytes": 15728640, # 1024 * 1024 * 15B = 15MB + "backupCount": 10, + "filename": os.path.join(LOGS_ROOT, "error.log"), + }, + }, + "loggers": { + "*": { + "handlers": LOGGER_HANDLERS, + "level": "ERROR", + "propagate": True, + }, + "buho_backend": { + "handlers": LOGGER_HANDLERS, + "level": LOG_LEVEL, + "propagate": True, + }, + }, +} diff --git a/backend/buho_backend/settings_loader.py b/backend/buho_backend/settings_loader.py new file mode 100644 index 00000000..e70c830b --- /dev/null +++ b/backend/buho_backend/settings_loader.py @@ -0,0 +1,21 @@ +import os + +from django.core.exceptions import ImproperlyConfigured + + +def get_settings_module(): + env = os.environ.get("DJANGO_ENV") + default_env = "buho_backend.settings.dev" + + if not env: + print("Please set the DJANGO_ENV environment variable. Use 'dev', 'test', or 'prod'. Falling back to 'dev'.") + return default_env + + if env == "dev": + return default_env + elif env == "test": + return "buho_backend.settings.test" + elif env == "prod": + return "buho_backend.settings.prod" + else: + raise ImproperlyConfigured("Invalid value for DJANGO_ENV. Use 'dev', 'test', or 'prod'.") diff --git a/backend/buho_backend/wsgi.py b/backend/buho_backend/wsgi.py index 5dcd535e..4c6d4c4f 100644 --- a/backend/buho_backend/wsgi.py +++ b/backend/buho_backend/wsgi.py @@ -9,8 +9,11 @@ import os +from buho_backend.settings_loader import get_settings_module from django.core.wsgi import get_wsgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'buho_backend.settings') +settings_module = get_settings_module() +os.environ.setdefault("DJANGO_SETTINGS_MODULE", settings_module) + application = get_wsgi_application() diff --git a/backend/config/config.sample.py b/backend/config/config.sample.py deleted file mode 100644 index c4582fee..00000000 --- a/backend/config/config.sample.py +++ /dev/null @@ -1,48 +0,0 @@ -# Debug mode enabled -# Default: False -DEBUG = False -# Log level -# Default: "DEBUG" (Other options: "INFO", "WARNING", "ERROR", "CRITICAL") -LOG_LEVEL = "DEBUG" -# Whether or not to log to file -# Default: False -LOG_TO_FILE = False -# Active handlers for the logger -# Default:["console"]. Other options: ["console", "file"] -LOGGER_HANDLERS = ["console"] -# Path to the log files -# Default: "". Other options: "/usr/src/logs/" -LOGS_ROOT = "" -# Type of database -# VALUES: sqlite | mysql | postgresql -DATABASE_TYPE = "sqlite" -# Path of the database -# Default: "/usr/src/data/db.sqlite3" -DATABASE_SQLITE_PATH = "/usr/src/data/db.sqlite3" -# Path to the mysql.conf file -# Default: "/usr/src/data/mysql.conf" -DATABASE_MYSQL_CONFIG_PATH = "/usr/src/app/config/mysql.conf" -# Secret key for the application. Can be generated by os.urandom(20). -# It is generated automatically when the container is created for the first time -SECRET_KEY = "REPLACE_SECRET_KEY" # nosec -# List of allowed hosts to access the application -# Default: ['0.0.0.0', 'localhost'] -ALLOWED_HOSTS = ["0.0.0.0", "localhost", "127.0.0.1"] # nosec -# Path to the media files uploaded by the users -# Default: "/usr/src/media/" -MEDIA_ROOT = "/usr/src/media/" -# Timezone of the application -# Default: "UTC" -TIME_ZONE = "UTC" -# -# https://sentry.io -SENTRY_DSN = "https://863c26cf130741e594cb5d93e3339568@o301826.ingest.sentry.io/1727901" -# Enable or disable Sentry -# Default: False -ENABLE_SENTRY = True -# Set the hostname of your application -# Default: ["http://localhost:3000", "http://127.0.0.1:3000"] -CORS_ALLOWED_ORIGINS = [ - "http://localhost:3000", - "http://127.0.0.1:3000", -] diff --git a/backend/config/mysql.sample.conf b/backend/config/mysql.sample.conf deleted file mode 100644 index 021f281d..00000000 --- a/backend/config/mysql.sample.conf +++ /dev/null @@ -1,7 +0,0 @@ -[client] -database = NAME -user = USER -password = PASSWORD -default-character-set = utf8 -host = HOSTNAME OR IP -port = PORT \ No newline at end of file diff --git a/backend/manage.py b/backend/manage.py index 105842a6..d3bf85e5 100755 --- a/backend/manage.py +++ b/backend/manage.py @@ -3,10 +3,13 @@ import os import sys +from buho_backend.settings_loader import get_settings_module + def main(): """Run administrative tasks.""" - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "buho_backend.settings") + settings_module = get_settings_module() + os.environ.setdefault("DJANGO_SETTINGS_MODULE", settings_module) try: from django.core.management import execute_from_command_line diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..23c98937 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,56 @@ +version: '3' +services: + backend: + build: . + restart: always + command: gunicorn buho_backend.wsgi:application --bind 0.0.0.0:8000 + volumes: + - ./volumes/logs:/app/logs + - ./volumes/static:/app/static + - ./volumes/media:/app/media + env_file: + - ./.env.prod + environment: + - DJANGO_ENV=prod + expose: + - 8000 + depends_on: + - redis + - db + redis: + image: redis:7 +# celery: +# build: . +# restart: always +# command: celery -A config worker -l info +# volumes: +# - .:/code +# env_file: +# - ./.env +# depends_on: +# - db +# - redis +# - web + client: + build: + context: . + dockerfile: docker.client.Dockerfile + restart: always + ports: + - ${NGINX_PORT}:80 + volumes: + - ./volumes/static:/app/static + - ./volumes/media:/app/media + depends_on: + - backend + db: + image: mariadb:10 + restart: always + volumes: + - ./volumes/mariadb_data:/var/lib/mysql + environment: + MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} + MARIADB_DATABASE: ${DB_NAME} + MARIADB_USER: ${DB_USERNAME} + MARIADB_PASSWORD: ${DB_PASSWORD} + MARIADB_DB: ${DB_NAME} diff --git a/docker.client.Dockerfile b/docker.client.Dockerfile new file mode 100644 index 00000000..3ad5877f --- /dev/null +++ b/docker.client.Dockerfile @@ -0,0 +1,22 @@ +FROM node:16-alpine as builder +WORKDIR /app +COPY ./client/package*.json ./ +RUN npm install + +ENV VITE_ENV=production +ENV VITE_PORT= +ENV VITE_API_URL= + +RUN ls -la +COPY ./client ./ +RUN npm run build + +FROM nginx:stable-alpine +WORKDIR /usr/share/nginx/html +RUN rm -rf ./* + +RUN rm /etc/nginx/conf.d/default.conf +COPY ./nginx/nginx.conf /etc/nginx/conf.d + +COPY --from=builder /app/dist . +ENTRYPOINT [ "nginx", "-g", "daemon off;" ] \ No newline at end of file diff --git a/docs/docs/deploy-application/create-initial-admin-user.md b/docs/docs/deploy-application/create-initial-admin-user.md deleted file mode 100644 index e091b22c..00000000 --- a/docs/docs/deploy-application/create-initial-admin-user.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Create the initial admin user - -:::info - -This step is deprecated and is not needed anymore since version `0.100.0`. - -::: - -First of all, login into the container and create the super user for the admin dashboard following the on screen steps: - -```bash -docker run \ - -it \ - -v $HOME/buho-prod/media/:/usr/src/media:rw \ - -v $HOME/buho-prod/data/:/usr/src/app/config:rw \ - bocabitlabs/buho-stocks:latest \ - bash -``` - -```bash -python manage.py createsuperuser -``` - -Once created, go to `/admin/` and login. You will be prompted to set up the 2FA for your account. After setting it up, you will be redirected to the "Account Security" page, where you can get your recovery codes or disable 2 factor authentication. - -If you access `/admin/` again, you will be able to access the admin panel. - diff --git a/docs/docs/deploy-application/deploy-docker.md b/docs/docs/deploy-application/deploy-docker.md index 55c19880..f2ca2cda 100644 --- a/docs/docs/deploy-application/deploy-docker.md +++ b/docs/docs/deploy-application/deploy-docker.md @@ -1,7 +1,7 @@ --- sidebar_position: 2 --- -# Deploy using the command line +# Deploy using Docker You can deploy this application using Docker and the command line. To do so, follow these steps. @@ -13,6 +13,8 @@ You can deploy this application using Docker and the command line. To do so, fol Please refer to [Choosing a database docs](/docs/development/database-selection) to select and run a database for the application. +You can choose between `SQLite` and `MySQL`/`MariaDB`. + ### Configuring the volumes Before starting, keep in mind that the application uses 2 volumes to persist the config and the uploads. Create a volume for each of these folders and map them to the following locations. diff --git a/docs/docs/development/using-virtual-environment.md b/docs/docs/development/using-virtual-environment.md index 7e2042f0..51c4ecd0 100644 --- a/docs/docs/development/using-virtual-environment.md +++ b/docs/docs/development/using-virtual-environment.md @@ -8,29 +8,21 @@ sidebar_position: 4 Use a virtual environment: ```bash -python -m venv env +poetry install ``` ```bash -source env/bin/activate +source ./venv/bin/activate ``` -### Rename the config files and put them in the volumes +### Create a .env file -- `backend/config/config.sample.py`: Application's configuration. - - Must be renamed to `config.py` -- `backend/config/mysql.sample.conf`: Database configuration in case you want to use Mysql. - - Must be renamed to `mysql.conf` +Create an `.env` on the root of the project by copying the content of `.env.sample` and populate its values to the desired ones. ### Install the dependencies ``` -pip install -r requirement.txt -``` - -### Install the dev dependencies -``` -pip install -r requirement.dev.txt +poetry install ``` ### Running the initial migrations @@ -59,7 +51,7 @@ cd client ``` ```bash -yarn +yarn install ``` ### Running the application's frontend diff --git a/etc/entrypoint.sh b/etc/entrypoint.sh new file mode 100644 index 00000000..b1090c87 --- /dev/null +++ b/etc/entrypoint.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +# Function to check if MariaDB is reachable +check_db_connection() { + nc -zv "$DB_HOSTNAME" "$DB_PORT" &> /dev/null +} + +if [ "$DB_TYPE" = "mysql" ] || [ "$DB_TYPE" = "postgresql" ]; then + echo 'Waiting for database...' + while ! check_db_connection; do + echo "Database is not reachable yet. Waiting 1 second..." + sleep 1 + done + echo 'Database started!' +fi + +echo 'Load virtual env...' +. /usr/src/app/.venv/bin/activate +echo 'Virtual env loaded!' + +echo 'Running migrations...' +python manage.py migrate +echo 'Migrations finished!' + +echo 'Collecting static files...' +python manage.py collectstatic --no-input +echo 'Static files collected!' + +echo 'Starting application now...' + +exec "$@" diff --git a/nginx-app.conf b/nginx/nginx.conf similarity index 55% rename from nginx-app.conf rename to nginx/nginx.conf index 1c60ca72..70336772 100644 --- a/nginx-app.conf +++ b/nginx/nginx.conf @@ -1,15 +1,27 @@ +# nginx/nginx.conf + +upstream web_app { + server backend:8000; +} + server { - listen 34800; - server_name _; - server_tokens off; - client_max_body_size 20M; + + listen 80; location / { - root /app/frontend; + root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html; } + location /static-files/ { + alias /app/static/; + } + + location /media/ { + alias /app/media/; + } + location /auth { try_files $uri @proxy_api; } @@ -34,23 +46,10 @@ server { } location @proxy_api { - # proxy_set_header X-Forwarded-Proto https; - # proxy_set_header X-Url-Scheme $scheme; - # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - # proxy_set_header Host $http_host; - # proxy_redirect off; - # proxy_pass http://backend:8000; - include uwsgi_params; - uwsgi_pass unix:///tmp/uwsgi.sock; - } - - location /static-files/ { - autoindex on; - alias /app/static/; + proxy_pass http://web_app; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_redirect off; } - location /media/ { - autoindex on; - alias /usr/src/media/; - } } \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index 5a67fbe6..e839c4c5 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.0 and should not be changed by hand. [[package]] name = "appdirs" @@ -821,6 +821,26 @@ files = [ [package.dependencies] gitdb = ">=4.0.1,<5" +[[package]] +name = "gunicorn" +version = "21.2.0" +description = "WSGI HTTP Server for UNIX" +optional = false +python-versions = ">=3.5" +files = [ + {file = "gunicorn-21.2.0-py3-none-any.whl", hash = "sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0"}, + {file = "gunicorn-21.2.0.tar.gz", hash = "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"}, +] + +[package.dependencies] +packaging = "*" + +[package.extras] +eventlet = ["eventlet (>=0.24.1)"] +gevent = ["gevent (>=1.4.0)"] +setproctitle = ["setproctitle"] +tornado = ["tornado (>=0.2)"] + [[package]] name = "html-tag-names" version = "0.1.2" @@ -1517,6 +1537,17 @@ files = [ [package.dependencies] six = ">=1.5" +[[package]] +name = "python-decouple" +version = "3.8" +description = "Strict separation of settings from code." +optional = false +python-versions = "*" +files = [ + {file = "python-decouple-3.8.tar.gz", hash = "sha256:ba6e2657d4f376ecc46f77a3a615e058d93ba5e465c01bbe57289bfb7cce680f"}, + {file = "python_decouple-3.8-py3-none-any.whl", hash = "sha256:d0d45340815b25f4de59c974b855bb38d03151d81b037d9e3f463b0c9f8cbd66"}, +] + [[package]] name = "pytz" version = "2023.3" @@ -1746,8 +1777,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:1a6391a7cabb7641c32517539ca42cf84b87b667bad38b78d4d42dd23e957c81"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9c7617df90c1365638916b98cdd9be833d31d337dbcd722485597b43c4a215bf"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win32.whl", hash = "sha256:f6d3d39611ac2e4f62c3128a9eed45f19a6608670c5a2f4f07f24e8de3441d38"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:da538167284de58a52109a9b89b8f6a53ff8437dd6dc26d33b57bf6699153122"}, @@ -2102,4 +2132,4 @@ requests = ">=2.26" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "1e9bb047c3dc5d4f22df271f78369ae1354397affda0c3edd3ff2115b6ab61ea" +content-hash = "23109ee7412d911072fb6ad6032e84439e1d40d485d158041437724a76dd0d3e" diff --git a/prestart.sh b/prestart.sh deleted file mode 100644 index 874287dd..00000000 --- a/prestart.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /usr/bin/env bash - -# Let the DB migrate -. /usr/src/app/.venv/bin/activate -python manage.py migrate diff --git a/pyproject.toml b/pyproject.toml index 8070eb2d..3a4e06bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,6 +60,8 @@ pillow = "9.3.0" requests = "2.31.0" sentry-sdk = "1.14.0" yfinance = "0.2.12" +gunicorn = "^21.2.0" +python-decouple = "^3.8" [tool.poetry.group.dev.dependencies] diff --git a/uwsgi.ini b/uwsgi.ini deleted file mode 100644 index b1491a64..00000000 --- a/uwsgi.ini +++ /dev/null @@ -1,20 +0,0 @@ -[uwsgi] -socket = /tmp/uwsgi.sock -chown-socket = nginx:nginx -chmod-socket = 664 -# Graceful shutdown on SIGTERM, see https://github.com/unbit/uwsgi/issues/849#issuecomment-118869386 -hook-master-start = unix_signal:15 gracefully_kill_them_all -need-app = true -die-on-term = true -wsgi-file=/usr/src/app/buho_backend/wsgi.py -# For debugging and testing -show-config = true -plugins = python -virtualenv = /usr/src/app/.venv -; set-placeholder = client-dir=/app/static -; # pass urls handled by the backend to the app -; route-uri = ^/(api|login|logout|admin)/ last: -; # if the request maps to a file in static, serve it -; route-if = isfile:%(client-dir)${PATH_INFO} static:%(client-dir)${PATH_INFO} -; # otherwise, serve index.html which does client-side routing -; route-run = static:%(client-dir)/index.html \ No newline at end of file diff --git a/volumes/.gitkeep b/volumes/.gitkeep new file mode 100644 index 00000000..e69de29b From 44edcb9673000096982462b5242d156122f82a5e Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sat, 29 Jul 2023 21:29:35 +0200 Subject: [PATCH 12/21] IMprove configuration to deploy the app using docker compose --- .env.sample | 13 +++++++++++++ backend/buho_backend/settings/common.py | 2 +- docker-compose.yml | 17 ++++++++++------- docker.client.Dockerfile | 5 +++-- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/.env.sample b/.env.sample index 6fad5495..5b9e01b8 100644 --- a/.env.sample +++ b/.env.sample @@ -65,3 +65,16 @@ ENABLE_SENTRY=false # Sentry DSN (Data Source Name) in order to send your errors to Sentry # Default: "" (string) SENTRY_DSN=https://863c26cf130741e594cb5d93e3339568@o301826.ingest.sentry.io/1727901 +# DO NOT EDIT FROM HERE. THESE VARIABLES ARE USED INTERNALLY BY THE APPLICATION +# The following variables are populated from other variables +# +MARIADB_DATABASE=${DB_NAME} +# +# +MARIADB_USER=${DB_USER} +# +# +MARIADB_PASSWORD=${DB_PASSWORD} +# +# +MARIADB_ROOT_PASSWORD=${DB_ROOT_PASSWORD} \ No newline at end of file diff --git a/backend/buho_backend/settings/common.py b/backend/buho_backend/settings/common.py index 25e509d3..76ef89ec 100644 --- a/backend/buho_backend/settings/common.py +++ b/backend/buho_backend/settings/common.py @@ -146,7 +146,7 @@ "NAME": config("DB_NAME", default="buho_stocks"), "USER": config("DB_USER", default="root"), "PASSWORD": config("DB_PASSWORD", default="example"), - "HOST": config("DB_HOST", default="db"), + "HOST": config("DB_HOSTNAME", default="db"), "PORT": config("DB_PORT", default=3306, cast=int), } } diff --git a/docker-compose.yml b/docker-compose.yml index 23c98937..ef2acd64 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -36,8 +36,12 @@ services: context: . dockerfile: docker.client.Dockerfile restart: always + env_file: + - ./.env.prod + environment: + - NGINX_PORT=8080 ports: - - ${NGINX_PORT}:80 + - 8080:80 volumes: - ./volumes/static:/app/static - ./volumes/media:/app/media @@ -45,12 +49,11 @@ services: - backend db: image: mariadb:10 + container_name: db + expose: + - 3306 restart: always + env_file: + - ./.env.prod volumes: - ./volumes/mariadb_data:/var/lib/mysql - environment: - MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} - MARIADB_DATABASE: ${DB_NAME} - MARIADB_USER: ${DB_USERNAME} - MARIADB_PASSWORD: ${DB_PASSWORD} - MARIADB_DB: ${DB_NAME} diff --git a/docker.client.Dockerfile b/docker.client.Dockerfile index 3ad5877f..299f4ef4 100644 --- a/docker.client.Dockerfile +++ b/docker.client.Dockerfile @@ -1,7 +1,8 @@ FROM node:16-alpine as builder WORKDIR /app COPY ./client/package*.json ./ -RUN npm install +COPY ./client/yarn.lock ./ +RUN yarn install ENV VITE_ENV=production ENV VITE_PORT= @@ -9,7 +10,7 @@ ENV VITE_API_URL= RUN ls -la COPY ./client ./ -RUN npm run build +RUN yarn build FROM nginx:stable-alpine WORKDIR /usr/share/nginx/html From 420a3fdad4b152ef78ecc65f1f07caef7360e708 Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sat, 29 Jul 2023 21:30:08 +0200 Subject: [PATCH 13/21] Set the port on the Nginx media configuration --- nginx/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 70336772..7c6d9e82 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -48,7 +48,7 @@ server { location @proxy_api { proxy_pass http://web_app; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; + proxy_set_header Host $http_host; proxy_redirect off; } From 289a7ebf8914d15b17ea1893d6785f0875aeffcb Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sun, 30 Jul 2023 11:10:39 +0200 Subject: [PATCH 14/21] Add labels to the Dockerfiles --- Dockerfile | 7 +++++++ docker.client.Dockerfile | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/Dockerfile b/Dockerfile index 5627b6ad..c913153a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,13 @@ ENV POETRY_VIRTUALENVS_IN_PROJECT true ENV POETRY_CACHE_DIR ${WORKDIR}/.cache ENV VIRTUAL_ENVIRONMENT_PATH ${WORKDIR}/.venv +LABEL org.opencontainers.image.authors='renefernandez@duck.com' \ + org.opencontainers.image.url='https://github.com/bocabitlabs/buho-stocks/pkgs/container/buho-stocks%2Fbuho-stocks' \ + org.opencontainers.image.documentation='https://bocabitlabs.github.io/buho-stocks/' \ + org.opencontainers.image.source="https://github.com/bocabitlabs/buho-stocks" \ + org.opencontainers.image.vendor='Bocabitlabs (Rene Fernandez)' \ + org.opencontainers.image.licenses='GPL-3.0-or-later' + # Required to have netcat-openbsd RUN apt-get update RUN apt-get install default-libmysqlclient-dev netcat-openbsd gcc -y diff --git a/docker.client.Dockerfile b/docker.client.Dockerfile index 299f4ef4..659c138b 100644 --- a/docker.client.Dockerfile +++ b/docker.client.Dockerfile @@ -8,6 +8,13 @@ ENV VITE_ENV=production ENV VITE_PORT= ENV VITE_API_URL= +LABEL org.opencontainers.image.authors='renefernandez@duck.com' \ + org.opencontainers.image.url='https://github.com/bocabitlabs/buho-stocks/pkgs/container/buho-stocks%2Fbuho-stocks-client' \ + org.opencontainers.image.documentation='https://bocabitlabs.github.io/buho-stocks/' \ + org.opencontainers.image.source="https://github.com/bocabitlabs/buho-stocks" \ + org.opencontainers.image.vendor='Bocabitlabs (Rene Fernandez)' \ + org.opencontainers.image.licenses='GPL-3.0-or-later' + RUN ls -la COPY ./client ./ RUN yarn build From d356112eda72c1a48d7addb3a1bcc61beab739a8 Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sun, 30 Jul 2023 11:11:17 +0200 Subject: [PATCH 15/21] Use registry images on docker-compose --- docker-compose.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index ef2acd64..51f79395 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,8 @@ version: '3' services: backend: - build: . + image: ghcr.io/bocabitlabs/buho-stocks/buho-stocks:latest + container_name: backend restart: always command: gunicorn buho_backend.wsgi:application --bind 0.0.0.0:8000 volumes: @@ -19,6 +20,8 @@ services: - db redis: image: redis:7 + container_name: db + # celery: # build: . # restart: always @@ -32,9 +35,8 @@ services: # - redis # - web client: - build: - context: . - dockerfile: docker.client.Dockerfile + image: ghcr.io/bocabitlabs/buho-stocks/buho-stocks-client:latest + container_name: client restart: always env_file: - ./.env.prod From 96e8de17f84a3eeaf58c0cf976df1b3a64928f31 Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sun, 30 Jul 2023 16:33:17 +0200 Subject: [PATCH 16/21] Add docker build and publish github action --- .../workflows/docker-build-publish.yml.yml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/docker-build-publish.yml.yml diff --git a/.github/workflows/docker-build-publish.yml.yml b/.github/workflows/docker-build-publish.yml.yml new file mode 100644 index 00000000..f9274162 --- /dev/null +++ b/.github/workflows/docker-build-publish.yml.yml @@ -0,0 +1,48 @@ +name: Docker Build & Publish +on: + push: + branches: + - main + release: + types: + - created + +jobs: + build-and-publish: + name: Build and Publish Docker Image + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and Push backend Docker Image + uses: docker/build-push-action@v2 + with: + context: . # Path to your Dockerfile and other build context files + push: true + tags: | + ghcr.io/bocabitlabs/${{ github.repository }}:latest + ghcr.io/bocabitlabs/${{ github.repository }}:${{ github.head_ref || github.ref_name }} + labels: | + org.opencontainers.image.source=https://github.com/bocabitlabs/${{ github.repository }} + + - name: Build and Push client Docker Image + uses: docker/build-push-action@v2 + with: + context: . # Path to your Dockerfile and other build context files + push: true + tags: | + ghcr.io/bocabitlabs/${{ github.repository }}-client:latest + ghcr.io/bocabitlabs/${{ github.repository }}-client:${{ github.head_ref || github.ref_name }} + labels: | + org.opencontainers.image.source=https://github.com/bocabitlabs/${{ github.repository }} \ No newline at end of file From 924ab95b694d1e464ff84ab0307e7e5974e78830 Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sun, 30 Jul 2023 17:29:41 +0200 Subject: [PATCH 17/21] Bump version 0.200.0 --- .github/workflows/docker-build-publish.yml.yml | 8 ++++---- client/package.json | 2 +- pyproject.toml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker-build-publish.yml.yml b/.github/workflows/docker-build-publish.yml.yml index f9274162..0e3dec98 100644 --- a/.github/workflows/docker-build-publish.yml.yml +++ b/.github/workflows/docker-build-publish.yml.yml @@ -31,8 +31,8 @@ jobs: context: . # Path to your Dockerfile and other build context files push: true tags: | - ghcr.io/bocabitlabs/${{ github.repository }}:latest - ghcr.io/bocabitlabs/${{ github.repository }}:${{ github.head_ref || github.ref_name }} + ghcr.io/buho-stocks/${{ github.repository }}:latest + ghcr.io/buho-stocks/${{ github.repository }}:${{ github.head_ref || github.ref_name }} labels: | org.opencontainers.image.source=https://github.com/bocabitlabs/${{ github.repository }} @@ -42,7 +42,7 @@ jobs: context: . # Path to your Dockerfile and other build context files push: true tags: | - ghcr.io/bocabitlabs/${{ github.repository }}-client:latest - ghcr.io/bocabitlabs/${{ github.repository }}-client:${{ github.head_ref || github.ref_name }} + ghcr.io/buho-stocks/${{ github.repository }}-client:latest + ghcr.io/buho-stocks/${{ github.repository }}-client:${{ github.head_ref || github.ref_name }} labels: | org.opencontainers.image.source=https://github.com/bocabitlabs/${{ github.repository }} \ No newline at end of file diff --git a/client/package.json b/client/package.json index a99eb962..d4d8b616 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "client", - "version": "0.100.7", + "version": "0.200.0", "homepage": "/", "private": true, "dependencies": { diff --git a/pyproject.toml b/pyproject.toml index 3a4e06bf..4f2d6124 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ exclude = ["**/migrations", "**/__pycache__"] [tool.poetry] name = "buho-stocks" -version = "0.100.7" +version = "0.200.0" description = "Application to manage and track a stocks portfolio with dividends and return for a Buy & Hold investmentinvestment strategy." authors = ["Rene Fernandez "] license = "GPL-3.0-or-later" From 67d4b88552653ee2cf1e50d07b8756065a8fcf7e Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sun, 30 Jul 2023 17:34:19 +0200 Subject: [PATCH 18/21] Fix package name --- .github/workflows/docker-build-publish.yml.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-build-publish.yml.yml b/.github/workflows/docker-build-publish.yml.yml index 0e3dec98..e4111d33 100644 --- a/.github/workflows/docker-build-publish.yml.yml +++ b/.github/workflows/docker-build-publish.yml.yml @@ -31,8 +31,8 @@ jobs: context: . # Path to your Dockerfile and other build context files push: true tags: | - ghcr.io/buho-stocks/${{ github.repository }}:latest - ghcr.io/buho-stocks/${{ github.repository }}:${{ github.head_ref || github.ref_name }} + ghcr.io/${{ github.repository }}:latest + ghcr.io/${{ github.repository }}:${{ github.head_ref || github.ref_name }} labels: | org.opencontainers.image.source=https://github.com/bocabitlabs/${{ github.repository }} @@ -42,7 +42,7 @@ jobs: context: . # Path to your Dockerfile and other build context files push: true tags: | - ghcr.io/buho-stocks/${{ github.repository }}-client:latest - ghcr.io/buho-stocks/${{ github.repository }}-client:${{ github.head_ref || github.ref_name }} + ghcr.io/${{ github.repository }}-client:latest + ghcr.io/${{ github.repository }}-client:${{ github.head_ref || github.ref_name }} labels: | org.opencontainers.image.source=https://github.com/bocabitlabs/${{ github.repository }} \ No newline at end of file From 2f489e1dc3616cff408886ed5cb41e564be5a531 Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Sun, 30 Jul 2023 18:46:57 +0200 Subject: [PATCH 19/21] Fix docker file for client on workflow --- .../workflows/docker-build-publish.yml.yml | 1 + Dockerfile | 2 +- docker-compose.yml | 18 +- docker.client.Dockerfile | 2 +- yarn.lock | 306 ------------------ 5 files changed, 15 insertions(+), 314 deletions(-) delete mode 100644 yarn.lock diff --git a/.github/workflows/docker-build-publish.yml.yml b/.github/workflows/docker-build-publish.yml.yml index e4111d33..0e29af9e 100644 --- a/.github/workflows/docker-build-publish.yml.yml +++ b/.github/workflows/docker-build-publish.yml.yml @@ -40,6 +40,7 @@ jobs: uses: docker/build-push-action@v2 with: context: . # Path to your Dockerfile and other build context files + file: docker.client.Dockerfile push: true tags: | ghcr.io/${{ github.repository }}-client:latest diff --git a/Dockerfile b/Dockerfile index c913153a..d62ca131 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ ENV POETRY_CACHE_DIR ${WORKDIR}/.cache ENV VIRTUAL_ENVIRONMENT_PATH ${WORKDIR}/.venv LABEL org.opencontainers.image.authors='renefernandez@duck.com' \ - org.opencontainers.image.url='https://github.com/bocabitlabs/buho-stocks/pkgs/container/buho-stocks%2Fbuho-stocks' \ + org.opencontainers.image.url='https://github.com/bocabitlabs/buho-stocks/pkgs/container/buho-stocks' \ org.opencontainers.image.documentation='https://bocabitlabs.github.io/buho-stocks/' \ org.opencontainers.image.source="https://github.com/bocabitlabs/buho-stocks" \ org.opencontainers.image.vendor='Bocabitlabs (Rene Fernandez)' \ diff --git a/docker-compose.yml b/docker-compose.yml index 51f79395..750f4959 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,9 +6,9 @@ services: restart: always command: gunicorn buho_backend.wsgi:application --bind 0.0.0.0:8000 volumes: - - ./volumes/logs:/app/logs - - ./volumes/static:/app/static - - ./volumes/media:/app/media + - logs:/app/logs + - static:/app/static + - media:/app/media env_file: - ./.env.prod environment: @@ -45,8 +45,8 @@ services: ports: - 8080:80 volumes: - - ./volumes/static:/app/static - - ./volumes/media:/app/media + - static:/app/static + - media:/app/media depends_on: - backend db: @@ -58,4 +58,10 @@ services: env_file: - ./.env.prod volumes: - - ./volumes/mariadb_data:/var/lib/mysql + - mariadb_data:/var/lib/mysql + +volumes: + mariadb_data: + static: + media: + logs: \ No newline at end of file diff --git a/docker.client.Dockerfile b/docker.client.Dockerfile index 659c138b..833471a7 100644 --- a/docker.client.Dockerfile +++ b/docker.client.Dockerfile @@ -9,7 +9,7 @@ ENV VITE_PORT= ENV VITE_API_URL= LABEL org.opencontainers.image.authors='renefernandez@duck.com' \ - org.opencontainers.image.url='https://github.com/bocabitlabs/buho-stocks/pkgs/container/buho-stocks%2Fbuho-stocks-client' \ + org.opencontainers.image.url='https://github.com/bocabitlabs/buho-stocks/pkgs/container/buho-stocks-client' \ org.opencontainers.image.documentation='https://bocabitlabs.github.io/buho-stocks/' \ org.opencontainers.image.source="https://github.com/bocabitlabs/buho-stocks" \ org.opencontainers.image.vendor='Bocabitlabs (Rene Fernandez)' \ diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 3a2a6c13..00000000 --- a/yarn.lock +++ /dev/null @@ -1,306 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@eslint-community/eslint-utils@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz#a831e6e468b4b2b5ae42bf658bea015bf10bc518" - integrity sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== - -"@typescript-eslint/scope-manager@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz#e863bab4d4183ddce79967fe10ceb6c829791210" - integrity sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw== - dependencies: - "@typescript-eslint/types" "5.55.0" - "@typescript-eslint/visitor-keys" "5.55.0" - -"@typescript-eslint/types@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.55.0.tgz#9830f8d3bcbecf59d12f821e5bc6960baaed41fd" - integrity sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug== - -"@typescript-eslint/typescript-estree@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz#8db7c8e47ecc03d49b05362b8db6f1345ee7b575" - integrity sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ== - dependencies: - "@typescript-eslint/types" "5.55.0" - "@typescript-eslint/visitor-keys" "5.55.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@^5.53.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.55.0.tgz#34e97322e7ae5b901e7a870aabb01dad90023341" - integrity sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.55.0" - "@typescript-eslint/types" "5.55.0" - "@typescript-eslint/typescript-estree" "5.55.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.55.0": - version "5.55.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz#01ad414fca8367706d76cdb94adf788dc5b664a2" - integrity sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw== - dependencies: - "@typescript-eslint/types" "5.55.0" - eslint-visitor-keys "^3.3.0" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -eslint-plugin-vitest@^0.0.54: - version "0.0.54" - resolved "https://registry.yarnpkg.com/eslint-plugin-vitest/-/eslint-plugin-vitest-0.0.54.tgz#7cf3633e100f57bfa1315af601fec934e2ad1fd0" - integrity sha512-6ZR52LJ2pNe3aVaWkDBR7Cg8FlpEe9XDWnvtHU0kbl01IgijPRL3tVSfjiBSfpYUF8kzC0W9XjhzHttElOsXiQ== - dependencies: - "@typescript-eslint/utils" "^5.53.0" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -semver@^7.3.7: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== From fe3bf1184b3d47b878ae0104de159d4cd4d23ed8 Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Tue, 1 Aug 2023 18:10:06 +0200 Subject: [PATCH 20/21] Update deployment documentation --- CHANGELOG | 7 +++ docs/docs/deploy-application/deploy-docker.md | 44 +++++++------------ .../docs/development/other-docker-commands.md | 2 +- 3 files changed, 24 insertions(+), 29 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 585cc9e0..26cfb82e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,13 @@ All notable changes to this project will be documented in this file. ### Removed ### Security +## [0.200.] - 2023-07-30 + +# Improved + +- Now using Docker Compose for the deployment as default. +- + ## [0.100.7] - 2023-06-04 ### Fix - Backend: Fix the company year stats update (PUT) diff --git a/docs/docs/deploy-application/deploy-docker.md b/docs/docs/deploy-application/deploy-docker.md index f2ca2cda..51f8a44f 100644 --- a/docs/docs/deploy-application/deploy-docker.md +++ b/docs/docs/deploy-application/deploy-docker.md @@ -3,7 +3,7 @@ sidebar_position: 2 --- # Deploy using Docker -You can deploy this application using Docker and the command line. To do so, follow these steps. +You can deploy this application using Docker Compose. To do so, follow these steps. ## Requirements @@ -15,40 +15,28 @@ Please refer to [Choosing a database docs](/docs/development/database-selection) You can choose between `SQLite` and `MySQL`/`MariaDB`. -### Configuring the volumes +## Create a .env.prod file -Before starting, keep in mind that the application uses 2 volumes to persist the config and the uploads. Create a volume for each of these folders and map them to the following locations. +Use the `.env.sample` file and rename it to `.env.prod` (`cp .env.sample .env.prod`) and populate all its values to the desired ones. -- `/usr/src/app/config`: Folder with the configuration files (application and DB). -- `/usr/src/media`: Folder for the uploads. +### Deploy the application with Docker Compose -## Rename the sample config files update their values - -Rename the following files and update its values accordingly: - -- `backend/config/config.sample.py`: Application configuration. ([link to the file](https://github.com/bocabitlabs/buho-stocks/blob/main/backend/config/config.sample.py)) -- `backend/config/mysql.conf`: Database configuration. ([link to the file](https://github.com/bocabitlabs/buho-stocks/blob/main/backend/config/mysql.sample.conf)) - -The final location of these files in the container must be the following: +```bash +docker-compose up +``` -- `/usr/src/app/config/`: - - `config.py` - - `mysql.conf` +This command will deploy all the containers required by the application (backend, frontend, database, redis and celery). -## Run the container -:::tip Paths +It will take the values from the `.env.prod` file. - These two paths are paths in your host machine: +### Configuring the volumes (optional) - - `$HOME/projects/buho-volumes/media/` - - `$HOME/projects/buho-volumes/data/` +By default, the volumes will be handled automatically by Docker itself (check the `docker-compose.yml`` file). If you want to point them to your own paths, you can modify this file to specify it. -::: +An example pointing to your own path: -```bash -docker run \ - --publish 34800:34800 \ - -v $HOME/projects/buho-volumes/media/:/usr/src/media:rw \ - -v $HOME/projects/buho-volumes/data/:/usr/src/app/config:rw \ - bocabitlabs/buho-stocks:latest +```yaml +volumes: + - /volume2/buho-stocks/logs:/app/media ``` + diff --git a/docs/docs/development/other-docker-commands.md b/docs/docs/development/other-docker-commands.md index 55453b7b..f645248d 100644 --- a/docs/docs/development/other-docker-commands.md +++ b/docs/docs/development/other-docker-commands.md @@ -6,7 +6,7 @@ sidebar_position: 6 Login in the Docker registry: ``` -docker login docker.io --username bocabitlabs +docker login docker.io --username ``` Logout from the registry: From 177a5f99ab37515cb7093923f6c1f661a9263ad0 Mon Sep 17 00:00:00 2001 From: Rene Fernandez Sanchez Date: Tue, 1 Aug 2023 18:13:24 +0200 Subject: [PATCH 21/21] Add more info to the CHANGELOG --- CHANGELOG | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 26cfb82e..7bb5bc23 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,12 +10,12 @@ All notable changes to this project will be documented in this file. ### Removed ### Security -## [0.200.] - 2023-07-30 +## [0.200.0] - 2023-07-30 # Improved - Now using Docker Compose for the deployment as default. -- +- Using python-decouple to have different environments using .env files. ## [0.100.7] - 2023-06-04 ### Fix