diff --git a/README.md b/README.md
index 89a3e62..32acab9 100644
--- a/README.md
+++ b/README.md
@@ -11,13 +11,13 @@
[![jupyter-book-image]][docs-url]
+
[halla-img]: https://img.shields.io/badge/CHU-halla.ai-blue
[halla-url]: https://halla.ai
[course-img]: https://img.shields.io/badge/course-entelecheia.ai-blue
[course-url]: https://course.entelecheia.ai
[lecture-img]: https://img.shields.io/badge/lecture-entelecheia.ai-blue
[lecture-url]: https://lecture.entelecheia.ai
-
[codecov-image]: https://codecov.io/gh/chu-aie/mlops-2024/branch/main/graph/badge.svg?token=6OxfwdlW4Y
[codecov-url]: https://codecov.io/gh/chu-aie/mlops-2024
[pypi-image]: https://img.shields.io/pypi/v/mlops2024
@@ -27,12 +27,12 @@
[release-date-image]: https://img.shields.io/github/release-date/chu-aie/mlops-2024
[release-url]: https://github.com/chu-aie/mlops-2024/releases
[jupyter-book-image]: https://jupyterbook.org/en/stable/_images/badge.svg
-
[repo-url]: https://github.com/chu-aie/mlops-2024
[pypi-url]: https://pypi.org/project/mlops2024
[docs-url]: https://mlops2024.halla.ai
[changelog]: https://github.com/chu-aie/mlops-2024/blob/main/CHANGELOG.md
[contributing guidelines]: https://github.com/chu-aie/mlops-2024/blob/main/CONTRIBUTING.md
+
Machine Learning Systems Design
@@ -43,6 +43,69 @@ Machine Learning Systems Design
이 수업은 실제 운영 환경에서 기계 학습 시스템의 설계, 구현 및 관리에 대한 실질적인 측면을 다룹니다. 본 과정은 학생들에게 기계 학습 워크플로를 기존 소프트웨어 개발 및 운영 프로세스와 원활하게 통합하는 데 필요한 기술을 제공합니다. 이 과정에서는 DevOps, MLOps 및 보안 관행을 강조합니다. 학생들은 실습 프로젝트를 통해 dot 파일, git, Docker, Kubernetes, CI/CD 파이프라인, Weights & Biases 등 첨단 도구와 방법론을 사용하여 강력한 기계 학습 모델을 구축, 배포하고 유지 관리합니다. 또한, 이 과정은 학생들에게 GitOps, DevSecOps 및 LLMOps의 새로운 분야를 소개하여 실제 기계 학습 애플리케이션의 복잡성에 대비합니다.
+## Installation
+
+To install the MLOps 2024 package, use the following command:
+
+```
+pip install mlops2024
+```
+
+Or
+
+```
+pip install --user mlops2024
+```
+
+The `--user` flag is optional and can be used to install the package in the user's home directory instead of the system-wide location.
+
+## Usage
+
+To use the MLOps 2024 CLI, run the following command:
+
+```
+mlops2024 [OPTIONS]
+```
+
+If no option is provided, the website of the book will open in the default web browser.
+
+### Options
+
+The following options are available:
+
+- `--version`: Show the version of the package and exit.
+- `-b`, `--build`: Build the book.
+- `-l`, `--local`: Open the locally built HTML version of the book in the browser.
+- `--help`: Show the help message and exit.
+
+### Examples
+
+1. To build the book, use the following command:
+
+ ```
+ mlops2024 --build
+ ```
+
+ This will trigger the build process for the book.
+
+2. To open the locally built HTML version of the book in the browser, use the following command:
+
+ ```
+ mlops2024 --local
+ ```
+
+ This will open the book's HTML file in your default web browser.
+
+3. To view the version of the package, use the following command:
+
+ ```
+ mlops2024 --version
+ ```
+
+ This will display the version number of the MLOps 2024 package.
+
+For more information and additional options, run `mlops2024 --help` to see the help message.
+
## Changelog
See the [CHANGELOG] for more information.
diff --git a/poetry.lock b/poetry.lock
index 20f1e64..2cedab6 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,9 +1,10 @@
-# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
+# This file is automatically @generated by Poetry and should not be changed by hand.
[[package]]
name = "accessible-pygments"
version = "0.0.4"
description = "A collection of accessible pygments styles"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -18,6 +19,7 @@ pygments = ">=1.5"
name = "aiohttp"
version = "3.9.3"
description = "Async http client/server framework (asyncio)"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -114,6 +116,7 @@ speedups = ["Brotli", "aiodns", "brotlicffi"]
name = "aiosignal"
version = "1.3.1"
description = "aiosignal: a list of registered asynchronous callbacks"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -128,6 +131,7 @@ frozenlist = ">=1.1.0"
name = "alabaster"
version = "0.7.16"
description = "A light, configurable Sphinx theme"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -139,6 +143,7 @@ files = [
name = "annotated-types"
version = "0.6.0"
description = "Reusable constraint types to use with typing.Annotated"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -150,6 +155,7 @@ files = [
name = "antlr4-python3-runtime"
version = "4.9.3"
description = "ANTLR 4.9.3 runtime for Python 3.7"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -160,6 +166,7 @@ files = [
name = "appnope"
version = "0.1.4"
description = "Disable App Nap on macOS >= 10.9"
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -171,6 +178,7 @@ files = [
name = "asttokens"
version = "2.4.1"
description = "Annotate AST trees with source code positions"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -189,6 +197,7 @@ test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"]
name = "async-timeout"
version = "4.0.3"
description = "Timeout context manager for asyncio programs"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -200,6 +209,7 @@ files = [
name = "attrs"
version = "23.2.0"
description = "Classes Without Boilerplate"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -219,6 +229,7 @@ tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "p
name = "babel"
version = "2.14.0"
description = "Internationalization utilities"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -233,6 +244,7 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"]
name = "beautifulsoup4"
version = "4.12.3"
description = "Screen-scraping library"
+category = "main"
optional = false
python-versions = ">=3.6.0"
files = [
@@ -254,6 +266,7 @@ lxml = ["lxml"]
name = "black"
version = "24.2.0"
description = "The uncompromising code formatter."
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -300,6 +313,7 @@ uvloop = ["uvloop (>=0.15.2)"]
name = "certifi"
version = "2024.2.2"
description = "Python package for providing Mozilla's CA Bundle."
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -311,6 +325,7 @@ files = [
name = "cffi"
version = "1.16.0"
description = "Foreign Function Interface for Python calling C code."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -375,6 +390,7 @@ pycparser = "*"
name = "chardet"
version = "5.2.0"
description = "Universal encoding detector for Python 3"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -386,6 +402,7 @@ files = [
name = "charset-normalizer"
version = "3.3.2"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
+category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -485,6 +502,7 @@ files = [
name = "click"
version = "8.1.7"
description = "Composable command line interface toolkit"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -499,6 +517,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
name = "click-log"
version = "0.4.0"
description = "Logging integration for Click"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -513,6 +532,7 @@ click = "*"
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
+category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
@@ -524,6 +544,7 @@ files = [
name = "colorlog"
version = "6.8.2"
description = "Add colours to the output of Python's logging module."
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -541,6 +562,7 @@ development = ["black", "flake8", "mypy", "pytest", "types-colorama"]
name = "comm"
version = "0.2.1"
description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -558,6 +580,7 @@ test = ["pytest"]
name = "contourpy"
version = "1.2.0"
description = "Python library for calculating contours of 2D quadrilateral grids"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -621,6 +644,7 @@ test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"]
name = "coverage"
version = "7.4.3"
description = "Code coverage measurement for Python"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -688,6 +712,7 @@ toml = ["tomli"]
name = "cryptography"
version = "42.0.5"
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -742,6 +767,7 @@ test-randomorder = ["pytest-randomly"]
name = "cycler"
version = "0.12.1"
description = "Composable style cycles"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -755,25 +781,27 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"]
[[package]]
name = "datasets"
-version = "2.15.0"
+version = "2.18.0"
description = "HuggingFace community-driven open-source library of datasets"
+category = "main"
optional = false
python-versions = ">=3.8.0"
files = [
- {file = "datasets-2.15.0-py3-none-any.whl", hash = "sha256:6d658d23811393dfc982d026082e1650bdaaae28f6a86e651966cb072229a228"},
- {file = "datasets-2.15.0.tar.gz", hash = "sha256:a26d059370bd7503bd60e9337977199a13117a83f72fb61eda7e66f0c4d50b2b"},
+ {file = "datasets-2.18.0-py3-none-any.whl", hash = "sha256:f1bbf0e2896917a914de01cbd37075b14deea3837af87ad0d9f697388ccaeb50"},
+ {file = "datasets-2.18.0.tar.gz", hash = "sha256:cdf8b8c6abf7316377ba4f49f9589a4c74556d6b481afd0abd2284f3d69185cb"},
]
[package.dependencies]
aiohttp = "*"
-dill = ">=0.3.0,<0.3.8"
-fsspec = {version = ">=2023.1.0,<=2023.10.0", extras = ["http"]}
-huggingface-hub = ">=0.18.0"
+dill = ">=0.3.0,<0.3.9"
+filelock = "*"
+fsspec = {version = ">=2023.1.0,<=2024.2.0", extras = ["http"]}
+huggingface-hub = ">=0.19.4"
multiprocess = "*"
numpy = ">=1.17"
packaging = "*"
pandas = "*"
-pyarrow = ">=8.0.0"
+pyarrow = ">=12.0.0"
pyarrow-hotfix = "*"
pyyaml = ">=5.1"
requests = ">=2.19.0"
@@ -781,18 +809,18 @@ tqdm = ">=4.62.1"
xxhash = "*"
[package.extras]
-apache-beam = ["apache-beam (>=2.26.0,<2.44.0)"]
+apache-beam = ["apache-beam (>=2.26.0)"]
audio = ["librosa", "soundfile (>=0.12.1)"]
benchmarks = ["tensorflow (==2.12.0)", "torch (==2.0.1)", "transformers (==4.30.1)"]
-dev = ["Pillow (>=6.2.1)", "absl-py", "apache-beam (>=2.26.0,<2.44.0)", "black (>=23.1,<24.0)", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "pyyaml (>=5.3.1)", "rarfile (>=4.0)", "ruff (>=0.0.241)", "s3fs", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "sqlalchemy (<2.0.0)", "tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "tensorflow-macos", "tiktoken", "torch", "transformers", "typing-extensions (>=4.6.1)", "zstandard"]
+dev = ["Pillow (>=6.2.1)", "absl-py", "apache-beam (>=2.26.0)", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "ruff (>=0.3.0)", "s3fs", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "sqlalchemy", "tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "tensorflow-macos", "tiktoken", "torch", "torch (>=2.0.0)", "transformers", "typing-extensions (>=4.6.1)", "zstandard"]
docs = ["s3fs", "tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)", "tensorflow-macos", "torch", "transformers"]
jax = ["jax (>=0.3.14)", "jaxlib (>=0.3.14)"]
metrics-tests = ["Werkzeug (>=1.0.1)", "accelerate", "bert-score (>=0.3.6)", "jiwer", "langdetect", "mauve-text", "nltk", "requests-file (>=1.5.1)", "rouge-score", "sacrebleu", "sacremoses", "scikit-learn", "scipy", "sentencepiece", "seqeval", "six (>=1.15.0,<1.16.0)", "spacy (>=3.0.0)", "texttable (>=1.6.3)", "tldextract", "tldextract (>=3.1.0)", "toml (>=0.10.1)", "typer (<0.5.0)"]
-quality = ["black (>=23.1,<24.0)", "pyyaml (>=5.3.1)", "ruff (>=0.0.241)"]
+quality = ["ruff (>=0.3.0)"]
s3 = ["s3fs"]
tensorflow = ["tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)", "tensorflow-macos"]
tensorflow-gpu = ["tensorflow-gpu (>=2.2.0,!=2.6.0,!=2.6.1)"]
-tests = ["Pillow (>=6.2.1)", "absl-py", "apache-beam (>=2.26.0,<2.44.0)", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "sqlalchemy (<2.0.0)", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "tensorflow-macos", "tiktoken", "torch", "transformers", "typing-extensions (>=4.6.1)", "zstandard"]
+tests = ["Pillow (>=6.2.1)", "absl-py", "apache-beam (>=2.26.0)", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "sqlalchemy", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "tensorflow-macos", "tiktoken", "torch (>=2.0.0)", "transformers", "typing-extensions (>=4.6.1)", "zstandard"]
torch = ["torch"]
vision = ["Pillow (>=6.2.1)"]
@@ -800,6 +828,7 @@ vision = ["Pillow (>=6.2.1)"]
name = "debugpy"
version = "1.8.1"
description = "An implementation of the Debug Adapter Protocol for Python"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -831,6 +860,7 @@ files = [
name = "decorator"
version = "5.1.1"
description = "Decorators for Humans"
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -840,22 +870,25 @@ files = [
[[package]]
name = "dill"
-version = "0.3.7"
+version = "0.3.8"
description = "serialize all of Python"
+category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"},
- {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"},
+ {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"},
+ {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"},
]
[package.extras]
graph = ["objgraph (>=1.7.2)"]
+profile = ["gprof2dot (>=2022.7.29)"]
[[package]]
name = "docutils"
version = "0.20.1"
description = "Docutils -- Python Documentation Utilities"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -867,6 +900,7 @@ files = [
name = "dotty-dict"
version = "1.3.1"
description = "Dictionary wrapper for quick access to deeply nested keys."
+category = "dev"
optional = false
python-versions = ">=3.5,<4.0"
files = [
@@ -878,6 +912,7 @@ files = [
name = "exceptiongroup"
version = "1.2.0"
description = "Backport of PEP 654 (exception groups)"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -892,6 +927,7 @@ test = ["pytest (>=6)"]
name = "executing"
version = "2.0.1"
description = "Get the currently executing AST node of a frame, and other information"
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -906,6 +942,7 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth
name = "fastjsonschema"
version = "2.19.1"
description = "Fastest Python implementation of JSON schema"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -920,6 +957,7 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc
name = "filelock"
version = "3.13.1"
description = "A platform independent file lock."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -936,6 +974,7 @@ typing = ["typing-extensions (>=4.8)"]
name = "flake8"
version = "6.1.0"
description = "the modular source code checker: pep8 pyflakes and co"
+category = "dev"
optional = false
python-versions = ">=3.8.1"
files = [
@@ -952,6 +991,7 @@ pyflakes = ">=3.1.0,<3.2.0"
name = "flake8-pyproject"
version = "1.2.3"
description = "Flake8 plug-in loading the configuration from pyproject.toml"
+category = "dev"
optional = false
python-versions = ">= 3.6"
files = [
@@ -969,6 +1009,7 @@ dev = ["pyTest", "pyTest-cov"]
name = "fonttools"
version = "4.49.0"
description = "Tools to manipulate font files"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1034,6 +1075,7 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"]
name = "frozenlist"
version = "1.4.1"
description = "A list-like structure which implements collections.abc.MutableSequence"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1118,18 +1160,18 @@ files = [
[[package]]
name = "fsspec"
-version = "2023.10.0"
+version = "2024.2.0"
description = "File-system specification"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "fsspec-2023.10.0-py3-none-any.whl", hash = "sha256:346a8f024efeb749d2a5fca7ba8854474b1ff9af7c3faaf636a4548781136529"},
- {file = "fsspec-2023.10.0.tar.gz", hash = "sha256:330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5"},
+ {file = "fsspec-2024.2.0-py3-none-any.whl", hash = "sha256:817f969556fa5916bc682e02ca2045f96ff7f586d45110fcb76022063ad2c7d8"},
+ {file = "fsspec-2024.2.0.tar.gz", hash = "sha256:b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84"},
]
[package.dependencies]
aiohttp = {version = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1", optional = true, markers = "extra == \"http\""}
-requests = {version = "*", optional = true, markers = "extra == \"http\""}
[package.extras]
abfs = ["adlfs"]
@@ -1146,7 +1188,7 @@ github = ["requests"]
gs = ["gcsfs"]
gui = ["panel"]
hdfs = ["pyarrow (>=1)"]
-http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "requests"]
+http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)"]
libarchive = ["libarchive-c"]
oci = ["ocifs"]
s3 = ["s3fs"]
@@ -1157,26 +1199,30 @@ tqdm = ["tqdm"]
[[package]]
name = "gdown"
-version = "4.7.1"
-description = "Google Drive direct download of big files."
+version = "5.1.0"
+description = "Google Drive Public File/Folder Downloader"
+category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.8"
files = [
- {file = "gdown-4.7.1-py3-none-any.whl", hash = "sha256:65d495699e7c2c61af0d0e9c32748fb4f79abaf80d747a87456c7be14aac2560"},
- {file = "gdown-4.7.1.tar.gz", hash = "sha256:347f23769679aaf7efa73e5655270fcda8ca56be65eb84a4a21d143989541045"},
+ {file = "gdown-5.1.0-py3-none-any.whl", hash = "sha256:421530fd238fa15d41ba43219a79fdc28efe8ac11022173abad333701b77de2c"},
+ {file = "gdown-5.1.0.tar.gz", hash = "sha256:550a72dc5ca2819fe4bcc15d80d05d7c98c0b90e57256254b77d0256b9df4683"},
]
[package.dependencies]
beautifulsoup4 = "*"
filelock = "*"
requests = {version = "*", extras = ["socks"]}
-six = "*"
tqdm = "*"
+[package.extras]
+test = ["build", "mypy", "pytest", "pytest-xdist", "ruff", "twine", "types-requests"]
+
[[package]]
name = "gitdb"
version = "4.0.11"
description = "Git Object Database"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1191,6 +1237,7 @@ smmap = ">=3.0.1,<6"
name = "gitpython"
version = "3.1.42"
description = "GitPython is a Python library used to interact with Git repositories"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1208,6 +1255,7 @@ test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre
name = "greenlet"
version = "3.0.3"
description = "Lightweight in-process concurrent programming"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1277,13 +1325,14 @@ test = ["objgraph", "psutil"]
[[package]]
name = "huggingface-hub"
-version = "0.19.4"
+version = "0.21.4"
description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
+category = "main"
optional = false
python-versions = ">=3.8.0"
files = [
- {file = "huggingface_hub-0.19.4-py3-none-any.whl", hash = "sha256:dba013f779da16f14b606492828f3760600a1e1801432d09fe1c33e50b825bb5"},
- {file = "huggingface_hub-0.19.4.tar.gz", hash = "sha256:176a4fc355a851c17550e7619488f383189727eab209534d7cef2114dae77b22"},
+ {file = "huggingface_hub-0.21.4-py3-none-any.whl", hash = "sha256:df37c2c37fc6c82163cdd8a67ede261687d80d1e262526d6c0ce73b6b3630a7b"},
+ {file = "huggingface_hub-0.21.4.tar.gz", hash = "sha256:e1f4968c93726565a80edf6dc309763c7b546d0cfe79aa221206034d50155531"},
]
[package.dependencies]
@@ -1296,22 +1345,23 @@ tqdm = ">=4.42.1"
typing-extensions = ">=3.7.4.3"
[package.extras]
-all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"]
+all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"]
cli = ["InquirerPy (==0.3.4)"]
-dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"]
-docs = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "hf-doc-builder", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)", "watchdog"]
+dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"]
fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"]
+hf-transfer = ["hf-transfer (>=0.1.4)"]
inference = ["aiohttp", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)"]
quality = ["mypy (==1.5.1)", "ruff (>=0.1.3)"]
tensorflow = ["graphviz", "pydot", "tensorflow"]
-testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"]
-torch = ["torch"]
+testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"]
+torch = ["safetensors", "torch"]
typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"]
[[package]]
name = "hydra-colorlog"
version = "1.2.0"
description = "Enables colorlog for Hydra apps"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -1327,6 +1377,7 @@ hydra-core = ">=1.0.0"
name = "hydra-core"
version = "1.3.2"
description = "A framework for elegantly configuring complex applications"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -1335,37 +1386,38 @@ files = [
]
[package.dependencies]
-antlr4-python3-runtime = "==4.9.*"
+antlr4-python3-runtime = ">=4.9.0,<4.10.0"
omegaconf = ">=2.2,<2.4"
packaging = "*"
[[package]]
name = "hyfi"
-version = "1.35.1"
+version = "1.35.3"
description = "Hydra Fast Interface (Hydra and Pydantic based interface framework)"
+category = "main"
optional = false
-python-versions = ">=3.9,<=3.12"
+python-versions = ">=3.9,<3.13"
files = [
- {file = "hyfi-1.35.1-py3-none-any.whl", hash = "sha256:65cf13798683f72df5d5a90756435fd6497fba8051da25c0600f399421867b35"},
- {file = "hyfi-1.35.1.tar.gz", hash = "sha256:a29d4be1d6cfa9d792e6bfc929c2ef868cc677f888a30473c3d164a76dae5651"},
+ {file = "hyfi-1.35.3-py3-none-any.whl", hash = "sha256:5b1efb4d17adac7ce97f6fbca0ab053cd600a035191c2b2372c21a26b4f14567"},
+ {file = "hyfi-1.35.3.tar.gz", hash = "sha256:3d7b29daeed9ddbcfd784b6b56dbdec2bc446913744023da556a5a2b38c08b96"},
]
[package.dependencies]
chardet = "<=5.2.0"
click = "<=8.1.7"
colorama = ">=0.4.3,<0.5.0"
-datasets = ">=2.0.0,<=2.15.0"
+datasets = ">=2.0.0,<=2.18.0"
filelock = ">=3.4,<=3.13.1"
-gdown = "<=4.7.1"
-huggingface-hub = ">=0.8.1,<=0.19.4"
+gdown = "<=5.1.0"
+huggingface-hub = ">=0.8.1,<=0.21.4"
hydra-colorlog = ">=1.2.0,<2.0.0"
hydra-core = ">=1.3.2,<2.0.0"
joblib = ">=1.2.0,<=1.3.2"
matplotlib = ">=3.7.1,<4.0.0"
-numpy = ">=1.26.0,<=1.26.2"
-pandas = ">=1.5.3,<=2.1.4"
+numpy = ">=1.26.0,<=1.26.4"
+pandas = ">=1.5.3,<=2.2.1"
pathspec = ">=0.9.0"
-pyarrow = "<=14.0.1"
+pyarrow = "<=15.0.1"
pydantic = ">=2.3.0,<3.0.0"
pydantic-settings = ">=2.0.1,<3.0.0"
python-dotenv = ">=1.0.0,<2.0.0"
@@ -1378,6 +1430,7 @@ tqdm = ">=4.64.1,<5.0.0"
name = "idna"
version = "3.6"
description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -1389,6 +1442,7 @@ files = [
name = "imagesize"
version = "1.4.1"
description = "Getting image size from png/jpeg/jpeg2000/gif file"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -1400,6 +1454,7 @@ files = [
name = "importlib-metadata"
version = "7.0.2"
description = "Read metadata from Python packages"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1419,6 +1474,7 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs
name = "importlib-resources"
version = "6.1.3"
description = "Read resources from Python packages"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1437,6 +1493,7 @@ testing = ["jaraco.collections", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "py
name = "iniconfig"
version = "2.0.0"
description = "brain-dead simple config-ini parsing"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1448,6 +1505,7 @@ files = [
name = "invoke"
version = "2.2.0"
description = "Pythonic task execution"
+category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -1459,6 +1517,7 @@ files = [
name = "ipykernel"
version = "6.29.3"
description = "IPython Kernel for Jupyter"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1472,7 +1531,7 @@ comm = ">=0.1.1"
debugpy = ">=1.6.5"
ipython = ">=7.23.1"
jupyter-client = ">=6.1.12"
-jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
+jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
matplotlib-inline = ">=0.1"
nest-asyncio = "*"
packaging = "*"
@@ -1492,6 +1551,7 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio
name = "ipython"
version = "8.18.1"
description = "IPython: Productive Interactive Computing"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -1529,6 +1589,7 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pa
name = "isort"
version = "5.13.2"
description = "A Python utility / library to sort Python imports."
+category = "dev"
optional = false
python-versions = ">=3.8.0"
files = [
@@ -1543,6 +1604,7 @@ colors = ["colorama (>=0.4.6)"]
name = "jaraco-classes"
version = "3.3.1"
description = "Utility functions for Python class constructs"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -1561,6 +1623,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-ena
name = "jedi"
version = "0.19.1"
description = "An autocompletion tool for Python that can be used for text editors."
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -1580,6 +1643,7 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
name = "jeepney"
version = "0.8.0"
description = "Low-level, pure Python DBus protocol wrapper."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -1595,6 +1659,7 @@ trio = ["async_generator", "trio"]
name = "jinja2"
version = "3.1.3"
description = "A very fast and expressive template engine."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1612,6 +1677,7 @@ i18n = ["Babel (>=2.7)"]
name = "joblib"
version = "1.3.2"
description = "Lightweight pipelining with Python functions"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1623,6 +1689,7 @@ files = [
name = "jsonschema"
version = "4.21.1"
description = "An implementation of JSON Schema validation for Python"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1644,6 +1711,7 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-
name = "jsonschema-specifications"
version = "2023.12.1"
description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1658,6 +1726,7 @@ referencing = ">=0.31.0"
name = "jupyter-book"
version = "1.0.0"
description = "Build a book with Jupyter Notebooks and Sphinx."
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -1695,6 +1764,7 @@ testing = ["altair", "beautifulsoup4", "beautifulsoup4", "cookiecutter", "covera
name = "jupyter-cache"
version = "1.0.0"
description = "A defined interface for working with a cache of jupyter notebooks."
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -1722,6 +1792,7 @@ testing = ["coverage", "ipykernel", "jupytext", "matplotlib", "nbdime", "nbforma
name = "jupyter-client"
version = "8.6.0"
description = "Jupyter protocol implementation and client libraries"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1731,7 +1802,7 @@ files = [
[package.dependencies]
importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""}
-jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
+jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
python-dateutil = ">=2.8.2"
pyzmq = ">=23.0"
tornado = ">=6.2"
@@ -1745,6 +1816,7 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt
name = "jupyter-core"
version = "5.7.1"
description = "Jupyter core package. A base package on which Jupyter projects rely."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1765,6 +1837,7 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"]
name = "keyring"
version = "24.3.1"
description = "Store and access your passwords safely."
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -1788,6 +1861,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-ena
name = "kiwisolver"
version = "1.4.5"
description = "A fast implementation of the Cassowary constraint solver"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1901,6 +1975,7 @@ files = [
name = "latexcodec"
version = "3.0.0"
description = "A lexer and codec to work with LaTeX code in Python."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1912,6 +1987,7 @@ files = [
name = "linkify-it-py"
version = "2.0.3"
description = "Links recognition library with FULL unicode support."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -1932,6 +2008,7 @@ test = ["coverage", "pytest", "pytest-cov"]
name = "markdown-it-py"
version = "3.0.0"
description = "Python port of markdown-it. Markdown parsing, done right!"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -1956,6 +2033,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
name = "markupsafe"
version = "2.1.5"
description = "Safely add untrusted strings to HTML/XML markup."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2025,6 +2103,7 @@ files = [
name = "matplotlib"
version = "3.8.3"
description = "Python plotting package"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -2074,6 +2153,7 @@ python-dateutil = ">=2.7"
name = "matplotlib-inline"
version = "0.1.6"
description = "Inline Matplotlib backend for Jupyter"
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -2088,6 +2168,7 @@ traitlets = "*"
name = "mccabe"
version = "0.7.0"
description = "McCabe checker, plugin for flake8"
+category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -2099,6 +2180,7 @@ files = [
name = "mdit-py-plugins"
version = "0.4.0"
description = "Collection of plugins for markdown-it-py"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -2118,6 +2200,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
name = "mdurl"
version = "0.1.2"
description = "Markdown URL utilities"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2129,6 +2212,7 @@ files = [
name = "more-itertools"
version = "10.2.0"
description = "More routines for operating on iterables, beyond itertools"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -2140,6 +2224,7 @@ files = [
name = "multidict"
version = "6.0.5"
description = "multidict implementation"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2237,36 +2322,34 @@ files = [
[[package]]
name = "multiprocess"
-version = "0.70.15"
+version = "0.70.16"
description = "better multiprocessing and multithreading in Python"
+category = "main"
optional = false
-python-versions = ">=3.7"
+python-versions = ">=3.8"
files = [
- {file = "multiprocess-0.70.15-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:aa36c7ed16f508091438687fe9baa393a7a8e206731d321e443745e743a0d4e5"},
- {file = "multiprocess-0.70.15-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:20e024018c46d0d1602024c613007ac948f9754659e3853b0aa705e83f6931d8"},
- {file = "multiprocess-0.70.15-pp37-pypy37_pp73-manylinux_2_24_i686.whl", hash = "sha256:e576062981c91f0fe8a463c3d52506e598dfc51320a8dd8d78b987dfca91c5db"},
- {file = "multiprocess-0.70.15-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:e73f497e6696a0f5433ada2b3d599ae733b87a6e8b008e387c62ac9127add177"},
- {file = "multiprocess-0.70.15-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:73db2e7b32dcc7f9b0f075c2ffa45c90b6729d3f1805f27e88534c8d321a1be5"},
- {file = "multiprocess-0.70.15-pp38-pypy38_pp73-manylinux_2_24_i686.whl", hash = "sha256:4271647bd8a49c28ecd6eb56a7fdbd3c212c45529ad5303b40b3c65fc6928e5f"},
- {file = "multiprocess-0.70.15-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:cf981fb998d6ec3208cb14f0cf2e9e80216e834f5d51fd09ebc937c32b960902"},
- {file = "multiprocess-0.70.15-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:18f9f2c7063346d1617bd1684fdcae8d33380ae96b99427260f562e1a1228b67"},
- {file = "multiprocess-0.70.15-pp39-pypy39_pp73-manylinux_2_24_i686.whl", hash = "sha256:0eac53214d664c49a34695e5824872db4006b1a465edd7459a251809c3773370"},
- {file = "multiprocess-0.70.15-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:1a51dd34096db47fb21fa2b839e615b051d51b97af9a67afbcdaa67186b44883"},
- {file = "multiprocess-0.70.15-py310-none-any.whl", hash = "sha256:7dd58e33235e83cf09d625e55cffd7b0f0eede7ee9223cdd666a87624f60c21a"},
- {file = "multiprocess-0.70.15-py311-none-any.whl", hash = "sha256:134f89053d82c9ed3b73edd3a2531eb791e602d4f4156fc92a79259590bd9670"},
- {file = "multiprocess-0.70.15-py37-none-any.whl", hash = "sha256:f7d4a1629bccb433114c3b4885f69eccc200994323c80f6feee73b0edc9199c5"},
- {file = "multiprocess-0.70.15-py38-none-any.whl", hash = "sha256:bee9afba476c91f9ebee7beeee0601face9eff67d822e893f9a893725fbd6316"},
- {file = "multiprocess-0.70.15-py39-none-any.whl", hash = "sha256:3e0953f5d52b4c76f1c973eaf8214554d146f2be5decb48e928e55c7a2d19338"},
- {file = "multiprocess-0.70.15.tar.gz", hash = "sha256:f20eed3036c0ef477b07a4177cf7c1ba520d9a2677870a4f47fe026f0cd6787e"},
+ {file = "multiprocess-0.70.16-pp310-pypy310_pp73-macosx_10_13_x86_64.whl", hash = "sha256:476887be10e2f59ff183c006af746cb6f1fd0eadcfd4ef49e605cbe2659920ee"},
+ {file = "multiprocess-0.70.16-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d951bed82c8f73929ac82c61f01a7b5ce8f3e5ef40f5b52553b4f547ce2b08ec"},
+ {file = "multiprocess-0.70.16-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37b55f71c07e2d741374998c043b9520b626a8dddc8b3129222ca4f1a06ef67a"},
+ {file = "multiprocess-0.70.16-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba8c31889abf4511c7308a8c52bb4a30b9d590e7f58523302ba00237702ca054"},
+ {file = "multiprocess-0.70.16-pp39-pypy39_pp73-macosx_10_13_x86_64.whl", hash = "sha256:0dfd078c306e08d46d7a8d06fb120313d87aa43af60d66da43ffff40b44d2f41"},
+ {file = "multiprocess-0.70.16-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e7b9d0f307cd9bd50851afaac0dba2cb6c44449efff697df7c7645f7d3f2be3a"},
+ {file = "multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02"},
+ {file = "multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a"},
+ {file = "multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e"},
+ {file = "multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435"},
+ {file = "multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3"},
+ {file = "multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1"},
]
[package.dependencies]
-dill = ">=0.3.7"
+dill = ">=0.3.8"
[[package]]
name = "mypy"
version = "1.9.0"
description = "Optional static typing for Python"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -2314,6 +2397,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 = [
@@ -2325,6 +2409,7 @@ files = [
name = "myst-nb"
version = "1.0.0"
description = "A Jupyter Notebook Sphinx reader built on top of the MyST markdown parser."
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -2347,12 +2432,13 @@ typing-extensions = "*"
[package.extras]
code-style = ["pre-commit"]
rtd = ["alabaster", "altair", "bokeh", "coconut (>=1.4.3,<3.1.0)", "ipykernel (>=5.5,<7.0)", "ipywidgets", "jupytext (>=1.11.2,<1.16.0)", "matplotlib", "numpy", "pandas", "plotly", "sphinx-book-theme (>=0.3)", "sphinx-copybutton", "sphinx-design (>=0.4.0,<0.5.0)", "sphinxcontrib-bibtex", "sympy"]
-testing = ["beautifulsoup4", "coverage (>=6.4,<8.0)", "ipykernel (>=5.5,<7.0)", "ipython (!=8.1.0,<8.17)", "ipywidgets (>=8)", "jupytext (>=1.11.2,<1.16.0)", "matplotlib (==3.7.*)", "nbdime", "numpy", "pandas", "pytest (>=7.1,<8.0)", "pytest-cov (>=3,<5)", "pytest-param-files (>=0.3.3,<0.4.0)", "pytest-regressions", "sympy (>=1.10.1)"]
+testing = ["beautifulsoup4", "coverage (>=6.4,<8.0)", "ipykernel (>=5.5,<7.0)", "ipython (!=8.1.0,<8.17)", "ipywidgets (>=8)", "jupytext (>=1.11.2,<1.16.0)", "matplotlib (>=3.7.0,<3.8.0)", "nbdime", "numpy", "pandas", "pytest (>=7.1,<8.0)", "pytest-cov (>=3,<5)", "pytest-param-files (>=0.3.3,<0.4.0)", "pytest-regressions", "sympy (>=1.10.1)"]
[[package]]
name = "myst-parser"
version = "2.0.0"
description = "An extended [CommonMark](https://spec.commonmark.org/) compliant parser,"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -2379,6 +2465,7 @@ testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4,
name = "nbclient"
version = "0.9.0"
description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
+category = "main"
optional = false
python-versions = ">=3.8.0"
files = [
@@ -2388,7 +2475,7 @@ files = [
[package.dependencies]
jupyter-client = ">=6.1.12"
-jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
+jupyter-core = ">=4.12,<5.0.0 || >=5.1.0"
nbformat = ">=5.1"
traitlets = ">=5.4"
@@ -2401,6 +2488,7 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=
name = "nbformat"
version = "5.9.2"
description = "The Jupyter Notebook format"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -2422,6 +2510,7 @@ test = ["pep440", "pre-commit", "pytest", "testpath"]
name = "nest-asyncio"
version = "1.6.0"
description = "Patch asyncio to allow nested event loops"
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -2433,6 +2522,7 @@ files = [
name = "nh3"
version = "0.2.15"
description = "Python bindings to the ammonia HTML sanitization library."
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -2456,53 +2546,55 @@ files = [
[[package]]
name = "numpy"
-version = "1.26.2"
+version = "1.26.4"
description = "Fundamental package for array computing in Python"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
- {file = "numpy-1.26.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3703fc9258a4a122d17043e57b35e5ef1c5a5837c3db8be396c82e04c1cf9b0f"},
- {file = "numpy-1.26.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cc392fdcbd21d4be6ae1bb4475a03ce3b025cd49a9be5345d76d7585aea69440"},
- {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36340109af8da8805d8851ef1d74761b3b88e81a9bd80b290bbfed61bd2b4f75"},
- {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc008217145b3d77abd3e4d5ef586e3bdfba8fe17940769f8aa09b99e856c00"},
- {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ced40d4e9e18242f70dd02d739e44698df3dcb010d31f495ff00a31ef6014fe"},
- {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b272d4cecc32c9e19911891446b72e986157e6a1809b7b56518b4f3755267523"},
- {file = "numpy-1.26.2-cp310-cp310-win32.whl", hash = "sha256:22f8fc02fdbc829e7a8c578dd8d2e15a9074b630d4da29cda483337e300e3ee9"},
- {file = "numpy-1.26.2-cp310-cp310-win_amd64.whl", hash = "sha256:26c9d33f8e8b846d5a65dd068c14e04018d05533b348d9eaeef6c1bd787f9919"},
- {file = "numpy-1.26.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b96e7b9c624ef3ae2ae0e04fa9b460f6b9f17ad8b4bec6d7756510f1f6c0c841"},
- {file = "numpy-1.26.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aa18428111fb9a591d7a9cc1b48150097ba6a7e8299fb56bdf574df650e7d1f1"},
- {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06fa1ed84aa60ea6ef9f91ba57b5ed963c3729534e6e54055fc151fad0423f0a"},
- {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ca5482c3dbdd051bcd1fce8034603d6ebfc125a7bd59f55b40d8f5d246832b"},
- {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:854ab91a2906ef29dc3925a064fcd365c7b4da743f84b123002f6139bcb3f8a7"},
- {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f43740ab089277d403aa07567be138fc2a89d4d9892d113b76153e0e412409f8"},
- {file = "numpy-1.26.2-cp311-cp311-win32.whl", hash = "sha256:a2bbc29fcb1771cd7b7425f98b05307776a6baf43035d3b80c4b0f29e9545186"},
- {file = "numpy-1.26.2-cp311-cp311-win_amd64.whl", hash = "sha256:2b3fca8a5b00184828d12b073af4d0fc5fdd94b1632c2477526f6bd7842d700d"},
- {file = "numpy-1.26.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a4cd6ed4a339c21f1d1b0fdf13426cb3b284555c27ac2f156dfdaaa7e16bfab0"},
- {file = "numpy-1.26.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d5244aabd6ed7f312268b9247be47343a654ebea52a60f002dc70c769048e75"},
- {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a3cdb4d9c70e6b8c0814239ead47da00934666f668426fc6e94cce869e13fd7"},
- {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa317b2325f7aa0a9471663e6093c210cb2ae9c0ad824732b307d2c51983d5b6"},
- {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:174a8880739c16c925799c018f3f55b8130c1f7c8e75ab0a6fa9d41cab092fd6"},
- {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f79b231bf5c16b1f39c7f4875e1ded36abee1591e98742b05d8a0fb55d8a3eec"},
- {file = "numpy-1.26.2-cp312-cp312-win32.whl", hash = "sha256:4a06263321dfd3598cacb252f51e521a8cb4b6df471bb12a7ee5cbab20ea9167"},
- {file = "numpy-1.26.2-cp312-cp312-win_amd64.whl", hash = "sha256:b04f5dc6b3efdaab541f7857351aac359e6ae3c126e2edb376929bd3b7f92d7e"},
- {file = "numpy-1.26.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4eb8df4bf8d3d90d091e0146f6c28492b0be84da3e409ebef54349f71ed271ef"},
- {file = "numpy-1.26.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1a13860fdcd95de7cf58bd6f8bc5a5ef81c0b0625eb2c9a783948847abbef2c2"},
- {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64308ebc366a8ed63fd0bf426b6a9468060962f1a4339ab1074c228fa6ade8e3"},
- {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baf8aab04a2c0e859da118f0b38617e5ee65d75b83795055fb66c0d5e9e9b818"},
- {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d73a3abcac238250091b11caef9ad12413dab01669511779bc9b29261dd50210"},
- {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b361d369fc7e5e1714cf827b731ca32bff8d411212fccd29ad98ad622449cc36"},
- {file = "numpy-1.26.2-cp39-cp39-win32.whl", hash = "sha256:bd3f0091e845164a20bd5a326860c840fe2af79fa12e0469a12768a3ec578d80"},
- {file = "numpy-1.26.2-cp39-cp39-win_amd64.whl", hash = "sha256:2beef57fb031dcc0dc8fa4fe297a742027b954949cabb52a2a376c144e5e6060"},
- {file = "numpy-1.26.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1cc3d5029a30fb5f06704ad6b23b35e11309491c999838c31f124fee32107c79"},
- {file = "numpy-1.26.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94cc3c222bb9fb5a12e334d0479b97bb2df446fbe622b470928f5284ffca3f8d"},
- {file = "numpy-1.26.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe6b44fb8fcdf7eda4ef4461b97b3f63c466b27ab151bec2366db8b197387841"},
- {file = "numpy-1.26.2.tar.gz", hash = "sha256:f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea"},
+ {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"},
+ {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"},
+ {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"},
+ {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"},
+ {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"},
+ {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"},
+ {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"},
+ {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"},
+ {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
+ {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
+ {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"},
+ {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"},
+ {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"},
+ {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"},
+ {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"},
+ {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"},
+ {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"},
+ {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"},
+ {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"},
+ {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"},
+ {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"},
+ {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"},
+ {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"},
+ {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"},
+ {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"},
+ {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"},
+ {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"},
+ {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"},
+ {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"},
+ {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"},
+ {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"},
+ {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"},
+ {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"},
+ {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"},
+ {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"},
+ {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"},
]
[[package]]
name = "omegaconf"
version = "2.3.0"
description = "A flexible configuration library"
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -2511,13 +2603,14 @@ files = [
]
[package.dependencies]
-antlr4-python3-runtime = "==4.9.*"
+antlr4-python3-runtime = ">=4.9.0,<4.10.0"
PyYAML = ">=5.1.0"
[[package]]
name = "packaging"
version = "24.0"
description = "Core utilities for Python packages"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2527,36 +2620,41 @@ files = [
[[package]]
name = "pandas"
-version = "2.1.4"
+version = "2.2.1"
description = "Powerful data structures for data analysis, time series, and statistics"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
- {file = "pandas-2.1.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bdec823dc6ec53f7a6339a0e34c68b144a7a1fd28d80c260534c39c62c5bf8c9"},
- {file = "pandas-2.1.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:294d96cfaf28d688f30c918a765ea2ae2e0e71d3536754f4b6de0ea4a496d034"},
- {file = "pandas-2.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b728fb8deba8905b319f96447a27033969f3ea1fea09d07d296c9030ab2ed1d"},
- {file = "pandas-2.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00028e6737c594feac3c2df15636d73ace46b8314d236100b57ed7e4b9ebe8d9"},
- {file = "pandas-2.1.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:426dc0f1b187523c4db06f96fb5c8d1a845e259c99bda74f7de97bd8a3bb3139"},
- {file = "pandas-2.1.4-cp310-cp310-win_amd64.whl", hash = "sha256:f237e6ca6421265643608813ce9793610ad09b40154a3344a088159590469e46"},
- {file = "pandas-2.1.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b7d852d16c270e4331f6f59b3e9aa23f935f5c4b0ed2d0bc77637a8890a5d092"},
- {file = "pandas-2.1.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7d5f2f54f78164b3d7a40f33bf79a74cdee72c31affec86bfcabe7e0789821"},
- {file = "pandas-2.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0aa6e92e639da0d6e2017d9ccff563222f4eb31e4b2c3cf32a2a392fc3103c0d"},
- {file = "pandas-2.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d797591b6846b9db79e65dc2d0d48e61f7db8d10b2a9480b4e3faaddc421a171"},
- {file = "pandas-2.1.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d2d3e7b00f703aea3945995ee63375c61b2e6aa5aa7871c5d622870e5e137623"},
- {file = "pandas-2.1.4-cp311-cp311-win_amd64.whl", hash = "sha256:dc9bf7ade01143cddc0074aa6995edd05323974e6e40d9dbde081021ded8510e"},
- {file = "pandas-2.1.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:482d5076e1791777e1571f2e2d789e940dedd927325cc3cb6d0800c6304082f6"},
- {file = "pandas-2.1.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8a706cfe7955c4ca59af8c7a0517370eafbd98593155b48f10f9811da440248b"},
- {file = "pandas-2.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0513a132a15977b4a5b89aabd304647919bc2169eac4c8536afb29c07c23540"},
- {file = "pandas-2.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9f17f2b6fc076b2a0078862547595d66244db0f41bf79fc5f64a5c4d635bead"},
- {file = "pandas-2.1.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:45d63d2a9b1b37fa6c84a68ba2422dc9ed018bdaa668c7f47566a01188ceeec1"},
- {file = "pandas-2.1.4-cp312-cp312-win_amd64.whl", hash = "sha256:f69b0c9bb174a2342818d3e2778584e18c740d56857fc5cdb944ec8bbe4082cf"},
- {file = "pandas-2.1.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3f06bda01a143020bad20f7a85dd5f4a1600112145f126bc9e3e42077c24ef34"},
- {file = "pandas-2.1.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab5796839eb1fd62a39eec2916d3e979ec3130509930fea17fe6f81e18108f6a"},
- {file = "pandas-2.1.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edbaf9e8d3a63a9276d707b4d25930a262341bca9874fcb22eff5e3da5394732"},
- {file = "pandas-2.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ebfd771110b50055712b3b711b51bee5d50135429364d0498e1213a7adc2be8"},
- {file = "pandas-2.1.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8ea107e0be2aba1da619cc6ba3f999b2bfc9669a83554b1904ce3dd9507f0860"},
- {file = "pandas-2.1.4-cp39-cp39-win_amd64.whl", hash = "sha256:d65148b14788b3758daf57bf42725caa536575da2b64df9964c563b015230984"},
- {file = "pandas-2.1.4.tar.gz", hash = "sha256:fcb68203c833cc735321512e13861358079a96c174a61f5116a1de89c58c0ef7"},
+ {file = "pandas-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8df8612be9cd1c7797c93e1c5df861b2ddda0b48b08f2c3eaa0702cf88fb5f88"},
+ {file = "pandas-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f573ab277252ed9aaf38240f3b54cfc90fff8e5cab70411ee1d03f5d51f3944"},
+ {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f02a3a6c83df4026e55b63c1f06476c9aa3ed6af3d89b4f04ea656ccdaaaa359"},
+ {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c38ce92cb22a4bea4e3929429aa1067a454dcc9c335799af93ba9be21b6beb51"},
+ {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c2ce852e1cf2509a69e98358e8458775f89599566ac3775e70419b98615f4b06"},
+ {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53680dc9b2519cbf609c62db3ed7c0b499077c7fefda564e330286e619ff0dd9"},
+ {file = "pandas-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:94e714a1cca63e4f5939cdce5f29ba8d415d85166be3441165edd427dc9f6bc0"},
+ {file = "pandas-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f821213d48f4ab353d20ebc24e4faf94ba40d76680642fb7ce2ea31a3ad94f9b"},
+ {file = "pandas-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c70e00c2d894cb230e5c15e4b1e1e6b2b478e09cf27cc593a11ef955b9ecc81a"},
+ {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e97fbb5387c69209f134893abc788a6486dbf2f9e511070ca05eed4b930b1b02"},
+ {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101d0eb9c5361aa0146f500773395a03839a5e6ecde4d4b6ced88b7e5a1a6403"},
+ {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7d2ed41c319c9fb4fd454fe25372028dfa417aacb9790f68171b2e3f06eae8cd"},
+ {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af5d3c00557d657c8773ef9ee702c61dd13b9d7426794c9dfeb1dc4a0bf0ebc7"},
+ {file = "pandas-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:06cf591dbaefb6da9de8472535b185cba556d0ce2e6ed28e21d919704fef1a9e"},
+ {file = "pandas-2.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:88ecb5c01bb9ca927ebc4098136038519aa5d66b44671861ffab754cae75102c"},
+ {file = "pandas-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:04f6ec3baec203c13e3f8b139fb0f9f86cd8c0b94603ae3ae8ce9a422e9f5bee"},
+ {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a935a90a76c44fe170d01e90a3594beef9e9a6220021acfb26053d01426f7dc2"},
+ {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c391f594aae2fd9f679d419e9a4d5ba4bce5bb13f6a989195656e7dc4b95c8f0"},
+ {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9d1265545f579edf3f8f0cb6f89f234f5e44ba725a34d86535b1a1d38decbccc"},
+ {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:11940e9e3056576ac3244baef2fedade891977bcc1cb7e5cc8f8cc7d603edc89"},
+ {file = "pandas-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:4acf681325ee1c7f950d058b05a820441075b0dd9a2adf5c4835b9bc056bf4fb"},
+ {file = "pandas-2.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9bd8a40f47080825af4317d0340c656744f2bfdb6819f818e6ba3cd24c0e1397"},
+ {file = "pandas-2.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df0c37ebd19e11d089ceba66eba59a168242fc6b7155cba4ffffa6eccdfb8f16"},
+ {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:739cc70eaf17d57608639e74d63387b0d8594ce02f69e7a0b046f117974b3019"},
+ {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9d3558d263073ed95e46f4650becff0c5e1ffe0fc3a015de3c79283dfbdb3df"},
+ {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4aa1d8707812a658debf03824016bf5ea0d516afdea29b7dc14cf687bc4d4ec6"},
+ {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:76f27a809cda87e07f192f001d11adc2b930e93a2b0c4a236fde5429527423be"},
+ {file = "pandas-2.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:1ba21b1d5c0e43416218db63037dbe1a01fc101dc6e6024bcad08123e48004ab"},
+ {file = "pandas-2.2.1.tar.gz", hash = "sha256:0ab90f87093c13f3e8fa45b48ba9f39181046e8f3317d3aadb2fffbb1b978572"},
]
[package.dependencies]
@@ -2567,36 +2665,38 @@ numpy = [
]
python-dateutil = ">=2.8.2"
pytz = ">=2020.1"
-tzdata = ">=2022.1"
+tzdata = ">=2022.7"
[package.extras]
-all = ["PyQt5 (>=5.15.6)", "SQLAlchemy (>=1.4.36)", "beautifulsoup4 (>=4.11.1)", "bottleneck (>=1.3.4)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=0.8.1)", "fsspec (>=2022.05.0)", "gcsfs (>=2022.05.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.8.0)", "matplotlib (>=3.6.1)", "numba (>=0.55.2)", "numexpr (>=2.8.0)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.10)", "pandas-gbq (>=0.17.5)", "psycopg2 (>=2.9.3)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.5)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "pyxlsb (>=1.0.9)", "qtpy (>=2.2.0)", "s3fs (>=2022.05.0)", "scipy (>=1.8.1)", "tables (>=3.7.0)", "tabulate (>=0.8.10)", "xarray (>=2022.03.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.3)", "zstandard (>=0.17.0)"]
-aws = ["s3fs (>=2022.05.0)"]
-clipboard = ["PyQt5 (>=5.15.6)", "qtpy (>=2.2.0)"]
-compression = ["zstandard (>=0.17.0)"]
-computation = ["scipy (>=1.8.1)", "xarray (>=2022.03.0)"]
+all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"]
+aws = ["s3fs (>=2022.11.0)"]
+clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"]
+compression = ["zstandard (>=0.19.0)"]
+computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"]
consortium-standard = ["dataframe-api-compat (>=0.1.7)"]
-excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.10)", "pyxlsb (>=1.0.9)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.3)"]
-feather = ["pyarrow (>=7.0.0)"]
-fss = ["fsspec (>=2022.05.0)"]
-gcp = ["gcsfs (>=2022.05.0)", "pandas-gbq (>=0.17.5)"]
-hdf5 = ["tables (>=3.7.0)"]
-html = ["beautifulsoup4 (>=4.11.1)", "html5lib (>=1.1)", "lxml (>=4.8.0)"]
-mysql = ["SQLAlchemy (>=1.4.36)", "pymysql (>=1.0.2)"]
-output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.8.10)"]
-parquet = ["pyarrow (>=7.0.0)"]
-performance = ["bottleneck (>=1.3.4)", "numba (>=0.55.2)", "numexpr (>=2.8.0)"]
-plot = ["matplotlib (>=3.6.1)"]
-postgresql = ["SQLAlchemy (>=1.4.36)", "psycopg2 (>=2.9.3)"]
-spss = ["pyreadstat (>=1.1.5)"]
-sql-other = ["SQLAlchemy (>=1.4.36)"]
+excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"]
+feather = ["pyarrow (>=10.0.1)"]
+fss = ["fsspec (>=2022.11.0)"]
+gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"]
+hdf5 = ["tables (>=3.8.0)"]
+html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"]
+mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"]
+output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"]
+parquet = ["pyarrow (>=10.0.1)"]
+performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"]
+plot = ["matplotlib (>=3.6.3)"]
+postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"]
+pyarrow = ["pyarrow (>=10.0.1)"]
+spss = ["pyreadstat (>=1.2.0)"]
+sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"]
test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"]
-xml = ["lxml (>=4.8.0)"]
+xml = ["lxml (>=4.9.2)"]
[[package]]
name = "parso"
version = "0.8.3"
description = "A Python Parser"
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -2612,6 +2712,7 @@ testing = ["docopt", "pytest (<6.0.0)"]
name = "pathspec"
version = "0.12.1"
description = "Utility library for gitignore style pattern matching of file paths."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -2623,6 +2724,7 @@ files = [
name = "pexpect"
version = "4.9.0"
description = "Pexpect allows easy control of interactive console applications."
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -2637,6 +2739,7 @@ ptyprocess = ">=0.5"
name = "pillow"
version = "10.2.0"
description = "Python Imaging Library (Fork)"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -2722,6 +2825,7 @@ xmp = ["defusedxml"]
name = "pkginfo"
version = "1.10.0"
description = "Query metadata from sdists / bdists / installed packages."
+category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -2736,6 +2840,7 @@ testing = ["pytest", "pytest-cov", "wheel"]
name = "platformdirs"
version = "4.2.0"
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -2751,6 +2856,7 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-
name = "pluggy"
version = "1.4.0"
description = "plugin and hook calling mechanisms for python"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -2766,6 +2872,7 @@ testing = ["pytest", "pytest-benchmark"]
name = "prompt-toolkit"
version = "3.0.43"
description = "Library for building powerful interactive command lines in Python"
+category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -2780,6 +2887,7 @@ wcwidth = "*"
name = "psutil"
version = "5.9.8"
description = "Cross-platform lib for process and system monitoring in Python."
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
files = [
@@ -2808,6 +2916,7 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
name = "ptyprocess"
version = "0.7.0"
description = "Run a subprocess in a pseudo terminal"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -2819,6 +2928,7 @@ files = [
name = "pure-eval"
version = "0.2.2"
description = "Safely evaluate AST nodes without side effects"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -2831,56 +2941,58 @@ tests = ["pytest"]
[[package]]
name = "pyarrow"
-version = "14.0.1"
+version = "15.0.1"
description = "Python library for Apache Arrow"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
- {file = "pyarrow-14.0.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:96d64e5ba7dceb519a955e5eeb5c9adcfd63f73a56aea4722e2cc81364fc567a"},
- {file = "pyarrow-14.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a8ae88c0038d1bc362a682320112ee6774f006134cd5afc291591ee4bc06505"},
- {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f6f053cb66dc24091f5511e5920e45c83107f954a21032feadc7b9e3a8e7851"},
- {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:906b0dc25f2be12e95975722f1e60e162437023f490dbd80d0deb7375baf3171"},
- {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:78d4a77a46a7de9388b653af1c4ce539350726cd9af62e0831e4f2bd0c95a2f4"},
- {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:06ca79080ef89d6529bb8e5074d4b4f6086143b2520494fcb7cf8a99079cde93"},
- {file = "pyarrow-14.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:32542164d905002c42dff896efdac79b3bdd7291b1b74aa292fac8450d0e4dcd"},
- {file = "pyarrow-14.0.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:c7331b4ed3401b7ee56f22c980608cf273f0380f77d0f73dd3c185f78f5a6220"},
- {file = "pyarrow-14.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:922e8b49b88da8633d6cac0e1b5a690311b6758d6f5d7c2be71acb0f1e14cd61"},
- {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58c889851ca33f992ea916b48b8540735055201b177cb0dcf0596a495a667b00"},
- {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30d8494870d9916bb53b2a4384948491444741cb9a38253c590e21f836b01222"},
- {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:be28e1a07f20391bb0b15ea03dcac3aade29fc773c5eb4bee2838e9b2cdde0cb"},
- {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:981670b4ce0110d8dcb3246410a4aabf5714db5d8ea63b15686bce1c914b1f83"},
- {file = "pyarrow-14.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:4756a2b373a28f6166c42711240643fb8bd6322467e9aacabd26b488fa41ec23"},
- {file = "pyarrow-14.0.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:cf87e2cec65dd5cf1aa4aba918d523ef56ef95597b545bbaad01e6433851aa10"},
- {file = "pyarrow-14.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:470ae0194fbfdfbf4a6b65b4f9e0f6e1fa0ea5b90c1ee6b65b38aecee53508c8"},
- {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6263cffd0c3721c1e348062997babdf0151301f7353010c9c9a8ed47448f82ab"},
- {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8089d7e77d1455d529dbd7cff08898bbb2666ee48bc4085203af1d826a33cc"},
- {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fada8396bc739d958d0b81d291cfd201126ed5e7913cb73de6bc606befc30226"},
- {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2a145dab9ed7849fc1101bf03bcdc69913547f10513fdf70fc3ab6c0a50c7eee"},
- {file = "pyarrow-14.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:05fe7994745b634c5fb16ce5717e39a1ac1fac3e2b0795232841660aa76647cd"},
- {file = "pyarrow-14.0.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a8eeef015ae69d104c4c3117a6011e7e3ecd1abec79dc87fd2fac6e442f666ee"},
- {file = "pyarrow-14.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c76807540989fe8fcd02285dd15e4f2a3da0b09d27781abec3adc265ddbeba1"},
- {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:450e4605e3c20e558485f9161a79280a61c55efe585d51513c014de9ae8d393f"},
- {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:323cbe60210173ffd7db78bfd50b80bdd792c4c9daca8843ef3cd70b186649db"},
- {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0140c7e2b740e08c5a459439d87acd26b747fc408bde0a8806096ee0baaa0c15"},
- {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:e592e482edd9f1ab32f18cd6a716c45b2c0f2403dc2af782f4e9674952e6dd27"},
- {file = "pyarrow-14.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:d264ad13605b61959f2ae7c1d25b1a5b8505b112715c961418c8396433f213ad"},
- {file = "pyarrow-14.0.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:01e44de9749cddc486169cb632f3c99962318e9dacac7778315a110f4bf8a450"},
- {file = "pyarrow-14.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d0351fecf0e26e152542bc164c22ea2a8e8c682726fce160ce4d459ea802d69c"},
- {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c1f6110c386464fd2e5e4ea3624466055bbe681ff185fd6c9daa98f30a3f9a"},
- {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11e045dfa09855b6d3e7705a37c42e2dc2c71d608fab34d3c23df2e02df9aec3"},
- {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:097828b55321897db0e1dbfc606e3ff8101ae5725673498cbfa7754ee0da80e4"},
- {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1daab52050a1c48506c029e6fa0944a7b2436334d7e44221c16f6f1b2cc9c510"},
- {file = "pyarrow-14.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:3f6d5faf4f1b0d5a7f97be987cf9e9f8cd39902611e818fe134588ee99bf0283"},
- {file = "pyarrow-14.0.1.tar.gz", hash = "sha256:b8b3f4fe8d4ec15e1ef9b599b94683c5216adaed78d5cb4c606180546d1e2ee1"},
+ {file = "pyarrow-15.0.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:c2ddb3be5ea938c329a84171694fc230b241ce1b6b0ff1a0280509af51c375fa"},
+ {file = "pyarrow-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7543ea88a0ff72f8e6baaf9bfdbec2c62aeabdbede9e4a571c71cc3bc43b6302"},
+ {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1519e218a6941fc074e4501088d891afcb2adf77c236e03c34babcf3d6a0d1c7"},
+ {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28cafa86e1944761970d3b3fc0411b14ff9b5c2b73cd22aaf470d7a3976335f5"},
+ {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:be5c3d463e33d03eab496e1af7916b1d44001c08f0f458ad27dc16093a020638"},
+ {file = "pyarrow-15.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:47b1eda15d3aa3f49a07b1808648e1397e5dc6a80a30bf87faa8e2d02dad7ac3"},
+ {file = "pyarrow-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e524a31be7db22deebbbcf242b189063ab9a7652c62471d296b31bc6e3cae77b"},
+ {file = "pyarrow-15.0.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:a476fefe8bdd56122fb0d4881b785413e025858803cc1302d0d788d3522b374d"},
+ {file = "pyarrow-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:309e6191be385f2e220586bfdb643f9bb21d7e1bc6dd0a6963dc538e347b2431"},
+ {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83bc586903dbeb4365cbc72b602f99f70b96c5882e5dfac5278813c7d624ca3c"},
+ {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07e652daac6d8b05280cd2af31c0fb61a4490ec6a53dc01588014d9fa3fdbee9"},
+ {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:abad2e08652df153a72177ce20c897d083b0c4ebeec051239e2654ddf4d3c996"},
+ {file = "pyarrow-15.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cde663352bc83ad75ba7b3206e049ca1a69809223942362a8649e37bd22f9e3b"},
+ {file = "pyarrow-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:1b6e237dd7a08482a8b8f3f6512d258d2460f182931832a8c6ef3953203d31e1"},
+ {file = "pyarrow-15.0.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:7bd167536ee23192760b8c731d39b7cfd37914c27fd4582335ffd08450ff799d"},
+ {file = "pyarrow-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7c08bb31eb2984ba5c3747d375bb522e7e536b8b25b149c9cb5e1c49b0ccb736"},
+ {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0f9c1d630ed2524bd1ddf28ec92780a7b599fd54704cd653519f7ff5aec177a"},
+ {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5186048493395220550bca7b524420471aac2d77af831f584ce132680f55c3df"},
+ {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:31dc30c7ec8958da3a3d9f31d6c3630429b2091ede0ecd0d989fd6bec129f0e4"},
+ {file = "pyarrow-15.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3f111a014fb8ac2297b43a74bf4495cc479a332908f7ee49cb7cbd50714cb0c1"},
+ {file = "pyarrow-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:a6d1f7c15d7f68f08490d0cb34611497c74285b8a6bbeab4ef3fc20117310983"},
+ {file = "pyarrow-15.0.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:9ad931b996f51c2f978ed517b55cb3c6078272fb4ec579e3da5a8c14873b698d"},
+ {file = "pyarrow-15.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:738f6b53ab1c2f66b2bde8a1d77e186aeaab702d849e0dfa1158c9e2c030add3"},
+ {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c1c3fc16bc74e33bf8f1e5a212938ed8d88e902f372c4dac6b5bad328567d2f"},
+ {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1fa92512128f6c1b8dde0468c1454dd70f3bff623970e370d52efd4d24fd0be"},
+ {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:b4157f307c202cbbdac147d9b07447a281fa8e63494f7fc85081da351ec6ace9"},
+ {file = "pyarrow-15.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:b75e7da26f383787f80ad76143b44844ffa28648fcc7099a83df1538c078d2f2"},
+ {file = "pyarrow-15.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:3a99eac76ae14096c209850935057b9e8ce97a78397c5cde8724674774f34e5d"},
+ {file = "pyarrow-15.0.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:dd532d3177e031e9b2d2df19fd003d0cc0520d1747659fcabbd4d9bb87de508c"},
+ {file = "pyarrow-15.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ce8c89848fd37e5313fc2ce601483038ee5566db96ba0808d5883b2e2e55dc53"},
+ {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:862eac5e5f3b6477f7a92b2f27e560e1f4e5e9edfca9ea9da8a7478bb4abd5ce"},
+ {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f0ea3a29cd5cb99bf14c1c4533eceaa00ea8fb580950fb5a89a5c771a994a4e"},
+ {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:bb902f780cfd624b2e8fd8501fadab17618fdb548532620ef3d91312aaf0888a"},
+ {file = "pyarrow-15.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:4f87757f02735a6bb4ad2e1b98279ac45d53b748d5baf52401516413007c6999"},
+ {file = "pyarrow-15.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:efd3816c7fbfcbd406ac0f69873cebb052effd7cdc153ae5836d1b00845845d7"},
+ {file = "pyarrow-15.0.1.tar.gz", hash = "sha256:21d812548d39d490e0c6928a7c663f37b96bf764034123d4b4ab4530ecc757a9"},
]
[package.dependencies]
-numpy = ">=1.16.6"
+numpy = ">=1.16.6,<2"
[[package]]
name = "pyarrow-hotfix"
version = "0.6"
description = ""
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -2892,6 +3004,7 @@ files = [
name = "pybtex"
version = "0.24.0"
description = "A BibTeX-compatible bibliography processor in Python"
+category = "main"
optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*"
files = [
@@ -2911,6 +3024,7 @@ test = ["pytest"]
name = "pybtex-docutils"
version = "1.0.3"
description = "A docutils backend for pybtex."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -2926,6 +3040,7 @@ pybtex = ">=0.16"
name = "pycodestyle"
version = "2.11.1"
description = "Python style guide checker"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -2937,6 +3052,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 = [
@@ -2948,6 +3064,7 @@ files = [
name = "pydantic"
version = "2.6.3"
description = "Data validation using Python type hints"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -2967,6 +3084,7 @@ email = ["email-validator (>=2.0.0)"]
name = "pydantic-core"
version = "2.16.3"
description = ""
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3058,6 +3176,7 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
name = "pydantic-settings"
version = "2.2.1"
description = "Settings management using Pydantic"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3077,6 +3196,7 @@ yaml = ["pyyaml (>=6.0.1)"]
name = "pydata-sphinx-theme"
version = "0.15.2"
description = "Bootstrap-based Sphinx theme from the PyData community"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -3104,6 +3224,7 @@ test = ["pytest", "pytest-cov", "pytest-regressions"]
name = "pyflakes"
version = "3.1.0"
description = "passive checker of Python programs"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3115,6 +3236,7 @@ files = [
name = "pygments"
version = "2.17.2"
description = "Pygments is a syntax highlighting package written in Python."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -3130,6 +3252,7 @@ windows-terminal = ["colorama (>=0.4.6)"]
name = "pyparsing"
version = "3.1.2"
description = "pyparsing module - Classes and methods to define and execute parsing grammars"
+category = "main"
optional = false
python-versions = ">=3.6.8"
files = [
@@ -3144,6 +3267,7 @@ diagrams = ["jinja2", "railroad-diagrams"]
name = "pysocks"
version = "1.7.1"
description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information."
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -3156,6 +3280,7 @@ files = [
name = "pytest"
version = "7.4.4"
description = "pytest: simple powerful testing with Python"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3178,6 +3303,7 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no
name = "pytest-cov"
version = "4.1.0"
description = "Pytest plugin for measuring coverage."
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3196,6 +3322,7 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale
name = "python-dateutil"
version = "2.9.0.post0"
description = "Extensions to the standard Python datetime module"
+category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
files = [
@@ -3210,6 +3337,7 @@ six = ">=1.5"
name = "python-dotenv"
version = "1.0.1"
description = "Read key-value pairs from a .env file and set them as environment variables"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3224,6 +3352,7 @@ cli = ["click (>=5.0)"]
name = "python-gitlab"
version = "3.15.0"
description = "Interact with GitLab API"
+category = "dev"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -3243,6 +3372,7 @@ yaml = ["PyYaml (>=5.2)"]
name = "python-semantic-release"
version = "7.34.6"
description = "Automatic Semantic Versioning for Python projects"
+category = "dev"
optional = false
python-versions = "*"
files = [
@@ -3274,6 +3404,7 @@ test = ["coverage (>=5,<6)", "mock (==1.3.0)", "pytest (>=7,<8)", "pytest-mock (
name = "pytz"
version = "2024.1"
description = "World timezone definitions, modern and historical"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -3285,6 +3416,7 @@ files = [
name = "pywin32"
version = "306"
description = "Python for Window Extensions"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -3308,6 +3440,7 @@ files = [
name = "pywin32-ctypes"
version = "0.2.2"
description = "A (partial) reimplementation of pywin32 using ctypes/cffi"
+category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -3319,6 +3452,7 @@ files = [
name = "pyyaml"
version = "6.0.1"
description = "YAML parser and emitter for Python"
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -3327,7 +3461,6 @@ files = [
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
- {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
{file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
{file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
{file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
@@ -3335,15 +3468,8 @@ files = [
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
- {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
{file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
- {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
- {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
- {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
{file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
@@ -3360,7 +3486,6 @@ files = [
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
- {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
{file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
{file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
{file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
@@ -3368,7 +3493,6 @@ files = [
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
- {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
{file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
{file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
@@ -3378,6 +3502,7 @@ files = [
name = "pyzmq"
version = "25.1.2"
description = "Python bindings for 0MQ"
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -3483,6 +3608,7 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""}
name = "readme-renderer"
version = "43.0"
description = "readme_renderer is a library for rendering readme descriptions for Warehouse"
+category = "dev"
optional = false
python-versions = ">=3.8"
files = [
@@ -3502,6 +3628,7 @@ md = ["cmarkgfm (>=0.8.0)"]
name = "referencing"
version = "0.33.0"
description = "JSON Referencing + Python"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3517,6 +3644,7 @@ rpds-py = ">=0.7.0"
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -3539,6 +3667,7 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
name = "requests-toolbelt"
version = "1.0.0"
description = "A utility belt for advanced users of python-requests"
+category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -3553,6 +3682,7 @@ requests = ">=2.0.1,<3.0.0"
name = "rfc3986"
version = "2.0.0"
description = "Validating URI References per RFC 3986"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3567,6 +3697,7 @@ idna2008 = ["idna"]
name = "rich"
version = "13.7.1"
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
+category = "main"
optional = false
python-versions = ">=3.7.0"
files = [
@@ -3585,6 +3716,7 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
name = "rpds-py"
version = "0.18.0"
description = "Python bindings to Rust's persistent data structures (rpds)"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3693,6 +3825,7 @@ files = [
name = "scipy"
version = "1.12.0"
description = "Fundamental algorithms for scientific computing in Python"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -3735,6 +3868,7 @@ test = ["asv", "gmpy2", "hypothesis", "mpmath", "pooch", "pytest", "pytest-cov",
name = "secretstorage"
version = "3.3.3"
description = "Python bindings to FreeDesktop.org Secret Service API"
+category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -3750,6 +3884,7 @@ jeepney = ">=0.6"
name = "semver"
version = "2.13.0"
description = "Python helper for Semantic Versioning (http://semver.org/)"
+category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
@@ -3761,6 +3896,7 @@ files = [
name = "setuptools"
version = "69.1.1"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3777,6 +3913,7 @@ testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jar
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 = [
@@ -3788,6 +3925,7 @@ files = [
name = "smmap"
version = "5.0.1"
description = "A pure Python implementation of a sliding window memory map manager"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -3799,6 +3937,7 @@ files = [
name = "snowballstemmer"
version = "2.2.0"
description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -3810,6 +3949,7 @@ files = [
name = "soupsieve"
version = "2.5"
description = "A modern CSS selector implementation for Beautiful Soup."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3821,6 +3961,7 @@ files = [
name = "sphinx"
version = "7.2.6"
description = "Python documentation generator"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -3856,6 +3997,7 @@ test = ["cython (>=3.0)", "filelock", "html5lib", "pytest (>=4.6)", "setuptools
name = "sphinx-book-theme"
version = "1.1.2"
description = "A clean book theme for scientific explanations and documentation with Sphinx"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -3876,6 +4018,7 @@ test = ["beautifulsoup4", "coverage", "myst-nb", "pytest", "pytest-cov", "pytest
name = "sphinx-carousel"
version = "1.2.0"
description = "A Sphinx extension for creating slideshows using Bootstrap Carousels."
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -3890,6 +4033,7 @@ Sphinx = ">=4.0.0"
name = "sphinx-comments"
version = "0.0.3"
description = "Add comments and annotation to your documentation."
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -3909,6 +4053,7 @@ testing = ["beautifulsoup4", "myst-parser", "pytest", "pytest-regressions", "sph
name = "sphinx-copybutton"
version = "0.5.2"
description = "Add a copy button to each of your code cells."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -3927,6 +4072,7 @@ rtd = ["ipython", "myst-nb", "sphinx", "sphinx-book-theme", "sphinx-examples"]
name = "sphinx-design"
version = "0.5.0"
description = "A sphinx extension for designing beautiful, view size responsive web components."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -3950,6 +4096,7 @@ theme-sbt = ["sphinx-book-theme (>=1.0,<2.0)"]
name = "sphinx-examples"
version = "0.0.5"
description = "A lightweight example directive to make it easy to demonstrate code / results."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -3968,6 +4115,7 @@ sphinx = ["furo", "myst-parser", "sphinx-book-theme", "sphinx-copybutton", "sphi
name = "sphinx-external-toc"
version = "1.0.1"
description = "A sphinx extension that allows the site-map to be defined in a single YAML file."
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -3989,6 +4137,7 @@ testing = ["coverage", "pytest (>=7.1)", "pytest-cov", "pytest-regressions"]
name = "sphinx-hoverxref"
version = "1.3.0"
description = "Sphinx extension to show tooltips with content embedded when hover a reference."
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -4008,6 +4157,7 @@ test = ["tox"]
name = "sphinx-inline-tabs"
version = "2023.4.21"
description = "Add inline tabbed content to your Sphinx documentation."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4026,6 +4176,7 @@ test = ["pytest", "pytest-cov", "pytest-xdist"]
name = "sphinx-jupyterbook-latex"
version = "1.0.0"
description = "Latex specific features for jupyter book"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -4047,6 +4198,7 @@ testing = ["coverage (>=6.0)", "myst-nb (>=1.0.0)", "pytest (>=7.1)", "pytest-co
name = "sphinx-multitoc-numbering"
version = "0.1.3"
description = "Supporting continuous HTML section numbering"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -4066,6 +4218,7 @@ testing = ["coverage (<5.0)", "jupyter-book", "pytest (>=5.4,<6.0)", "pytest-cov
name = "sphinx-proof"
version = "0.1.3"
description = "A Sphinx extension for producing proofs, theorems, axioms, etc."
+category = "main"
optional = false
python-versions = ">=3.6"
files = [
@@ -4088,6 +4241,7 @@ testing = ["beautifulsoup4", "coverage", "myst-parser", "pytest (>=3.6,<4)", "py
name = "sphinx-thebe"
version = "0.3.1"
description = "Integrate interactive code blocks into your documentation with Thebe and Binder."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4107,6 +4261,7 @@ testing = ["beautifulsoup4", "matplotlib", "myst-nb (>=1.0.0rc0)", "pytest", "py
name = "sphinx-togglebutton"
version = "0.3.2"
description = "Toggle page content and collapse admonitions in Sphinx."
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -4127,6 +4282,7 @@ sphinx = ["matplotlib", "myst-nb", "numpy", "sphinx-book-theme", "sphinx-design"
name = "sphinxcontrib-applehelp"
version = "1.0.8"
description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -4143,6 +4299,7 @@ test = ["pytest"]
name = "sphinxcontrib-bibtex"
version = "2.6.2"
description = "Sphinx extension for BibTeX style citations."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4151,7 +4308,7 @@ files = [
]
[package.dependencies]
-docutils = ">=0.8,<0.18.dev0 || >=0.20.dev0"
+docutils = ">=0.8,<0.18.0 || >=0.20.0"
importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""}
pybtex = ">=0.24"
pybtex-docutils = ">=1.0.0"
@@ -4161,6 +4318,7 @@ Sphinx = ">=3.5"
name = "sphinxcontrib-devhelp"
version = "1.0.6"
description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -4177,6 +4335,7 @@ test = ["pytest"]
name = "sphinxcontrib-htmlhelp"
version = "2.0.5"
description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -4193,6 +4352,7 @@ test = ["html5lib", "pytest"]
name = "sphinxcontrib-jquery"
version = "4.1"
description = "Extension to include jQuery on newer Sphinx releases"
+category = "main"
optional = false
python-versions = ">=2.7"
files = [
@@ -4207,6 +4367,7 @@ Sphinx = ">=1.8"
name = "sphinxcontrib-jsmath"
version = "1.0.1"
description = "A sphinx extension which renders display math in HTML via JavaScript"
+category = "main"
optional = false
python-versions = ">=3.5"
files = [
@@ -4221,6 +4382,7 @@ test = ["flake8", "mypy", "pytest"]
name = "sphinxcontrib-lastupdate"
version = "1.1"
description = "Sphinx lastupdate extension"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -4236,6 +4398,7 @@ Sphinx = "*"
name = "sphinxcontrib-mermaid"
version = "0.9.2"
description = "Mermaid diagrams in yours Sphinx powered docs"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4247,6 +4410,7 @@ files = [
name = "sphinxcontrib-qthelp"
version = "1.0.7"
description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -4263,6 +4427,7 @@ test = ["pytest"]
name = "sphinxcontrib-serializinghtml"
version = "1.1.10"
description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)"
+category = "main"
optional = false
python-versions = ">=3.9"
files = [
@@ -4279,6 +4444,7 @@ test = ["pytest"]
name = "sphinxcontrib-video"
version = "0.2.0"
description = "Allows embedding of HTML5 videos in sphinx"
+category = "main"
optional = false
python-versions = ">=3.6.9"
files = [
@@ -4298,6 +4464,7 @@ test = ["beautifulsoup4", "pytest", "pytest-cov", "pytest-regressions"]
name = "sphinxcontrib-youtube"
version = "1.4.1"
description = "Sphinx \"youtube\" extension."
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -4318,6 +4485,7 @@ test = ["beautifulsoup4", "pytest", "pytest-cov", "pytest-regressions"]
name = "sqlalchemy"
version = "2.0.28"
description = "Database Abstraction Library"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4405,6 +4573,7 @@ sqlcipher = ["sqlcipher3_binary"]
name = "stack-data"
version = "0.6.3"
description = "Extract data from python stack frames and tracebacks for informative displays"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -4424,6 +4593,7 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"]
name = "tabulate"
version = "0.9.0"
description = "Pretty-print tabular data"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4438,6 +4608,7 @@ widechars = ["wcwidth"]
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -4449,6 +4620,7 @@ files = [
name = "tomlkit"
version = "0.12.4"
description = "Style preserving TOML library"
+category = "dev"
optional = false
python-versions = ">=3.7"
files = [
@@ -4460,6 +4632,7 @@ files = [
name = "tornado"
version = "6.4"
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
+category = "main"
optional = false
python-versions = ">= 3.8"
files = [
@@ -4480,6 +4653,7 @@ files = [
name = "tqdm"
version = "4.66.2"
description = "Fast, Extensible Progress Meter"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4500,6 +4674,7 @@ telegram = ["requests"]
name = "traitlets"
version = "5.14.1"
description = "Traitlets Python configuration system"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4515,6 +4690,7 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,
name = "twine"
version = "3.8.0"
description = "Collection of utilities for publishing packages on PyPI"
+category = "dev"
optional = false
python-versions = ">=3.6"
files = [
@@ -4538,6 +4714,7 @@ urllib3 = ">=1.26.0"
name = "typing-extensions"
version = "4.10.0"
description = "Backported and Experimental Type Hints for Python 3.8+"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4549,6 +4726,7 @@ files = [
name = "tzdata"
version = "2024.1"
description = "Provider of IANA time zone data"
+category = "main"
optional = false
python-versions = ">=2"
files = [
@@ -4560,6 +4738,7 @@ files = [
name = "uc-micro-py"
version = "1.0.3"
description = "Micro subset of unicode data files for linkify-it-py projects."
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4574,6 +4753,7 @@ test = ["coverage", "pytest", "pytest-cov"]
name = "urllib3"
version = "2.2.1"
description = "HTTP library with thread-safe connection pooling, file post, and more."
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4591,6 +4771,7 @@ zstd = ["zstandard (>=0.18.0)"]
name = "wcwidth"
version = "0.2.13"
description = "Measures the displayed width of unicode strings in a terminal"
+category = "main"
optional = false
python-versions = "*"
files = [
@@ -4602,6 +4783,7 @@ files = [
name = "wheel"
version = "0.42.0"
description = "A built-package format for Python"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4616,6 +4798,7 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"]
name = "xxhash"
version = "3.4.1"
description = "Python binding for xxHash"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4733,6 +4916,7 @@ files = [
name = "yarl"
version = "1.9.4"
description = "Yet another URL library"
+category = "main"
optional = false
python-versions = ">=3.7"
files = [
@@ -4836,6 +5020,7 @@ multidict = ">=4.0"
name = "zipp"
version = "3.17.0"
description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
optional = false
python-versions = ">=3.8"
files = [
@@ -4849,5 +5034,5 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
[metadata]
lock-version = "2.0"
-python-versions = ">=3.9,<=3.12"
-content-hash = "b138d8704f0c48930711314731f63ca246fcfec95bd08fbaacb5e06d5897f05f"
+python-versions = ">=3.9,<3.13"
+content-hash = "c5eecebba83513650c360ddde93fe22c509976e7ec1c030339f88892e6cebe69"
diff --git a/pyproject.toml b/pyproject.toml
index 29e33a7..00de1c5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -13,7 +13,7 @@ packages = [{ include = "mlops2024", from = "src" }]
mlops2024 = 'mlops2024.__click__:main'
[tool.poetry.dependencies]
-python = ">=3.9,<=3.12"
+python = ">=3.9,<3.13"
click = "^8.1.3"
hyfi = "^1.35.1"
jupyter-book = "^1.0.0"
@@ -65,16 +65,43 @@ extend-exclude = '''
[tool.isort]
profile = "black"
-skip = ['_version.py', 'node_modules', '_build', 'docs', 'tests', 'venv', '.copier-template', '.refs']
+skip = [
+ '_version.py',
+ 'node_modules',
+ '_build',
+ 'docs',
+ 'tests',
+ 'venv',
+ '.copier-template',
+ '.refs',
+]
[tool.flake8]
ignore = ['F401', 'E501', 'W503']
-exclude = ["node_modules", "_build", "docs", "tests", "venv", ".copier-template", ".refs"]
+exclude = [
+ "node_modules",
+ "_build",
+ "docs",
+ "tests",
+ "venv",
+ ".copier-template",
+ ".refs",
+]
per-file-ignores = ['__init__.py:F401', '_version.py:W292']
[tool.mypy]
namespace_packages = true
-exclude = ["node_modules", "build", "_build", "dist", "docs", "tests", "venv", ".copier-template", ".refs"]
+exclude = [
+ "node_modules",
+ "build",
+ "_build",
+ "dist",
+ "docs",
+ "tests",
+ "venv",
+ ".copier-template",
+ ".refs",
+]
# 3rd party import
ignore_missing_imports = true
# dynamic typing
@@ -119,7 +146,7 @@ branch = "main"
version_toml = "pyproject.toml:tool.poetry.version"
version_variable = "src/mlops2024/_version.py:__version__"
version_source = "tag"
-commit_version_number = true # required for version_source = "tag"
+commit_version_number = true # required for version_source = "tag"
commit_subject = "chore(release): :rocket: {version} [skip ci]"
prerelease_tag = "rc"
major_on_zero = true
@@ -127,10 +154,9 @@ tag_commit = true
changelog_file = "CHANGELOG.md"
upload_to_repository = true
upload_to_release = true
-hvcs = "github" # hosting version control system, gitlab is also supported
+hvcs = "github" # hosting version control system, gitlab is also supported
build_command = "poetry build --no-cache"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
-
diff --git a/src/mlops2024/book/_config.yml b/src/mlops2024/book/_config.yml
index dd3cb27..79eb183 100644
--- a/src/mlops2024/book/_config.yml
+++ b/src/mlops2024/book/_config.yml
@@ -25,7 +25,7 @@ latex:
# Add a bibtex file so that we can create citations
bibtex_bibfiles:
- - references.bib
+ - bibs/week01.bib
# Information about where the book exists on the web
repository:
@@ -42,15 +42,15 @@ html:
favicon: https://assets.entelecheia.ai/favicon.png # favicon: Path to the favicon image
google_analytics_id: G-BQJE5V9RK2 # google_analytics_id: Google Analytics ID
extra_footer: |
-
+
sphinx:
config:
diff --git a/src/mlops2024/book/_toc.yml b/src/mlops2024/book/_toc.yml
index 7a862a3..76b69b5 100644
--- a/src/mlops2024/book/_toc.yml
+++ b/src/mlops2024/book/_toc.yml
@@ -7,9 +7,7 @@ parts:
- caption: Lecture Notes
chapters:
- file: week01/index
- sections:
- - file: week01/session1
- - file: week01/session2
+ - file: week02/index
- caption: About
chapters:
- file: syllabus/index
diff --git a/src/mlops2024/book/bibs/week01.bib b/src/mlops2024/book/bibs/week01.bib
new file mode 100644
index 0000000..b28fa11
--- /dev/null
+++ b/src/mlops2024/book/bibs/week01.bib
@@ -0,0 +1,18 @@
+---
+---
+@article{Sculley:2015,
+ TITLE = {Hidden technical debt in machine learning systems},
+ AUTHOR = {Sculley, David
+ AND Holt, Gary
+ AND Golovin, Daniel
+ AND Davydov, Eugene
+ AND Phillips, Todd
+ AND Ebner, Dietmar
+ AND Chaudhary, Vinay
+ AND Young, Michael
+ AND Crespo, Jean-francois
+ AND Dennison, Dan},
+ JOURNAL = {Advances in neural information processing systems},
+ VOLUME = {28},
+ YEAR = {2015}
+}
diff --git a/src/mlops2024/book/index.md b/src/mlops2024/book/index.md
index 60c2975..49c5981 100644
--- a/src/mlops2024/book/index.md
+++ b/src/mlops2024/book/index.md
@@ -41,6 +41,69 @@
```
+## Installation
+
+To install the MLOps 2024 package, use the following command:
+
+```
+pip install mlops2024
+```
+
+Or
+
+```
+pip install --user mlops2024
+```
+
+The `--user` flag is optional and can be used to install the package in the user's home directory instead of the system-wide location.
+
+## Usage
+
+To use the MLOps 2024 CLI, run the following command:
+
+```
+mlops2024 [OPTIONS]
+```
+
+If no option is provided, the website of the book will open in the default web browser.
+
+### Options
+
+The following options are available:
+
+- `--version`: Show the version of the package and exit.
+- `-b`, `--build`: Build the book.
+- `-l`, `--local`: Open the locally built HTML version of the book in the browser.
+- `--help`: Show the help message and exit.
+
+### Examples
+
+1. To build the book, use the following command:
+
+ ```
+ mlops2024 --build
+ ```
+
+ This will trigger the build process for the book.
+
+2. To open the locally built HTML version of the book in the browser, use the following command:
+
+ ```
+ mlops2024 --local
+ ```
+
+ This will open the book's HTML file in your default web browser.
+
+3. To view the version of the package, use the following command:
+
+ ```
+ mlops2024 --version
+ ```
+
+ This will display the version number of the MLOps 2024 package.
+
+For more information and additional options, run `mlops2024 --help` to see the help message.
+
## Contributors
diff --git a/src/mlops2024/book/references.bib b/src/mlops2024/book/references.bib
deleted file mode 100644
index ec380ec..0000000
--- a/src/mlops2024/book/references.bib
+++ /dev/null
@@ -1,3 +0,0 @@
----
----
-
diff --git a/src/mlops2024/book/week01/figs/mlcode.png b/src/mlops2024/book/week01/figs/mlcode.png
new file mode 100644
index 0000000..ebde6a3
Binary files /dev/null and b/src/mlops2024/book/week01/figs/mlcode.png differ
diff --git a/src/mlops2024/book/week01/figs/mlops-cycle.jpg b/src/mlops2024/book/week01/figs/mlops-cycle.jpg
new file mode 100644
index 0000000..ae93d40
Binary files /dev/null and b/src/mlops2024/book/week01/figs/mlops-cycle.jpg differ
diff --git a/src/mlops2024/book/week01/figs/mlops.png b/src/mlops2024/book/week01/figs/mlops.png
new file mode 100644
index 0000000..b724cb9
Binary files /dev/null and b/src/mlops2024/book/week01/figs/mlops.png differ
diff --git a/src/mlops2024/book/week01/index.md b/src/mlops2024/book/week01/index.md
index a24fa9c..9c446a8 100644
--- a/src/mlops2024/book/week01/index.md
+++ b/src/mlops2024/book/week01/index.md
@@ -1,5 +1,92 @@
-# Week 1
+# Week 1 - [MLOps 소개](https://lecture.entelecheia.ai/lectures/mlops/intro.html)
-```{tableofcontents}
+머신러닝 시스템 설계는 실제 문제를 해결하기 위해 머신러닝 모델과 알고리즘을 만들고 구현하는 과정입니다. 이는 소프트웨어 아키텍처 정의, 적절한 알고리즘 선택, 특정 요구사항을 충족하기 위한 인프라 설계 등을 포함합니다.
+MLOps(Machine Learning Operations)는 머신러닝 시스템에 DevOps 원칙을 적용하는 관련 분야입니다. MLOps는 머신러닝 모델의 복잡성과 확장성을 처리할 수 있는 소프트웨어 아키텍처 개발, 모델 학습 및 배포에 필요한 데이터 및 인프라 관리, 효율성과 신뢰성 향상을 위한 프로세스 자동화에 초점을 맞춥니다.
+
+```{mermaid}
+:align: center
+
+graph TD
+A[1. 데이터 수집] --> B[2. 데이터 준비]
+B --> C[3. 특성 선택]
+C --> D[4. 모델 학습]
+D --> E[5. 모델 검증]
+E --> F[6. 모델 통합]
+F --> G[7. 모니터링 & 유지보수]
+G --> A
+
+style A fill:#f9d5e5
+style B fill:#eeac99
+style C fill:#e06377
+style D fill:#c83349
+style E fill:#5b9aa0
+style F fill:#d6e4aa
+style G fill:#c9a690
+```
+
+## 머신러닝 시스템의 숨겨진 기술 부채
+
+실제 머신러닝 시스템을 구축하는 것은 단순히 머신러닝 코드를 작성하는 것 이상을 포함합니다. 성공적인 머신러닝 시스템을 구축하려면 머신러닝 알고리즘과 모델, 데이터 엔지니어링, 소프트웨어 공학, DevOps 등 다양한 영역의 전문 지식이 필요합니다.
+
+```{figure} figs/mlcode.png
+---
+width: 700px
+name: fig-mlcode
+---
+Only a small fraction of real-world ML systems is composed of the ML code {cite:p}`Sculley:2015`
+```
+
+## 머신러닝 시스템의 과제
+
+머신러닝 시스템 설계 및 개발에는 데이터 품질, 데이터 개인정보 보호 및 보안, 모델 선택 및 튜닝, 인프라 및 리소스 제약, 배포 및 통합, 모델 해석 가능성 및 투명성, 지속적인 개선 및 유지 관리 등 다양한 과제가 있습니다. 이러한 과제를 극복하려면 기계 학습 알고리즘 및 모델, 데이터 엔지니어링, 소프트웨어 엔지니어링, DevOps 등 다양한 영역에서 전문성이 필요합니다.
+
+## DevOps와 MLOps 비교
+
+DevOps와 MLOps는 소프트웨어 개발 및 배포 프로세스 개선에 중점을 둔 관련 분야이지만 구별되는 분야입니다. 주요 차이점은 다음과 같습니다:
+
+- MLOps는 머신러닝 모델의 전체 수명 주기에 중점을 두는 반면 DevOps는 소프트웨어 개발 수명 주기에 중점을 둡니다.
+- MLOps에는 머신러닝 알고리즘과 모델, 데이터 엔지니어링, 통계 분석 등 더 광범위한 기술과 전문 지식이 필요한 반면 DevOps는 소프트웨어 개발 및 IT 운영 전문 지식이 필요합니다.
+- 머신러닝 모델은 전통적인 소프트웨어 애플리케이션보다 더 복잡하며 다른 테스트 및 유지 관리 전략이 필요합니다.
+
+```{figure} figs/mlops-cycle.jpg
+---
+width: 500px
+name: fig-mlops-cycle2
+---
+The MLOps cycle. Source: [NealAnalytics](https://nealanalytics.com/expertise/mlops/)
+```
+
+## 지속적인 제공 및 자동화 파이프라인
+
+MLOps의 핵심 구성 요소 중 하나는 머신러닝 모델 구축 및 배포 프로세스를 간소화하기 위해 지속적인 제공 및 자동화 파이프라인을 사용하는 것입니다. Apache Airflow, TensorFlow, Kubernetes, Prometheus 등의 자동화 도구를 사용하여 데이터 수집, 준비, 기능 엔지니어링, 모델 교육 및 검증, 배포, 모니터링 및 유지 관리를 자동화할 수 있습니다.
+
+## MLOps가 중요한 이유
+
+MLOps는 머신러닝 프로젝트 구현 및 유지 관리가 어려울 수 있기 때문에 중요합니다. MLOps는 데이터 수집 및 전처리부터 모델 배포 및 유지 관리에 이르기까지 머신러닝 모델의 전체 수명 주기를 관리하기 위한 프레임워크를 제공함으로써 이러한 과제를 극복하는 데 도움이 됩니다.
+
+## MLOps 구현 방법
+
+MLOps 구현에는 조직의 요구 사항과 머신러닝 프로세스의 성숙도에 따라 다양한 방법이 있습니다. MLOps 구현은 현재 상태 평가, 요구사항 정의, 올바른 도구 선택, 프로세스 자동화, 모니터링 및 유지 관리, 머신러닝 모델의 지속적인 교육 및 테스트 수행 등의 단계가 포함됩니다.
+
+구글에서 제안한 MLOps 성숙도 수준은 다음과 같습니다:
+
+- MLOps 레벨 0: ML 시작 단계의 기업을 위한 수동적이고 대화식 프로세스
+- MLOps 레벨 1: 생산에서 모델의 지속적인 교육을 달성하기 위해 ML 파이프라인 자동화
+- MLOps 레벨 2: 강력한 자동화된 CI/CD 시스템을 포함하며 기술 기반 회사에 적합
+
+## 종단간 MLOps 솔루션
+
+다양한 MLOps 플랫폼과 도구가 있으며, 각각 장단점이 있습니다. 대표적인 MLOps 솔루션으로는 Algorithmia, Allegro.io, Cnvrg.io, Dataiku, Datarobot, H2O, Iguazio, Kubeflow, Pachyderm, Polyaxon, Valohai 등이 있습니다.
+
+최근에는 MLOps 분야가 빠르게 발전하고 있으며, 클라우드 기반 MLOps 서비스가 각광받고 있습니다. 대표적으로 AWS의 SageMaker, GCP의 Vertex AI, Azure의 Azure Machine Learning 등이 있습니다. 이러한 서비스는 데이터 준비, 모델 학습, 배포, 모니터링 등 머신러닝 워크플로우의 전 과정을 통합하여 제공합니다.
+
+또한 최근에는 MLOps와 데이터 품질 관리, 모델 해석 가능성, 공정성 등 책임감 있는 AI(Responsible AI)에 대한 관심도 높아지고 있습니다. 머신러닝 모델의 편향성을 최소화하고 설명 가능성을 높이기 위한 다양한 기술과 방법론이 연구되고 있습니다.
+
+앞으로도 MLOps 분야는 지속적으로 발전할 것으로 보이며, 기업들의 AI/ML 프로젝트 성공을 위해 MLOps의 중요성은 더욱 커질 것으로 예상됩니다. MLOps를 효과적으로 적용하기 위해서는 조직 문화, 프로세스, 기술 스택 등을 종합적으로 고려해야 할 것입니다.
+
+## References
+
+```{bibliography}
+:filter: docname in docnames
```
diff --git a/src/mlops2024/book/week01/session1.md b/src/mlops2024/book/week01/session1.md
deleted file mode 100644
index 10b2cc3..0000000
--- a/src/mlops2024/book/week01/session1.md
+++ /dev/null
@@ -1 +0,0 @@
-# Session 1
\ No newline at end of file
diff --git a/src/mlops2024/book/week01/session2.md b/src/mlops2024/book/week01/session2.md
deleted file mode 100644
index 965e4b8..0000000
--- a/src/mlops2024/book/week01/session2.md
+++ /dev/null
@@ -1 +0,0 @@
-# Session 2
\ No newline at end of file
diff --git a/src/mlops2024/book/week02/index.md b/src/mlops2024/book/week02/index.md
new file mode 100644
index 0000000..7ab48da
--- /dev/null
+++ b/src/mlops2024/book/week02/index.md
@@ -0,0 +1,5 @@
+# Week 2
+
+```{tableofcontents}
+
+```