From 79bba3aa8e203ae4a53d254957583cc85b8be189 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Thu, 8 Jun 2023 13:50:27 +1200 Subject: [PATCH 1/7] Enable sphinx tabs --- docs/conf.py | 1 + docs/stream_maps.md | 25 +++++++++++++++++++++---- pyproject.toml | 2 ++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 87df1b6b7..cd1cae558 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -42,6 +42,7 @@ "sphinx_copybutton", "myst_parser", "sphinx_reredirects", + "sphinx_inline_tabs", ] # Add any paths that contain templates here, relative to this directory. diff --git a/docs/stream_maps.md b/docs/stream_maps.md index 355426fba..f0f22cf29 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -324,26 +324,43 @@ To create a new stream as a copy of the original, specify the operation `"__source__": "stream_name"`. For example, you can create a copy of the `customers` stream which only contains PII properties using the following: -```js +````{tab} JSON +```json { "stream_maps": { "customers": { - // exclude these since we're capturing them in the pii stream "email": null, "full_name": null }, "customers_pii": { "__source__": "customers", - // include just the PII and the customer_id "customer_id": "customer_id", "email": "email", "full_name": "full_name", - // exclude anything not declared "__else__": null, }, }, } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + customers: + # Exclude these since we're capturing them in the pii stream + email: + full_name: + customers_pii: + __source__: customers + # include just the PII and the customer_id + customer_id: customer_id + email: email + full_name: full_name + # exclude anything not declared + __else__: +``` +```` ## Filtering out records from a stream using `__filter__` operation diff --git a/pyproject.toml b/pyproject.toml index 3c0384d3c..9ac820128 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,6 +70,7 @@ sphinx-copybutton = {version = ">=0.3.1,<0.6.0", optional = true} myst-parser = {version = ">=0.17.2,<1.1.0", optional = true} sphinx-autobuild = {version = "^2021.3.14", optional = true} sphinx-reredirects = {version = "^0.1.1", optional = true} +sphinx-inline-tabs = {version = "^2023.4.21"} # File storage dependencies installed as optional 'filesystem' extras fs-s3fs = {version = "^1.1.1", optional = true} @@ -86,6 +87,7 @@ docs = [ "myst-parser", "sphinx-autobuild", "sphinx_reredirects", + "sphinx_inline_tabs", ] s3 = ["fs-s3fs"] testing = [ From 4efe398e392c462d5b0fa047675f91504f749991 Mon Sep 17 00:00:00 2001 From: mjsqu Date: Thu, 8 Jun 2023 16:54:02 +1200 Subject: [PATCH 2/7] Add meltano.yml versions for all stream configs - Also removed trailing commas in list/dict objects to make the JSON syntactically valid - Removed all comments from JSON and added to meltano.yml tab --- docs/stream_maps.md | 177 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 142 insertions(+), 35 deletions(-) diff --git a/docs/stream_maps.md b/docs/stream_maps.md index f0f22cf29..b9b99ecda 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -107,23 +107,41 @@ The `stream_maps` config expects a mapping of stream names to a structured trans Here is a sample `stream_maps` transformation which removes all references to `email` and adds `email_domain` and `email_hash` as new properties: -`config.json`: +`config.json` or `meltano.yml`: -```js +````{tab} JSON +```json { "stream_maps": { - "customers": { // Apply these transforms to the stream called 'customers' - "email": null, // drop the PII field from RECORD and SCHEMA messages - "email_domain": "owner_email.split('@')[-1]", // capture just the email domain - "email_hash": "md5(config['hash_seed'] + owner_email)", // for uniqueness checks + "customers": { + "email": null, + "email_domain": "owner_email.split('@')[-1]", + "email_hash": "md5(config['hash_seed'] + owner_email)" } }, "stream_map_config": { - // hash outputs are not able to be replicated without the original seed: "hash_seed": "01AWZh7A6DzGm6iJZZ2T" } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + # Apply these transforms to the stream called 'customers' + customers: + # drop the PII field from RECORD and SCHEMA messages + email: null + # capture just the email domain + email_domain: owner_email.split('@')[-1] + # for uniqueness checks + email_hash: md5(config['hash_seed'] + owner_email) +stream_map_config: + # hash outputs are not able to be replicated without the original seed: + hash_seed: 01AWZh7A6DzGm6iJZZ2T +``` +```` If map expressions should have access to special config, such as in the one-way hash algorithm above, define those config arguments within the optional @@ -197,26 +215,47 @@ The following logic is applied in determining the SCHEMA of the transformed stre To remove a stream, declare the stream within `stream_maps` config and assign it the value `null`. For example: -```js +````{tab} JSON +```json { "stream_maps": { - "addresses": null // don't sync the stream called 'addresses' - }, + "addresses": null + } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + # don't sync the stream called 'addresses' + addresses: null +``` +```` To remove a property, declare the property within the designated stream's map entry and assign it the value `null`. For example: -```js +````{tab} JSON +```json { "stream_maps": { "customers": { - "email": null, // don't sync the 'email' stream property + "email": null } - }, + } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + customers: + # don't sync the 'email' stream property + email: null +``` +```` ### Remove all undeclared streams or properties @@ -230,43 +269,80 @@ below. To remove all streams except the `customers` stream: -```js +````{tab} JSON +```json { "stream_maps": { "customers": {}, "__else__": null - }, + } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + customers: {} + __else__: null +``` +```` To remove all fields from the `customers` stream except `customer_id`: -```js +````{tab} JSON +```json { "stream_maps": { "customers": { "customer_id": "customer_id", "__else__": null - }, - }, + } + } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + customers: + customer_id: customer_id + __else__: null +``` +```` ### Unset or modify the stream's primary key behavior To override the stream's default primary key properties, add the `__key_properties__` operation within the stream map definition. -```js +````{tab} JSON +```json { "stream_maps": { "customers": { - "customer_id": null, // Remove the original Customer ID column - "customer_id_hashed": "md5(customer_id)", // Add a new (and still unique) ID column - "__key_properties__": ["customer_id_hashed"] // Updated key to reflect the new name - }, - }, + "customer_id": null, + "customer_id_hashed": "md5(customer_id)", + "__key_properties__": ["customer_id_hashed"] + } + } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + customers: + # Remove the original Customer ID column + customer_id: null + # Add a new (and still unique) ID column + customer_id_hashed: md5(customer_id) + # Updated key to reflect the new name + __key_properties__: + - customer_id_hashed +``` +```` Notes: @@ -278,6 +354,7 @@ Notes: Some applications, such as multi-tenant, may benefit from adding a property with a hardcoded string literal value. These values need to be wrapped in double quotes to differentiate them from property names: +````{tab} JSON ```json { "stream_maps": { @@ -287,6 +364,15 @@ These values need to be wrapped in double quotes to differentiate them from prop } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + customers: + a_new_field: '\"client-123\"' +``` +```` #### Q: What is the difference between `primary_keys` and `key_properties`? @@ -308,15 +394,26 @@ To alias a stream, simply add the operation `"__alias__": "new_name"` to the str definition. For example, to alias the `customers` stream as `customer_v2`, use the following: -```js +````{tab} JSON +```json { "stream_maps": { "customers": { "__alias__": "customers_v2" - }, - }, + } + } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + customers: + __alias__: customers_v2 +``` +```` + ## Duplicating or splitting a stream using `__source__` @@ -337,9 +434,9 @@ which only contains PII properties using the following: "customer_id": "customer_id", "email": "email", "full_name": "full_name", - "__else__": null, - }, - }, + "__else__": null + } + } } ``` ```` @@ -349,8 +446,8 @@ which only contains PII properties using the following: stream_maps: customers: # Exclude these since we're capturing them in the pii stream - email: - full_name: + email: null + full_name: null customers_pii: __source__: customers # include just the PII and the customer_id @@ -358,7 +455,7 @@ stream_maps: email: email full_name: full_name # exclude anything not declared - __else__: + __else__: null ``` ```` @@ -369,15 +466,25 @@ The `__filter__` operation accept a string expression which must evaluate to `tr For example, to only include customers with emails from the `example.com` company domain: -```js +````{tab} JSON +```json { "stream_maps": { "customers": { "__filter__": "email.endswith('@example.com')" } - }, + } } ``` +```` + +````{tab} meltano.yml +```yaml +stream_maps: + customers: + __filter__: email.endswith('@example.com') +``` +```` ### Understanding Filters' Affects on Parent-Child Streams From 1d5b2a697baa1c52f74626520919e209a5e6c21e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 05:13:49 +0000 Subject: [PATCH 3/7] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- docs/stream_maps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/stream_maps.md b/docs/stream_maps.md index b9b99ecda..6ba7d339a 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -321,7 +321,7 @@ To override the stream's default primary key properties, add the `__key_properti { "stream_maps": { "customers": { - "customer_id": null, + "customer_id": null, "customer_id_hashed": "md5(customer_id)", "__key_properties__": ["customer_id_hashed"] } From ae882e4188772ea16713e5ab435329b6b64ecc62 Mon Sep 17 00:00:00 2001 From: mjsqu Date: Thu, 8 Jun 2023 17:30:38 +1200 Subject: [PATCH 4/7] Set meltano.yml as first tab --- docs/stream_maps.md | 195 ++++++++++++++++++++++---------------------- 1 file changed, 97 insertions(+), 98 deletions(-) diff --git a/docs/stream_maps.md b/docs/stream_maps.md index 6ba7d339a..56d7a2dff 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -107,24 +107,7 @@ The `stream_maps` config expects a mapping of stream names to a structured trans Here is a sample `stream_maps` transformation which removes all references to `email` and adds `email_domain` and `email_hash` as new properties: -`config.json` or `meltano.yml`: - -````{tab} JSON -```json -{ - "stream_maps": { - "customers": { - "email": null, - "email_domain": "owner_email.split('@')[-1]", - "email_hash": "md5(config['hash_seed'] + owner_email)" - } - }, - "stream_map_config": { - "hash_seed": "01AWZh7A6DzGm6iJZZ2T" - } -} -``` -```` +`meltano.yml` or `config.json`: ````{tab} meltano.yml ```yaml @@ -143,6 +126,23 @@ stream_map_config: ``` ```` +````{tab} JSON +```json +{ + "stream_maps": { + "customers": { + "email": null, + "email_domain": "owner_email.split('@')[-1]", + "email_hash": "md5(config['hash_seed'] + owner_email)" + } + }, + "stream_map_config": { + "hash_seed": "01AWZh7A6DzGm6iJZZ2T" + } +} +``` +```` + If map expressions should have access to special config, such as in the one-way hash algorithm above, define those config arguments within the optional `stream_map_config` setting. Values defined in `stream_map_config` will be available @@ -215,6 +215,14 @@ The following logic is applied in determining the SCHEMA of the transformed stre To remove a stream, declare the stream within `stream_maps` config and assign it the value `null`. For example: +````{tab} meltano.yml +```yaml +stream_maps: + # don't sync the stream called 'addresses' + addresses: null +``` +```` + ````{tab} JSON ```json { @@ -225,17 +233,18 @@ To remove a stream, declare the stream within `stream_maps` config and assign it ``` ```` +To remove a property, declare the property within the designated stream's map entry and +assign it the value `null`. For example: + ````{tab} meltano.yml ```yaml stream_maps: - # don't sync the stream called 'addresses' - addresses: null + customers: + # don't sync the 'email' stream property + email: null ``` ```` -To remove a property, declare the property within the designated stream's map entry and -assign it the value `null`. For example: - ````{tab} JSON ```json { @@ -248,15 +257,6 @@ assign it the value `null`. For example: ``` ```` -````{tab} meltano.yml -```yaml -stream_maps: - customers: - # don't sync the 'email' stream property - email: null -``` -```` - ### Remove all undeclared streams or properties By default, all streams and stream properties will be included in the output unless @@ -269,17 +269,6 @@ below. To remove all streams except the `customers` stream: -````{tab} JSON -```json -{ - "stream_maps": { - "customers": {}, - "__else__": null - } -} -``` -```` - ````{tab} meltano.yml ```yaml stream_maps: @@ -288,21 +277,19 @@ stream_maps: ``` ```` -To remove all fields from the `customers` stream except `customer_id`: - ````{tab} JSON ```json { "stream_maps": { - "customers": { - "customer_id": "customer_id", - "__else__": null - } + "customers": {}, + "__else__": null } } ``` ```` +To remove all fields from the `customers` stream except `customer_id`: + ````{tab} meltano.yml ```yaml stream_maps: @@ -312,24 +299,23 @@ stream_maps: ``` ```` -### Unset or modify the stream's primary key behavior - -To override the stream's default primary key properties, add the `__key_properties__` operation within the stream map definition. - ````{tab} JSON ```json { "stream_maps": { "customers": { - "customer_id": null, - "customer_id_hashed": "md5(customer_id)", - "__key_properties__": ["customer_id_hashed"] + "customer_id": "customer_id", + "__else__": null } } } ``` ```` +### Unset or modify the stream's primary key behavior + +To override the stream's default primary key properties, add the `__key_properties__` operation within the stream map definition. + ````{tab} meltano.yml ```yaml stream_maps: @@ -344,6 +330,20 @@ stream_maps: ``` ```` +````{tab} JSON +```json +{ + "stream_maps": { + "customers": { + "customer_id": null, + "customer_id_hashed": "md5(customer_id)", + "__key_properties__": ["customer_id_hashed"] + } + } +} +``` +```` + Notes: - To sync the stream as if it did not contain a primary key, simply set `__key_properties__` to `null`. @@ -354,6 +354,14 @@ Notes: Some applications, such as multi-tenant, may benefit from adding a property with a hardcoded string literal value. These values need to be wrapped in double quotes to differentiate them from property names: +````{tab} meltano.yml +```yaml +stream_maps: + customers: + a_new_field: '\"client-123\"' +``` +```` + ````{tab} JSON ```json { @@ -366,14 +374,6 @@ These values need to be wrapped in double quotes to differentiate them from prop ``` ```` -````{tab} meltano.yml -```yaml -stream_maps: - customers: - a_new_field: '\"client-123\"' -``` -```` - #### Q: What is the difference between `primary_keys` and `key_properties`? **A:** These two are _generally_ identical - and will only differ in cases like the above where `key_properties` is manually @@ -394,6 +394,14 @@ To alias a stream, simply add the operation `"__alias__": "new_name"` to the str definition. For example, to alias the `customers` stream as `customer_v2`, use the following: +````{tab} meltano.yml +```yaml +stream_maps: + customers: + __alias__: customers_v2 +``` +```` + ````{tab} JSON ```json { @@ -406,21 +414,30 @@ following: ``` ```` +## Duplicating or splitting a stream using `__source__` + +To create a new stream as a copy of the original, specify the operation +`"__source__": "stream_name"`. For example, you can create a copy of the `customers` stream +which only contains PII properties using the following: + ````{tab} meltano.yml ```yaml stream_maps: customers: - __alias__: customers_v2 + # Exclude these since we're capturing them in the pii stream + email: null + full_name: null + customers_pii: + __source__: customers + # include just the PII and the customer_id + customer_id: customer_id + email: email + full_name: full_name + # exclude anything not declared + __else__: null ``` ```` - -## Duplicating or splitting a stream using `__source__` - -To create a new stream as a copy of the original, specify the operation -`"__source__": "stream_name"`. For example, you can create a copy of the `customers` stream -which only contains PII properties using the following: - ````{tab} JSON ```json { @@ -441,24 +458,6 @@ which only contains PII properties using the following: ``` ```` -````{tab} meltano.yml -```yaml -stream_maps: - customers: - # Exclude these since we're capturing them in the pii stream - email: null - full_name: null - customers_pii: - __source__: customers - # include just the PII and the customer_id - customer_id: customer_id - email: email - full_name: full_name - # exclude anything not declared - __else__: null -``` -```` - ## Filtering out records from a stream using `__filter__` operation The `__filter__` operation accept a string expression which must evaluate to `true` or @@ -466,6 +465,14 @@ The `__filter__` operation accept a string expression which must evaluate to `tr For example, to only include customers with emails from the `example.com` company domain: +````{tab} meltano.yml +```yaml +stream_maps: + customers: + __filter__: email.endswith('@example.com') +``` +```` + ````{tab} JSON ```json { @@ -478,14 +485,6 @@ For example, to only include customers with emails from the `example.com` compan ``` ```` -````{tab} meltano.yml -```yaml -stream_maps: - customers: - __filter__: email.endswith('@example.com') -``` -```` - ### Understanding Filters' Affects on Parent-Child Streams Nested child streams iterations will be skipped if their parent stream has a record-level From 9bb56aa3efd94d79d5315fbdec97846d9c5ab5f4 Mon Sep 17 00:00:00 2001 From: mjsqu Date: Tue, 20 Jun 2023 20:05:42 +1200 Subject: [PATCH 5/7] Set sphinx-inline-tabs to optional Co-authored-by: Edgar R. M. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9ac820128..00eafa38e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,7 +70,7 @@ sphinx-copybutton = {version = ">=0.3.1,<0.6.0", optional = true} myst-parser = {version = ">=0.17.2,<1.1.0", optional = true} sphinx-autobuild = {version = "^2021.3.14", optional = true} sphinx-reredirects = {version = "^0.1.1", optional = true} -sphinx-inline-tabs = {version = "^2023.4.21"} +sphinx-inline-tabs = {version = "^2023.4.21", optional = true} # File storage dependencies installed as optional 'filesystem' extras fs-s3fs = {version = "^1.1.1", optional = true} From 60b4233e105b336a6c5ea2aea415c744e9588b60 Mon Sep 17 00:00:00 2001 From: mjsqu Date: Tue, 20 Jun 2023 20:11:13 +1200 Subject: [PATCH 6/7] Set null to __NULL__ for all undeclared/excluded map properties Co-authored-by: Edgar R. M. --- docs/stream_maps.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/stream_maps.md b/docs/stream_maps.md index 56d7a2dff..e4119d640 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -115,7 +115,7 @@ stream_maps: # Apply these transforms to the stream called 'customers' customers: # drop the PII field from RECORD and SCHEMA messages - email: null + email: __NULL__ # capture just the email domain email_domain: owner_email.split('@')[-1] # for uniqueness checks @@ -219,7 +219,7 @@ To remove a stream, declare the stream within `stream_maps` config and assign it ```yaml stream_maps: # don't sync the stream called 'addresses' - addresses: null + addresses: __NULL__ ``` ```` @@ -241,7 +241,7 @@ assign it the value `null`. For example: stream_maps: customers: # don't sync the 'email' stream property - email: null + email: __NULL__ ``` ```` @@ -273,7 +273,7 @@ To remove all streams except the `customers` stream: ```yaml stream_maps: customers: {} - __else__: null + __else__: __NULL__ ``` ```` @@ -295,7 +295,7 @@ To remove all fields from the `customers` stream except `customer_id`: stream_maps: customers: customer_id: customer_id - __else__: null + __else__: __NULL__ ``` ```` @@ -321,7 +321,7 @@ To override the stream's default primary key properties, add the `__key_properti stream_maps: customers: # Remove the original Customer ID column - customer_id: null + customer_id: __NULL__ # Add a new (and still unique) ID column customer_id_hashed: md5(customer_id) # Updated key to reflect the new name @@ -425,8 +425,8 @@ which only contains PII properties using the following: stream_maps: customers: # Exclude these since we're capturing them in the pii stream - email: null - full_name: null + email: __NULL__ + full_name: __NULL__ customers_pii: __source__: customers # include just the PII and the customer_id @@ -434,7 +434,7 @@ stream_maps: email: email full_name: full_name # exclude anything not declared - __else__: null + __else__: __NULL__ ``` ```` From fbf40d7b2217a53af533a62199b9f357e43e8f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Rami=CC=81rez=20Mondrago=CC=81n?= Date: Tue, 20 Jun 2023 18:06:25 -0600 Subject: [PATCH 7/7] `poetry lock` --- poetry.lock | 252 ++++++++++++++++++++++++++----------------------- pyproject.toml | 6 +- 2 files changed, 138 insertions(+), 120 deletions(-) diff --git a/poetry.lock b/poetry.lock index 363130529..15aff2324 100644 --- a/poetry.lock +++ b/poetry.lock @@ -184,17 +184,17 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "boto3" -version = "1.26.129" +version = "1.26.157" description = "The AWS SDK for Python" optional = true python-versions = ">= 3.7" files = [ - {file = "boto3-1.26.129-py3-none-any.whl", hash = "sha256:1dab3fcbeada61a3b5a42ea25a89143511a5b22626775c685e31e313f327cf3c"}, - {file = "boto3-1.26.129.tar.gz", hash = "sha256:0686a62f424c4f3375a706555b765d1e24d03d70e7d317ffcb2d411b39aa8139"}, + {file = "boto3-1.26.157-py3-none-any.whl", hash = "sha256:718b236aafc3f106d17cd5c4f513fc2f40bfa995c0cb730ecc893e9c808c0385"}, + {file = "boto3-1.26.157.tar.gz", hash = "sha256:7a8117dfe9ba1f203d73b3df32a4ebdb895813189635f126fa256e1dea37ee8d"}, ] [package.dependencies] -botocore = ">=1.29.129,<1.30.0" +botocore = ">=1.29.157,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -203,13 +203,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.29.129" +version = "1.29.157" description = "Low-level, data-driven core of boto 3." optional = true python-versions = ">= 3.7" files = [ - {file = "botocore-1.29.129-py3-none-any.whl", hash = "sha256:f44460236324727615c518c229690c3cc3ea3162a55a2ac242ba771e8fa41553"}, - {file = "botocore-1.29.129.tar.gz", hash = "sha256:80370e835ccf12e0429d4c6cc0e9d03cf47b72c41ec5916b01fb9544765f314d"}, + {file = "botocore-1.29.157-py3-none-any.whl", hash = "sha256:ccbf948c040d68b6a22570e73dd63cb3b07ce33f4032e9b1d502d2fae55c3b80"}, + {file = "botocore-1.29.157.tar.gz", hash = "sha256:af2a7b6417bf3bbf00ab22aa61a2d7d839a8a8a62e7975c18c80c55c88dc7fcf"}, ] [package.dependencies] @@ -430,13 +430,13 @@ files = [ [[package]] name = "commitizen" -version = "3.2.1" +version = "3.4.0" description = "Python commitizen client tool" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "commitizen-3.2.1-py3-none-any.whl", hash = "sha256:3723a5bf612e75d9cd1b0499ca2902e96d5fa8aaaada3c3b8b5888039edd26a0"}, - {file = "commitizen-3.2.1.tar.gz", hash = "sha256:2d62fd099e81b5126d1870ada6c7e96ebb561cc27357bd2ce6930c0f5c573c21"}, + {file = "commitizen-3.4.0-py3-none-any.whl", hash = "sha256:5c58052099a6512da66a893f09e98e1f0d94ed02720a4e8d5747d4d409d59cfb"}, + {file = "commitizen-3.4.0.tar.gz", hash = "sha256:ab17db8c4f7258d9cdcc620046aa63d2139756ef78b2174cfa9f9c5e383eaf27"}, ] [package.dependencies] @@ -470,7 +470,7 @@ PyGithub = "^1.57" type = "git" url = "https://github.com/meltano/commitizen-version-bump.git" reference = "main" -resolved_reference = "2ac24303b30441773d95357d5c2801275211ce5f" +resolved_reference = "e2e6d5d13d39eae1f37e3a275c0d3d3e38c18439" [[package]] name = "cookiecutter" @@ -621,13 +621,13 @@ files = [ [[package]] name = "decli" -version = "0.6.0" +version = "0.6.1" description = "Minimal, easy-to-use, declarative cli tool" optional = false python-versions = ">=3.7" files = [ - {file = "decli-0.6.0-py3-none-any.whl", hash = "sha256:d5ed1d509f5a6cf765a4d7350f7ffb0be0c1770840cbd38b05fb0aab642645e8"}, - {file = "decli-0.6.0.tar.gz", hash = "sha256:2915a55525ef2b1a0ce88b8ccba62ac22df5b6ff3ed2094448e0f951f08e7ba5"}, + {file = "decli-0.6.1-py3-none-any.whl", hash = "sha256:7815ac58617764e1a200d7cadac6315fcaacc24d727d182f9878dd6378ccf869"}, + {file = "decli-0.6.1.tar.gz", hash = "sha256:ed88ccb947701e8e5509b7945fda56e150e2ac74a69f25d47ac85ef30ab0c0f0"}, ] [[package]] @@ -643,20 +643,20 @@ files = [ [[package]] name = "deprecated" -version = "1.2.13" +version = "1.2.14" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "Deprecated-1.2.13-py2.py3-none-any.whl", hash = "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"}, - {file = "Deprecated-1.2.13.tar.gz", hash = "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d"}, + {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, ] [package.dependencies] wrapt = ">=1.10,<2" [package.extras] -dev = ["PyTest", "PyTest (<5)", "PyTest-Cov", "PyTest-Cov (<2.6)", "bump2version (<1)", "configparser (<5)", "importlib-metadata (<3)", "importlib-resources (<4)", "sphinx (<2)", "sphinxcontrib-websupport (<2)", "tox", "zipp (<2)"] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] [[package]] name = "docutils" @@ -1088,61 +1088,61 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "markupsafe" -version = "2.1.2" +version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, - {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, ] [[package]] @@ -1198,37 +1198,37 @@ files = [ [[package]] name = "mypy" -version = "1.3.0" +version = "1.4.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.7" files = [ - {file = "mypy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c1eb485cea53f4f5284e5baf92902cd0088b24984f4209e25981cc359d64448d"}, - {file = "mypy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4c99c3ecf223cf2952638da9cd82793d8f3c0c5fa8b6ae2b2d9ed1e1ff51ba85"}, - {file = "mypy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:550a8b3a19bb6589679a7c3c31f64312e7ff482a816c96e0cecec9ad3a7564dd"}, - {file = "mypy-1.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cbc07246253b9e3d7d74c9ff948cd0fd7a71afcc2b77c7f0a59c26e9395cb152"}, - {file = "mypy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:a22435632710a4fcf8acf86cbd0d69f68ac389a3892cb23fbad176d1cddaf228"}, - {file = "mypy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6e33bb8b2613614a33dff70565f4c803f889ebd2f859466e42b46e1df76018dd"}, - {file = "mypy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7d23370d2a6b7a71dc65d1266f9a34e4cde9e8e21511322415db4b26f46f6b8c"}, - {file = "mypy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:658fe7b674769a0770d4b26cb4d6f005e88a442fe82446f020be8e5f5efb2fae"}, - {file = "mypy-1.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6e42d29e324cdda61daaec2336c42512e59c7c375340bd202efa1fe0f7b8f8ca"}, - {file = "mypy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:d0b6c62206e04061e27009481cb0ec966f7d6172b5b936f3ead3d74f29fe3dcf"}, - {file = "mypy-1.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:76ec771e2342f1b558c36d49900dfe81d140361dd0d2df6cd71b3db1be155409"}, - {file = "mypy-1.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc95f8386314272bbc817026f8ce8f4f0d2ef7ae44f947c4664efac9adec929"}, - {file = "mypy-1.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:faff86aa10c1aa4a10e1a301de160f3d8fc8703b88c7e98de46b531ff1276a9a"}, - {file = "mypy-1.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8c5979d0deb27e0f4479bee18ea0f83732a893e81b78e62e2dda3e7e518c92ee"}, - {file = "mypy-1.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c5d2cc54175bab47011b09688b418db71403aefad07cbcd62d44010543fc143f"}, - {file = "mypy-1.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:87df44954c31d86df96c8bd6e80dfcd773473e877ac6176a8e29898bfb3501cb"}, - {file = "mypy-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:473117e310febe632ddf10e745a355714e771ffe534f06db40702775056614c4"}, - {file = "mypy-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:74bc9b6e0e79808bf8678d7678b2ae3736ea72d56eede3820bd3849823e7f305"}, - {file = "mypy-1.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:44797d031a41516fcf5cbfa652265bb994e53e51994c1bd649ffcd0c3a7eccbf"}, - {file = "mypy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ddae0f39ca146972ff6bb4399f3b2943884a774b8771ea0a8f50e971f5ea5ba8"}, - {file = "mypy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c4c42c60a8103ead4c1c060ac3cdd3ff01e18fddce6f1016e08939647a0e703"}, - {file = "mypy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e86c2c6852f62f8f2b24cb7a613ebe8e0c7dc1402c61d36a609174f63e0ff017"}, - {file = "mypy-1.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f9dca1e257d4cc129517779226753dbefb4f2266c4eaad610fc15c6a7e14283e"}, - {file = "mypy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:95d8d31a7713510685b05fbb18d6ac287a56c8f6554d88c19e73f724a445448a"}, - {file = "mypy-1.3.0-py3-none-any.whl", hash = "sha256:a8763e72d5d9574d45ce5881962bc8e9046bf7b375b0abf031f3e6811732a897"}, - {file = "mypy-1.3.0.tar.gz", hash = "sha256:e1f4d16e296f5135624b34e8fb741eb0eadedca90862405b1f1fde2040b9bd11"}, + {file = "mypy-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3af348e0925a59213244f28c7c0c3a2c2088b4ba2fe9d6c8d4fbb0aba0b7d05"}, + {file = "mypy-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0b2e0da7ff9dd8d2066d093d35a169305fc4e38db378281fce096768a3dbdbf"}, + {file = "mypy-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210fe0f39ec5be45dd9d0de253cb79245f0a6f27631d62e0c9c7988be7152965"}, + {file = "mypy-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f7a5971490fd4a5a436e143105a1f78fa8b3fe95b30fff2a77542b4f3227a01f"}, + {file = "mypy-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:50f65f0e9985f1e50040e603baebab83efed9eb37e15a22a4246fa7cd660f981"}, + {file = "mypy-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b1b5c875fcf3e7217a3de7f708166f641ca154b589664c44a6fd6d9f17d9e7e"}, + {file = "mypy-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b4c734d947e761c7ceb1f09a98359dd5666460acbc39f7d0a6b6beec373c5840"}, + {file = "mypy-1.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5984a8d13d35624e3b235a793c814433d810acba9eeefe665cdfed3d08bc3af"}, + {file = "mypy-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0f98973e39e4a98709546a9afd82e1ffcc50c6ec9ce6f7870f33ebbf0bd4f26d"}, + {file = "mypy-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:19d42b08c7532d736a7e0fb29525855e355fa51fd6aef4f9bbc80749ff64b1a2"}, + {file = "mypy-1.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6ba9a69172abaa73910643744d3848877d6aac4a20c41742027dcfd8d78f05d9"}, + {file = "mypy-1.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a34eed094c16cad0f6b0d889811592c7a9b7acf10d10a7356349e325d8704b4f"}, + {file = "mypy-1.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:53c2a1fed81e05ded10a4557fe12bae05b9ecf9153f162c662a71d924d504135"}, + {file = "mypy-1.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:bba57b4d2328740749f676807fcf3036e9de723530781405cc5a5e41fc6e20de"}, + {file = "mypy-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:653863c75f0dbb687d92eb0d4bd9fe7047d096987ecac93bb7b1bc336de48ebd"}, + {file = "mypy-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7461469e163f87a087a5e7aa224102a30f037c11a096a0ceeb721cb0dce274c8"}, + {file = "mypy-1.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cf0ca95e4b8adeaf07815a78b4096b65adf64ea7871b39a2116c19497fcd0dd"}, + {file = "mypy-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:94a81b9354545123feb1a99b960faeff9e1fa204fce47e0042335b473d71530d"}, + {file = "mypy-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:67242d5b28ed0fa88edd8f880aed24da481929467fdbca6487167cb5e3fd31ff"}, + {file = "mypy-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3f2b353eebef669529d9bd5ae3566905a685ae98b3af3aad7476d0d519714758"}, + {file = "mypy-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:62bf18d97c6b089f77f0067b4e321db089d8520cdeefc6ae3ec0f873621c22e5"}, + {file = "mypy-1.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca33ab70a4aaa75bb01086a0b04f0ba8441e51e06fc57e28585176b08cad533b"}, + {file = "mypy-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5a0ee54c2cb0f957f8a6f41794d68f1a7e32b9968675ade5846f538504856d42"}, + {file = "mypy-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6c34d43e3d54ad05024576aef28081d9d0580f6fa7f131255f54020eb12f5352"}, + {file = "mypy-1.4.0-py3-none-any.whl", hash = "sha256:f051ca656be0c179c735a4c3193f307d34c92fdc4908d44fd4516fbe8b10567d"}, + {file = "mypy-1.4.0.tar.gz", hash = "sha256:de1e7e68148a213036276d1f5303b3836ad9a774188961eb2684eddff593b042"}, ] [package.dependencies] @@ -1427,21 +1427,21 @@ files = [ [[package]] name = "platformdirs" -version = "3.5.0" +version = "3.6.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.5.0-py3-none-any.whl", hash = "sha256:47692bc24c1958e8b0f13dd727307cff1db103fca36399f457da8e05f222fdc4"}, - {file = "platformdirs-3.5.0.tar.gz", hash = "sha256:7954a68d0ba23558d753f73437c55f89027cf8f5108c19844d4b82e5af396335"}, + {file = "platformdirs-3.6.0-py3-none-any.whl", hash = "sha256:ffa199e3fbab8365778c4a10e1fbf1b9cd50707de826eb304b50e57ec0cc8d38"}, + {file = "platformdirs-3.6.0.tar.gz", hash = "sha256:57e28820ca8094678b807ff529196506d7a21e17156cb1cddb3e74cebce54640"}, ] [package.dependencies] -typing-extensions = {version = ">=4.5", markers = "python_version < \"3.8\""} +typing-extensions = {version = ">=4.6.3", markers = "python_version < \"3.8\""} [package.extras] -docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"] [[package]] name = "pluggy" @@ -1576,13 +1576,13 @@ files = [ [[package]] name = "pygithub" -version = "1.58.1" +version = "1.58.2" description = "Use the full Github API v3" optional = false python-versions = ">=3.7" files = [ - {file = "PyGithub-1.58.1-py3-none-any.whl", hash = "sha256:4e7fe9c3ec30d5fde5b4fbb97f18821c9dbf372bf6df337fe66f6689a65e0a83"}, - {file = "PyGithub-1.58.1.tar.gz", hash = "sha256:7d528b4ad92bc13122129fafd444ce3d04c47d2d801f6446b6e6ee2d410235b3"}, + {file = "PyGithub-1.58.2-py3-none-any.whl", hash = "sha256:f435884af617c6debaa76cbc355372d1027445a56fbc39972a3b9ed4968badc8"}, + {file = "PyGithub-1.58.2.tar.gz", hash = "sha256:1e6b1b7afe31f75151fb81f7ab6b984a7188a852bdb123dbb9ae90023c3ce60f"}, ] [package.dependencies] @@ -1931,18 +1931,18 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] [[package]] name = "setuptools" -version = "67.7.2" +version = "68.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "setuptools-67.7.2-py3-none-any.whl", hash = "sha256:23aaf86b85ca52ceb801d32703f12d77517b2556af839621c641fca11287952b"}, - {file = "setuptools-67.7.2.tar.gz", hash = "sha256:f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990"}, + {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, + {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] @@ -2161,6 +2161,24 @@ sphinx = ">=1.8" code-style = ["pre-commit (==2.12.1)"] rtd = ["ipython", "myst-nb", "sphinx", "sphinx-book-theme", "sphinx-examples"] +[[package]] +name = "sphinx-inline-tabs" +version = "2023.4.21" +description = "Add inline tabbed content to your Sphinx documentation." +optional = true +python-versions = ">=3.8" +files = [ + {file = "sphinx_inline_tabs-2023.4.21-py3-none-any.whl", hash = "sha256:06809ac613f7c48ddd6e2fa588413e3fe92cff2397b56e2ccf0b0218f9ef6a78"}, + {file = "sphinx_inline_tabs-2023.4.21.tar.gz", hash = "sha256:5df2f13f602c158f3f5f6c509e008aeada199a8c76d97ba3aa2822206683bebc"}, +] + +[package.dependencies] +sphinx = ">=3" + +[package.extras] +doc = ["furo", "myst-parser"] +test = ["pytest", "pytest-cov", "pytest-xdist"] + [[package]] name = "sphinx-reredirects" version = "0.1.2" @@ -2524,13 +2542,13 @@ files = [ [[package]] name = "types-urllib3" -version = "1.26.25.12" +version = "1.26.25.13" description = "Typing stubs for urllib3" optional = false python-versions = "*" files = [ - {file = "types-urllib3-1.26.25.12.tar.gz", hash = "sha256:a1557355ce8d350a555d142589f3001903757d2d36c18a66f588d9659bbc917d"}, - {file = "types_urllib3-1.26.25.12-py3-none-any.whl", hash = "sha256:3ba3d3a8ee46e0d5512c6bd0594da4f10b2584b47a470f8422044a2ab462f1df"}, + {file = "types-urllib3-1.26.25.13.tar.gz", hash = "sha256:3300538c9dc11dad32eae4827ac313f5d986b8b21494801f1bf97a1ac6c03ae5"}, + {file = "types_urllib3-1.26.25.13-py3-none-any.whl", hash = "sha256:5dbd1d2bef14efee43f5318b5d36d805a489f6600252bb53626d4bfafd95e27c"}, ] [[package]] @@ -2546,13 +2564,13 @@ files = [ [[package]] name = "urllib3" -version = "1.26.15" +version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"}, - {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"}, + {file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"}, + {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, ] [package.extras] @@ -2698,11 +2716,11 @@ docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [extras] -docs = ["furo", "myst-parser", "sphinx", "sphinx-autobuild", "sphinx-copybutton", "sphinx-reredirects"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-autobuild", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-reredirects"] s3 = ["fs-s3fs"] testing = ["pytest", "pytest-durations"] [metadata] lock-version = "2.0" python-versions = "<3.12,>=3.7.1" -content-hash = "e4ace691c7a3c5651576ee45fa03de04fb21abc1eb66f0ab99cf72015ab5dd2d" +content-hash = "53c3e577e500c322fffa5a7f3e5fcebe34a2657894d35a9d5768b951320448d0" diff --git a/pyproject.toml b/pyproject.toml index 00eafa38e..e05d685d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,7 +70,7 @@ sphinx-copybutton = {version = ">=0.3.1,<0.6.0", optional = true} myst-parser = {version = ">=0.17.2,<1.1.0", optional = true} sphinx-autobuild = {version = "^2021.3.14", optional = true} sphinx-reredirects = {version = "^0.1.1", optional = true} -sphinx-inline-tabs = {version = "^2023.4.21", optional = true} +sphinx-inline-tabs = {version = ">=2023.4.21", optional = true, markers = "python_version >= \"3.8\""} # File storage dependencies installed as optional 'filesystem' extras fs-s3fs = {version = "^1.1.1", optional = true} @@ -86,8 +86,8 @@ docs = [ "sphinx-copybutton", "myst-parser", "sphinx-autobuild", - "sphinx_reredirects", - "sphinx_inline_tabs", + "sphinx-reredirects", + "sphinx-inline-tabs", ] s3 = ["fs-s3fs"] testing = [