From ad64a303b95aa7728c9da8873817897c192020f3 Mon Sep 17 00:00:00 2001 From: Alena Astrakhantseva Date: Tue, 31 Oct 2023 18:17:38 +0100 Subject: [PATCH 01/28] credentials moved to configuration, added configuration pages (#703) * credentials moved to configuration, added configuration pages * add description * del description * fix paths * fix broken links * refactored secrets and configs * refactored config providers * refactored config specs * return "credentials" as a section slug * refactor links * updates config docs, requests changes * add built in creds * refactor specs * add explanation for secrets and config * refactor configuration * refactor configuration * move add creds to how to * convert comments to text * rename * del imports * Update docs/website/docs/walkthroughs/add_credentials.md Co-authored-by: Anton Burnashev * Update docs/website/docs/walkthroughs/add_credentials.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/config_providers.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/config_providers.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/config_providers.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/configuration.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/configuration.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/configuration.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/configuration.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/configuration.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/config_providers.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/config_providers.md Co-authored-by: Anton Burnashev * add more details about secrets and config * intro for providers * intro for specs * small changes * spec examples with sources * small changes * delete link to name convention * refactor * refactor * refactor * refactor * fix typo * add info about home dir * Update docs/website/docs/general-usage/credentials/configuration.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/config_providers.md Co-authored-by: Anton Burnashev * Update docs/website/docs/general-usage/credentials/config_specs.md Co-authored-by: Anton Burnashev * wip * more info about Configuration classes * more about tomls * fix link * fix layout --------- Co-authored-by: Marcin Rudolf Co-authored-by: Anton Burnashev --- docs/technical/secrets_and_config.md | 8 +- .../docs/dlt-ecosystem/destinations/duckdb.md | 2 +- .../docs/general-usage/configuration.md | 4 - .../credentials/config_providers.md | 146 ++++++ .../general-usage/credentials/config_specs.md | 468 ++++++++++++++++++ .../credentials/configuration.md | 462 +++++++++++++++++ docs/website/docs/general-usage/glossary.md | 14 +- docs/website/docs/general-usage/resource.md | 4 +- docs/website/docs/general-usage/schema.md | 2 +- .../docs/running-in-production/running.md | 2 +- .../walkthroughs/add-a-verified-source.md | 2 +- .../add_credentials.md} | 49 +- docs/website/sidebars.js | 17 +- 13 files changed, 1116 insertions(+), 64 deletions(-) delete mode 100644 docs/website/docs/general-usage/configuration.md create mode 100644 docs/website/docs/general-usage/credentials/config_providers.md create mode 100644 docs/website/docs/general-usage/credentials/config_specs.md create mode 100644 docs/website/docs/general-usage/credentials/configuration.md rename docs/website/docs/{general-usage/credentials.md => walkthroughs/add_credentials.md} (61%) diff --git a/docs/technical/secrets_and_config.md b/docs/technical/secrets_and_config.md index 82a0e66e12..423767293d 100644 --- a/docs/technical/secrets_and_config.md +++ b/docs/technical/secrets_and_config.md @@ -77,14 +77,14 @@ You should type your function signatures! The effort is very low and it gives `d ```python @dlt.source -def google_sheets(spreadsheet_id: str, tab_names: List[str] = dlt.config.value, credentials: GcpClientCredentialsWithDefault = dlt.secrets.value, only_strings: bool = False): +def google_sheets(spreadsheet_id: str, tab_names: List[str] = dlt.config.value, credentials: GcpServiceAccountCredentials = dlt.secrets.value, only_strings: bool = False): ... ``` Now: 1. you are sure that you get a list of strings as `tab_names` 2. you will get actual google credentials (see `CredentialsConfiguration` later) and your users can pass them in many different forms. -In case of `GcpClientCredentialsWithDefault` +In case of `GcpServiceAccountCredentials` * you may just pass the `service_json` as string or dictionary (in code and via config providers) * you may pass a connection string (used in sql alchemy) (in code and via config providers) * or default credentials will be used @@ -331,7 +331,7 @@ It tells you exactly which paths `dlt` looked at, via which config providers and ## Working with credentials (and other complex configuration values) -`GcpClientCredentialsWithDefault` is an example of a **spec**: a Python `dataclass` that describes the configuration fields, their types and default values. It also allows to parse various native representations of the configuration. Credentials marked with `WithDefaults` mixin are also to instantiate itself from the machine/user default environment ie. googles `default()` or AWS `.aws/credentials`. +`GcpServiceAccountCredentials` is an example of a **spec**: a Python `dataclass` that describes the configuration fields, their types and default values. It also allows to parse various native representations of the configuration. Credentials marked with `WithDefaults` mixin are also to instantiate itself from the machine/user default environment ie. googles `default()` or AWS `.aws/credentials`. As an example, let's use `ConnectionStringCredentials` which represents a database connection string. @@ -421,7 +421,7 @@ In fact for each decorated function a spec is synthesized. In case of `google_sh @configspec class GoogleSheetsConfiguration: tab_names: List[str] = None # manadatory - credentials: GcpClientCredentialsWithDefault = None # mandatory secret + credentials: GcpServiceAccountCredentials = None # mandatory secret only_strings: Optional[bool] = False ``` diff --git a/docs/website/docs/dlt-ecosystem/destinations/duckdb.md b/docs/website/docs/dlt-ecosystem/destinations/duckdb.md index c5e9dd1f14..40bfa8f5ef 100644 --- a/docs/website/docs/dlt-ecosystem/destinations/duckdb.md +++ b/docs/website/docs/dlt-ecosystem/destinations/duckdb.md @@ -84,7 +84,7 @@ p = dlt.pipeline(pipeline_name='chess', destination='duckdb', dataset_name='ches This destination accepts database connection strings in format used by [duckdb-engine](https://github.com/Mause/duckdb_engine#configuration). -You can configure a DuckDB destination with [secret / config values](../../general-usage/credentials.md) (e.g. using a `secrets.toml` file) +You can configure a DuckDB destination with [secret / config values](../../general-usage/credentials) (e.g. using a `secrets.toml` file) ```toml destination.duckdb.credentials=duckdb:///_storage/test_quack.duckdb ``` diff --git a/docs/website/docs/general-usage/configuration.md b/docs/website/docs/general-usage/configuration.md deleted file mode 100644 index d72c7976f2..0000000000 --- a/docs/website/docs/general-usage/configuration.md +++ /dev/null @@ -1,4 +0,0 @@ -# Configuration - -This page is a work in progress. If you have a question about configuration, please send us an email -at community@dlthub.com. We'd be happy to help you! diff --git a/docs/website/docs/general-usage/credentials/config_providers.md b/docs/website/docs/general-usage/credentials/config_providers.md new file mode 100644 index 0000000000..b3da2979a9 --- /dev/null +++ b/docs/website/docs/general-usage/credentials/config_providers.md @@ -0,0 +1,146 @@ +--- +title: Configuration Providers +description: Configuration dlt Providers +keywords: [credentials, secrets.toml, secrets, config, configuration, environment + variables, provider] +--- + +# Configuration Providers + + +Configuration Providers in the context of the `dlt` library +refer to different sources from which configuration values +and secrets can be retrieved for a data pipeline. +These providers form a hierarchy, with each having its own +priority in determining the values for function arguments. + +## The provider hierarchy + +If function signature has arguments that may be injected, `dlt` looks for the argument values in +providers. + +### Providers + +1. **Environment Variables**: At the top of the hierarchy are environment variables. + If a value for a specific argument is found in an environment variable, + dlt will use it and will not proceed to search in lower-priority providers. + +2. **Vaults (Airflow/Google/AWS/Azure)**: These are specialized providers that come + after environment variables. They can provide configuration values and secrets. + However, they typically focus on handling sensitive information. + +3. **`secrets.toml` and `config.toml` Files**: These files are used for storing both + configuration values and secrets. `secrets.toml` is dedicated to sensitive information, + while `config.toml` contains non-sensitive configuration data. + +4. **Default Argument Values**: These are the values specified in the function's signature. + They have the lowest priority in the provider hierarchy. + +### Example + +```python +@dlt.source +def google_sheets( + spreadsheet_id=dlt.config.value, + tab_names=dlt.config.value, + credentials=dlt.secrets.value, + only_strings=False +): + sheets = build('sheets', 'v4', credentials=Services.from_json(credentials)) + tabs = [] + for tab_name in tab_names: + data = sheets.get(spreadsheet_id, tab_name).execute().values() + tabs.append(dlt.resource(data, name=tab_name)) + return tabs +``` + +In case of `google_sheets()` it will look +for: `spreadsheet_id`, `tab_names` and `credentials`. + +Each provider has its own key naming convention, and dlt is able to translate between them. + +**The argument name is a key in the lookup**. + +At the top of the hierarchy are Environment Variables, then `secrets.toml` and +`config.toml` files. Providers like Airflow/Google/AWS/Azure Vaults will be inserted **after** the Environment +provider but **before** TOML providers. + +For example, if `spreadsheet_id` is found in environment variable `SPREADSHEET_ID`, `dlt` will not look in TOML files +and below. + +The values passed in the code **explicitly** are the **highest** in provider hierarchy. The **default values** +of the arguments have the **lowest** priority in the provider hierarchy. + +:::info +Explicit Args **>** ENV Variables **>** Vaults: Airflow etc. **>** `secrets.toml` **>** `config.toml` **>** Default Arg Values +::: + +Secrets are handled only by the providers supporting them. Some providers support only +secrets (to reduce the number of requests done by `dlt` when searching sections). + +1. `secrets.toml` and environment may hold both config and secret values. +1. `config.toml` may hold only config values, no secrets. +1. Various vaults providers hold only secrets, `dlt` skips them when looking for values that are not + secrets. + +:::info +Context-aware providers will activate in the right environments i.e. on Airflow or AWS/GCP VMachines. +::: + +## Provider key formats + +### TOML vs. Environment Variables + +Providers may use different formats for the keys. `dlt` will translate the standard format where +sections and key names are separated by "." into the provider-specific formats. + +1. For TOML, names are case-sensitive and sections are separated with ".". +1. For Environment Variables, all names are capitalized and sections are separated with double + underscore "__". + +Example: When `dlt` evaluates the request `dlt.secrets["my_section.gcp_credentials"]` it must find +the `private_key` for Google credentials. It will look + +1. first in env variable `MY_SECTION__GCP_CREDENTIALS__PRIVATE_KEY` and if not found, +1. in `secrets.toml` with key `my_section.gcp_credentials.private_key`. + +### Environment provider + +Looks for the values in the environment variables. + +### TOML provider + +The TOML provider in dlt utilizes two TOML files: + +- `secrets.toml `- This file is intended for storing sensitive information, often referred to as "secrets". +- `config.toml `- This file is used for storing configuration values. + +By default, the `.gitignore` file in the project prevents `secrets.toml` from being added to +version control and pushed. However, `config.toml` can be freely added to version control. + +:::info +**TOML provider always loads those files from `.dlt` folder** which is looked **relative to the +current Working Directory**. +::: + +Example: If your working directory is `my_dlt_project` and your project has the following structure: + +``` +my_dlt_project: + | + pipelines/ + |---- .dlt/secrets.toml + |---- google_sheets.py +``` + +and you run `python pipelines/google_sheets.py` then `dlt` will look for `secrets.toml` in +`my_dlt_project/.dlt/secrets.toml` and ignore the existing +`my_dlt_project/pipelines/.dlt/secrets.toml`. + +If you change your working directory to `pipelines` and run `python google_sheets.py` it will look for +`my_dlt_project/pipelines/.dlt/secrets.toml` as (probably) expected. + +:::caution +It's worth mentioning that the TOML provider also has the capability to read files from `~/.dlt/` +(located in the user's home directory) in addition to the local project-specific `.dlt` folder. +::: \ No newline at end of file diff --git a/docs/website/docs/general-usage/credentials/config_specs.md b/docs/website/docs/general-usage/credentials/config_specs.md new file mode 100644 index 0000000000..328d18d2a0 --- /dev/null +++ b/docs/website/docs/general-usage/credentials/config_specs.md @@ -0,0 +1,468 @@ +--- +title: Configuration Specs +description: Overview configuration specs and how to create custom specs +keywords: [credentials, secrets.toml, secrets, config, configuration, environment + variables, specs] +--- + +# Configuration Specs + +Configuration Specs in `dlt` are Python dataclasses that define how complex configuration values, +particularly credentials, should be handled. +They specify the types, defaults, and parsing methods for these values. + +## Working with credentials (and other complex configuration values) + +For example, a spec like `GcpServiceAccountCredentials` manages Google Cloud Platform +service account credentials, while `ConnectionStringCredentials` handles database connection strings. + +### Example + +As an example, let's use `ConnectionStringCredentials` which represents a database connection +string. + +```python +from dlt.sources.credentials import ConnectionStringCredentials + +@dlt.source +def query(sql: str, dsn: ConnectionStringCredentials = dlt.secrets.value): + ... +``` + +The source above executes the `sql` against database defined in `dsn`. `ConnectionStringCredentials` +makes sure you get the correct values with correct types and understands the relevant native form of +the credentials. + +Below are examples of how you can set credentials in `secrets.toml` and `config.toml` files. + +Example 1. Use the **dictionary** form. + +```toml +[dsn] +database="dlt_data" +password="loader" +username="loader" +host="localhost" +``` + +Example 2. Use the **native** form. + +```toml +dsn="postgres://loader:loader@localhost:5432/dlt_data" +``` + +Example 3. Use the **mixed** form: the password is missing in explicit dsn and will be taken from the +`secrets.toml`. + +```toml +dsn.password="loader" +``` + +You can explicitly provide credentials in various forms: + +```python +query("SELECT * FROM customers", "postgres://loader@localhost:5432/dlt_data") +# or +query("SELECT * FROM customers", {"database": "dlt_data", "username": "loader"...}) +``` + +## Built in credentials + +We have some ready-made credentials you can reuse: + +```python +from dlt.sources.credentials import ConnectionStringCredentials +from dlt.sources.credentials import OAuth2Credentials +from dlt.sources.credentials import GcpServiceAccountCredentials, GcpOAuthCredentials +from dlt.sources.credentials import AwsCredentials +from dlt.sources.credentials import AzureCredentials +``` + +### ConnectionStringCredentials + +The `ConnectionStringCredentials` class handles connection string +credentials for SQL database connections. +It includes attributes for the driver name, database name, username, password, host, port, +and additional query parameters. +This class provides methods for parsing and generating connection strings. + +#### Usage +```python +credentials = ConnectionStringCredentials() + +# Set the necessary attributes +credentials.drivername = "postgresql" +credentials.database = "my_database" +credentials.username = "my_user" +credentials.password = "my_password" +credentials.host = "localhost" +credentials.port = 5432 + +# Convert credentials to connection string +connection_string = credentials.to_native_representation() + +# Parse a connection string and update credentials +native_value = "postgresql://my_user:my_password@localhost:5432/my_database" +credentials.parse_native_representation(native_value) + +# Get a URL representation of the connection +url_representation = credentials.to_url() +``` +Above, you can find an example of how to use this spec with sources and TOML files. + +### OAuth2Credentials + +The `OAuth2Credentials` class handles OAuth 2.0 credentials, including client ID, +client secret, refresh token, and access token. +It also allows for the addition of scopes and provides methods for client authentication. + +Usage: +```python +credentials = OAuth2Credentials( + client_id="CLIENT_ID", + client_secret="CLIENT_SECRET", + refresh_token="REFRESH_TOKEN", + scopes=["scope1", "scope2"] +) + +# Authorize the client +credentials.auth() + +# Add additional scopes +credentials.add_scopes(["scope3", "scope4"]) +``` + +`OAuth2Credentials` is a base class to implement actual OAuth, for example, +it is a base class for [GcpOAuthCredentials](#gcpoauthcredentials). + +### GCP Credentials + +- [GcpServiceAccountCredentials](#gcpserviceaccountcredentials). +- [GcpOAuthCredentials](#gcpoauthcredentials). + +[Google Analytics verified source](https://github.com/dlt-hub/verified-sources/blob/master/sources/google_analytics/__init__.py): +the example how to use GCP Credentials. + +#### GcpServiceAccountCredentials + +The `GcpServiceAccountCredentials` class manages GCP Service Account credentials. +This class provides methods to retrieve native credentials for Google clients. + +##### Usage + +- You may just pass the `service.json` as string or dictionary (in code and via config providers). +- Or default credentials will be used. + +```python +credentials = GcpServiceAccountCredentials() +# Parse a native value (ServiceAccountCredentials) +# Accepts a native value, which can be either an instance of ServiceAccountCredentials +# or a serialized services.json. +# Parses the native value and updates the credentials. +native_value = {"private_key": ".."} # or "path/to/services.json" +credentials.parse_native_representation(native_value) +``` +or more preferred use: +```python +import dlt +from dlt.sources.credentials import GcpServiceAccountCredentials + +@dlt.source +def google_analytics( + property_id: str = dlt.config.value, + credentials: GcpServiceAccountCredentials = dlt.secrets.value, +): + # Retrieve native credentials for Google clients + # For example, build the service object for Google Analytics PI. + client = BetaAnalyticsDataClient(credentials=credentials.to_native_credentials()) + + # Get a string representation of the credentials + # Returns a string representation of the credentials in the format client_email@project_id. + credentials_str = str(credentials) + ... +``` +while `secrets.toml` looks as following: +```toml +[sources.google_analytics.credentials] +client_id = "client_id" # please set me up! +client_secret = "client_secret" # please set me up! +refresh_token = "refresh_token" # please set me up! +project_id = "project_id" # please set me up! +``` +and `config.toml`: +```toml +[sources.google_analytics] +property_id = "213025502" +``` + +#### GcpOAuthCredentials + +The `GcpOAuthCredentials` class is responsible for handling OAuth2 credentials for +desktop applications in Google Cloud Platform (GCP). +It can parse native values either as `GoogleOAuth2Credentials` or as +serialized OAuth client secrets JSON. +This class provides methods for authentication and obtaining access tokens. + +##### Usage +```python +oauth_credentials = GcpOAuthCredentials() + +# Accepts a native value, which can be either an instance of GoogleOAuth2Credentials +# or serialized OAuth client secrets JSON. +# Parses the native value and updates the credentials. +native_value_oauth = {"client_secret": ...} +oauth_credentials.parse_native_representation(native_value_oauth) +``` +or more preferred use: +```python +import dlt +from dlt.sources.credentials import GcpOAuthCredentials + +@dlt.source +def google_analytics( + property_id: str = dlt.config.value, + credentials: GcpOAuthCredentials = dlt.secrets.value, +): + # Authenticate and get access token + credentials.auth(scopes=["scope1", "scope2"]) + + # Retrieve native credentials for Google clients + # For example, build the service object for Google Analytics PI. + client = BetaAnalyticsDataClient(credentials=credentials.to_native_credentials()) + + # Get a string representation of the credentials + # Returns a string representation of the credentials in the format client_id@project_id. + credentials_str = str(credentials) + ... +``` +while `secrets.toml` looks as following: +```toml +[sources.google_analytics.credentials] +client_id = "client_id" # please set me up! +client_secret = "client_secret" # please set me up! +refresh_token = "refresh_token" # please set me up! +project_id = "project_id" # please set me up! +``` +and `config.toml`: +```toml +[sources.google_analytics] +property_id = "213025502" +``` + +In order for `auth()` method to succeed: + +- You must provide valid `client_id` and `client_secret`, + `refresh_token` and `project_id` in order to get a current + **access token** and authenticate with OAuth. + Mind that the `refresh_token` must contain all the scopes that you require for your access. +- If `refresh_token` is not provided, and you run the pipeline from a console or a notebook, + `dlt` will use InstalledAppFlow to run the desktop authentication flow. + +[Google Analytics example](https://github.com/dlt-hub/verified-sources/blob/master/sources/google_analytics/setup_script_gcp_oauth.py): how you can get the refresh token using `dlt.secrets.value`. + +#### Defaults + +If configuration values are missing, `dlt` will use the default Google credentials (from `default()`) if available. +Read more about [Google defaults.](https://googleapis.dev/python/google-auth/latest/user-guide.html#application-default-credentials) + +- `dlt` will try to fetch the `project_id` from default credentials. + If the project id is missing, it will look for `project_id` in the secrets. + So it is normal practice to pass partial credentials (just `project_id`) and take the rest from defaults. + +### AwsCredentials + +The `AwsCredentials` class is responsible for handling AWS credentials, +including access keys, session tokens, profile names, region names, and endpoint URLs. +It inherits the ability to manage default credentials and extends it with methods +for handling partial credentials and converting credentials to a botocore session. + +#### Usage +```python +credentials = AwsCredentials() +# Set the necessary attributes +credentials.aws_access_key_id = "ACCESS_KEY_ID" +credentials.aws_secret_access_key = "SECRET_ACCESS_KEY" +credentials.region_name = "us-east-1" +``` +or +```python +# Imports an external boto3 session and sets the credentials properties accordingly. +import botocore.session + +credentials = AwsCredentials() +session = botocore.session.get_session() +credentials.parse_native_representation(session) +print(credentials.aws_access_key_id) +``` +or more preferred use: +```python +@dlt.source +def aws_readers( + bucket_url: str = dlt.config.value, + credentials: AwsCredentials = dlt.secrets.value, +): + ... + # Convert credentials to s3fs format + s3fs_credentials = credentials.to_s3fs_credentials() + print(s3fs_credentials["key"]) + + # Get AWS credentials from botocore session + aws_credentials = credentials.to_native_credentials() + print(aws_credentials.access_key) + ... +``` +while `secrets.toml` looks as following: +```toml +[sources.aws_readers.credentials] +aws_access_key_id = "key_id" +aws_secret_access_key = "access_key" +region_name = "region" +``` +and `config.toml`: +```toml +[sources.aws_readers] +bucket_url = "bucket_url" +``` + +#### Defaults + +If configuration is not provided, `dlt` uses the default AWS credentials (from `.aws/credentials`) as present on the machine: +- It works by creating an instance of botocore Session. +- If `profile_name` is specified, the credentials for that profile are used. + If not - the default profile is used. + +### AzureCredentials + +The `AzureCredentials` class is responsible for handling Azure Blob Storage credentials, +including account name, account key, Shared Access Signature (SAS) token, and SAS token permissions. +It inherits the ability to manage default credentials and extends it with methods for +handling partial credentials and converting credentials to a format suitable +for interacting with Azure Blob Storage using the adlfs library. + +#### Usage +```python +credentials = AzureCredentials() +# Set the necessary attributes +credentials.azure_storage_account_name = "ACCOUNT_NAME" +credentials.azure_storage_account_key = "ACCOUNT_KEY" +``` +or more preferred use: +```python +@dlt.source +def azure_readers( + bucket_url: str = dlt.config.value, + credentials: AzureCredentials = dlt.secrets.value, +): + ... + # Generate a SAS token + credentials.create_sas_token() + print(credentials.azure_storage_sas_token) + + # Convert credentials to adlfs format + adlfs_credentials = credentials.to_adlfs_credentials() + print(adlfs_credentials["account_name"]) + + # to_native_credentials() is not yet implemented + ... +``` +while `secrets.toml` looks as following: +```toml +[sources.azure_readers.credentials] +azure_storage_account_name = "account_name" +azure_storage_account_key = "account_key" +``` +and `config.toml`: +```toml +[sources.azure_readers] +bucket_url = "bucket_url" +``` +#### Defaults + +If configuration is not provided, `dlt` uses the default credentials using `DefaultAzureCredential`. + +## Working with alternatives of credentials (Union types) + +If your source/resource allows for many authentication methods, you can support those seamlessly for +your user. The user just passes the right credentials and `dlt` will inject the right type into your +decorated function. + +Example: + +```python +@dlt.source +def zen_source(credentials: Union[ZenApiKeyCredentials, ZenEmailCredentials, str] = dlt.secrets.value, some_option: bool = False): + # depending on what the user provides in config, ZenApiKeyCredentials or ZenEmailCredentials will be injected in `credentials` argument + # both classes implement `auth` so you can always call it + credentials.auth() + return dlt.resource([credentials], name="credentials") + +# pass native value +os.environ["CREDENTIALS"] = "email:mx:pwd" +assert list(zen_source())[0].email == "mx" + +# pass explicit native value +assert list(zen_source("secret:🔑:secret"))[0].api_secret == "secret" + +# pass explicit dict +assert list(zen_source(credentials={"email": "emx", "password": "pass"}))[0].email == "emx" + +``` + +> This applies not only to credentials but to all specs (see next chapter). + +Read the [whole test](https://github.com/dlt-hub/dlt/blob/devel/tests/common/configuration/test_spec_union.py), it shows how to create unions +of credentials that derive from the common class, so you can handle it seamlessly in your code. + +## Writing custom specs + +**specs** let you take full control over the function arguments: + +- Which values should be injected, the types, default values. +- You can specify optional and final fields. +- Form hierarchical configurations (specs in specs). +- Provide own handlers for `on_partial` (called before failing on missing config key) or `on_resolved`. +- Provide own native value parsers. +- Provide own default credentials logic. +- Adds all Python dataclass goodies to it. +- Adds all Python `dict` goodies to it (`specs` instances can be created from dicts and serialized + from dicts). + +This is used a lot in the `dlt` core and may become useful for complicated sources. + +In fact, for each decorated function a spec is synthesized. In case of `google_sheets` following +class is created: + +```python +from dlt.sources.config import configspec, with_config + +@configspec +class GoogleSheetsConfiguration(BaseConfiguration): + tab_names: List[str] = None # manadatory + credentials: GcpServiceAccountCredentials = None # mandatory secret + only_strings: Optional[bool] = False +``` + +### All specs derive from [BaseConfiguration](https://github.com/dlt-hub/dlt/blob/devel/dlt/common/configuration/specs/base_configuration.py#L170) +This class serves as a foundation for creating configuration objects with specific characteristics: + +- It provides methods to parse and represent the configuration + in native form (`parse_native_representation` and `to_native_representation`). + +- It defines methods for accessing and manipulating configuration fields. + +- It implements a dictionary-compatible interface on top of the dataclass. +This allows instances of this class to be treated like dictionaries. + +- It defines helper functions for checking if a certain attribute is present, +if a field is valid, and for calling methods in the method resolution order (MRO). + +More information about this class can be found in the class docstrings. + +### All credentials derive from [CredentialsConfiguration](https://github.com/dlt-hub/dlt/blob/devel/dlt/common/configuration/specs/base_configuration.py#L307) + +This class is a subclass of `BaseConfiguration` +and is meant to serve as a base class for handling various types of credentials. +It defines methods for initializing credentials, converting them to native representations, +and generating string representations while ensuring sensitive information is appropriately handled. + +More information about this class can be found in the class docstrings. \ No newline at end of file diff --git a/docs/website/docs/general-usage/credentials/configuration.md b/docs/website/docs/general-usage/credentials/configuration.md new file mode 100644 index 0000000000..a92fb6fd0c --- /dev/null +++ b/docs/website/docs/general-usage/credentials/configuration.md @@ -0,0 +1,462 @@ +--- +title: Secrets and Configs +description: Overview secrets and configs +keywords: [credentials, secrets.toml, secrets, config, configuration, environment + variables] +--- + +# Secrets and Configs + +Secrets and configs are two types of sensitive and non-sensitive information used in a data pipeline: + +1. **Configs**: + - Configs refer to non-sensitive configuration data. These are settings, parameters, or options that define the behavior of a data pipeline. + - They can include things like file paths, database connection strings, API endpoints, or any other settings that affect the pipeline's behavior. +2. **Secrets**: + - Secrets are sensitive information that should be kept confidential, such as passwords, API keys, private keys, and other confidential data. + - It's crucial to never hard-code secrets directly into the code, as it can pose a security risk. Instead, they should be stored securely and accessed via a secure mechanism. + + +**Design Principles**: + +1. Adding configuration and secrets to [sources](../source) and [resources](../resource) should be no-effort. +2. You can reconfigure the pipeline for production after it is deployed. Deployed and local code should + be identical. +3. You can always pass configuration values explicitly and override any default behavior (i.e. naming of the configuration keys). + +We invite you to learn how `dlt` helps you adhere to +these principles and easily operate secrets and +configurations using `dlt.secrets.value` and `dlt.config.value` instances. + +## General Usage and an Example + +In the example below, the `google_sheets` source function is used to read selected tabs from Google Sheets. +It takes several arguments, including `spreadsheet_id`, `tab_names`, and `credentials`. + +```python +@dlt.source +def google_sheets( + spreadsheet_id=dlt.config.value, + tab_names=dlt.config.value, + credentials=dlt.secrets.value, + only_strings=False +): + sheets = build('sheets', 'v4', credentials=Services.from_json(credentials)) + tabs = [] + for tab_name in tab_names: + data = sheets.get(spreadsheet_id, tab_name).execute().values() + tabs.append(dlt.resource(data, name=tab_name)) + return tabs +``` + +- `spreadsheet_id`: The unique identifier of the Google Sheets document. +- `tab_names`: A list of tab names to read from the spreadsheet. +- `credentials`: Google Sheets credentials as a dictionary ({"private_key": ...}). +- `only_strings`: Flag to specify if only string data should be retrieved. + +`spreadsheet_id` and `tab_names` are configuration values that can be provided directly +when calling the function. `credentials` is a sensitive piece of information. + +`dlt.secrets.value` and `dlt.config.value` are instances of classes that provide +dictionary-like access to configuration values and secrets, respectively. +These objects allow for convenient retrieval and modification of configuration +values and secrets used by the application. + +Below, we will demonstrate the correct and wrong approaches to providing these values. + +### Wrong approach +The wrong approach includes providing secret values directly in the code, +which is not recommended for security reasons. + +```python +# WRONG!: +# provide all values directly - wrong but possible. +# secret values should never be present in the code! +data_source = google_sheets( + "23029402349032049", + ["tab1", "tab2"], + credentials={"private_key": ""} +) +``` +:::caution +Be careful not to put your credentials directly in the code. +::: + +### Correct approach + +The correct approach involves providing config values directly and secrets via +automatic [injection mechanism](#injection-mechanism) +or pass everything via configuration. + +1. Option A + ```python + # `only_strings` will get the default value False + data_source = google_sheets("23029402349032049", ["tab1", "tab2"]) + ``` + `credentials` value will be injected by the `@source` decorator (e.g. from `secrets.toml`). + + `spreadsheet_id` and `tab_names` take values from the provided arguments. + +2. Option B + ```python + # `only_strings` will get the default value False + data_source = google_sheets() + ``` + `credentials` value will be injected by the `@source` decorator (e.g. from `secrets.toml`). + + `spreadsheet_id` and `tab_names` will be also injected by the `@source` decorator (e.g. from `config.toml`). + +We use `dlt.secrets.value` and `dlt.config.value` to set secrets and configurations via: +- [TOML files](config_providers#toml-provider) (`secrets.toml` & `config.toml`): + ```toml + [sources.google_sheets.credentials] + client_email = + private_key = + project_id = + ``` + Read more about [TOML layouts](#secret-and-config-values-layout-and-name-lookup). +- [Environment Variables](config_providers#environment-provider): + ```python + SOURCES__GOOGLE_SHEETS__CREDENTIALS__CLIENT_EMAIL + SOURCES__GOOGLE_SHEETS__CREDENTIALS__PRIVATE_KEY + SOURCES__GOOGLE_SHEETS__CREDENTIALS__PROJECT_ID + ``` + +:::caution +**[TOML provider](config_providers#toml-provider) always loads `secrets.toml` and `config.toml` files from `.dlt` folder** which is looked relative to the +**current [Working Directory](https://en.wikipedia.org/wiki/Working_directory)**. TOML provider also has the capability to read files from `~/.dlt/` +(located in the user's [Home Directory](https://en.wikipedia.org/wiki/Home_directory)). +::: + + +### Add typing to your sources and resources + +We highly recommend adding types to your function signatures. +The effort is very low, and it gives `dlt` much more +information on what source/resource expects. + +Doing so provides several benefits: + +1. You'll never receive invalid data types in your code. +1. We can generate nice sample config and secret files for your source. +1. You can request dictionaries or special values (i.e. connection strings, service json) to be + passed. +1. You can specify a set of possible types via `Union` i.e. OAuth or API Key authorization. + +```python +@dlt.source +def google_sheets( + spreadsheet_id: str = dlt.config.value, + tab_names: List[str] = dlt.config.value, + credentials: GcpServiceAccountCredentials = dlt.secrets.value, + only_strings: bool = False +): + ... +``` + +Now: + +1. You are sure that you get a list of strings as `tab_names`. +1. You will get actual Google credentials (see [GCP Credential Configuration](config_specs#gcp-credentials)), and your users can + pass them in many different forms. + +In case of `GcpServiceAccountCredentials`: + +- You may just pass the `service.json` as string or dictionary (in code and via config providers). +- You may pass a connection string (used in SQL Alchemy) (in code and via config providers). +- Or default credentials will be used. + +### Pass config values and credentials explicitly +We suggest a [default layout](#default-layout-and-default-key-lookup-during-injection) of secret and config values, but you can fully ignore it and use your own: + +```python +# use `dlt.secrets` and `dlt.config` to explicitly take +# those values from providers from the explicit keys +data_source = google_sheets( + dlt.config["sheet_id"], + dlt.config["my_section.tabs"], + dlt.secrets["my_section.gcp_credentials"] +) + +data_source.run(destination="bigquery") +``` +`dlt.config` and `dlt.secrets` behave like dictionaries from which you can request a value with any key name. `dlt` will look in all [config providers](#injection-mechanism) - TOML files, env variables etc. just like it does with the standard key name layout. You can also use `dlt.config.get()` / `dlt.secrets.get()` to +request value cast to a desired type. For example: +```python +credentials = dlt.secrets.get("my_section.gcp_credentials", GcpServiceAccountCredentials) +``` +Creates `GcpServiceAccountCredentials` instance out of values (typically a dictionary) under **my_section.gcp_credentials** key. + +See [example](https://github.com/dlt-hub/dlt/blob/devel/docs/examples/archive/credentials/explicit.py). + +### Pass credentials as code + +You can see that the `google_sheets` source expects a `gs_credentials`. So you could pass it as below. + +```python +from airflow.hooks.base_hook import BaseHook + +# get it from airflow connections or other credential store +credentials = BaseHook.get_connection('gcp_credentials').extra +data_source = google_sheets(credentials=credentials) +``` +:::caution +Be careful not to put your credentials directly in code - use your own credential vault instead. +::: + +### Pass explicit destination credentials +You can pass destination credentials and ignore the default lookup: +```python +pipeline = dlt.pipeline(destination="postgres", credentials=dlt.secrets["postgres_dsn"]) +``` + +## Injection mechanism + +Config and secret values are injected to the function arguments if the function is decorated with +`@dlt.source` or `@dlt.resource` (also `@with_config` which you can apply to any function - used +heavily in the dlt core). + +The signature of the function `google_sheets` is **explicitly accepting all the necessary configuration and secrets in its arguments**. +During runtime, `dlt` tries to supply (`inject`) the required values via various config providers. + +The injection rules are: + +1. If you call the decorated function, the arguments that are passed explicitly are **never injected**, + this makes the injection mechanism optional. + +1. Required arguments (i.e. `spreadsheet_id` - without default values) are not injected and must be present. + +1. Arguments with default values are injected if present in config providers, otherwise default is used. + +1. Arguments with the special default value `dlt.secrets.value` and `dlt.config.value` **must be injected** + (or explicitly passed). If they are not found by the config providers, the code raises + exception. The code in the functions always receives those arguments. + +Additionally `dlt.secrets.value` tells `dlt` that supplied value is a secret, and it will be injected +only from secure config providers. + +## Secret and config values layout and name lookup + +`dlt` uses a layout of hierarchical sections to organize the config and secret values. This makes +configurations and secrets easy to manage, and disambiguate values with the same keys by placing +them in the different sections. + +:::note +If you know how TOML files are organized -> this is the same concept! +::: + +A lot of config values are dictionaries themselves (i.e. most of the credentials) and you want the +values corresponding to one component to be close together. + +You can have a separate credentials for your destinations and each of the sources your pipeline uses, +if you have many pipelines in a single project, you can group them in separate sections. + +Here is the simplest default layout for our `google_sheets` example. + +### OPTION A (default layout) + +**secrets.toml** + +```toml +[credentials] +client_email = +private_key = +project_id = +``` + +**config.toml** + +```toml +tab_names=["tab1", "tab2"] +``` + +As you can see the details of GCP credentials are placed under `credentials` which is argument name +to source function. + +### OPTION B (explicit layout) + +Here user has full control over the layout. + +**secrets.toml** + +```toml +[my_section] + + [my_section.gcp_credentials] + client_email = + private_key = +``` + +**config.toml** + +```toml +[my_section] +tabs=["tab1", "tab2"] + + [my_section.gcp_credentials] + # I prefer to keep my project id in config file and private key in secrets + project_id = +``` + +### Default layout and default key lookup during injection + +`dlt` arranges the sections into **default layout** that is expected by injection mechanism. This layout +makes it easy to configure simple cases but also provides a room for more explicit sections and +complex cases i.e. having several sources with different credentials or even hosting several pipelines +in the same project sharing the same config and credentials. + +``` +pipeline_name + | + |-sources + |- + |- + |- {all source and resource options and secrets} + |- + |- {all source and resource options and secrets} + |- + |... + + |-extract + |- extract options for resources ie. parallelism settings, maybe retries + |-destination + |- + |- {destination options} + |-credentials + |-{credentials options} + |-schema + |- + |-schema settings: not implemented but I'll let people set nesting level, name convention, normalizer etc. here + |-load + |-normalize +``` + +Lookup rules: + +**Rule 1:** All the sections above are optional. You are free to arrange your credentials and config +without any additional sections. + +**Rule 2:** The lookup starts with the most specific possible path, and if value is not found there, +it removes the right-most section and tries again. + +Example: In case of option A we have just one set of credentials. +But what if `bigquery` credentials are different from `google sheets`? Then we need to +allow some sections to separate them. + +```toml +# google sheet credentials +[credentials] +client_email = +private_key = +project_id = + +# bigquery credentials +[destination.credentials] +client_email = +private_key = +project_id = +``` + +Now when `dlt` looks for destination credentials, it will encounter the `destination` section and +stop there. When looking for `sources` credentials it will get directly into `credentials` key +(corresponding to function argument). + +> We could also rename the argument in the source function! But then we are **forcing** the user to +> have two copies of credentials. + +Example: let's be even more explicit and use a full section path possible. + +```toml +# google sheet credentials +[sources.google_sheets.credentials] +client_email = +private_key = +project_id = + +# bigquery credentials +[destination.bigquery.credentials] +client_email = +private_key = +project_id = +``` + +Where we add destination and source name to be very explicit. + +**Rule 3:** You can use your pipeline name to have separate configurations for each pipeline in your +project. + +Pipeline created/obtained with `dlt.pipeline()` creates a global and optional namespace with the +value of `pipeline_name`. All config values will be looked with pipeline name first and then again +without it. + +Example: the pipeline is named `ML_sheets`. + +```toml +[ML_sheets.credentials] +client_email = +private_key = +project_id = +``` + +or maximum path: + +```toml +[ML_sheets.sources.google_sheets.credentials] +client_email = +private_key = +project_id = +``` + +### The `sources` section + +Config and secrets for decorated sources and resources are kept in +`sources..` section. **All sections are optional during lookup**. For example, +if source module is named `pipedrive` and the function decorated with `@dlt.source` is +`deals(api_key: str=...)` then `dlt` will look for API key in: + +1. `sources.pipedrive.deals.api_key` +1. `sources.pipedrive.api_key` +1. `sources.api_key` +1. `api_key` + +Step 2 in a search path allows all the sources/resources in a module to share the same set of +credentials. + +Also look at the [following test](https://github.com/dlt-hub/dlt/blob/devel/tests/extract/test_decorators.py#L303) `test_source_sections`. + +## Understanding the exceptions + +Now we can finally understand the `ConfigFieldMissingException`. + +Let's run `chess.py` example without providing the password: + +``` +$ CREDENTIALS="postgres://loader@localhost:5432/dlt_data" python chess.py +... +dlt.common.configuration.exceptions.ConfigFieldMissingException: Following fields are missing: ['password'] in configuration with spec PostgresCredentials + for field "password" config providers and keys were tried in following order: + In Environment Variables key CHESS_GAMES__DESTINATION__POSTGRES__CREDENTIALS__PASSWORD was not found. + In Environment Variables key CHESS_GAMES__DESTINATION__CREDENTIALS__PASSWORD was not found. + In Environment Variables key CHESS_GAMES__CREDENTIALS__PASSWORD was not found. + In secrets.toml key chess_games.destination.postgres.credentials.password was not found. + In secrets.toml key chess_games.destination.credentials.password was not found. + In secrets.toml key chess_games.credentials.password was not found. + In Environment Variables key DESTINATION__POSTGRES__CREDENTIALS__PASSWORD was not found. + In Environment Variables key DESTINATION__CREDENTIALS__PASSWORD was not found. + In Environment Variables key CREDENTIALS__PASSWORD was not found. + In secrets.toml key destination.postgres.credentials.password was not found. + In secrets.toml key destination.credentials.password was not found. + In secrets.toml key credentials.password was not found. +Please refer to https://dlthub.com/docs/general-usage/credentials for more information +``` + +It tells you exactly which paths `dlt` looked at, via which config providers and in which order. + +In the example above: + +1. First it looked in a big section `chess_games` which is name of the pipeline. +1. In each case it starts with full paths and goes to minimum path `credentials.password`. +1. First it looks into `environ` then in `secrets.toml`. It displays the exact keys tried. +1. Note that `config.toml` was skipped! It may not contain any secrets. + +Read more about [Provider Hierarchy](./config_providers). \ No newline at end of file diff --git a/docs/website/docs/general-usage/glossary.md b/docs/website/docs/general-usage/glossary.md index 38bf4ee01b..fd88bc1e5f 100644 --- a/docs/website/docs/general-usage/glossary.md +++ b/docs/website/docs/general-usage/glossary.md @@ -6,7 +6,7 @@ keywords: [glossary, resource, source, pipeline] # Glossary -## [Source](source.md) +## [Source](source) Location that holds data with certain structure. Organized into one or more resources. @@ -17,7 +17,7 @@ Location that holds data with certain structure. Organized into one or more reso Within this documentation, **source** refers also to the software component (i.e. Python function) that **extracts** data from the source location using one or more resource components. -## [Resource](resource.md) +## [Resource](resource) A logical grouping of data within a data source, typically holding data of similar structure and origin. @@ -33,12 +33,12 @@ that **extracts** the data from source location. The data store where data from the source is loaded (e.g. Google BigQuery). -## [Pipeline](pipeline.md) +## [Pipeline](pipeline) Moves the data from the source to the destination, according to instructions provided in the schema (i.e. extracting, normalizing, and loading the data). -## [Verified Source](../walkthroughs/add-a-verified-source.md) +## [Verified Source](../walkthroughs/add-a-verified-source) A Python module distributed with `dlt init` that allows creating pipelines that extract data from a particular **Source**. Such module is intended to be published in order for others to use it to @@ -47,17 +47,17 @@ build pipelines. A source must be published to become "verified": which means that it has tests, test data, demonstration scripts, documentation and the dataset produces was reviewed by a data engineer. -## [Schema](schema.md) +## [Schema](schema) Describes the structure of normalized data (e.g. unpacked tables, column types, etc.) and provides instructions on how the data should be processed and loaded (i.e. it tells `dlt` about the content of the data and how to load it into the destination). -## [Config](configuration.md) +## [Config](credentials/configuration) A set of values that are passed to the pipeline at run time (e.g. to change its behavior locally vs. in production). -## [Credentials](credentials.md) +## [Credentials](credentials/config_specs) A subset of configuration whose elements are kept secret and never shared in plain text. diff --git a/docs/website/docs/general-usage/resource.md b/docs/website/docs/general-usage/resource.md index 77df24d592..e203b3d93a 100644 --- a/docs/website/docs/general-usage/resource.md +++ b/docs/website/docs/general-usage/resource.md @@ -70,7 +70,7 @@ accepts following arguments: > hint value. This let's you create table and column schemas depending on the data. See example in > next section. -> 💡 You can mark some resource arguments as configuration and [credentials](credentials.md) +> 💡 You can mark some resource arguments as [configuration and credentials](credentials) > values so `dlt` can pass them automatically to your functions. ### Define a schema with Pydantic @@ -174,7 +174,7 @@ for row in generate_rows(20): print(row) ``` -You can mark some resource arguments as configuration and [credentials](credentials.md) values +You can mark some resource arguments as [configuration and credentials](credentials) values so `dlt` can pass them automatically to your functions. ### Process resources with `dlt.transformer` diff --git a/docs/website/docs/general-usage/schema.md b/docs/website/docs/general-usage/schema.md index ee73aea54e..492e1a9117 100644 --- a/docs/website/docs/general-usage/schema.md +++ b/docs/website/docs/general-usage/schema.md @@ -64,7 +64,7 @@ The default naming convention: > 💡 Use simple, short small caps identifiers for everything! -The naming convention is [configurable](configuration.md) and users can easily create their own +The naming convention is configurable and users can easily create their own conventions that i.e. pass all the identifiers unchanged if the destination accepts that (i.e. DuckDB). diff --git a/docs/website/docs/running-in-production/running.md b/docs/website/docs/running-in-production/running.md index 96f9f7e071..4d8cc581d7 100644 --- a/docs/website/docs/running-in-production/running.md +++ b/docs/website/docs/running-in-production/running.md @@ -111,7 +111,7 @@ load.delete_completed_jobs=true ## Using slack to send messages `dlt` provides basic support for sending slack messages. You can configure Slack incoming hook via -[secrets.toml or environment variables](../general-usage/credentials.md). Please note that **Slack +[secrets.toml or environment variables](../general-usage/credentials/config_providers). Please note that **Slack incoming hook is considered a secret and will be immediately blocked when pushed to github repository**. In `secrets.toml`: diff --git a/docs/website/docs/walkthroughs/add-a-verified-source.md b/docs/website/docs/walkthroughs/add-a-verified-source.md index ed3701d8b5..bd7bd9894e 100644 --- a/docs/website/docs/walkthroughs/add-a-verified-source.md +++ b/docs/website/docs/walkthroughs/add-a-verified-source.md @@ -76,7 +76,7 @@ the supported locations. ## 2. Adding credentials For adding them locally or on your orchestrator, please see the following guide -[credentials](../general-usage/credentials.md). +[credentials](add_credentials). ## 3. Customize or write a pipeline script diff --git a/docs/website/docs/general-usage/credentials.md b/docs/website/docs/walkthroughs/add_credentials.md similarity index 61% rename from docs/website/docs/general-usage/credentials.md rename to docs/website/docs/walkthroughs/add_credentials.md index d0627ca527..748b8c6d8a 100644 --- a/docs/website/docs/general-usage/credentials.md +++ b/docs/website/docs/walkthroughs/add_credentials.md @@ -1,10 +1,10 @@ --- -title: Credentials +title: Add credentials description: How to use dlt credentials keywords: [credentials, secrets.toml, environment variables] --- -# Credentials +# How to add credentials ## Adding credentials locally @@ -34,48 +34,15 @@ For Verified Source credentials, read the [Setup Guides](../dlt-ecosystem/verifi Once you have credentials for the source and destination, add them to the file above and save them. +Read more about [credential configuration.](../general-usage/credentials) + ## Adding credentials to your deployment To add credentials to your deployment, - either use one of the `dlt deploy` commands; -- or follow the below instructions to pass credentials via code or environment. - -### Passing credentials as code - -A usual dlt pipeline passes a dlt source to a dlt pipeline as below. It is here that we could pass -credentials to the `pipedrive_source()`: - -```python -from pipedrive import pipedrive_source - -pipeline = dlt.pipeline( - pipeline_name='pipedrive', - destination='bigquery', - dataset_name='pipedrive_data' -) -load_info = pipeline.run(pipedrive_source()) -print(load_info) -``` - -When a source is defined, you define how credentials are passed. So it is here that you could look -to understand how to pass custom credentials. - -Example: - -```python -@dlt.source(name='pipedrive') -def pipedrive_source(pipedrive_api_key: str = dlt.secrets.value) -> Sequence[DltResource]: - #code goes here -``` - -You can see that the pipedrive source expects a `pipedrive_api_key`. So you could pass it as below. - -```python -api_key = BaseHook.get_connection('pipedrive_api_key').extra # get it from airflow or other credential store -load_info = pipeline.run(pipedrive_source(pipedrive_api_key=api_key)) -``` -> ❗ Note: be careful not to put your credentials directly in code - use your own credential vault instead. +- or follow the instructions to [pass credentials via code](../general-usage/credentials/configuration#pass-credentials-as-code) +or [environment](../general-usage/credentials/config_providers#environment-provider). ### Reading credentials from environment variables @@ -96,9 +63,9 @@ client_email = "client_email" # please set me up! If dlt tries to read this from environment variables, it will use a different naming convention. -For environment variables all names are capitalized and sections are separated with double underscore "\_\_". +For environment variables all names are capitalized and sections are separated with a double underscore "__". -For example for the above secrets, we would need to put into environment: +For example, for the secrets mentioned above, we would need to set them in the environment: ```shell SOURCES__PIPEDRIVE__PIPEDRIVE_API_KEY diff --git a/docs/website/sidebars.js b/docs/website/sidebars.js index a82b7acee6..106162c50e 100644 --- a/docs/website/sidebars.js +++ b/docs/website/sidebars.js @@ -104,9 +104,21 @@ const sidebars = { 'general-usage/state', 'general-usage/incremental-loading', 'general-usage/full-loading', - 'general-usage/credentials', 'general-usage/schema', - 'general-usage/configuration', + { + type: 'category', + label: 'Configuration', + link: { + type: 'generated-index', + title: 'Configuration', + slug: 'general-usage/credentials', + }, + items: [ + 'general-usage/credentials/configuration', + 'general-usage/credentials/config_providers', + 'general-usage/credentials/config_specs', + ] + }, 'reference/performance', { type: 'category', @@ -139,6 +151,7 @@ const sidebars = { items: [ 'walkthroughs/create-a-pipeline', 'walkthroughs/add-a-verified-source', + 'walkthroughs/add_credentials', 'walkthroughs/run-a-pipeline', 'walkthroughs/adjust-a-schema', 'walkthroughs/share-a-dataset', From a3d979efc629dd975d30f70443f60c21e11cfaeb Mon Sep 17 00:00:00 2001 From: hibajamal <35984866+hibajamal@users.noreply.github.com> Date: Wed, 1 Nov 2023 11:27:12 +0200 Subject: [PATCH 02/28] Blog/data modelling tools (#728) --- docs/website/blog/2023-10-25-dlt-deepnote.md | 116 ++-- .../blog/2023-10-30-data-modelling-tools.md | 583 ++++++++++++++++++ ...g-modelling-data-dictionaries-gooddata.png | Bin 0 -> 61845 bytes ...g-modelling-data-dictionaries-metabase.png | Bin 0 -> 54106 bytes .../blog-modelling-data-dictionaries-pbi.png | Bin 0 -> 77618 bytes .../blog-modelling-data-types-power-bi.png | Bin 0 -> 20077 bytes .../blog-modelling-granularity-gooddata.png | Bin 0 -> 49121 bytes .../blog-modelling-granularity-metabase.png | Bin 0 -> 23596 bytes .../img/blog-modelling-granularity-pbi.png | Bin 0 -> 17595 bytes .../img/blog-modelling-language-gooddata.png | Bin 0 -> 12776 bytes .../img/blog-modelling-language-metabase.png | Bin 0 -> 34058 bytes .../img/blog-modelling-language-pbi.png | Bin 0 -> 15027 bytes .../img/blog-modelling-metrics-gooddata.png | Bin 0 -> 48058 bytes .../img/blog-modelling-metrics-metabase.png | Bin 0 -> 18717 bytes .../static/img/blog-modelling-metrics-pbi.png | Bin 0 -> 28056 bytes .../img/blog-modelling-refresh-gooddata.png | Bin 0 -> 17741 bytes .../img/blog-modelling-refresh-metabase.png | Bin 0 -> 15336 bytes .../static/img/blog-modelling-refresh-pbi.png | Bin 0 -> 15595 bytes .../blog-modelling-table-prop-gooddata.png | Bin 0 -> 61837 bytes .../blog-modelling-table-prop-metabase.png | Bin 0 -> 48575 bytes .../img/blog-modelling-table-prop-pbi.png | Bin 0 -> 10250 bytes .../img/blog-modelling-table-rel-gooddata.png | Bin 0 -> 31411 bytes .../img/blog-modelling-table-rel-metabase.png | Bin 0 -> 23260 bytes .../img/blog-modelling-table-rel-pbi.png | Bin 0 -> 60146 bytes .../static/img/data-types-gooddata.png | Bin 0 -> 24353 bytes .../static/img/data-types-metabase.png | Bin 0 -> 23582 bytes .../static/img/pbi-modelled-livewell.png | Bin 0 -> 68793 bytes .../static/img/people-stuck-with-tables-2.jpg | Bin 0 -> 119486 bytes 28 files changed, 622 insertions(+), 77 deletions(-) create mode 100644 docs/website/blog/2023-10-30-data-modelling-tools.md create mode 100644 docs/website/static/img/blog-modelling-data-dictionaries-gooddata.png create mode 100644 docs/website/static/img/blog-modelling-data-dictionaries-metabase.png create mode 100644 docs/website/static/img/blog-modelling-data-dictionaries-pbi.png create mode 100644 docs/website/static/img/blog-modelling-data-types-power-bi.png create mode 100644 docs/website/static/img/blog-modelling-granularity-gooddata.png create mode 100644 docs/website/static/img/blog-modelling-granularity-metabase.png create mode 100644 docs/website/static/img/blog-modelling-granularity-pbi.png create mode 100644 docs/website/static/img/blog-modelling-language-gooddata.png create mode 100644 docs/website/static/img/blog-modelling-language-metabase.png create mode 100644 docs/website/static/img/blog-modelling-language-pbi.png create mode 100644 docs/website/static/img/blog-modelling-metrics-gooddata.png create mode 100644 docs/website/static/img/blog-modelling-metrics-metabase.png create mode 100644 docs/website/static/img/blog-modelling-metrics-pbi.png create mode 100644 docs/website/static/img/blog-modelling-refresh-gooddata.png create mode 100644 docs/website/static/img/blog-modelling-refresh-metabase.png create mode 100644 docs/website/static/img/blog-modelling-refresh-pbi.png create mode 100644 docs/website/static/img/blog-modelling-table-prop-gooddata.png create mode 100644 docs/website/static/img/blog-modelling-table-prop-metabase.png create mode 100644 docs/website/static/img/blog-modelling-table-prop-pbi.png create mode 100644 docs/website/static/img/blog-modelling-table-rel-gooddata.png create mode 100644 docs/website/static/img/blog-modelling-table-rel-metabase.png create mode 100644 docs/website/static/img/blog-modelling-table-rel-pbi.png create mode 100644 docs/website/static/img/data-types-gooddata.png create mode 100644 docs/website/static/img/data-types-metabase.png create mode 100644 docs/website/static/img/pbi-modelled-livewell.png create mode 100644 docs/website/static/img/people-stuck-with-tables-2.jpg diff --git a/docs/website/blog/2023-10-25-dlt-deepnote.md b/docs/website/blog/2023-10-25-dlt-deepnote.md index c0909c0685..864353a36d 100644 --- a/docs/website/blog/2023-10-25-dlt-deepnote.md +++ b/docs/website/blog/2023-10-25-dlt-deepnote.md @@ -19,20 +19,18 @@ tags: [dbt runner, dbt cloud runner, dbt core runner] What’s in this article: -1. [⌛The Problem; The bulk of time spent in a data science project is on the transformation of data itself.](#⌛The-Problem;-The-bulk-of-time-spent-in-a-data-science-project-is-on-the-transformation-of-data-itself.) - 1. [The usual flow of data for data science projects](#-The-usual-flow-of-data-for-data-science-projects) - 2. [A peek into the datasets 👀](#A-peek-into-the-datasets-👀) -2. [⚰️The Classical Solution; using pandas to model complicated data for your analytics workflows isn’t the fastest way out.](#⚰️The-Classical-Solution;-using-pandas-to-model-complicated-data-for-your-analytics-workflows-isn’t-the-fastest-way-out.) -3. [💫The Revised Solution; Revisualizing the flow of data with dlt & Deepnote](#💫The-Revised-Solution;-Revisualizing-the-flow-of-data-with-dlt-&-Deepnote) - 1. [Introducing dlt; the data cleaner I wish I had](#Introducing-dlt-the-data-cleaner-I-wish-I-had) - 1. [Know your data model; connect the unnested tables using dlt’s pre-assigned primary and foreign keys:](#Know-your-data-model-connect-the-unnested-tables-using-dlt-s-pre-assigned-primary-and-foreign-keys) +1. [⌛The Problem; The bulk of time spent in a data science project is on the transformation of data itself.](#data-trans1) + 1. [The usual flow of data for data science projects](#ds-project-usual-flow) + 2. [A peak into the datasets 👀](#dataset-peak) +2. [⚰️The Classical Solution; using pandas to model complicated data for your analytics workflows isn’t the fastest way out.](#classical-solution) +3. [💫The Revised Solution; Revisualizing the flow of data with dlt & Deepnote](#revised-solution) + 1. [Introducing dlt; the data cleaner I wish I had](#introducing-dlt) 2. [Deepnote - the iPython Notebook turned Dashboarding tool](#Deepnote-the-iPython-Notebook-turned-Dashboarding-tool) - 1. [One step visualizations](#One-step-visualizations) 4. [🌍Clustering countries based on their wellness indicators](#Clustering-countries-based-on-their-wellness-indicators) -5. [🔧Technical Conclusion; dlt & Deepnote are the data science dream team](#Technical-Conclusion-dlt-Deepnote-are-the-data-science-dream-team) -6. [🎆Analytical Conclusion; Leave women in dangerous situations for extended periods of time and they’ll begin to justify the violence committed against themselves!](#Analytical-Conclusion-Leave-women-in-dangerous-situations-for-extended-periods-of-time-and-they-ll-begin-to-justify-the-violence-committed-against-themselves!) +5. [🔧Technical Conclusion; dlt & Deepnote are the data science dream team](#technical-conclusion) +6. [🎆Analytical Conclusion; Leave women in dangerous situations for extended periods of time and they’ll begin to justify the violence committed against themselves!](#analytical-conclusion) -# ⌛The Problem; The bulk of time spent in a data science project is on the transformation of data itself. +# ⌛The Problem; The bulk of time spent in a data science project is on the transformation of data itself. If you are a data analyst, data scientist or a machine learning engineer, then more likely than not, you spend more time fixing data pipelines or data formats then you do @@ -49,7 +47,7 @@ Unfortunately, before we get to writing this `select` statement, we need to go t some very important but time consuming first steps. To describe what this journey looks like, let’s list down the steps we usually undergo. -### The usual flow of data for data science projects +### The usual flow of data for data science projects ![usual flow](/img/blog_deepnote_usual_flow.png) @@ -59,7 +57,7 @@ hunches turn out to be statistically significant! However, the journey to reach these stages is stretched much longer due to the time spent on data formats and pipelines. It would be such a load off my mind if they would get sorted themselves and we could skip to the good part. Sure, ipython notebooks with `pandas` and `numpy` help us in getting along, but what if there was something even simpler? Let’s explore different solutions. -### A peek into the datasets 👀 +### A peak into the datasets 👀 The two datasets that we are using are nested json files, with further lists of dictionaries, and are survey results with wellness indicators for women. Here’s what the first element of one dataset looks like: @@ -70,53 +68,44 @@ The two datasets that we are using are nested json files, with further lists of > +

Looks like it is a nested json, nested further with more lists of dictionaries.

- - -Looks like it is a nested json, nested further with more lists of dictionaries. - -# ⚰️The Classical Solution; using pandas to model complicated data for your analytics workflows isn’t the fastest way out. +# ⚰️The Classical Solution; using pandas to model complicated data for your analytics workflows isn’t the fastest way out. Usually, `json_normalize` can be used to unnest a json file while loading it into pandas. However, the nested lists inside dictionaries do not unravel quite well. Nonetheless, let’s see how the pandas normalizer works on our dataset. -
+
- -Conclusion from looking at the data: pandas successfully flattened dictionaries but did not unnest lists. Perhaps because in order to unpack these lists, one might need to create new tables, essentially create a data model entirely. But, that is something pandas does not do for us. So, to be able to use it, let’s flatten the data further into arrays and tables. Particularly, let’s pay attention to the amount of code required to achieve this task. +

Conclusion from looking at the data: pandas successfully flattened dictionaries but did not unnest lists. Perhaps because in order to unpack these lists, one might need to create new tables, essentially create a data model entirely. But, that is something pandas does not do for us. So, to be able to use it, let’s flatten the data further into arrays and tables. Particularly, let’s pay attention to the amount of code required to achieve this task.

To start off, using the `pandas` `explode` function might be a good way to flatten these lists: - -
+
+

And now, putting one of the nested variables into a pandas data frame:

---- -And now, putting one of the nested variables into a pandas data frame: - - -
+
+

And this little exercise needs to be repeated for each of the columns that we had to “explode” in the first place.

-And this little exercise needs to be repeated for each of the columns that we had to “explode” in the first place. - -Our next step could be using a visualization package like `matplotlib`, and other `pandas` and `numpy` based functions to conduct a thorough exploratory analysis on the data. However, if we use the code above and plot two variables against each other on a scatter plot, for example, `marriage_related` and `work_related`, then joining this data wouldn’t be simple. We would have to be wary of the list indices (or something that can be used as foreign keys) that will match rows together across different tables. Otherwise, we would end up with mismatched data points on the scatter plot. We’ll get more into this in the [Know your data model](https://www.notion.so/DLT-Deepnote-in-women-s-wellness-and-violence-trends-A-Visual-Analysis-07de2cab78f84a23a46e03cddf885320?pvs=21) section. +Our next step could be using a visualization package like `matplotlib`, and other `pandas` and `numpy` based functions to conduct a thorough exploratory analysis on the data. However, if we use the code above and plot two variables against each other on a scatter plot, for example, `marriage_related` and `work_related`, then joining this data wouldn’t be simple. We would have to be wary of the list indices (or something that can be used as foreign keys) that will match rows together across different tables. Otherwise, we would end up with mismatched data points on the scatter plot. We’ll get more into this in the [Know your data model](#know-your-data-model) section. -# 💫The Revised Solution; Revisualizing the flow of data with dlt & Deepnote +# 💫The Revised Solution; Revisualizing the flow of data with dlt & Deepnote We can reimagine the flow of data with dlt and Deepnote in the following way: @@ -124,66 +113,48 @@ We can reimagine the flow of data with dlt and Deepnote in the following way: We leave the loading of the raw data to dlt, while we leave the data exploration and visualization to the Deepnote interface. -## Introducing dlt; the data cleaner I wish I had +## Introducing dlt; the data cleaner I wish I had Imagine this: you initialize a data pipeline in one line of code, and pass complicated raw data in another to be modelled, unnested and formatted. Now, watch that come to reality: -
-
+
- - - - - And that’s pretty much it. Notice the difference in the effort you had to put in? -The data has been loaded into a pipeline with `duckdb` as its destination. -`duckdb` was chosen as it is an OLAP database, perfect for usage in our analytics workflow. -The data has been unnested and formatted. To explore what exactly was stored in that destination, -a `duckdb` connector (`conn`) is set up, and the `SHOW ALL TABLES` command is executed. - +The data has been loaded into a pipeline with `duckdb` as its destination. `duckdb` was chosen as it is an OLAP database, perfect for usage in our analytics workflow. The data has been unnested and formatted. To explore what exactly was stored in that destination, a `duckdb` connector (`conn`) is set up, and the `SHOW ALL TABLES` command is executed.
- - - - In a first look, we understand that both the datasets `violence` and `wellness` have their own base tables. One of the child tables is shown below: - -
+
- - -### Know your data model; connect the unnested tables using dlt’s pre-assigned primary and foreign keys: +### Know your data model; connect the unnested tables using dlt’s pre-assigned primary and foreign keys: The child tables, like `violence__value` or `wellness__age_related` are the unnested lists of dictionaries from the original json files. The `_dlt_id` column as shown in the table above serves as a **primary key**. This will help us in connecting the children tables with ease. The `parent_id` column in the children tables serve as **foreign keys** to the base tables. If more then one child table needs to be joined together, we make use of the `_dlt_list_idx` column; -
- - -## Deepnote - the iPython Notebook turned Dashboarding tool +## Deepnote - the iPython Notebook turned Dashboarding tool Take your average Notebook experience, and combine it with the powers of a collaborative and interactive dashboarding tool and you get Deepnote. Now that we focus on analytics portion of this article, let’s check out how Deepnote helps along the way. -### One step visualizations +### One step visualizations At this point, we would probably move towards a `plt.plot` or `plt.bar` function. However, with Deepnote, the little Visualize button on top of any data frame will help us jump straight to an easy figure. Clicking on the Visualize button takes you to a new cell block, where you can choose your parameters, types of charts, and customization settings in the sidebar. The following chart is built from the `joined` data frame we defined above. @@ -212,24 +181,20 @@ Let’s examine the differences in women’s responses for two demographic types
- - - Let’s look at one last plot created by Deepnote for the other dataset with wellness indicators. The upward moving trend shows us that women are much less likely to have a final say on their health if they are less educated.
- -# 🌍 Clustering countries based on their wellness indicators +# 🌍 Clustering countries based on their wellness indicators Lastly, based on these indicators of wellness and violence about women, let’s use KMEANS to cluster these countries to see how the algorithm groups which countries together. The intersection of the ‘countries’ columns in both datasets results in the availability of data for 45 countries. The columns used in this model indicate per country: @@ -247,19 +212,16 @@ The color bar shows us which color is associated to which cluster. Namely; 1: pu To understand briefly what each cluster represents, let’s look at the averages for each indicator across all clusters; -
+
- - - This tells us that according to these datasets, cluster 2 (highlighted blue) is the cluster that is performing the best in terms of wellness of women. It has the lowest levels of justifications of violence, highest average years of education, and almost the highest percentage of women who have control over their health and finances. This is followed by clusters 3, 1, and 4 respectively; countries like the Philippines, Peru, Mozambique, Indonesia and Bolivia are comparatively better than countries like South Africa, Egypt, Zambia, Guatemala & all South Asian countries, in regards to how they treat women. -## 🔧Technical Conclusion; dlt & Deepnote are the data science dream team +## 🔧Technical Conclusion; dlt & Deepnote are the data science dream team It is safe to say that dlt is a dream come true for all data scientists who do not want to 1. W**ait for a data engineer to fix data pipeline issues** and model discrepancies, or 2. **Spend time studying the format of a dataset** and find ways to structure and unnest it. The library supports many different [sources](https://dlthub.com/docs/dlt-ecosystem/verified-sources/) and can pick up the dreadful data cleaning tasks you don’t want to do. @@ -267,7 +229,7 @@ Next, let’s talk about the coding tool of choice for this article—Deepnote. Using both of these tools together made the critical tasks of data loading and data exploration much easier for a data scientist or analyst by automating much of the upfront data preparation steps! -## 🎆Analytical Conclusion; Leave women in dangerous situations for extended periods of time and they’ll begin to justify the violence committed against themselves! +## 🎆Analytical Conclusion; Leave women in dangerous situations for extended periods of time and they’ll begin to justify the violence committed against themselves! The data we explored in the plots above demonstrated that women often justify violent acts committed against themselves almost as equally as men do. Particularly, women who are less educated are more likely to fall into the shackles of these beliefs when compared to their more educated counterparts. diff --git a/docs/website/blog/2023-10-30-data-modelling-tools.md b/docs/website/blog/2023-10-30-data-modelling-tools.md new file mode 100644 index 0000000000..09a656df68 --- /dev/null +++ b/docs/website/blog/2023-10-30-data-modelling-tools.md @@ -0,0 +1,583 @@ +--- +slug: semantic-modeling-tools-comparison +title: "Semantic Modeling Capabilities of Power BI, GoodData & Metabase: A Comparison" +image: /img/blog_deepnote_improved_flow.png +authors: + name: Hiba Jamal + title: Data Science intern at dlthub + url: https://github.com/hibajamal + image_url: https://avatars.githubusercontent.com/u/35984866?v=4 +tags: [data modelling] +--- + +![cover](/img/people-stuck-with-tables-2.jpg) +DeepAI Image with prompt: People stuck with tables. + + + +#### What’s in this article: + +1. [Depending on your role, data modelling can mean different things](#dm-meaning) +2. [Introducing the three dashboarding tools](#dm-tools) +3. [Introducing our database](#dataset) +4. [Comparison Metrics & Table](#comp-table) +5. [In depth comparison](#indepth-comp) + +# Depending on your role, data modelling can mean different things. + +## For Data & Analytics Engineers + +For some of us who have spent our fair share of time working with databases, the words `data model` illustrates a bunch of tables on a canvas. Behind those tables we see discussions of whether or not they should be floating there by themselves or tied together by lines that say `1` or **`*`** on the corners. + +If you are a data engineer, maybe you do a data vault model for ingestion, while if you are an analytics engineer you might do a dimensional model for supporting reporting requirements. + +After figuring out what sort of **entities, constraints and relationships** we need to define, we dive further into the **data types** of each of the fields within those entities. This makes the recipe for a good data model. This model is then implemented in the database, and deployed to be run against new data coming in. Lastly, to avoid the ill-fated incident of an analyst being lost in the complex structure and pipeline of the data, it must be [**documented**](https://dlthub.com/docs/blog/data-product-docs)! + +## For Data Analysts + +## + +For the dashboard creators, the initial data model has (hopefully) already been set up. A subset of the tables visualized by the engineers are to be handpicked and dropped onto a **dashboard**. Some tools do you the favor of **detecting relationships** between tables, if not, you can find a way to do it on the dashboarding tool itself. The data modelling for analysts includes building **aggregated measures**, **calculated columns**, semantic types definition to define the actions the tool allows on the field, and finding the best **read, cache and refresh** options for the data. + +If you have big data, the connected dashboards might be slow and need **optimization**. This is when you would be pushed to make the decision to fix the problem either before or after it reaches the dashboard. This means creating **aggregated tables** with a different **data granularity,** either in the source db or in the tool cache db. + +# Introducing the three dashboarding tools + +The three data reporting or dashboarding tools we’ll be diving into are Power BI, GoodData and Metabase. All three have a substantial following among business intelligence teams and analytics experts, and the tools come with their own set of data modelling capabilities. + +## Introducing Power BI + +Power BI is a powerful data visualization tool trusted by [97% of Fortune 500](https://powerbi.microsoft.com/en-us/blog/microsoft-named-a-leader-in-2021-gartner-magic-quadrant-for-analytics-and-bi-platforms/) companies by 2021. It's available as both desktop and online versions, but being a Microsoft product, it's limited to Windows. You can connect it to various data sources, including files like CSV and JSON, and databases like BigQuery and AWS Athena, and about 40 others! It offers a variety of visual elements for creating reports, and it also supports Python and R integration. + +While its primary purpose is generating actionable reports for businesses, it's user-friendly for data exploration and modeling. It's affordable for BI analysts, with pricing ranging from free to $10-$20 per user per month, or premium bundles from $262.80 to $4,995 per month. + +## Introducing GoodData + +GoodData prides itself as the #1 embedded analytics vendor, and currently in 2023, has [3.2 million](https://www.gooddata.com/customers/) end users worldwide. Established in 2008, it started with data exploration and visualization tools and has since evolved. In 2022, it introduced its cloud platform with enhanced features (the version referenced in this article). GoodData currently supports 10 data sources and 2 data source managers. + +The user-friendly dashboard makes managing data, creating metrics, visuals, and dashboards quite clean and easy. Pricing varies based on the selected product, with both predefined and customizable options to suit an organization's needs. + +## Introducing Metabase + +Metabase is a BI tool that is now about 4 years old, with a user base of almost [50,000 organizations](https://www.metabase.com/case_studies) that use it to work with their data. The tool has interesting terms to showcase its abilities to the “data democratization” crowd. For example, while loading visualizations or calculations, it tells you it’s: doing science ✨, which is a playful way to appeal to non-devs. Additionally, if you want to extract SQL-defined data from a source, Metabase calls it 'asking a question' to that source. + +This tool serves as a foundation for embedded analytics and offers data organization through model creation and query building. With 26 official data source connectors, it also supports raw data imports. Metabase's pricing varies based on whether it's used as a managed service or self-managed. Self-management can include using it as an open-source tool, and otherwise it has pricing options that extend up to $500, along with custom pricing options. + +# The dataset we’ll be using for our experiments; modeled by dlt + +Our database is based on the data published by [LivWell](https://www.nature.com/articles/s41597-022-01824-2), containing wellness indicators for women all around the world. It can also be found as a flattened CSV on Kaggle, [here](https://www.kaggle.com/datasets/konradb/wellbeing-of-women-in-52-countries). It is a compilation of surveys collected from women internationally. + +Sample input structure: + +```jsx +[{"survey_id": "AM2000DHS", +"country": "Armenia", +"marriage_related": [{...}, {...}, ...], +"work_related": [{...}, {...}, ...], +"education_related": [{...}, {...}, ...], +"money_related": [{...}, {...}, ...], +"health_related": [{...}, {...}, ...], +"age_related": [{...}, {...}, ...] +}, + {...}, {...}, {...}, ...}] +``` + +To break it up into proper tables representing the different sections of the surveys, we gave this data to **dlt** to unpack it into a flat relational structure into BigQuery. dlt automatically unpacked the original data into connected tables. The various child tables link to the parent table `wellness` using foreign keys. `Wellness` contains surveys identified by ID and country. The final setup of indicators broken up into different categories can be found below, as displayed by Power BI. This structured database has been used to experiment with all three dashboarding tools in this article. + +![pbi-modelled-livewell](/img/pbi-modelled-livewell.png) +The database schema as presented by a Power BI Model. + +# Comparison Metrics & Table + +The database hosted on BigQuery was loaded into all three dashboarding tools via their own respective connectors. We came up with some metrics to compare things. + +Before delving into detailed analyses on those metrics, here's an overview of what'll be discussed: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Power BIGoodDataMetabase
Data TypesIt lets you use types like Decimals, Whole Numbers, Percentages for columns, various date and time formats, and binary objects for conditional setups.GoodData categorizes data as facts, attributes, and tables for efficient organization in a dimensional model.It uses the same data types as the source, such as integers or strings, and also adds user-friendly "field types" for better understanding.
Data DictionariesPower BI allows column property editing but lacks a built-in data dictionary view, accessible via the performance analyzer.GoodData Cloud provides a simplified data dictionary with column properties for easy fact-label categorization, including source data mappings.Metabase has a robust data dictionary in the admin panel, enabling column-level property and description configurations.
Table Properties & DescriptionsPower BI shows table descriptions right under the “Model View” tab, this can be used as a means for table level documentation.GoodData displays table descriptions in the "Data" tab, emphasizing data source mapping over table-level documentation.Metabase provides descriptions through the "Learn about this table" feature, offering insights on the table's significance and important details.
Inter Table Relationships Simplifies data modeling in Model View with drag-and-drop relationships, auto or manual detection, and cardinality editing.GoodData separates date fields into distinct tables, creating a star schema, and automatically identifies keys using source naming conventions.Metabase lets you specify keys at the table level, globally in the admin panel, or within Models and questions, connecting tables through SQL queries or models.
Custom Query language Power BI developers use DAX for measures and fields and Power Query M for data import and transformation.GoodData uses MAQL, a unique query language for multi-dimensional models, unlike traditional SQL for relational databases.Metabase uses SQL for custom models and expressions, seamlessly integrating code with visualizations.
Data granularity Management: Column Creation & Aggregation capabilities Power BI permits the creation of custom fields, and tables, facilitating data granularity adjustments and customized aggregation.Custom calculated fields need the Brick integrator. But, datetime granularity is simplified with custom truncation settings.Like Power BI, it allows users to create models with custom aggregation levels and add custom fields through Custom Expressions.
Defining Local or Central Metrics Power BI Measures can be made in various ways, with DAX for reusable aggregations and has a central "Metrics Hub" in the Power BI service.GoodData uses MAQL for custom metric creation, easily added in the "Analyze" tab. Reusable/central metrics are managed in the Metrics tab.Custom metrics can be crafted through SQL, Questions, Models, and admin-defined metrics can be used in reports with suitable access.
Data Refresh and Loading capabilitiesPower BI data updates vary by loading method: Imported data uses refresh options, while DirectQuery/LiveConnect relies on cache.GoodData has a refresh button for updating source data, with a focus on cache refresh. An automated notification process helps clear old cache data and load the new.Metabase automatically updates data. You can import files for ad hoc analysis and connect dashboards to hosted databases for regular syncing. It has caching abilities too.
+ +# In-Depth Comparison + +## 1. Data Types + +When designing databases, or even coding in languages that require the “type” of a variable to be declared, we think of data types like `int`, `float`, `double`, `char`, `varchar`, `string` etc. The story becomes slightly different within dashboarding tools. + +
+
+ +![hard coded dashboard](/img/blog-modelling-data-types-power-bi.png) + +
+ +
+ +### Power BI + +The column types as declared in Power BI in the first image here show that instead of saying double or int, it says Decimal and Whole number. We also have options for visualisation formats such as percentage or different datetime notations. It also has a binary type which is supported in the editor to enable conversion to friendlier types for the end user. +
+ +
+ +
+
+ +![hard coded dashboard](/img/data-types-gooddata.png) + +
+ +
+ +### GoodData + +While there is a wide range of [data types supported](https://www.gooddata.com/docs/cloud/model-data/prepare-your-data/) in the GoodData pipeline, they are mostly semantic, so relating to their usage not form. It takes all numeric type columns and sets them as facts, the date type columns and creates another table from them, and all text or character based columns and sets them as attributes. This also helps the tool in splitting the columns up into tables in a dimensional model - which will be discussed further in the inter-table relationships section. +
+ +
+ +
+
+ +![hard coded dashboard](/img/data-types-metabase.png) + +
+ +
+ +### Metabase + +Interestingly, in Metabase, the data type is defined as it exists in the source, like an integer or string. But, the “field type” isn’t that straightforward; these are not `int`, `float`, `varchar`, or even `percentage` that we are used to when declaring dashboard columns, but types that are recognizable to any user. These are semantic types, rather than data types. For example, if a column contains numeric data, the categories available to select are Quantity, Price, Cost, Score, etc. + +
+ +
+ +## 2. Data Dictionaries +In order for an end user to use data, they need to have data literacy. That is the ability to understand what the data they look at actually represents. To enable that, having a data dictionary is a first step. This includes column definitions and the ability to manipulate them, which can be a basic requirement for any dashboard creator. + +
+
+ +![hard coded dashboard](/img/blog-modelling-data-dictionaries-pbi.png) + +
+ +
+ +### Power BI + +It allows users to edit column level properties on both its main dashboard and on the “Transform Data” window that shows up on the “Model View” tab. This allows you to select the data type of the column, to edit the name, format, and other sorting and aggregation functions you might want to apply to the column. However, this does not have the “data dictionary document” view that one might look for, as one has to click on each column to see its properties. In order to see the proper “data dictionary” document, it can be extracted through Power BI’s [performance analyzer](https://aginic.com/blog/building-a-data-dictionary-for-powerbi/). + +
+
+ + +
+
+ +![hard coded dashboard](/img/blog-modelling-data-dictionaries-gooddata.png) + +
+ +
+ +### GoodData + +In GoodData Cloud, they increase the level of simplicity to read a data dictionary, and it has only a subset of options presented in the other two tools. The column level properties entail converting the field to a fact or label, or moving the field to another table. It is the only tool here that shows the actual column name and mapping for each column in the logical model as it maps to the data source. This helps us understand which fact and label is matched to which database field in the source data, and how it was perceived under the naming convention in the source. This convention will be discussed more under table relationships. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-data-dictionaries-metabase.png) + +
+ +
+ +### Metabase + +Metabase allows users to view the data dictionary for all tables in the admin panel. This includes setting column properties as well as field settings to be adopted into analytics flows. There are also other aspects to view and change column properties. The first is that after using the little book icon that says “Learn about this table”, we are taken to some documentation that would be available on what that table is (if it was filled in before). After which, we can click on the “Fields in this table” category and that is where the field type of columns can be updated. The second place one we can change the field type is in the meta data of “Questions” or “Models” created. These can be excerpts of data with particular elements of different tables in the selected database. Lastly, Metabase is also the only tool among all, that has the ability to add column level descriptions - that is an amazing level of **documentation** that one can have available. + +
+
+ + +## 3. Table Properties & Descriptions + +For an analyst, navigating extensive databases within dashboards can be a challenging endeavor. Ideally, one should be able to discern the purpose of each table by its name alone. While this might be feasible for analysts who were involved in creating and configuring the database, it can be quite perplexing for newcomers to the organization. In such cases, comprehensive documentation becomes an invaluable resource, aiding them in their data exploration journey. + +
+
+ +![hard coded dashboard](/img/blog-modelling-table-prop-pbi.png) + +
+ +
+ +### Power BI + +All tools show table level descriptions in some shape or form. Power BI shows table descriptions right under the “Model View” tab, this can be used as a means for table level documentation. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-table-prop-gooddata.png) + +
+ +
+ +### GoodData + +GoodData on the other hand shows it in the “Data” tab, under “More” > “View” details option on each table. This does not show a documentation level of description for each table as the other two tools. But includes the data source mapping as discussed in the column details section. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-table-prop-metabase.png) + +
+ +
+ +### Metabase + +Metabase shows descriptions and ways to add them in the “Learn about this table” option on each table name, then takes it one step further and adds more information by asking “what makes this table interesting” and “things to be aware of”. + +
+
+ +## 4. Inter Table Relationships + +In order to create metrics and visuals that involve data from multiple tables and/or datasets, each dashboarding tool needs to be able to detect or define relationships if they exist. + +
+
+ +![hard coded dashboard](/img/blog-modelling-table-rel-pbi.png) + +
+ +
+ +### Power BI + +Power BI has one of the most popular setups for data modelling, all contained within its Model View. It has the ability to both auto-detect relationships and the functionality to define them inside the tool in a very easy, drag and drop method. The cardinality for relationships is mostly detected itself even if the relationship is defined, but can also be edited. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-table-rel-gooddata.png) + +
+ +
+ +### GoodData + +As for GoodData, the logical modelling layer is quite different than the first two. As discussed in the data types section, and shown in the image, the date type fields are taken and defined as separate tables (or datasets). The reason for doing so is in the spirit of creating a star schema; where one date table serves every table that requires a date dimension. GoodData takes into consideration the star and snowflake schemas as it splits all fields up into facts, labels and attributes. However, as simple as it might be on Power BI to assign primary and foreign keys by drag and drop methods, GoodData requires that fields be names according to a particular convention in the source to be recognized as keys automatically. There is no other way to define them within the tool. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-table-rel-metabase.png) + +
+ +
+ +### Metabase + +For Metabase, a primary or foreign key can be stated as such in the metadata (or field type display/settings) of a table. This can be either be done globally through the admin panel, through field settings in the data dictionary as discussed above, or per visual within Models and questions, through joins. Which means that in order to create a visual out of two or more connected tables, they need to be defined in some sort of SQL Query or Model (if not already connected in the global metadata). There is no ERD level view of table relationships as defined in GoodData and PowerBI. + +
+
+ +## 5. Custom Query Language + +When all drag and drop methodologies for defining metrics just aren’t cutting it anymore, one craves SQL and must resort to code. However, different dashboarding tools have different custom query languages. + +
+
+ +![hard coded dashboard](/img/blog-modelling-language-pbi.png) + +
+ +
+ +### Power BI + +Power BI has two custom languages known to its developers. One of them is DAX - Data Analysis Expression, and the other is Power Query M - Microsoft Power Query. DAX helps to build formulas and easy-to-complex expressions for measures and fields. Power Query is a powerful import defining tool. This can include filtering through one data source while loading it, or combining multiple data sources to your own need. This sets itself apart from other custom query tools as it is helpful during data loading, as compared to metric creation for visuals. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-language-gooddata.png) + +
+ +
+ +### GoodData + +GoodData has its own query language called MAQL, or Multi Dimension Analytical Query Language. It is what is used to define metrics, expressions, functions, or other simple or statistical queries. It works on top of the logical data models defined, and hence is aware of the table relationships and dimensions. That is what sets is apart from SQL, which is for relational databases, while MAQL is designed to perform for multi-dimensional models. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-language-metabase.png) + +
+ +
+ +### Metabase + +Metabase sticks to the basics and uses everything SQL! It uses SQL to define custom models and expressions. This includes both writing code to create aggregations and metrics, and the interactive SQL form that they have created. The non-code SQL allows users to do everything one can with SQL, with very well thought-out frontend capabilities. The interwovenness of SQL can be seen when code creates visualizations, and vice versa! Meaning, the aggregations created directly on visualizations can be converted into SQL code - as shown in the image. + +
+
+ +## 6. Data granularity Management: Column Creation & Aggregation capabilities + +In foundational database courses, we learn the importance of normalization and how great it is to keep the integrity of your data. However, as we go deeper into normalization levels, the data may become redundant and that is a problem for dashboarding tools, because the data becomes unnecessarily heavy to load. Different tools provide different methods to overcome this problem. That can either look like reducing data granularity, creating custom fields or aggregating tables. + +
+
+ +![hard coded dashboard](/img/blog-modelling-granularity-pbi.png) + +
+ +
+ +### Power BI + +Power BI introduces the ability the create custom fields and columns where you might be able to truncate redundant data; like the granularity of time into chunks. On top of which, another table can be built, aggregated on the granularity level you require. This can go beyond chunks of time, into categorizations of any nature, which is a great level of customization that is available in Power BI; the power to make custom calculated fields in the Transform Data section of the tool. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-granularity-gooddata.png) + +
+ +
+ +### GoodData + +However, GoodData requires that if you’d like to add custom calculated fields, that it be done using the integrator Brick - functionalities that are offered by GoodData embedded analytics products, but are so far missing while simply creating a dashboard in the cloud version of the tool. Nonetheless, it helps manage granularity for datetime fields directly by a setting your own custom truncation to them. This can be done so easily by viewing the details on the datetime objects that are cast as a separate table/dataset by GoodData. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-granularity-metabase.png) + +
+ +
+ +### Metabase + +The same methodology can be followed in Metabase. Where it is easily possible to create Models with your own defined level of aggregation, as well as custom fields that you can introduce to the tables. Custom Fields are created using Custom Expressions in Metabase - which can be done through the query builder. + +
+
+ +## 7. Defining Local or Central Metrics + +One of the main responsibilities of BI experts is to track metrics, align them with the company’s expectations, flag them if they go over or under their expected magnitudes. This, according to some data professionals calls for [centrally defined definitions](https://www.metabase.com/community_posts/what-is-a-metrics-layer-and-how-your-company-can-benefit-from-it) that others can use and follow, rather than defining them on their own and possibly misleading analytics flows. The ability to predefine metrics, or aggregations in a dashboard are known as the key abilities of any dashboarding tool! Alongside the ability to simply define these metrics, let’s also explore the ability the define central definitions of metrics as well. + +
+
+ +![hard coded dashboard](/img/blog-modelling-metrics-pbi.png) + +
+ +
+ +### Power BI + +In Power BI, these metrics are known as Measures, and can be created from both the fields pane and the calculations view on the Home tab. Either the options given on the Fields pane can be directly utilized to create a metric on a visual, or DAX can be used to create a reusable aggregation as another field under a table. Additionally, the power BI service has a “Metrics Hub”, where users can create metrics and set the scope for which other users can use them. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-metrics-gooddata.png) + +
+ +
+ +### GoodData + +Involving its own query language, GoodData uses MAQL to create custom metrics that can be dragged on to the visuals in the “Analyze” tab easily. This functionality can be found under the Metrics tab, where all metrics can be created and managed. Since these metrics are saved, this can act as a **central** service to manage and use metrics too! + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-metrics-metabase.png) + +
+ +
+ +### Metabase + +In Metabase, the Summarize functionality serves the same function as aggregated metrics-creation. This can be found after you click on any table in a selected database. Furthermore the functionality for creation of custom metrics can be extended to an SQL query, Metabase Question or Model. Additionally, in the Metabase admin panel, one can create centrally defined metrics as well. These can be adopted into reports that anyone can create, as long as granted the right access! + +
+
+ +## 8. Data Refresh and Loading capabilities + +Whether a dashboard is being built for the first time, or is fully furnished but needs to be periodically updated, data loading capabilities of dashboards must be carefully considered for successful reporting. All three tools have very clear methods to add data and support various sources including custom json and csv loaders. How the data can be manipulated after that has been discussed in depth above. We lastly talk about updates. + +
+
+ +![hard coded dashboard](/img/blog-modelling-refresh-pbi.png) + +
+ +
+ +### Power BI + +Coming to data updates and refresh capabilities, it depends on how data was loaded onto Power BI. If the data has been imported, then the refresh button and scheduled refresh would work fine to update the dashboards. However, if the loading has been through DirectQuery or LiveConnect, then it does not make sense to add an additional refresh functionality as it does not apply. What does end up being needed is cache availability. Which is provided on Premium offers of the product. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-refresh-gooddata.png) + +
+ +
+ +### GoodData + +GoodData also has a clear refresh button and methodology to refresh sources in the tool. But, unlike Power BI, GoodData refreshes it’s cache as opposed to the entire database. The tool stores computed results and data used in visuals and dashboards in an internal cache. If data is to be refreshed, the cache needs to be refreshed. In this process, it is recommended by GoodData that an automated notification process be set up to clear up the cache from the old data, and load into the new one. + +
+
+ +
+
+ +![hard coded dashboard](/img/blog-modelling-refresh-metabase.png) + +
+ +
+ +### Metabase + +As established above, data need only be refreshed if it is stored. Metabase establishes a direct connection to the source, so it doesn’t need a refresh option. Unless the data is a file based import, then Metabase recommends that it be used for ad hoc analysis. As for periodic database syncing, one should rather connect their dashboards to a hosted database. To manage overly frequent refreshes and its impact on dashboards, Metabase offers a Result cache for dashboard charts and a Model cache for modelled data. + +
+
diff --git a/docs/website/static/img/blog-modelling-data-dictionaries-gooddata.png b/docs/website/static/img/blog-modelling-data-dictionaries-gooddata.png new file mode 100644 index 0000000000000000000000000000000000000000..7635b0c9e6fb91e5294dc2568a25e2277371c618 GIT binary patch literal 61845 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

(?810RS!20pM$k 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 YZcQc8>-fV3|I!#(ncJQxp7o0RAJPn#6#xJL literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-data-dictionaries-metabase.png b/docs/website/static/img/blog-modelling-data-dictionaries-metabase.png new file mode 100644 index 0000000000000000000000000000000000000000..89b7583e0833c3d686bbe77a06a4a48e68dfec50 GIT binary patch literal 54106 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 ds$ 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-granularity-metabase.png b/docs/website/static/img/blog-modelling-granularity-metabase.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff46e66014bc3ead2139f63da206d5015051826 GIT binary patch literal 23596 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-granularity-pbi.png b/docs/website/static/img/blog-modelling-granularity-pbi.png new file mode 100644 index 0000000000000000000000000000000000000000..e57fe0a6e7406614e84666a00fcd9d3f1b257820 GIT binary patch literal 17595 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 G_x~Tl>=9?(RM$Fu1!rgb*xva0#w~;0}YkyS(Oi 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-metrics-gooddata.png b/docs/website/static/img/blog-modelling-metrics-gooddata.png new file mode 100644 index 0000000000000000000000000000000000000000..dae8b1e2123b6b1628c54274234ef064ec986dd1 GIT binary patch literal 48058 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-metrics-metabase.png b/docs/website/static/img/blog-modelling-metrics-metabase.png new file mode 100644 index 0000000000000000000000000000000000000000..2a6fc32159fd92a9fd54844f6f3259d5655c75ca GIT binary patch literal 18717 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-refresh-pbi.png b/docs/website/static/img/blog-modelling-refresh-pbi.png new file mode 100644 index 0000000000000000000000000000000000000000..e1ee44221b45c2418779e892a5e63494494269da GIT binary patch literal 15595 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-table-prop-gooddata.png b/docs/website/static/img/blog-modelling-table-prop-gooddata.png new file mode 100644 index 0000000000000000000000000000000000000000..ddfdf19a760d507b9ac12587b9f437db6ff30d9f GIT binary patch literal 61837 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

qTD!$*PNu#R* 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

+dZ?p}Wb10bWvTj`Y92cYnKXFo%jYh9oK;P*PY? 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/people-stuck-with-tables-2.jpg b/docs/website/static/img/people-stuck-with-tables-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..195917f35a5e54e171f032935427406b57aa2e6a GIT binary patch literal 119486 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 *W1$MfRP^Jg3Y_DgUB# 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%0DuH87kS0+Z+NL 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 L{?!yv$!GuB#P=;n literal 0 HcmV?d00001 From ec639dd602324b453a0970a81d165e195e43175c Mon Sep 17 00:00:00 2001 From: hibajamal <35984866+hibajamal@users.noreply.github.com> Date: Wed, 1 Nov 2023 11:52:04 +0200 Subject: [PATCH 03/28] changed image for data modelling blog (#729) --- docs/website/blog/2023-10-30-data-modelling-tools.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/website/blog/2023-10-30-data-modelling-tools.md b/docs/website/blog/2023-10-30-data-modelling-tools.md index 09a656df68..677aaf023e 100644 --- a/docs/website/blog/2023-10-30-data-modelling-tools.md +++ b/docs/website/blog/2023-10-30-data-modelling-tools.md @@ -1,7 +1,7 @@ --- slug: semantic-modeling-tools-comparison title: "Semantic Modeling Capabilities of Power BI, GoodData & Metabase: A Comparison" -image: /img/blog_deepnote_improved_flow.png +image: /img/people-stuck-with-tables-2.jpg authors: name: Hiba Jamal title: Data Science intern at dlthub From 96dca51b9a56e6a97887b80b0046a3285100ee34 Mon Sep 17 00:00:00 2001 From: Zaeem Athar Date: Wed, 1 Nov 2023 14:26:18 +0100 Subject: [PATCH 04/28] Adding the dlt dagster blog. --- docs/website/blog/2023-11-01-dlt-dagster.md | 371 ++++++++++++++++++++ 1 file changed, 371 insertions(+) create mode 100644 docs/website/blog/2023-11-01-dlt-dagster.md diff --git a/docs/website/blog/2023-11-01-dlt-dagster.md b/docs/website/blog/2023-11-01-dlt-dagster.md new file mode 100644 index 0000000000..bbca858104 --- /dev/null +++ b/docs/website/blog/2023-11-01-dlt-dagster.md @@ -0,0 +1,371 @@ +--- +slug: dlt-dagster +title: "Orchestrating unstructured data pipeline with dagster and dlt." +image: https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_overview.jpg +authors: + name: Zaeem Athar + title: Junior Data Engineer + url: https://github.com/zem360 + image_url: https://images.ctfassets.net/c4lg2g5jju60/5tZn4cCBIesUYid17g226X/a044d2d471ebd466db32f7868d5c0cc8/Zaeem.jpg?w=400&h=400&q=50&fm=webp +tags: [Dagster, dlt, Asset Factory, Unstructured Data] +--- +:::info +TL;DR: In this blog post, we'll build data piplines using dlt and orchestrate them using Dagster. +::: + +`dlt` is an open-source Python library that allows you to declaratively load messy data sources into well-structured tables or datasets, through automatic schema inference and evolution. It simplifies building data pipelines by providing functionality to support the entire extract and load process. + +It does so in a scalable way, enabling you to run it on both micro workers or in highly parallelized setups. dlt also offers robustness on extraction by providing state management for incremental extraction, drop-in requests replacement with retries, and many other helpers for common and uncommon extraction cases. + +To start with `dlt`, you can install it using pip: `pip install dlt`. Afterward, import `dlt` in your Python script and start building your data pipeline. There's no need to start any backends or containers. + +## Project Overview: + +In this example, we will ingest GitHub issue data from a repository and store the data in BigQuery. We will use `dlt` to create a data pipeline and orchestrate it using dagster. + +Initially, we will start by creating a simple data pipeline using `dlt`. We will then orchestrate the pipeline using dagster. Finally, we will add more features to this pipeline by using the dlt schema evolution and dagster asset metadata to educate the users about their data pipeline. + +The project code is available on [GitHub](https://github.com/dlt-hub/dlt-dagster-demo/tree/main). + +![Project Overview](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_overview.jpg) + +As we will be ingesting data into BigQuery we first need to create service account credentials for BigQuery. You can find more info on setting up a service account in the `dlt` [docs](https://dlthub.com/docs/dlt-ecosystem/destinations/bigquery). + +Once we have the credentials we are ready to begin. Let’s first install dagster and `dlt`. The below commands should install both. + +```python +pip install dlt +pip install dagster dagster-webserver +``` + +## **Simple `dlt` Pipeline:** + +As a first step, we will create the GitHub issues pipeline using dlt. + +```bash +dlt init github_issues bigquery +``` + +This will generate a template for us to create a new pipeline. Under `.dlt/secrets.toml` add the service account credentials for BigQuery. Then in the `github_issues.py` delete the generated code and add the following: + +```python +@dlt.resource(write_disposition="append") +def github_issues_resource(api_secret_key=dlt.secrets.value): + owner = 'dlt-hub' + repo = 'dlt' + url = f"https://api.github.com/repos/{owner}/{repo}/issues" + headers = {"Accept": "application/vnd.github.raw+json"} + + while url: + response = requests.get(url, headers=headers) + response.raise_for_status() # raise exception if invalid response + issues = response.json() + yield issues + + if 'link' in response.headers: + if 'rel="next"' not in response.headers['link']: + break + + url = response.links['next']['url'] # fetch next page of stargazers + else: + break + time.sleep(2) # sleep for 2 seconds to respect rate limits + +if __name__ == "__main__": + # configure the pipeline with your destination details + pipeline = dlt.pipeline( + pipeline_name='github_issues', destination='bigquery', dataset_name='github_issues_data' + ) + + # run the pipeline with your parameters + load_info = pipeline.run(github_issues_resource()) + + #print the information on data that was loaded + print(load_info) +``` + +The above code creates a simple github_issues pipeline that gets the issues data from the defined repository and loads it into BigQuery. The `dlt.resources` yields the data while the `dlt.pipeline` normalizes the nested data and loads it into the defined destination. To read more about the technical details refer to the `dlt` [docs](https://dlthub.com/docs/intro). + +To run the pipeline execute the below commands: + +```bash +pip install -r requirements.txt +python github_issues.py +``` + +We now have a running pipeline and are ready to orchestrate it using dagster. + +## **Orchestrating using dagster:** + +We will need to adjust our pipeline a bit to orchestrate it using dagster. + +### Step 1: Create a dagster project + +- Create a new directory for your Dagster project and scaffold the basic structure: + +```bash +mkdir dagster_github_issues +cd dagster_github_issues +dagster project scaffold --name github-issues +``` + +This will generate the default files for dagster that we will use as a starting point for our data pipeline. + +### Step 2: Set up the directory Structure + +- Inside the `github-issues/github_issues` directory create the following folders: `assets`, `resources`, and `dlt`. + +```bash +. +├── README.md +├── github_issues +│ ├── __init__.py +│ ├── assets +│ │ ├── __init__.py +│ ├── dlt +│ │ ├── __init__.py +│ └── resources +│ ├── __init__.py +├── github_issues_tests +│ ├── __init__.py +│ └── test_assets.py +├── pyproject.toml +├── setup.cfg +└── setup.py +``` + +### Step 3: Add dlt Resources and environment variables + +- Copy the previously created **`github_issues_resource`** code into **`dlt/__init__.py`** under the **`dlt`** folder. Remove the **`dlt.secrets.value`** parameter, as we'll pass the credentials through a **`.env`** file. +- Create a `.env` file in the root directory. This is the directory where the `pyproject.toml` file exits. Copy the credentials into the `.env` and follow the correct naming convention. For more info on setting up the `.env` file have a look at the [docs](https://dlthub.com/docs/general-usage/credentials#reading-credentials-from-environment-variables). + +### Step 4: Add configurable resources and define the asset + +- Define a **`DltPipeline`** class in **`resources/__init__.py`** as a Dagster configurable resource. This class allows you to reuse pipeline code inside an asset. + +```python +from dagster import ConfigurableResource +import dlt + +class DltPipeline(ConfigurableResource): + def create_pipeline(self, pipeline_name ,dataset_name, destination, dlt_resource, table_name): + + # configure the pipeline with your destination details + pipeline = dlt.pipeline( + pipeline_name=pipeline_name, destination=destination, dataset_name=dataset_name + ) + # run the pipeline with your parameters + load_info = pipeline.run(dlt_resource, table_name=table_name) + + return load_info +``` + +- Define the asset, **`issues_pipeline`**, in **`assets/__init__.py`**. This asset uses the configurable resource to create a Dlt pipeline and ingests data into BigQuery. + +```python +from dagster import asset, get_dagster_logger +from ..resources import DltPipeline +from ..dlt import github_issues_resource + +@asset +def issues_pipeline(pipeline: DltPipeline): + pipeline_name= 'github_issues' + dataset= 'dagster_github_issues' + destination= 'bigquery' + table= 'github_issues' + + logger = get_dagster_logger() + results = pipeline.create_pipeline(pipeline_name, dataset, destination, github_issues_resource, table) + logger.info(results) +``` + +The defined asset (**issues_pipeline**) takes as input the configurable resource (**DltPipeline**). In the asset, we use the configurable resource to create a dlt pipeline by using an instance of the configurable resource (**DltPipeline**) to call the `create_pipeline` function. The `dlt.resource` (**github_issues_resource**) is passed to the `create_pipeline` function. The `create_pipeline` function normalizes the data and ingests it into BigQuery. + +### Step 5: Handle Schema Evolution + +`dlt` provides the feature of schema evolution that monitors changes in the defined table schema. Suppose GitHub adds a new column or changes a datatype of a column this small change can break pipelines and transformations. The schema evolution feature works amazingly well with dagster. + +- Add the schema evolution code to the asset to make our pipelines more resilient to changes. + +```python +from dagster import AssetExecutionContext +@asset +def issues_pipeline(context: AssetExecutionContext, pipeline: DltPipeline): +... +md_content="" + for package in result.load_packages: + for table_name, table in package.schema_update.items(): + for column_name, column in table["columns"].items(): + md_content= f"\tTable updated: {table_name}: Column changed: {column_name}: {column['data_type']}" + + # Attach the Markdown content as metadata to the asset + context.add_output_metadata(metadata={"Updates": MetadataValue.md(md_content)}) +``` + +### Step 6: Define Definitions + +- In the `__init.py__` under the **github_issues** folder add the definitions: + +```python +all_assets = load_assets_from_modules([assets]) +simple_pipeline = define_asset_job(name="simple_pipeline", selection= ['issues_pipeline']) + +defs = Definitions( + assets=all_assets, + jobs=[simple_pipeline], + resources={ + "pipeline": DltPipeline(), + } +) +``` + +### Step 7: Run the Web Server and Materialize the asset + +- In the root directory (**github-issues)** run the `dagster dev` command to run the web server and materialize the asset. + +![GitHub Asset](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_asset.png) + +### Step 8: View the populated Metadata and data in BigQuery + +Once the asset has been successfully materialized go to the Assets tab from the top and select the **Issues_pipeline**. In the Metadata you can see the Tables, Columns, and Data Types that have been updated. In this case, the changes are related to internal `dlt` tables. + +Any subsequent changes in the GitHub issues schema can be tracked from the metadata. You can set up [Slack notifications](https://dlthub.com/docs/running-in-production/running#using-slack-to-send-messages) to be alerted to schema changes. + +![Meatadata loaded in Asset](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_metadata.png) + +Let's finally have a look in BigQuery to view the ingested data. + +![Data Loaded in Bigquery](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_bigquery_data.png) + +The **github_issues** is the parent table that contains the data from the root level of the JSON returned by the GitHub API. The subsequent table **github_issues_assignees** is a child table that was nested in the original JSON. `dlt` normalizes nested data by populating them in separate tables and creates relationships between the tables. To learn more about how dlt created these relationships refer to the [docs](https://dlthub.com/docs/general-usage/destination-tables#child-and-parent-tables). + +## **Orchestrating verified `dlt` source using dagster:** + +`dlt` provides a list of verified sources that can be initialized to fast-track the pipeline-building process. You can find a list of sources provided in the `dlt` [docs](https://dlthub.com/docs/dlt-ecosystem/verified-sources/). + +One of the main strengths of `dlt` lies in its ability to extract, normalize, and ingest unstructured and semi-structured data from various sources. One of the most commonly used verified source is MongoDB. Let’s quickly look at how we can orchestrate MongoDB source using dagster. + +### Step 1: Setting up a dagster project: + +- Start by creating a new Dagster project scaffold: + +```python +dagster project scaffold --name mongodb-dlt +``` + +- Follow the steps mentioned earlier and create an **`assets`** directory under **`mongodb-dlt/mongodb_dlt`**. +- Initialize a **`dlt`** MongoDB pipeline in the same directory: + +```python +dlt init mongodb bigquery +``` + +After running the command your directory structure should be as follows: + +```python +. +├── README.md +├── mongodb_dlt +│ ├── __init__.py +│ ├── assets +│ │ ├── __init__.py +│ │ └── assets.py +│ ├── mongodb +│ │ ├── README.md +│ │ ├── __init__.py +│ │ └── helpers.py +│ ├── mongodb_pipeline.py +│ └── requirements.txt +├── mongodb_dlt_tests +│ ├── __init__.py +│ └── test_assets.py +├── pyproject.toml +├── setup.cfg +├── setup.py +``` + +### Step 2: ****Configuring MongoDB Atlas and Credentials**** + +For this example, we are using MongoDB Atlas. Set up the account for MongoDB Atlas and use the test [Movie Flix Dataset](https://www.mongodb.com/docs/atlas/sample-data/sample-mflix/). You can find detailed information on setting up the credentials in the MongoDB verified sources [documentation](https://dlthub.com/docs/dlt-ecosystem/verified-sources/mongodb). + +Next, create a `.env` file and add the BigQuery and MongoDB credentials to the file. The `.env` file should reside in the root directory. + +### Step 3: Defining an Asset Factory + +The structure of data in MongoDB is such that under each database you will find multiple collections. When writing a data pipeline it is important to separate the data loading for each collection. + +Dagster provides the feature of `**@multi_asset`** declaration that will allow us to convert each collection under a database into a separate asset. This will make our pipeline easy to debug in case of failure and the collections independent of each other. + +In the **`mongodb_pipeline.py`** file, locate the `**load_select_collection_hint_db**` function. We will use this function to create the asset factory. + + In the **`__init__.py`** file under the **assets** directory, define the **`dlt_asset_factory`**: + +```python +url = os.getenv('SOURCES__MONGODB__CONNECTION__URL') + +database_collection ={ + "sample_mflix":[ + "comments", + "embedded_movies" + ], +} + +def dlt_asset_factory(collection_list): + multi_assets = [] + jobs = [] + + for db, collection_name in database_collection.items(): + @multi_asset( + name=db, + group_name=db, + outs={ + stream: AssetOut(key_prefix=[f'raw_{db}']) + for stream in collection_name} + + ) + def load_select_collection(context: OpExecutionContext): + """Use the dlt mongodb source to reflect an entire database schema and load select tables from it. + + This example sources data from a sample mongo database data from [mongodb-sample-dataset](https://github.com/neelabalan/mongodb-sample-dataset). + """ + + pipeline = dlt.pipeline( + pipeline_name="local_mongo", + destination='bigquery', + dataset_name="mongo_select_hint", + ) + + logger = get_dagster_logger() + data = mongodb(url, db).with_resources(*collection_name) + + load_info = pipeline.run(data, write_disposition="replace") + return tuple([None for _ in context.selected_output_names]) + + multi_assets.append(load_select_collection) + + asset_job = define_asset_job(f"{db}_assets", AssetSelection.groups(db)) + + jobs.append(asset_job) + + return multi_assets, jobs + +dlt_assets, dlt_jobs = dlt_asset_factory(database_collection) +``` + +### Step 4: ****Running the Dagster Web Server**** + +We can run the `dagster dev` command to start the web server. We can see that each collection is converted into a separate asset by Dagster. We can materialize our assets to ingest the data into BigQuery. + +![Asset Factory](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_asset_factory.png) + +The resulting data in BigQuery: + +![Data Ingestion in BigQuery from MongoDB](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_mongo_bigquery.png) + +## Conclusion: + +In this demo, we looked at how to orchestrate dlt pipelines using dagster. We started off by creating a simple dlt pipeline and then converted the pipeline into an asset and resource before orchestrating. + +We also looked at how we can orchestrate dlt MongoDB verified sources using Dagster. We utilized the Dagster `**@multi_asset`** feature to create a **`dlt_asset_factory` which** converts each collection under a database to a separate asset allowing us to create more robust data pipelines. + +Both `dlt` and dagster can be easily run on local machines. By combining the two we can build data pipelines at great speed and rigorously test them before shipping to production. \ No newline at end of file From 2f5b3ad3b417314dadf97c47c2de0195f0e124a6 Mon Sep 17 00:00:00 2001 From: Zaeem Athar Date: Wed, 1 Nov 2023 14:40:38 +0100 Subject: [PATCH 05/28] Fixing Section Headings. --- docs/website/blog/2023-11-01-dlt-dagster.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/website/blog/2023-11-01-dlt-dagster.md b/docs/website/blog/2023-11-01-dlt-dagster.md index bbca858104..a8520661fc 100644 --- a/docs/website/blog/2023-11-01-dlt-dagster.md +++ b/docs/website/blog/2023-11-01-dlt-dagster.md @@ -19,7 +19,7 @@ It does so in a scalable way, enabling you to run it on both micro workers or in To start with `dlt`, you can install it using pip: `pip install dlt`. Afterward, import `dlt` in your Python script and start building your data pipeline. There's no need to start any backends or containers. -## Project Overview: +## **Project Overview:** In this example, we will ingest GitHub issue data from a repository and store the data in BigQuery. We will use `dlt` to create a data pipeline and orchestrate it using dagster. @@ -284,7 +284,7 @@ After running the command your directory structure should be as follows: ├── setup.py ``` -### Step 2: ****Configuring MongoDB Atlas and Credentials**** +### Step 2: Configuring MongoDB Atlas and Credentials For this example, we are using MongoDB Atlas. Set up the account for MongoDB Atlas and use the test [Movie Flix Dataset](https://www.mongodb.com/docs/atlas/sample-data/sample-mflix/). You can find detailed information on setting up the credentials in the MongoDB verified sources [documentation](https://dlthub.com/docs/dlt-ecosystem/verified-sources/mongodb). @@ -352,7 +352,7 @@ def dlt_asset_factory(collection_list): dlt_assets, dlt_jobs = dlt_asset_factory(database_collection) ``` -### Step 4: ****Running the Dagster Web Server**** +### Step 4: Running the Dagster Web Server We can run the `dagster dev` command to start the web server. We can see that each collection is converted into a separate asset by Dagster. We can materialize our assets to ingest the data into BigQuery. @@ -362,7 +362,7 @@ The resulting data in BigQuery: ![Data Ingestion in BigQuery from MongoDB](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_mongo_bigquery.png) -## Conclusion: +## **Conclusion:** In this demo, we looked at how to orchestrate dlt pipelines using dagster. We started off by creating a simple dlt pipeline and then converted the pipeline into an asset and resource before orchestrating. From f8dc4e060bebb950d01073dc1727670a2efd4eb2 Mon Sep 17 00:00:00 2001 From: Zaeem Athar Date: Thu, 2 Nov 2023 15:30:41 +0100 Subject: [PATCH 06/28] Updating the blog. --- docs/website/blog/2023-11-01-dlt-dagster.md | 147 +++++++++++++------- 1 file changed, 99 insertions(+), 48 deletions(-) diff --git a/docs/website/blog/2023-11-01-dlt-dagster.md b/docs/website/blog/2023-11-01-dlt-dagster.md index a8520661fc..1cd28a1b4e 100644 --- a/docs/website/blog/2023-11-01-dlt-dagster.md +++ b/docs/website/blog/2023-11-01-dlt-dagster.md @@ -141,45 +141,47 @@ This will generate the default files for dagster that we will use as a starting ### Step 4: Add configurable resources and define the asset -- Define a **`DltPipeline`** class in **`resources/__init__.py`** as a Dagster configurable resource. This class allows you to reuse pipeline code inside an asset. +- Define a **`DltResource`** class in **`resources/__init__.py`** as a Dagster configurable resource. This class allows you to reuse pipeline code inside an asset. ```python from dagster import ConfigurableResource import dlt -class DltPipeline(ConfigurableResource): - def create_pipeline(self, pipeline_name ,dataset_name, destination, dlt_resource, table_name): +class DltResource(ConfigurableResource): + pipeline_name: str + dataset_name: str + destination: str + table_name: str + + def create_pipeline(self, dlt_resource): # configure the pipeline with your destination details pipeline = dlt.pipeline( - pipeline_name=pipeline_name, destination=destination, dataset_name=dataset_name + pipeline_name=self.pipeline_name, destination=self.destination, dataset_name=self.dataset_name ) + # run the pipeline with your parameters - load_info = pipeline.run(dlt_resource, table_name=table_name) + load_info = pipeline.run(dlt_resource, table_name=self.table_name) return load_info ``` -- Define the asset, **`issues_pipeline`**, in **`assets/__init__.py`**. This asset uses the configurable resource to create a Dlt pipeline and ingests data into BigQuery. +- Define the asset, **`issues_pipeline`**, in **`assets/__init__.py`**. This asset uses the configurable resource to create a dlt pipeline and ingests data into BigQuery. ```python from dagster import asset, get_dagster_logger -from ..resources import DltPipeline +from ..resources import DltResource from ..dlt import github_issues_resource @asset -def issues_pipeline(pipeline: DltPipeline): - pipeline_name= 'github_issues' - dataset= 'dagster_github_issues' - destination= 'bigquery' - table= 'github_issues' +def issues_pipeline(pipeline: DltResource): logger = get_dagster_logger() - results = pipeline.create_pipeline(pipeline_name, dataset, destination, github_issues_resource, table) + results = pipeline.create_pipeline(github_issues_resource) logger.info(results) ``` -The defined asset (**issues_pipeline**) takes as input the configurable resource (**DltPipeline**). In the asset, we use the configurable resource to create a dlt pipeline by using an instance of the configurable resource (**DltPipeline**) to call the `create_pipeline` function. The `dlt.resource` (**github_issues_resource**) is passed to the `create_pipeline` function. The `create_pipeline` function normalizes the data and ingests it into BigQuery. +The defined asset (**issues_pipeline**) takes as input the configurable resource (**DltResource**). In the asset, we use the configurable resource to create a dlt pipeline by using an instance of the configurable resource (**DltResource**) to call the `create_pipeline` function. The `dlt.resource` (**github_issues_resource**) is passed to the `create_pipeline` function. The `create_pipeline` function normalizes the data and ingests it into BigQuery. ### Step 5: Handle Schema Evolution @@ -190,7 +192,7 @@ The defined asset (**issues_pipeline**) takes as input the configurable resource ```python from dagster import AssetExecutionContext @asset -def issues_pipeline(context: AssetExecutionContext, pipeline: DltPipeline): +def issues_pipeline(context: AssetExecutionContext, pipeline: DltResource): ... md_content="" for package in result.load_packages: @@ -214,7 +216,12 @@ defs = Definitions( assets=all_assets, jobs=[simple_pipeline], resources={ - "pipeline": DltPipeline(), + "pipeline": DltResource( + pipeline_name = "github_issues", + dataset_name = "dagster_github_issues", + destination = "bigquery", + table_name= "github_issues" + ), } ) ``` @@ -253,7 +260,7 @@ One of the main strengths of `dlt` lies in its ability to extract, normalize, an dagster project scaffold --name mongodb-dlt ``` -- Follow the steps mentioned earlier and create an **`assets`** directory under **`mongodb-dlt/mongodb_dlt`**. +- Follow the steps mentioned earlier and create an **`assets`**, and **`resources`** directory under **`mongodb-dlt/mongodb_dlt`**. - Initialize a **`dlt`** MongoDB pipeline in the same directory: ```python @@ -275,13 +282,15 @@ After running the command your directory structure should be as follows: │ │ ├── __init__.py │ │ └── helpers.py │ ├── mongodb_pipeline.py -│ └── requirements.txt +│ ├── requirements.txt +│ └── resources +│ ├── __init__.py ├── mongodb_dlt_tests │ ├── __init__.py │ └── test_assets.py ├── pyproject.toml ├── setup.cfg -├── setup.py +└── setup.py ``` ### Step 2: Configuring MongoDB Atlas and Credentials @@ -290,7 +299,34 @@ For this example, we are using MongoDB Atlas. Set up the account for MongoDB Atl Next, create a `.env` file and add the BigQuery and MongoDB credentials to the file. The `.env` file should reside in the root directory. -### Step 3: Defining an Asset Factory + +### Step 3: Adding the DltResource + + Create a **`DltResouce`** under the **resources** directory. Add the following code to the **`__init__.py` :** + +```python +from dagster import ConfigurableResource + +import dlt + +class DltResource(ConfigurableResource): + pipeline_name: str + dataset_name: str + destination: str + + def load_collection(self, resource_data, database): + + # configure the pipeline with your destination details + pipeline = dlt.pipeline( + pipeline_name=f"{database}_{self.pipeline_name}", destination=self.destination, dataset_name=f"{self.dataset_name}_{database}" + ) + + load_info = pipeline.run(resource_data, write_disposition="replace") + + return load_info +``` + +### Step 4: Defining an Asset Factory The structure of data in MongoDB is such that under each database you will find multiple collections. When writing a data pipeline it is important to separate the data loading for each collection. @@ -301,58 +337,73 @@ In the **`mongodb_pipeline.py`** file, locate the `**load_select_collection_hint In the **`__init__.py`** file under the **assets** directory, define the **`dlt_asset_factory`**: ```python -url = os.getenv('SOURCES__MONGODB__CONNECTION__URL') +from ..mongodb import mongodb +from ..resources import DltResource + +import dlt +import os + +URL = os.getenv('SOURCES__MONGODB__CONNECTION__URL') -database_collection ={ - "sample_mflix":[ +DATABASE_COLLECTIONS = { + "sample_mflix": [ "comments", - "embedded_movies" + "embedded_movies", ], } def dlt_asset_factory(collection_list): multi_assets = [] - jobs = [] - for db, collection_name in database_collection.items(): + for db, collection_name in collection_list.items(): @multi_asset( name=db, group_name=db, outs={ - stream: AssetOut(key_prefix=[f'raw_{db}']) - for stream in collection_name} + stream: AssetOut(key_prefix=[f'raw_{db}']) + for stream in collection_name} ) - def load_select_collection(context: OpExecutionContext): - """Use the dlt mongodb source to reflect an entire database schema and load select tables from it. - - This example sources data from a sample mongo database data from [mongodb-sample-dataset](https://github.com/neelabalan/mongodb-sample-dataset). - """ + def collections_asset(context: OpExecutionContext, pipeline: DltResource): - pipeline = dlt.pipeline( - pipeline_name="local_mongo", - destination='bigquery', - dataset_name="mongo_select_hint", - ) + # Getting Data From MongoDB + data = mongodb(URL, db).with_resources(*collection_name) logger = get_dagster_logger() - data = mongodb(url, db).with_resources(*collection_name) + results = pipeline.load_collection(data, db) + logger.info(results) - load_info = pipeline.run(data, write_disposition="replace") - return tuple([None for _ in context.selected_output_names]) + return tuple([None for _ in context.selected_output_names]) - multi_assets.append(load_select_collection) + multi_assets.append(collections_asset) - asset_job = define_asset_job(f"{db}_assets", AssetSelection.groups(db)) + return multi_assets - jobs.append(asset_job) - return multi_assets, jobs - -dlt_assets, dlt_jobs = dlt_asset_factory(database_collection) +dlt_assets = dlt_asset_factory(DATABASE_COLLECTIONS) ``` -### Step 4: Running the Dagster Web Server +### Step 5: Definitions and ****Run the Web Server**** + +Add the definitions in the `__init__.py` in the root directory: + +```python +from dagster import Definitions, EnvVar + +from .assets import dlt_assets +from .resources import DltResource + +defs = Definitions( + assets=dlt_assets, + resources={ + "pipeline": DltResource( + pipeline_name = "mongo", + dataset_name = "dagster_mongo", + destination = "bigquery" + ), + } +) +``` We can run the `dagster dev` command to start the web server. We can see that each collection is converted into a separate asset by Dagster. We can materialize our assets to ingest the data into BigQuery. From 6de5bbb43f0c48846b202365e571242a50b338ff Mon Sep 17 00:00:00 2001 From: Zaeem Athar Date: Mon, 6 Nov 2023 17:32:59 +0100 Subject: [PATCH 07/28] Adding changes to blog. --- docs/website/blog/2023-11-01-dlt-dagster.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/website/blog/2023-11-01-dlt-dagster.md b/docs/website/blog/2023-11-01-dlt-dagster.md index 1cd28a1b4e..e631725bb4 100644 --- a/docs/website/blog/2023-11-01-dlt-dagster.md +++ b/docs/website/blog/2023-11-01-dlt-dagster.md @@ -151,9 +151,8 @@ class DltResource(ConfigurableResource): pipeline_name: str dataset_name: str destination: str - table_name: str - def create_pipeline(self, dlt_resource): + def create_pipeline(self, resource_data, table_name): # configure the pipeline with your destination details pipeline = dlt.pipeline( @@ -161,7 +160,7 @@ class DltResource(ConfigurableResource): ) # run the pipeline with your parameters - load_info = pipeline.run(dlt_resource, table_name=self.table_name) + load_info = pipeline.run(dlt_resource, table_name=table_name) return load_info ``` @@ -177,7 +176,7 @@ from ..dlt import github_issues_resource def issues_pipeline(pipeline: DltResource): logger = get_dagster_logger() - results = pipeline.create_pipeline(github_issues_resource) + results = pipeline.create_pipeline(github_issues_resource, table_name='github_issues') logger.info(results) ``` @@ -267,7 +266,7 @@ dagster project scaffold --name mongodb-dlt dlt init mongodb bigquery ``` -After running the command your directory structure should be as follows: +This will create a template with all the necessary logic implemented for extracting data from MongoDB. After running the command your directory structure should be as follows: ```python . @@ -383,12 +382,12 @@ def dlt_asset_factory(collection_list): dlt_assets = dlt_asset_factory(DATABASE_COLLECTIONS) ``` -### Step 5: Definitions and ****Run the Web Server**** +### Step 5: Definitions and Running the Web Server Add the definitions in the `__init__.py` in the root directory: ```python -from dagster import Definitions, EnvVar +from dagster import Definitions from .assets import dlt_assets from .resources import DltResource From 111d5fbbb8dba6f43cf449ac9f422a228c6997e2 Mon Sep 17 00:00:00 2001 From: deeplook Date: Tue, 7 Nov 2023 11:32:16 +0100 Subject: [PATCH 08/28] Show schemas in streamlit (#690) --- dlt/helpers/streamlit_helper.py | 37 ++++++++--- .../test_streamlit_show_resources.py | 66 +++++++++++++++++++ 2 files changed, 94 insertions(+), 9 deletions(-) create mode 100644 tests/helpers/streamlit_tests/test_streamlit_show_resources.py diff --git a/dlt/helpers/streamlit_helper.py b/dlt/helpers/streamlit_helper.py index 082c1242da..d505ccaff3 100644 --- a/dlt/helpers/streamlit_helper.py +++ b/dlt/helpers/streamlit_helper.py @@ -2,12 +2,12 @@ from typing import Dict, List import humanize - from dlt.common import pendulum from dlt.common.typing import AnyFun from dlt.common.configuration.exceptions import ConfigFieldMissingException from dlt.common.exceptions import MissingDependencyException from dlt.common.destination.reference import WithStateSync +from dlt.common.utils import flatten_list_or_items from dlt.common.libs.pandas import pandas as pd from dlt.pipeline import Pipeline @@ -117,11 +117,13 @@ def _query_data_live(query: str, schema_name: str = None) -> pd.DataFrame: try: st.header("Pipeline info") credentials = pipeline.sql_client().credentials + schema_names = ", ".join(sorted(pipeline.schema_names)) st.markdown(f""" * pipeline name: **{pipeline.pipeline_name}** * destination: **{str(credentials)}** in **{pipeline.destination.__name__}** * dataset name: **{pipeline.dataset_name}** * default schema name: **{pipeline.default_schema_name}** + * all schema names: **{schema_names}** """) st.header("Last load info") @@ -225,16 +227,22 @@ def _query_data(query: str, chunk_size: int = None) -> pd.DataFrame: except SqlClientNotAvailable: st.error("Cannot load data - SqlClient not available") + st.header("Schemas and their tables") - if schema_name: - schema = pipeline.schemas[schema_name] - else: - schema = pipeline.default_schema - st.title(f"Available tables in {schema.name} schema") + num_schemas = len(pipeline.schema_names) + if num_schemas == 1: + schema_name = pipeline.schema_names[0] + selected_schema = pipeline.schemas.get(schema_name) + st.subheader(f"Schema: {schema_name}") + elif num_schemas > 1: + st.subheader("Schema:") + text = "Pick a schema name to see all its tables below" + selected_schema_name = st.selectbox(text, sorted(pipeline.schema_names)) + selected_schema = pipeline.schemas.get(selected_schema_name) - for table in schema.data_tables(): + for table in sorted(selected_schema.data_tables(), key=lambda table: table["name"]): table_name = table["name"] - st.header(table_name) + st.subheader(f"Table: {table_name}") if "description" in table: st.text(table["description"]) table_hints: List[str] = [] @@ -244,6 +252,17 @@ def _query_data(query: str, chunk_size: int = None) -> pd.DataFrame: table_hints.append("resource: **%s**" % table["resource"]) if "write_disposition" in table: table_hints.append("write disposition: **%s**" % table["write_disposition"]) + columns = table["columns"] + primary_keys = flatten_list_or_items([ + col_name for col_name in columns.keys() + if not col_name.startswith("_") and not columns[col_name].get("primary_key") is None + ]) + table_hints.append("primary key(s): **%s**" % ", ".join(primary_keys)) + merge_keys = flatten_list_or_items([ + col_name for col_name in columns.keys() + if not col_name.startswith("_") and not columns[col_name].get("merge_key") is None + ]) + table_hints.append("merge key(s): **%s**" % ", ".join(merge_keys)) st.markdown(" | ".join(table_hints)) @@ -264,7 +283,7 @@ def _query_data(query: str, chunk_size: int = None) -> pd.DataFrame: st.text(f"Top {rows_count} row(s)") st.dataframe(df) - st.title("Run your query") + st.header("Run your query") sql_query = st.text_area("Enter your SQL query", value=example_query) if st.button("Run Query"): if sql_query: diff --git a/tests/helpers/streamlit_tests/test_streamlit_show_resources.py b/tests/helpers/streamlit_tests/test_streamlit_show_resources.py new file mode 100644 index 0000000000..c550b45654 --- /dev/null +++ b/tests/helpers/streamlit_tests/test_streamlit_show_resources.py @@ -0,0 +1,66 @@ +""" +Create a pipeline with multiple resources for streamlit to show. + +Run streamlit showing this pipeline like this: + + dlt pipeline test_resources_pipeline show +""" + +import dlt + + +@dlt.source +def source1(nr): + def get_resource(nr): + for i in range(nr): + yield {"id": i, "column_1": f"abc_{i}"} + + resource = dlt.resource( + get_resource(nr), + name="One", + write_disposition="merge", + primary_key="column_1", + merge_key=["column_1"], + ) + yield resource + + +@dlt.source +def source2(nr): + def get_resource2(nr): + for i in range(nr): + yield {"id": i, "column_2": f"xyz_{i}"} + + def get_resource3(nr): + for i in range(nr): + yield {"id": i, "column_3": f"pqr_{i}", "column_4": f"pqrr_{i}"} + + yield dlt.resource( + get_resource2(nr), + name="Two", + write_disposition="merge", + primary_key="column_2", + merge_key=["column_2"], + ) + yield dlt.resource( + get_resource3(nr), + name="Three", + write_disposition="merge", + primary_key=["column_3", "column_4"], + merge_key=["column_3"], + ) + + +def test_multiple_resources_pipeline(): + pipeline = dlt.pipeline( + pipeline_name="test_resources_pipeline", destination="duckdb", dataset_name="rows_data2" + ) + load_info = pipeline.run([source1(10), source2(20)]) + + assert load_info.pipeline.schema_names == ["source2", "source1"] + assert load_info.pipeline.schemas.get("source1").data_tables()[0]["name"] == "one" + assert load_info.pipeline.schemas.get("source1").data_tables()[0]["columns"]["column_1"].get("primary_key") is True + assert load_info.pipeline.schemas.get("source1").data_tables()[0]["columns"]["column_1"].get("merge_key") is True + assert load_info.pipeline.schemas.get("source1").data_tables()[0]["write_disposition"] == "merge" + + # The rest should be inspected using the streamlit tool. From 7f2f042815fd548a35aa202629b7ddb443b8399b Mon Sep 17 00:00:00 2001 From: Anton Burnashev Date: Tue, 7 Nov 2023 15:37:35 +0100 Subject: [PATCH 09/28] Add a missing __init__.py, fix typing errors (#736) --- dlt/common/utils.py | 2 +- dlt/helpers/streamlit_helper.py | 4 ++-- tests/helpers/streamlit_tests/__init__.py | 0 .../test_streamlit_show_resources.py | 13 ++++++++----- 4 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 tests/helpers/streamlit_tests/__init__.py diff --git a/dlt/common/utils.py b/dlt/common/utils.py index 692f8452c9..0214bc037a 100644 --- a/dlt/common/utils.py +++ b/dlt/common/utils.py @@ -144,7 +144,7 @@ def flatten_list_of_str_or_dicts(seq: Sequence[Union[StrAny, str]]) -> DictStrAn # return dicts -def flatten_list_or_items(_iter: Union[Iterator[TAny], Iterator[List[TAny]]]) -> Iterator[TAny]: +def flatten_list_or_items(_iter: Union[Iterable[TAny], Iterable[List[TAny]]]) -> Iterator[TAny]: for items in _iter: if isinstance(items, List): yield from items diff --git a/dlt/helpers/streamlit_helper.py b/dlt/helpers/streamlit_helper.py index d505ccaff3..7921e4e2e1 100644 --- a/dlt/helpers/streamlit_helper.py +++ b/dlt/helpers/streamlit_helper.py @@ -1,5 +1,5 @@ import sys -from typing import Dict, List +from typing import Dict, List, Iterator import humanize from dlt.common import pendulum @@ -253,7 +253,7 @@ def _query_data(query: str, chunk_size: int = None) -> pd.DataFrame: if "write_disposition" in table: table_hints.append("write disposition: **%s**" % table["write_disposition"]) columns = table["columns"] - primary_keys = flatten_list_or_items([ + primary_keys: Iterator[str] = flatten_list_or_items([ col_name for col_name in columns.keys() if not col_name.startswith("_") and not columns[col_name].get("primary_key") is None ]) diff --git a/tests/helpers/streamlit_tests/__init__.py b/tests/helpers/streamlit_tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/helpers/streamlit_tests/test_streamlit_show_resources.py b/tests/helpers/streamlit_tests/test_streamlit_show_resources.py index c550b45654..fcf232ea76 100644 --- a/tests/helpers/streamlit_tests/test_streamlit_show_resources.py +++ b/tests/helpers/streamlit_tests/test_streamlit_show_resources.py @@ -57,10 +57,13 @@ def test_multiple_resources_pipeline(): ) load_info = pipeline.run([source1(10), source2(20)]) - assert load_info.pipeline.schema_names == ["source2", "source1"] - assert load_info.pipeline.schemas.get("source1").data_tables()[0]["name"] == "one" - assert load_info.pipeline.schemas.get("source1").data_tables()[0]["columns"]["column_1"].get("primary_key") is True - assert load_info.pipeline.schemas.get("source1").data_tables()[0]["columns"]["column_1"].get("merge_key") is True - assert load_info.pipeline.schemas.get("source1").data_tables()[0]["write_disposition"] == "merge" + source1_schema = load_info.pipeline.schemas.get("source1") # type: ignore[attr-defined] + + assert load_info.pipeline.schema_names == ["source2", "source1"] # type: ignore[attr-defined] + + assert source1_schema.data_tables()[0]["name"] == "one" + assert source1_schema.data_tables()[0]["columns"]["column_1"].get("primary_key") is True + assert source1_schema.data_tables()[0]["columns"]["column_1"].get("merge_key") is True + assert source1_schema.data_tables()[0]["write_disposition"] == "merge" # The rest should be inspected using the streamlit tool. From e92cf7554f4fc6876cc22f5a73e3b6b88dc350e1 Mon Sep 17 00:00:00 2001 From: Anush Date: Tue, 7 Nov 2023 22:04:01 +0530 Subject: [PATCH 10/28] feat: Qdrant destination support (#724) --- .github/workflows/test_destination_qdrant.yml | 82 + .gitignore | 5 +- dlt/destinations/qdrant/__init__.py | 53 + dlt/destinations/qdrant/configuration.py | 79 + dlt/destinations/qdrant/qdrant_adapter.py | 67 + dlt/destinations/qdrant/qdrant_client.py | 409 + .../docs/dlt-ecosystem/destinations/qdrant.md | 222 + docs/website/sidebars.js | 1 + poetry.lock | 7666 +++++++++-------- pyproject.toml | 4 +- tests/load/qdrant/__init__.py | 3 + tests/load/qdrant/test_pipeline.py | 348 + tests/load/qdrant/utils.py | 61 + tests/utils.py | 8 +- 14 files changed, 5230 insertions(+), 3778 deletions(-) create mode 100644 .github/workflows/test_destination_qdrant.yml create mode 100644 dlt/destinations/qdrant/__init__.py create mode 100644 dlt/destinations/qdrant/configuration.py create mode 100644 dlt/destinations/qdrant/qdrant_adapter.py create mode 100644 dlt/destinations/qdrant/qdrant_client.py create mode 100644 docs/website/docs/dlt-ecosystem/destinations/qdrant.md create mode 100644 tests/load/qdrant/__init__.py create mode 100644 tests/load/qdrant/test_pipeline.py create mode 100644 tests/load/qdrant/utils.py diff --git a/.github/workflows/test_destination_qdrant.yml b/.github/workflows/test_destination_qdrant.yml new file mode 100644 index 0000000000..09ded40f59 --- /dev/null +++ b/.github/workflows/test_destination_qdrant.yml @@ -0,0 +1,82 @@ +name: test Qdrant + +on: + pull_request: + branches: + - master + - devel + workflow_dispatch: + +env: + DESTINATION__QDRANT__CREDENTIALS__LOCATION: ${{ secrets.DESTINATION__QDRANT__CREDENTIALS__LOCATION }} + DESTINATION__QDRANT__CREDENTIALS__API_KEY: ${{ secrets.DESTINATION__QDRANT__CREDENTIALS__API_KEY }} + + RUNTIME__SENTRY_DSN: https://6f6f7b6f8e0f458a89be4187603b55fe@o1061158.ingest.sentry.io/4504819859914752 + RUNTIME__LOG_LEVEL: ERROR + + ACTIVE_DESTINATIONS: "[\"qdrant\"]" + ALL_FILESYSTEM_DRIVERS: "[\"memory\"]" + +jobs: + get_docs_changes: + uses: ./.github/workflows/get_docs_changes.yml + if: ${{ !github.event.pull_request.head.repo.fork }} + + run_loader: + name: Tests Qdrant loader + needs: get_docs_changes + if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' + strategy: + fail-fast: false + matrix: + os: ["ubuntu-latest", "macos-latest", "windows-latest"] + defaults: + run: + shell: bash + runs-on: ${{ matrix.os }} + + steps: + - name: Check out + uses: actions/checkout@master + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: "3.10.x" + + - name: Install Poetry + uses: snok/install-poetry@v1.3.2 + with: + virtualenvs-create: true + virtualenvs-in-project: true + installer-parallel: true + + - name: Load cached venv + id: cached-poetry-dependencies + uses: actions/cache@v3 + with: + path: .venv + key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}-gcp + + - name: Install dependencies + run: poetry install --no-interaction -E qdrant -E parquet + - run: | + poetry run pytest tests/load/ + if: runner.os != 'Windows' + name: Run tests Linux/MAC + - run: | + poetry run pytest tests/load/ + if: runner.os == 'Windows' + name: Run tests Windows + shell: cmd + + matrix_job_required_check: + name: Qdrant loader tests + needs: run_loader + runs-on: ubuntu-latest + if: always() + steps: + - name: Check matrix job results + if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') + run: | + echo "One or more matrix job tests failed or were cancelled. You may need to re-run them." && exit 1 diff --git a/.gitignore b/.gitignore index 3604d9b1bf..f26ea23d91 100644 --- a/.gitignore +++ b/.gitignore @@ -138,4 +138,7 @@ logs/ # temp tmp -**/tmp \ No newline at end of file +**/tmp + +# Qdrant embedding models cache +local_cache/ \ No newline at end of file diff --git a/dlt/destinations/qdrant/__init__.py b/dlt/destinations/qdrant/__init__.py new file mode 100644 index 0000000000..7a8619ffcd --- /dev/null +++ b/dlt/destinations/qdrant/__init__.py @@ -0,0 +1,53 @@ +from typing import Type + +from dlt.common.schema.schema import Schema +from dlt.common.configuration import with_config, known_sections +from dlt.common.configuration.accessors import config +from dlt.common.destination.reference import ( + JobClientBase, + DestinationClientConfiguration, +) +from dlt.common.destination import DestinationCapabilitiesContext +from dlt.destinations.qdrant.qdrant_adapter import qdrant_adapter + +from dlt.destinations.qdrant.configuration import QdrantClientConfiguration + + +@with_config( + spec=QdrantClientConfiguration, + sections=( + known_sections.DESTINATION, + "qdrant", + ), +) +def _configure( + config: QdrantClientConfiguration = config.value, +) -> QdrantClientConfiguration: + return config + + +def capabilities() -> DestinationCapabilitiesContext: + caps = DestinationCapabilitiesContext() + caps.preferred_loader_file_format = "jsonl" + caps.supported_loader_file_formats = ["jsonl"] + + caps.max_identifier_length = 200 + caps.max_column_identifier_length = 1024 + caps.max_query_length = 8 * 1024 * 1024 + caps.is_max_query_length_in_bytes = False + caps.max_text_data_type_length = 8 * 1024 * 1024 + caps.is_max_text_data_type_length_in_bytes = False + caps.supports_ddl_transactions = False + + return caps + + +def client( + schema: Schema, initial_config: DestinationClientConfiguration = config.value +) -> JobClientBase: + from dlt.destinations.qdrant.qdrant_client import QdrantClient + return QdrantClient(schema, _configure(initial_config)) # type: ignore + + +def spec() -> Type[QdrantClientConfiguration]: + return QdrantClientConfiguration diff --git a/dlt/destinations/qdrant/configuration.py b/dlt/destinations/qdrant/configuration.py new file mode 100644 index 0000000000..dc252e3b31 --- /dev/null +++ b/dlt/destinations/qdrant/configuration.py @@ -0,0 +1,79 @@ +from typing import Optional, Final + +from dlt.common.configuration import configspec +from dlt.common.configuration.specs.base_configuration import BaseConfiguration, CredentialsConfiguration +from dlt.common.destination.reference import DestinationClientDwhConfiguration + + +@configspec +class QdrantCredentials(CredentialsConfiguration): + # If `:memory:` - use in-memory Qdrant instance. + # If `str` - use it as a `url` parameter. + # If `None` - use default values for `host` and `port` + location: Optional[str] = None + # API key for authentication in Qdrant Cloud. Default: `None` + api_key: Optional[str] + + def __str__(self) -> str: + return self.location or "localhost" + + +@configspec +class QdrantClientOptions(BaseConfiguration): + # Port of the REST API interface. Default: 6333 + port: int = 6333 + # Port of the gRPC interface. Default: 6334 + grpc_port: int = 6334 + # If `true` - use gPRC interface whenever possible in custom methods + prefer_grpc: bool = False + # If `true` - use HTTPS(SSL) protocol. Default: `None` + https: bool = False + # If not `None` - add `prefix` to the REST URL path. + # Example: `service/v1` will result in `http://localhost:6333/service/v1/{qdrant-endpoint}` for REST API. + # Default: `None` + prefix: Optional[str] = None + # Timeout for REST and gRPC API requests. + # Default: 5.0 seconds for REST and unlimited for gRPC + timeout: Optional[int] = None + # Host name of Qdrant service. If url and host are None, set to 'localhost'. + # Default: `None` + host: Optional[str] = None + # Persistence path for QdrantLocal. Default: `None` + path: Optional[str] = None + + +@configspec +class QdrantClientConfiguration(DestinationClientDwhConfiguration): + destination_name: Final[str] = "qdrant" # type: ignore + # character for the dataset separator + dataset_separator: str = "_" + + # make it optional do empty dataset is allowed + dataset_name: Optional[str] = None # type: ignore + + # Batch size for generating embeddings + embedding_batch_size: int = 32 + # Number of parallel processes for generating embeddings + embedding_parallelism: int = 0 + + # Batch size for uploading embeddings + upload_batch_size: int = 64 + # Number of parallel processes for uploading embeddings + upload_parallelism: int = 1 + # Number of retries for uploading embeddings + upload_max_retries: int = 3 + + # Qdrant client options + options: QdrantClientOptions + + # Qdrant connection credentials + credentials: QdrantCredentials + + # FlagEmbedding model to use + # Find the list here. https://qdrant.github.io/fastembed/examples/Supported_Models/. + model: str = "BAAI/bge-small-en" + + def fingerprint(self) -> str: + """Returns a fingerprint of a connection string""" + + return self.credentials.location diff --git a/dlt/destinations/qdrant/qdrant_adapter.py b/dlt/destinations/qdrant/qdrant_adapter.py new file mode 100644 index 0000000000..ac51bd5f42 --- /dev/null +++ b/dlt/destinations/qdrant/qdrant_adapter.py @@ -0,0 +1,67 @@ +from typing import Any + +from dlt.common.schema.typing import TColumnNames, TTableSchemaColumns +from dlt.extract.decorators import resource as make_resource +from dlt.extract.source import DltResource + +VECTORIZE_HINT = "x-qdrant-embed" + +def qdrant_adapter( + data: Any, + embed: TColumnNames = None, +) -> DltResource: + """Prepares data for the Qdrant destination by specifying which columns + should be embedded. + + Args: + data (Any): The data to be transformed. It can be raw data or an instance + of DltResource. If raw data, the function wraps it into a DltResource + object. + embed (TColumnNames, optional): Specifies columns to generate embeddings for. + Can be a single column name as a string or a list of column names. + + Returns: + DltResource: A resource with applied qdrant-specific hints. + + Raises: + ValueError: If input for `embed` invalid or empty. + + Examples: + >>> data = [{"name": "Anush", "description": "Integrations Hacker"}] + >>> qdrant_adapter(data, embed="description") + [DltResource with hints applied] + """ + # wrap `data` in a resource if not an instance already + resource: DltResource + if not isinstance(data, DltResource): + resource_name: str = None + if not hasattr(data, "__name__"): + resource_name = "content" + resource = make_resource(data, name=resource_name) + else: + resource = data + + column_hints: TTableSchemaColumns = {} + + if embed: + if isinstance(embed, str): + embed = [embed] + if not isinstance(embed, list): + raise ValueError( + "embed must be a list of column names or a single " + "column name as a string" + ) + + for column_name in embed: + column_hints[column_name] = { + "name": column_name, + VECTORIZE_HINT: True, # type: ignore + } + + if not column_hints: + raise ValueError( + "A value for 'embed' must be specified.") + else: + resource.apply_hints(columns=column_hints) + + return resource diff --git a/dlt/destinations/qdrant/qdrant_client.py b/dlt/destinations/qdrant/qdrant_client.py new file mode 100644 index 0000000000..cba87e9528 --- /dev/null +++ b/dlt/destinations/qdrant/qdrant_client.py @@ -0,0 +1,409 @@ +from types import TracebackType +from typing import ClassVar, Optional, Sequence, List, Dict, Type, Iterable, Any, IO + +from dlt.common import json, pendulum, logger +from dlt.common.schema import Schema, TTableSchema, TSchemaTables +from dlt.common.schema.utils import get_columns_names_with_prop +from dlt.common.destination import DestinationCapabilitiesContext +from dlt.common.destination.reference import TLoadJobState, LoadJob, JobClientBase, WithStateSync +from dlt.common.storages import FileStorage + +from dlt.destinations.job_impl import EmptyLoadJob +from dlt.destinations.job_client_impl import StorageSchemaInfo, StateInfo + +from dlt.destinations.qdrant import capabilities +from dlt.destinations.qdrant.configuration import QdrantClientConfiguration +from dlt.destinations.qdrant.qdrant_adapter import VECTORIZE_HINT + +from qdrant_client import QdrantClient as QC, models +from qdrant_client.qdrant_fastembed import uuid +from qdrant_client.http.exceptions import UnexpectedResponse + +class LoadQdrantJob(LoadJob): + def __init__( + self, + table_schema: TTableSchema, + local_path: str, + db_client: QC, + client_config: QdrantClientConfiguration, + collection_name: str, + ) -> None: + file_name = FileStorage.get_file_name_from_file_path(local_path) + super().__init__(file_name) + self.db_client = db_client + self.collection_name = collection_name + self.embedding_fields = get_columns_names_with_prop( + table_schema, VECTORIZE_HINT) + self.unique_identifiers = self._list_unique_identifiers(table_schema) + self.config = client_config + + with FileStorage.open_zipsafe_ro(local_path) as f: + docs, payloads, ids = [], [], [] + + for line in f: + data = json.loads(line) + point_id = self._generate_uuid( + data, self.unique_identifiers, self.collection_name) if self.unique_identifiers else uuid.uuid4() + embedding_doc = self._get_embedding_doc(data) + payloads.append(data) + ids.append(point_id) + docs.append(embedding_doc) + + embedding_model = db_client._get_or_init_model( + db_client.embedding_model_name) + embeddings = list(embedding_model.embed( + docs, batch_size=self.config.embedding_batch_size, parallel=self.config.embedding_parallelism)) + vector_name = db_client.get_vector_field_name() + embeddings = [{vector_name: embedding.tolist()} for embedding in embeddings] + assert len(embeddings) == len(payloads) == len(ids) + + self._upload_data(vectors=embeddings, ids=ids, payloads=payloads) + + def _get_embedding_doc(self, data: Dict[str, Any]) -> str: + """Returns a document to generate embeddings for. + + Args: + data (Dict[str, Any]): A dictionary of data to be loaded. + + Returns: + str: A concatenated string of all the fields intended for embedding. + """ + doc = "\n".join(str(data[key]) for key in self.embedding_fields) + return doc + + def _list_unique_identifiers(self, table_schema: TTableSchema) -> Sequence[str]: + """Returns a list of unique identifiers for a table. + + Args: + table_schema (TTableSchema): a dlt table schema. + + Returns: + Sequence[str]: A list of unique column identifiers. + """ + if table_schema.get("write_disposition") == "merge": + primary_keys = get_columns_names_with_prop( + table_schema, "primary_key") + if primary_keys: + return primary_keys + return get_columns_names_with_prop(table_schema, "unique") + + def _upload_data(self, ids: Iterable[Any], vectors: Iterable[Any], payloads: Iterable[Any]) -> None: + """Uploads data to a Qdrant instance in a batch. Supports retries and parallelism. + + Args: + ids (Iterable[Any]): Point IDs to be uploaded to the collection + vectors (Iterable[Any]): Embeddings to be uploaded to the collection + payloads (Iterable[Any]): Payloads to be uploaded to the collection + """ + self.db_client.upload_collection( + self.collection_name, ids=ids, payload=payloads, vectors=vectors, parallel=self.config.upload_parallelism, batch_size=self.config.upload_batch_size, max_retries=self.config.upload_max_retries) + + def _generate_uuid( + self, data: Dict[str, Any], unique_identifiers: Sequence[str], collection_name: str + ) -> str: + """Generates deterministic UUID. Used for deduplication. + + Args: + data (Dict[str, Any]): Arbitrary data to generate UUID for. + unique_identifiers (Sequence[str]): A list of unique identifiers. + collection_name (str): Qdrant collection name. + + Returns: + str: A string representation of the genrated UUID + """ + data_id = "_".join(str(data[key]) for key in unique_identifiers) + return str(uuid.uuid5(uuid.NAMESPACE_DNS, collection_name + data_id)) + + def state(self) -> TLoadJobState: + return "completed" + + def exception(self) -> str: + raise NotImplementedError() + +class QdrantClient(JobClientBase, WithStateSync): + """Qdrant Destination Handler + """ + capabilities: ClassVar[DestinationCapabilitiesContext] = capabilities() + state_properties: ClassVar[List[str]] = [ + "version", "engine_version", "pipeline_name", "state", "created_at", "_dlt_load_id"] + + def __init__(self, schema: Schema, config: QdrantClientConfiguration) -> None: + super().__init__(schema, config) + self.config: QdrantClientConfiguration = config + self.db_client: QC = QdrantClient._create_db_client(config) + self.model = config.model + + @property + def dataset_name(self) -> str: + return self.config.normalize_dataset_name(self.schema) + + @property + def sentinel_collection(self) -> str: + return self.dataset_name or "DltSentinelCollection" + + @staticmethod + def _create_db_client(config: QdrantClientConfiguration) -> QC: + """Generates a Qdrant client from the 'qdrant_client' package. + + Args: + config (QdrantClientConfiguration): Credentials and options for the Qdrant client. + + Returns: + QdrantClient: A Qdrant client instance. + """ + credentials = dict(config.credentials) + options = dict(config.options) + client = QC(**credentials, **options) + client.set_model(config.model) + return client + + def _make_qualified_collection_name(self, table_name: str) -> str: + """Generates a qualified collection name. + + Args: + table_name (str): Name of the table. + + Returns: + str: The dataset name and table name concatenated with a separator if dataset name is present. + """ + dataset_separator = self.config.dataset_separator + return f"{self.dataset_name}{dataset_separator}{table_name}" if self.dataset_name else table_name + + def _create_collection( + self, full_collection_name: str + ) -> None: + """Creates a collection in Qdrant. + + Args: + full_collection_name (str): The name of the collection to be created. + """ + + # Generates config for a named vector according to the selected model. + # Eg: vector_config={ + # "fast-bge-small-en": { + # "size": 364, + # "distance": "Cosine" + # }, + # } + vectors_config = self.db_client.get_fastembed_vector_params() + + self.db_client.create_collection( + collection_name=full_collection_name, vectors_config=vectors_config) + + def _create_point(self, obj: Dict[str, Any], collection_name: str) -> None: + """Inserts a point into a Qdrant collection without a vector. + + Args: + obj (Dict[str, Any]): The arbitrary data to be inserted as payload. + collection_name (str): The name of the collection to insert the point into. + """ + self.db_client.upsert(collection_name, points=[ + models.PointStruct( + id=str(uuid.uuid4()), + payload=obj, + vector={}, + )]) + + def drop_storage(self) -> None: + """Drop the dataset from the Qdrant instance. + + Deletes all collections in the dataset and all data associated. + Deletes the sentinel collection. + + If dataset name was not provided, it deletes all the tables in the current schema + """ + collections = self.db_client.get_collections().collections + collection_name_list = [collection.name + for collection in collections] + + if self.dataset_name: + prefix = f"{self.dataset_name}{self.config.dataset_separator}" + + for collection_name in collection_name_list: + if collection_name.startswith(prefix): + self.db_client.delete_collection(collection_name) + else: + for collection_name in self.schema.tables.keys(): + if collection_name in collection_name_list: + self.db_client.delete_collection(collection_name) + + self._delete_sentinel_collection() + + def initialize_storage(self, truncate_tables: Iterable[str] = None) -> None: + if not self.is_storage_initialized(): + self._create_sentinel_collection() + elif truncate_tables: + for table_name in truncate_tables: + qualified_table_name = self._make_qualified_collection_name( + table_name=table_name) + if self._collection_exists(qualified_table_name): + continue + + self.db_client.delete_collection(qualified_table_name) + self._create_collection(full_collection_name=qualified_table_name) + + def is_storage_initialized(self) -> bool: + return self._collection_exists(self.sentinel_collection, qualify_table_name=False) + + def _create_sentinel_collection(self) -> None: + """Create an empty collection to indicate that the storage is initialized.""" + self._create_collection(full_collection_name=self.sentinel_collection) + + def _delete_sentinel_collection(self) -> None: + """Delete the sentinel collection.""" + self.db_client.delete_collection(self.sentinel_collection) + + def update_stored_schema( + self, only_tables: Iterable[str] = None, expected_update: TSchemaTables = None + ) -> Optional[TSchemaTables]: + applied_update: TSchemaTables = {} + schema_info = self.get_stored_schema_by_hash( + self.schema.stored_version_hash) + if schema_info is None: + logger.info( + f"Schema with hash {self.schema.stored_version_hash} " + f"not found in the storage. upgrading" + ) + self._execute_schema_update(only_tables) + else: + logger.info( + f"Schema with hash {self.schema.stored_version_hash} " + f"inserted at {schema_info.inserted_at} found " + f"in storage, no upgrade required" + ) + return applied_update + + def get_stored_state(self, pipeline_name: str) -> Optional[StateInfo]: + """Loads compressed state from destination storage + By finding a load id that was completed + """ + limit = 10 + offset = None + while True: + try: + scroll_table_name = self._make_qualified_collection_name( + self.schema.state_table_name) + state_records, offset = self.db_client.scroll(scroll_table_name, with_payload=self.state_properties, scroll_filter=models.Filter(must=[ + models.FieldCondition( + key="pipeline_name", match=models.MatchValue(value=pipeline_name)) + ]), limit=limit, offset=offset) + if len(state_records) == 0: + return None + for state_record in state_records: + state = state_record.payload + load_id = state["_dlt_load_id"] + scroll_table_name = self._make_qualified_collection_name( + self.schema.loads_table_name) + load_records = self.db_client.count(scroll_table_name, exact=True, count_filter=models.Filter( + must=[models.FieldCondition( + key="load_id", match=models.MatchValue(value=load_id) + )] + )) + if load_records.count > 0: + state["dlt_load_id"] = state.pop("_dlt_load_id") + return StateInfo(**state) + except Exception: + return None + + def get_stored_schema(self) -> Optional[StorageSchemaInfo]: + """Retrieves newest schema from destination storage""" + try: + scroll_table_name = self._make_qualified_collection_name( + self.schema.version_table_name) + response = self.db_client.scroll(scroll_table_name, with_payload=True, scroll_filter=models.Filter( + must=[models.FieldCondition( + key="schema_name", + match=models.MatchValue(value=self.schema.name), + )] + ), limit=1) + record = response[0][0].payload + return StorageSchemaInfo(**record) + except Exception: + return None + + def get_stored_schema_by_hash(self, schema_hash: str) -> Optional[StorageSchemaInfo]: + try: + scroll_table_name = self._make_qualified_collection_name( + self.schema.version_table_name) + response = self.db_client.scroll(scroll_table_name, with_payload=True, scroll_filter=models.Filter( + must=[ + models.FieldCondition( + key="version_hash", match=models.MatchValue(value=schema_hash)) + ] + + ), limit=1) + record = response[0][0].payload + return StorageSchemaInfo(**record) + except Exception: + return None + + def start_file_load( + self, table: TTableSchema, file_path: str, load_id: str + ) -> LoadJob: + return LoadQdrantJob( + table, + file_path, + db_client=self.db_client, + client_config=self.config, + collection_name=self._make_qualified_collection_name(table["name"]), + ) + + def restore_file_load(self, file_path: str) -> LoadJob: + return EmptyLoadJob.from_file_path(file_path, "completed") + + def complete_load(self, load_id: str) -> None: + properties = { + "load_id": load_id, + "schema_name": self.schema.name, + "status": 0, + "inserted_at": str(pendulum.now()), + } + loads_table_name = self._make_qualified_collection_name( + self.schema.loads_table_name) + self._create_point(properties, loads_table_name) + + def __enter__(self) -> "QdrantClient": + return self + + def __exit__( + self, + exc_type: Type[BaseException], + exc_val: BaseException, + exc_tb: TracebackType, + ) -> None: + pass + + def _update_schema_in_storage(self, schema: Schema) -> None: + schema_str = json.dumps(schema.to_dict()) + properties = { + "version_hash": schema.stored_version_hash, + "schema_name": schema.name, + "version": schema.version, + "engine_version": schema.ENGINE_VERSION, + "inserted_at": str(pendulum.now()), + "schema": schema_str, + } + version_table_name = self._make_qualified_collection_name( + self.schema.version_table_name) + self._create_point(properties, version_table_name) + + def _execute_schema_update(self, only_tables: Iterable[str]) -> None: + for table_name in only_tables or self.schema.tables: + exists = self._collection_exists(table_name) + + if not exists: + self._create_collection( + full_collection_name=self._make_qualified_collection_name(table_name) + ) + self._update_schema_in_storage(self.schema) + + def _collection_exists(self, table_name: str, qualify_table_name: bool = True) -> bool: + try: + table_name = self._make_qualified_collection_name( + table_name) if qualify_table_name else table_name + self.db_client.get_collection(table_name) + return True + except UnexpectedResponse as e: + if e.status_code == 404: + return False + raise e \ No newline at end of file diff --git a/docs/website/docs/dlt-ecosystem/destinations/qdrant.md b/docs/website/docs/dlt-ecosystem/destinations/qdrant.md new file mode 100644 index 0000000000..519375cdac --- /dev/null +++ b/docs/website/docs/dlt-ecosystem/destinations/qdrant.md @@ -0,0 +1,222 @@ +--- +title: Qdrant +description: Qdrant is a high-performance vector search engine/database that can be used as a destination in dlt. +keywords: [qdrant, vector database, destination, dlt] +--- + +# Qdrant + +[Qdrant](https://qdrant.tech/) is an open-source, high-performance vector search engine/database. It deploys as an API service, providing a search for the nearest high-dimensional vectors. +This destination helps you load data into Qdrant from [dlt resources](../../general-usage/resource.md). + +## Setup Guide + +1. To use Qdrant as a destination, make sure `dlt` is installed with the `qdrant` extra: + +```bash +pip install dlt[qdrant] +``` + +2. Next, configure the destination in the dlt secrets file. The file is located at `~/.dlt/secrets.toml` by default. Add the following section to the secrets file: + +```toml +[destination.qdrant.credentials] +location = "https://your-qdrant-url" +api_key = "your-qdrant-api-key" +``` + +In this setup guide, we are using the [Qdrant Cloud](https://cloud.qdrant.io/) to get a hosted Qdrant instance and the [FastEmbed](https://github.com/qdrant/fastembed) package that is built into the [Qdrant client library](https://github.com/qdrant/qdrant-client) for generating embeddings. + +If no configuration options are provided, the default fallback will be `http://localhost:6333` with no API key. + +3. Define the source of the data. For starters, let's load some data from a simple data structure: + +```python +import dlt +from dlt.destinations.qdrant import qdrant_adapter + +movies = [ + { + "title": "Blade Runner", + "year": 1982, + }, + { + "title": "Ghost in the Shell", + "year": 1995, + }, + { + "title": "The Matrix", + "year": 1999, + } +] +``` + +4. Define the pipeline: + +```python +pipeline = dlt.pipeline( + pipeline_name="movies", + destination="qdrant", + dataset_name="MoviesDataset", +) +``` + +5. Run the pipeline: + +```python +info = pipeline.run( + qdrant_adapter( + movies, + embed="title", + ) +) +``` + +6. Check the results: + +```python +print(info) +``` + +The data is now loaded into Qdrant. + +To use vector search after the data has been loaded, you must specify which fields Qdrant needs to generate embeddings for. You do that by wrapping the data (or dlt resource) with the `qdrant_adapter` function. + +## qdrant_adapter + +The `qdrant_adapter` is a helper function that configures the resource for the Qdrant destination: + +```python +qdrant_adapter(data, embed) +``` + +It accepts the following arguments: + +- `data`: a dlt resource object or a Python data structure (e.g. a list of dictionaries). +- `embed`: a name of the field or a list of names to generate embeddings for. + +Returns: [DLT resource](../../general-usage/resource.md) object that you can pass to the `pipeline.run()`. + +Example: + +```python +qdrant_adapter( + resource, + embed=["title", "description"], +) +``` + +:::tip + +A more comprehensive pipeline would load data from some API or use one of dlt's [verified sources](../verified-sources/). + +::: + +## Write disposition + +A [write disposition](../../general-usage/incremental-loading.md#choosing-a-write-disposition) defines how the data should be written to the destination. All write dispositions are supported by the Qdrant destination. + +### Replace + +The [replace](../../general-usage/full-loading.md) disposition replaces the data in the destination with the data from the resource. It deletes all the classes and objects and recreates the schema before loading the data. + +In the movie example from the [setup guide](#setup-guide), we can use the `replace` disposition to reload the data every time we run the pipeline: + +```python +info = pipeline.run( + qdrant_adapter( + movies, + embed="title", + ), + write_disposition="replace", +) +``` + +### Merge + +The [merge](../../general-usage/incremental-loading.md) write disposition merges the data from the resource with the data at the destination. +For `merge` disposition, you would need to specify a `primary_key` for the resource: + +```python +info = pipeline.run( + qdrant_adapter( + movies, + embed="title", + ), + primary_key="document_id", + write_disposition="merge" +) +``` + +Internally, dlt will use `primary_key` (`document_id` in the example above) to generate a unique identifier (UUID) for each point in Qdrant. If the object with the same UUID already exists in Qdrant, it will be updated with the new data. Otherwise, a new point will be created. + +:::caution + +If you are using the merge write disposition, you must set it from the first run of your pipeline; otherwise, the data will be duplicated in the database on subsequent loads. + +::: + +### Append + +This is the default disposition. It will append the data to the existing data in the destination, ignoring the `primary_key` field. + +## Dataset name + +Qdrant uses collections to categorize and identify data. To avoid potential naming conflicts, especially when dealing with multiple datasets that might have overlapping table names, dlt includes the dataset name in the Qdrant collection name. This ensures a unique identifier for every collection. + +For example, if you have a dataset named `movies_dataset` and a table named `actors`, the Qdrant collection name would be `movies_dataset_actors` (the default separator is an underscore). + +However, if you prefer to have class names without the dataset prefix, skip `dataset_name` argument. + +For example: + +```python +pipeline = dlt.pipeline( + pipeline_name="movies", + destination="qdrant", +) +``` + +## Additional destination options + +- `embedding_batch_size`: (int) The batch size for embedding operations. The default value is 32. + +- `embedding_parallelism`: (int) The number of concurrent threads to run embedding operations. Defaults to the number of CPU cores. + +- `upload_batch_size`: (int) The batch size for data uploads. The default value is 64. + +- `upload_parallelism`: (int) The maximal number of concurrent threads to run data uploads. The default value is 1. + +- `upload_max_retries`: (int) The number of retries to upload data in case of failure. The default value is 3. + +- `options`: ([QdrantClientOptions](#qdrant-client-options)) An instance of the `QdrantClientOptions` class that holds various Qdrant client options. + +- `model`: (str) The name of the FlagEmbedding model to use. See the list of supported models at [Supported Models](https://qdrant.github.io/fastembed/examples/Supported_Models/). The default value is "BAAI/bge-small-en". + +### [Qdrant Client Options](#qdrant-client-options) + +The `QdrantClientOptions` class provides options for configuring the Qdrant client. + +- `port`: (int) The port of the REST API interface. The default value is 6333. + +- `grpc_port`: (int) The port of the gRPC interface. The default value is 6334. + +- `prefer_grpc`: (bool) If `true`, the client will prefer to use the gRPC interface whenever possible in custom methods. The default value is `false`. + +- `https`: (bool) If `true`, the client will use the HTTPS (SSL) protocol. The default value is `true` if an API Key is provided, else `false`. + +- `prefix`: (str) If set, it adds the specified `prefix` to the REST URL path. For example, setting it to "service/v1" will result in the REST API URL as `http://localhost:6333/service/v1/{qdrant-endpoint}`. Not set by default. + +- `timeout`: (int) The timeout for REST and gRPC API requests. The default value is 5.0 seconds for REST and unlimited for gRPC. + +- `host`: (str) The host name of the Qdrant service. If both the URL and host are `None`, it is set to `localhost`. + +- `path`: (str) The persistence path for a local Qdrant instance. Not set by default. + +### Run Qdrant locally + +You can find the setup instructions to run Qdrant [here](https://qdrant.tech/documentation/quick-start/#download-and-run) + +### Syncing of `dlt` state + +Qdrant destination supports syncing of the `dlt` state. diff --git a/docs/website/sidebars.js b/docs/website/sidebars.js index 106162c50e..69fe9d2be6 100644 --- a/docs/website/sidebars.js +++ b/docs/website/sidebars.js @@ -81,6 +81,7 @@ const sidebars = { 'dlt-ecosystem/destinations/athena', 'dlt-ecosystem/destinations/motherduck', 'dlt-ecosystem/destinations/weaviate', + 'dlt-ecosystem/destinations/qdrant', ] }, ], diff --git a/poetry.lock b/poetry.lock index 15c257b607..72c24349c6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,18 +1,26 @@ +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. + [[package]] name = "about-time" version = "4.2.1" description = "Easily measure timing and throughput of code blocks, with beautiful human friendly representations." -category = "dev" optional = false python-versions = ">=3.7, <4" +files = [ + {file = "about-time-4.2.1.tar.gz", hash = "sha256:6a538862d33ce67d997429d14998310e1dbfda6cb7d9bbfbf799c4709847fece"}, + {file = "about_time-4.2.1-py3-none-any.whl", hash = "sha256:8bbf4c75fe13cbd3d72f49a03b02c5c7dca32169b6d49117c257e7eb3eaee341"}, +] [[package]] name = "adlfs" version = "2023.8.0" description = "Access Azure Datalake Gen1 with fsspec and dask" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "adlfs-2023.8.0-py3-none-any.whl", hash = "sha256:3eb248a3c2a30b419f1147bd7676d156b5219f96ef7f11d47166afd2a3bdb07e"}, + {file = "adlfs-2023.8.0.tar.gz", hash = "sha256:07e804f6df4593acfcaf01025b162e30ac13e523d3570279c98b2d91a18026d9"}, +] [package.dependencies] aiohttp = ">=3.7.0" @@ -29,9 +37,12 @@ docs = ["furo", "myst-parser", "numpydoc", "sphinx"] name = "agate" version = "1.6.3" description = "A data analysis library that is optimized for humans instead of machines." -category = "main" optional = true python-versions = "*" +files = [ + {file = "agate-1.6.3-py2.py3-none-any.whl", hash = "sha256:2d568fd68a8eb8b56c805a1299ba4bc30ca0434563be1bea309c9d1c1c8401f4"}, + {file = "agate-1.6.3.tar.gz", hash = "sha256:e0f2f813f7e12311a4cdccc97d6ba0a6781e9c1aa8eca0ab00d5931c0113a308"}, +] [package.dependencies] Babel = ">=2.0" @@ -50,9 +61,12 @@ test = ["PyICU (>=2.4.2)", "coverage (>=3.7.1)", "cssselect (>=0.9.1)", "lxml (> name = "aiobotocore" version = "2.5.2" description = "Async client for aws services using botocore and aiohttp" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "aiobotocore-2.5.2-py3-none-any.whl", hash = "sha256:337429ffd3cc367532572d40be809a84c7b5335f3f8eca2f23e09dfaa9a9ef90"}, + {file = "aiobotocore-2.5.2.tar.gz", hash = "sha256:e7399f21570db1c287f1c0c814dd3475dfe1c8166722e2c77ce67f172cbcfa89"}, +] [package.dependencies] aiohttp = ">=3.3.1,<4.0.0" @@ -68,9 +82,97 @@ boto3 = ["boto3 (>=1.26.161,<1.26.162)"] name = "aiohttp" version = "3.8.5" description = "Async http client/server framework (asyncio)" -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, + {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, + {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, + {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, + {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, + {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, + {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, + {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, + {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, + {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, + {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, + {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, + {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, + {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, +] [package.dependencies] aiosignal = ">=1.1.2" @@ -88,9 +190,12 @@ speedups = ["Brotli", "aiodns", "cchardet"] name = "aioitertools" version = "0.11.0" description = "itertools and builtins for AsyncIO and mixed iterables" -category = "main" optional = true python-versions = ">=3.6" +files = [ + {file = "aioitertools-0.11.0-py3-none-any.whl", hash = "sha256:04b95e3dab25b449def24d7df809411c10e62aab0cbe31a50ca4e68748c43394"}, + {file = "aioitertools-0.11.0.tar.gz", hash = "sha256:42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831"}, +] [package.dependencies] typing_extensions = {version = ">=4.0", markers = "python_version < \"3.10\""} @@ -99,9 +204,12 @@ typing_extensions = {version = ">=4.0", markers = "python_version < \"3.10\""} name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] [package.dependencies] frozenlist = ">=1.1.0" @@ -110,9 +218,12 @@ frozenlist = ">=1.1.0" name = "alembic" version = "1.12.0" description = "A database migration tool for SQLAlchemy." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "alembic-1.12.0-py3-none-any.whl", hash = "sha256:03226222f1cf943deee6c85d9464261a6c710cd19b4fe867a3ad1f25afda610f"}, + {file = "alembic-1.12.0.tar.gz", hash = "sha256:8e7645c32e4f200675e69f0745415335eb59a3663f5feb487abfa0b30c45888b"}, +] [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.9\""} @@ -128,9 +239,12 @@ tz = ["python-dateutil"] name = "alive-progress" version = "3.1.4" description = "A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!" -category = "dev" optional = false python-versions = ">=3.7, <4" +files = [ + {file = "alive-progress-3.1.4.tar.gz", hash = "sha256:74a95d8d0d42bc99d3a3725dbd06ebb852245f1b64e301a7c375b92b22663f7b"}, + {file = "alive_progress-3.1.4-py3-none-any.whl", hash = "sha256:c80ad87ce9c1054b01135a87fae69ecebbfc2107497ae87cbe6aec7e534903db"}, +] [package.dependencies] about-time = "4.2.1" @@ -140,17 +254,23 @@ grapheme = "0.6.0" name = "ansicon" version = "1.89.0" description = "Python wrapper for loading Jason Hood's ANSICON" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "ansicon-1.89.0-py2.py3-none-any.whl", hash = "sha256:f1def52d17f65c2c9682cf8370c03f541f410c1752d6a14029f97318e4b9dfec"}, + {file = "ansicon-1.89.0.tar.gz", hash = "sha256:e4d039def5768a47e4afec8e89e83ec3ae5a26bf00ad851f914d1240b444d2b1"}, +] [[package]] name = "anyio" version = "4.0.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"}, + {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"}, +] [package.dependencies] exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} @@ -166,9 +286,12 @@ trio = ["trio (>=0.22)"] name = "apache-airflow" version = "2.7.0" description = "Programmatically author, schedule and monitor data pipelines" -category = "dev" optional = false python-versions = "~=3.8" +files = [ + {file = "apache-airflow-2.7.0.tar.gz", hash = "sha256:06fba3df5943b6eda5e2f033e7e45b6ea557d89909ca36e61614ea61075f9722"}, + {file = "apache_airflow-2.7.0-py3-none-any.whl", hash = "sha256:8e3cf4b3cd8583a2e76bd04827af8d34747e0cf30a28cf0e70f4f4f39ce61f6d"}, +] [package.dependencies] alembic = ">=1.6.3,<2.0" @@ -372,9 +495,12 @@ zendesk = ["apache-airflow-providers-zendesk"] name = "apache-airflow-providers-common-sql" version = "1.7.1" description = "Provider for Apache Airflow. Implements apache-airflow-providers-common-sql package" -category = "dev" optional = false python-versions = "~=3.8" +files = [ + {file = "apache-airflow-providers-common-sql-1.7.1.tar.gz", hash = "sha256:ba37f795d9656a87cf4661edc381b8ecfe930272c59324b59f8a158fd0971aeb"}, + {file = "apache_airflow_providers_common_sql-1.7.1-py3-none-any.whl", hash = "sha256:36da2f51b51a64765b0ed5e6a5fece8eaa3ca173dfbff803e2fe2a0afbb90944"}, +] [package.dependencies] apache-airflow = ">=2.4.0" @@ -388,9 +514,12 @@ pandas = ["pandas (>=0.17.1)"] name = "apache-airflow-providers-ftp" version = "3.5.1" description = "Provider for Apache Airflow. Implements apache-airflow-providers-ftp package" -category = "dev" optional = false python-versions = "~=3.8" +files = [ + {file = "apache-airflow-providers-ftp-3.5.1.tar.gz", hash = "sha256:dc6dc524dc7454857a0812154d7540172e36db3a87e48a4a91918ebf80898bbf"}, + {file = "apache_airflow_providers_ftp-3.5.1-py3-none-any.whl", hash = "sha256:e4ea77d6276355acfe2392c12155db7b9d51be460b7673b616dc1d8bee03c1d7"}, +] [package.dependencies] apache-airflow = ">=2.4.0" @@ -402,9 +531,12 @@ openlineage = ["apache-airflow-providers-openlineage"] name = "apache-airflow-providers-http" version = "4.5.1" description = "Provider for Apache Airflow. Implements apache-airflow-providers-http package" -category = "dev" optional = false python-versions = "~=3.8" +files = [ + {file = "apache-airflow-providers-http-4.5.1.tar.gz", hash = "sha256:ec90920ff980fc264af9811dc72c37ef272bcdb3d007c7114e12366559426460"}, + {file = "apache_airflow_providers_http-4.5.1-py3-none-any.whl", hash = "sha256:702f26938bc22684eefecd297c2b0809793f9e43b8d911d807a29f21e69da179"}, +] [package.dependencies] aiohttp = "*" @@ -417,9 +549,12 @@ requests-toolbelt = "*" name = "apache-airflow-providers-imap" version = "3.3.1" description = "Provider for Apache Airflow. Implements apache-airflow-providers-imap package" -category = "dev" optional = false python-versions = "~=3.8" +files = [ + {file = "apache-airflow-providers-imap-3.3.1.tar.gz", hash = "sha256:40bac2a75e4dfbcd7d397776d90d03938facaf2707acc6cc119a8db684e53f77"}, + {file = "apache_airflow_providers_imap-3.3.1-py3-none-any.whl", hash = "sha256:adb6ef7864a5a8e245fbbd555bb4ef1eecf5b094d6d23ca0edc5f0aded50490d"}, +] [package.dependencies] apache-airflow = ">=2.4.0" @@ -428,9 +563,12 @@ apache-airflow = ">=2.4.0" name = "apache-airflow-providers-sqlite" version = "3.4.3" description = "Provider for Apache Airflow. Implements apache-airflow-providers-sqlite package" -category = "dev" optional = false python-versions = "~=3.8" +files = [ + {file = "apache-airflow-providers-sqlite-3.4.3.tar.gz", hash = "sha256:347d2db03eaa5ea9fef414666565ffa5e849935cbc30e37237edcaa822b5ced8"}, + {file = "apache_airflow_providers_sqlite-3.4.3-py3-none-any.whl", hash = "sha256:4ffa6a50f0ea1b4e51240b657dfec3fb026c87bdfa71af908a56461df6a6f2e0"}, +] [package.dependencies] apache-airflow = ">=2.4.0" @@ -443,9 +581,12 @@ common-sql = ["apache-airflow-providers-common-sql"] name = "apispec" version = "6.3.0" description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "apispec-6.3.0-py3-none-any.whl", hash = "sha256:95a0b9355785df998bb0e9b939237a30ee4c7428fd6ef97305eae3da06b9b339"}, + {file = "apispec-6.3.0.tar.gz", hash = "sha256:6cb08d92ce73ff0b3bf46cb2ea5c00d57289b0f279fb0256a3df468182ba5344"}, +] [package.dependencies] packaging = ">=21.3" @@ -464,17 +605,23 @@ yaml = ["PyYAML (>=3.10)"] name = "appdirs" version = "1.4.4" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = "*" +files = [ + {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, + {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, +] [[package]] name = "argcomplete" version = "3.1.1" description = "Bash tab completion for argparse" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "argcomplete-3.1.1-py3-none-any.whl", hash = "sha256:35fa893a88deea85ea7b20d241100e64516d6af6d7b0ae2bed1d263d26f70948"}, + {file = "argcomplete-3.1.1.tar.gz", hash = "sha256:6c4c563f14f01440aaffa3eae13441c5db2357b5eec639abe7c0b15334627dff"}, +] [package.extras] test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] @@ -483,9 +630,12 @@ test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] name = "asgiref" version = "3.7.2" description = "ASGI specs, helper code, and adapters" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"}, + {file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"}, +] [package.dependencies] typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} @@ -497,17 +647,23 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "asn1crypto" version = "1.5.1" description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" -category = "main" optional = true python-versions = "*" +files = [ + {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, + {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, +] [[package]] name = "astatine" version = "0.3.3" description = "Some handy helper functions for Python's AST module." -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "astatine-0.3.3-py3-none-any.whl", hash = "sha256:6d8c914f01fbea252cb8f31563f2e766a9ab03c02b9bcc37d18f7d9138828401"}, + {file = "astatine-0.3.3.tar.gz", hash = "sha256:0c58a7844b5890ff16da07dbfeb187341d8324cb4378940f89d795cbebebce08"}, +] [package.dependencies] asttokens = ">=1.1" @@ -517,9 +673,12 @@ domdf-python-tools = ">=2.7.0" name = "asttokens" version = "2.3.0" description = "Annotate AST trees with source code positions" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "asttokens-2.3.0-py2.py3-none-any.whl", hash = "sha256:bef1a51bc256d349e9f94e7e40e44b705ed1162f55294220dd561d24583d9877"}, + {file = "asttokens-2.3.0.tar.gz", hash = "sha256:2552a88626aaa7f0f299f871479fc755bd4e7c11e89078965e928fb7bb9a6afe"}, +] [package.dependencies] six = ">=1.12.0" @@ -531,9 +690,12 @@ test = ["astroid", "pytest"] name = "astunparse" version = "1.6.3" description = "An AST unparser for Python" -category = "main" optional = false python-versions = "*" +files = [ + {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"}, + {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"}, +] [package.dependencies] six = ">=1.6.1,<2.0" @@ -543,25 +705,33 @@ wheel = ">=0.23.0,<1.0" name = "async-timeout" version = "4.0.3" description = "Timeout context manager for asyncio programs" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] [[package]] name = "atomicwrites" version = "1.4.1" description = "Atomic file writes." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] [[package]] name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, + {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, +] [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] @@ -574,9 +744,12 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte name = "authlib" version = "1.2.1" description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients." -category = "main" optional = true python-versions = "*" +files = [ + {file = "Authlib-1.2.1-py2.py3-none-any.whl", hash = "sha256:c88984ea00149a90e3537c964327da930779afa4564e354edfd98410bea01911"}, + {file = "Authlib-1.2.1.tar.gz", hash = "sha256:421f7c6b468d907ca2d9afede256f068f87e34d23dd221c07d13d4c234726afb"}, +] [package.dependencies] cryptography = ">=3.2" @@ -585,9 +758,12 @@ cryptography = ">=3.2" name = "azure-core" version = "1.29.3" description = "Microsoft Azure Core Library for Python" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "azure-core-1.29.3.tar.gz", hash = "sha256:c92700af982e71c8c73de9f4c20da8b3f03ce2c22d13066e4d416b4629c87903"}, + {file = "azure_core-1.29.3-py3-none-any.whl", hash = "sha256:f8b2910f92b66293d93bd00564924ad20ad48f4a1e150577cf18d1e7d4f9263c"}, +] [package.dependencies] requests = ">=2.18.4" @@ -601,9 +777,12 @@ aio = ["aiohttp (>=3.0)"] name = "azure-datalake-store" version = "0.0.53" description = "Azure Data Lake Store Filesystem Client Library for Python" -category = "main" optional = true python-versions = "*" +files = [ + {file = "azure-datalake-store-0.0.53.tar.gz", hash = "sha256:05b6de62ee3f2a0a6e6941e6933b792b800c3e7f6ffce2fc324bc19875757393"}, + {file = "azure_datalake_store-0.0.53-py2.py3-none-any.whl", hash = "sha256:a30c902a6e360aa47d7f69f086b426729784e71c536f330b691647a51dc42b2b"}, +] [package.dependencies] cffi = "*" @@ -614,9 +793,12 @@ requests = ">=2.20.0" name = "azure-identity" version = "1.14.0" description = "Microsoft Azure Identity Library for Python" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "azure-identity-1.14.0.zip", hash = "sha256:72441799f8c5c89bfe21026965e266672a7c5d050c2c65119ef899dd5362e2b1"}, + {file = "azure_identity-1.14.0-py3-none-any.whl", hash = "sha256:edabf0e010eb85760e1dd19424d5e8f97ba2c9caff73a16e7b30ccbdbcce369b"}, +] [package.dependencies] azure-core = ">=1.11.0,<2.0.0" @@ -628,9 +810,12 @@ msal-extensions = ">=0.3.0,<2.0.0" name = "azure-storage-blob" version = "12.17.0" description = "Microsoft Azure Blob Storage Client Library for Python" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "azure-storage-blob-12.17.0.zip", hash = "sha256:c14b785a17050b30fc326a315bdae6bc4a078855f4f94a4c303ad74a48dc8c63"}, + {file = "azure_storage_blob-12.17.0-py3-none-any.whl", hash = "sha256:0016e0c549a80282d7b4920c03f2f4ba35c53e6e3c7dbcd2a4a8c8eb3882c1e7"}, +] [package.dependencies] azure-core = ">=1.28.0,<2.0.0" @@ -645,9 +830,12 @@ aio = ["azure-core[aio] (>=1.28.0,<2.0.0)"] name = "babel" version = "2.12.1" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, + {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, +] [package.dependencies] pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} @@ -656,17 +844,23 @@ pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} name = "backoff" version = "2.2.1" description = "Function decoration for backoff and retry" -category = "dev" optional = false python-versions = ">=3.7,<4.0" +files = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] [[package]] name = "bandit" version = "1.7.5" description = "Security oriented static analyser for python code." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, + {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, +] [package.dependencies] colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""} @@ -684,9 +878,12 @@ yaml = ["PyYAML"] name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" -category = "main" optional = true python-versions = ">=3.6.0" +files = [ + {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, + {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, +] [package.dependencies] soupsieve = ">1.2" @@ -699,9 +896,32 @@ lxml = ["lxml"] name = "black" version = "23.9.1" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"}, + {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"}, + {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"}, + {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"}, + {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"}, + {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"}, + {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"}, + {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"}, + {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"}, + {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"}, + {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"}, +] [package.dependencies] click = ">=8.0.0" @@ -722,9 +942,12 @@ uvloop = ["uvloop (>=0.15.2)"] name = "blessed" version = "1.20.0" description = "Easy, practical library for making terminal apps, by providing an elegant, well-documented interface to Colors, Keyboard input, and screen Positioning capabilities." -category = "dev" optional = false python-versions = ">=2.7" +files = [ + {file = "blessed-1.20.0-py2.py3-none-any.whl", hash = "sha256:0c542922586a265e699188e52d5f5ac5ec0dd517e5a1041d90d2bbf23f906058"}, + {file = "blessed-1.20.0.tar.gz", hash = "sha256:2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680"}, +] [package.dependencies] jinxed = {version = ">=1.1.0", markers = "platform_system == \"Windows\""} @@ -735,17 +958,23 @@ wcwidth = ">=0.1.4" name = "blinker" version = "1.6.2" description = "Fast, simple object-to-object and broadcast signaling" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "blinker-1.6.2-py3-none-any.whl", hash = "sha256:c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0"}, + {file = "blinker-1.6.2.tar.gz", hash = "sha256:4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"}, +] [[package]] name = "boto3" version = "1.26.161" description = "The AWS SDK for Python" -category = "main" optional = true python-versions = ">= 3.7" +files = [ + {file = "boto3-1.26.161-py3-none-any.whl", hash = "sha256:f66e5c9dbe7f34383bcf64fa6070771355c11a44dd75c7f1279f2f37e1c89183"}, + {file = "boto3-1.26.161.tar.gz", hash = "sha256:662731e464d14af1035f44fc6a46b0e3112ee011ac0a5ed416d205daa3e15f25"}, +] [package.dependencies] botocore = ">=1.29.161,<1.30.0" @@ -759,9 +988,12 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] name = "boto3-stubs" version = "1.28.40" description = "Type annotations for boto3 1.28.40 generated with mypy-boto3-builder 7.18.2" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "boto3-stubs-1.28.40.tar.gz", hash = "sha256:76079a82f199087319762c931f13506e02129132e80257dab0888d3da7dc11c7"}, + {file = "boto3_stubs-1.28.40-py3-none-any.whl", hash = "sha256:bd1d1cbdcbf18902a090d4a746cdecef2a7ebe31cf9a474bbe407d57eaa79a6a"}, +] [package.dependencies] botocore-stubs = "*" @@ -1136,9 +1368,12 @@ xray = ["mypy-boto3-xray (>=1.28.0,<1.29.0)"] name = "botocore" version = "1.29.161" description = "Low-level, data-driven core of boto 3." -category = "main" optional = true python-versions = ">= 3.7" +files = [ + {file = "botocore-1.29.161-py3-none-any.whl", hash = "sha256:b906999dd53dda2ef0ef6f7f55fcc81a4b06b9f1c8a9f65c546e0b981f959f5f"}, + {file = "botocore-1.29.161.tar.gz", hash = "sha256:a50edd715eb510343e27849f36483804aae4b871590db4d4996aa53368dcac40"}, +] [package.dependencies] jmespath = ">=0.7.1,<2.0.0" @@ -1152,9 +1387,12 @@ crt = ["awscrt (==0.16.9)"] name = "botocore-stubs" version = "1.31.40" description = "Type annotations and code completion for botocore" -category = "main" optional = false python-versions = ">=3.7,<4.0" +files = [ + {file = "botocore_stubs-1.31.40-py3-none-any.whl", hash = "sha256:aab534d7e7949cd543bc9b2fadc1a36712033cb00e6f31e2475eefe8486d19ae"}, + {file = "botocore_stubs-1.31.40.tar.gz", hash = "sha256:2001a253daf4ae2e171e6137b9982a00a7fbfc7a53449a16856dc049e7cd5214"}, +] [package.dependencies] types-awscrt = "*" @@ -1164,25 +1402,34 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.9\""} name = "cachelib" version = "0.9.0" description = "A collection of cache libraries in the same API interface." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "cachelib-0.9.0-py3-none-any.whl", hash = "sha256:811ceeb1209d2fe51cd2b62810bd1eccf70feba5c52641532498be5c675493b3"}, + {file = "cachelib-0.9.0.tar.gz", hash = "sha256:38222cc7c1b79a23606de5c2607f4925779e37cdcea1c2ad21b8bae94b5425a5"}, +] [[package]] name = "cachetools" version = "5.3.1" description = "Extensible memoizing collections and decorators" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, + {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, +] [[package]] name = "cattrs" version = "23.1.2" description = "Composable complex class support for attrs and dataclasses." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "cattrs-23.1.2-py3-none-any.whl", hash = "sha256:b2bb14311ac17bed0d58785e5a60f022e5431aca3932e3fc5cc8ed8639de50a4"}, + {file = "cattrs-23.1.2.tar.gz", hash = "sha256:db1c821b8c537382b2c7c66678c3790091ca0275ac486c76f3c8f3920e83c657"}, +] [package.dependencies] attrs = ">=20" @@ -1202,44 +1449,194 @@ ujson = ["ujson (>=5.4.0,<6.0.0)"] name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, +] [[package]] name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "chardet" -version = "5.2.0" +files = [ + {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, + {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, + {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, + {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, + {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, + {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, + {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, + {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, + {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, + {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, + {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, + {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, + {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, + {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, + {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, + {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, + {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, + {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, + {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, +] + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "chardet" +version = "5.2.0" description = "Universal encoding detector for Python 3" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, +] [[package]] name = "charset-normalizer" version = "3.2.0" 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 = [ + {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, + {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, +] [[package]] name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -1248,9 +1645,12 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "clickclick" version = "20.10.2" description = "Click utility functions" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "clickclick-20.10.2-py2.py3-none-any.whl", hash = "sha256:c8f33e6d9ec83f68416dd2136a7950125bd256ec39ccc9a85c6e280a16be2bb5"}, + {file = "clickclick-20.10.2.tar.gz", hash = "sha256:4efb13e62353e34c5eef7ed6582c4920b418d7dedc86d819e22ee089ba01802c"}, +] [package.dependencies] click = ">=4.0" @@ -1260,17 +1660,40 @@ PyYAML = ">=3.11" 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 = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "coloredlogs" +version = "15.0.1" +description = "Colored terminal output for Python's logging module" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] + +[package.dependencies] +humanfriendly = ">=9.1" + +[package.extras] +cron = ["capturer (>=2.4)"] [[package]] name = "colorlog" version = "4.8.0" description = "Log formatting with colors!" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "colorlog-4.8.0-py2.py3-none-any.whl", hash = "sha256:3dd15cb27e8119a24c1a7b5c93f9f3b455855e0f73993b1c25921b2f646f1dcd"}, + {file = "colorlog-4.8.0.tar.gz", hash = "sha256:59b53160c60902c405cdec28d38356e09d40686659048893e026ecbd589516b1"}, +] [package.dependencies] colorama = {version = "*", markers = "sys_platform == \"win32\""} @@ -1279,9 +1702,12 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} name = "configupdater" version = "3.1.1" description = "Parser like ConfigParser but for updating configuration files" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "ConfigUpdater-3.1.1-py2.py3-none-any.whl", hash = "sha256:805986dbeba317886c7a8d348b2e34986dc9e3128cd3761ecc35decbd372b286"}, + {file = "ConfigUpdater-3.1.1.tar.gz", hash = "sha256:46f0c74d73efa723776764b43c9739f68052495dd3d734319c1d0eb58511f15b"}, +] [package.extras] testing = ["flake8", "pytest", "pytest-cov", "pytest-virtualenv", "pytest-xdist", "sphinx"] @@ -1290,17 +1716,37 @@ testing = ["flake8", "pytest", "pytest-cov", "pytest-virtualenv", "pytest-xdist" name = "connectorx" version = "0.3.1" description = "" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "connectorx-0.3.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:719750045e7c3b94c199271fbfe6aef47944768e711f27bcc606b498707e0054"}, + {file = "connectorx-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aed31b08acebeb3ebbe53c0df846c686e7c27c4242bff3a75b72cf517d070257"}, + {file = "connectorx-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71d2c2678339fb01f89469bbe22e66e75cabcf727a52ed72d576fef5744ebc58"}, + {file = "connectorx-0.3.1-cp310-none-win_amd64.whl", hash = "sha256:92e576ef9610b59f8e5456c12d22e5b0752d0207f586df82701987657909888b"}, + {file = "connectorx-0.3.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:36c28cc59220998928e7b283eecf404e17e077dc3e525570096d0968b192cc64"}, + {file = "connectorx-0.3.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:c5173e7252f593c46787627a46561b0d949eb80ab23321e045bbf6bd5131945c"}, + {file = "connectorx-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c8411631750d24c12e5e296720637909b8515d5faa3b5eaf7bb86c582d02667"}, + {file = "connectorx-0.3.1-cp37-none-win_amd64.whl", hash = "sha256:0674b6389f8f2ba62155ac2f718df18f76f9de5c50d9911a5fefe7485e1c598e"}, + {file = "connectorx-0.3.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:324c5075e8aa6698db8c877cb847f0d86172784db88ac0f3e6762aa9852330f3"}, + {file = "connectorx-0.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:027a3880629a7b33ae0c7a80ab4fa53286957a253af2dfe34f19adfea6b79b91"}, + {file = "connectorx-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a666b967958fcf9fc0444a7b3603483ee23a2fe39f0da3d545ff199f376f7e4b"}, + {file = "connectorx-0.3.1-cp38-none-win_amd64.whl", hash = "sha256:3c5dedfd75cf44898c17cc84a1dd0ab6ed0fa54de0461f2d6aa4bcb2c2b0dc1d"}, + {file = "connectorx-0.3.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:354c4126bcd7a9efbb8879feac92e1e7b0d0712f7e98665c392af663805491f8"}, + {file = "connectorx-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3011e1f9a27fd2a7b12c6a45bc29f6e7577a27418a3f607adaf54b301ff09068"}, + {file = "connectorx-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1efb6ed547acc5837c2211e3d65d22948019d1653e7b30e522a4a4bd6d25fa8"}, + {file = "connectorx-0.3.1-cp39-none-win_amd64.whl", hash = "sha256:001b473e600b6d25af83b32674f98dccf49705a59bd6df724b5ba9beb236a0e0"}, +] [[package]] name = "connexion" version = "2.14.1" description = "Connexion - API first applications with OpenAPI/Swagger and Flask" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "connexion-2.14.1-py2.py3-none-any.whl", hash = "sha256:f343717241b4c4802a694c38fee66fb1693c897fe4ea5a957fa9b3b07caf6394"}, + {file = "connexion-2.14.1.tar.gz", hash = "sha256:99aa5781e70a7b94f8ffae8cf89f309d49cdb811bbd65a8e2f2546f3b19a01e6"}, +] [package.dependencies] clickclick = ">=1.2,<21" @@ -1324,9 +1770,11 @@ tests = ["MarkupSafe (>=0.23)", "aiohttp (>=2.3.10,<4)", "aiohttp-jinja2 (>=0.14 name = "cron-descriptor" version = "1.4.0" description = "A Python library that converts cron expressions into human readable strings." -category = "main" optional = false python-versions = "*" +files = [ + {file = "cron_descriptor-1.4.0.tar.gz", hash = "sha256:b6ff4e3a988d7ca04a4ab150248e9f166fb7a5c828a85090e75bcc25aa93b4dd"}, +] [package.extras] dev = ["polib"] @@ -1335,9 +1783,12 @@ dev = ["polib"] name = "croniter" version = "1.4.1" description = "croniter provides iteration for datetime object with cron like format" -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "croniter-1.4.1-py2.py3-none-any.whl", hash = "sha256:9595da48af37ea06ec3a9f899738f1b2c1c13da3c38cea606ef7cd03ea421128"}, + {file = "croniter-1.4.1.tar.gz", hash = "sha256:1a6df60eacec3b7a0aa52a8f2ef251ae3dd2a7c7c8b9874e73e791636d55a361"}, +] [package.dependencies] python-dateutil = "*" @@ -1346,9 +1797,33 @@ python-dateutil = "*" name = "cryptography" version = "41.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, + {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, + {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, + {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, +] [package.dependencies] cffi = ">=1.12" @@ -1367,9 +1842,12 @@ test-randomorder = ["pytest-randomly"] name = "databind-core" version = "4.4.0" description = "Databind is a library inspired by jackson-databind to de-/serialize Python dataclasses. Compatible with Python 3.7 and newer." -category = "dev" optional = false python-versions = ">=3.6.3,<4.0.0" +files = [ + {file = "databind.core-4.4.0-py3-none-any.whl", hash = "sha256:3c8a4d9abc93e158af9931d8cec389ddfc0514e02aec03b397948d243db11881"}, + {file = "databind.core-4.4.0.tar.gz", hash = "sha256:715d485e934c073f819f0250bbfcaf59c1319f83427365bc7cfd4c347f87576d"}, +] [package.dependencies] Deprecated = ">=1.2.12,<2.0.0" @@ -1382,9 +1860,12 @@ typing-extensions = ">=3.10.0" name = "databind-json" version = "4.4.0" description = "De-/serialize Python dataclasses to or from JSON payloads. Compatible with Python 3.7 and newer." -category = "dev" optional = false python-versions = ">=3.6.3,<4.0.0" +files = [ + {file = "databind.json-4.4.0-py3-none-any.whl", hash = "sha256:df8874118cfba6fd0e77ec3d41a87e04e26034bd545230cab0db1fe904bf1b09"}, + {file = "databind.json-4.4.0.tar.gz", hash = "sha256:4356afdf0aeefcc053eda0888650c59cc558be2686f08a58324d675ccd023586"}, +] [package.dependencies] "databind.core" = ">=4.4.0,<5.0.0" @@ -1396,9 +1877,12 @@ typing-extensions = ">=3.10.0" name = "dbt-athena-community" version = "1.5.2" description = "The athena adapter plugin for dbt (data build tool)" -category = "main" optional = true python-versions = "*" +files = [ + {file = "dbt-athena-community-1.5.2.tar.gz", hash = "sha256:9acd333ddf33514769189a7a0b6219e13966d370098211cb1d022fa32e64671a"}, + {file = "dbt_athena_community-1.5.2-py3-none-any.whl", hash = "sha256:c9f0f8425500211a1c1deddce5aff5ed24fe08530f0ffad38e63de9c9b9f3ee6"}, +] [package.dependencies] boto3 = ">=1.26,<2.0" @@ -1412,9 +1896,12 @@ tenacity = ">=8.2,<9.0" name = "dbt-bigquery" version = "1.5.6" description = "The Bigquery adapter plugin for dbt" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "dbt-bigquery-1.5.6.tar.gz", hash = "sha256:4655cf2ee0acda986b80e6c5d55cae57871bef22d868dfe29d8d4a5bca98a1ba"}, + {file = "dbt_bigquery-1.5.6-py3-none-any.whl", hash = "sha256:3f37544716880cbd17b32bc0c9728a0407b5615b2cd08e1bb904a7a83c46eb6c"}, +] [package.dependencies] agate = ">=1.6.3,<1.7.0" @@ -1427,9 +1914,12 @@ google-cloud-storage = ">=2.4,<3.0" name = "dbt-core" version = "1.5.6" description = "With dbt, data analysts and engineers can build analytics the way engineers build applications." -category = "main" optional = true python-versions = ">=3.7.2" +files = [ + {file = "dbt-core-1.5.6.tar.gz", hash = "sha256:af3c03cd4a1fc92481362888014ca1ffed2ffef0b0e0d98463ad0f26c49ef458"}, + {file = "dbt_core-1.5.6-py3-none-any.whl", hash = "sha256:030d2179f9efbf8ccea079296d0c79278d963bb2475c0bcce9ca4bbb0d8c393c"}, +] [package.dependencies] agate = ">=1.6,<1.7.1" @@ -1459,9 +1949,12 @@ werkzeug = ">=1,<3" name = "dbt-duckdb" version = "1.5.2" description = "The duckdb adapter plugin for dbt (data build tool)" -category = "main" optional = true python-versions = "*" +files = [ + {file = "dbt-duckdb-1.5.2.tar.gz", hash = "sha256:3407216c21bf78fd128dccfcff3ec4bf260fb145e633432015bc7d0f123e8e4b"}, + {file = "dbt_duckdb-1.5.2-py3-none-any.whl", hash = "sha256:5d18254807bbc3e61daf4f360208ad886adf44b8525e1998168290fbe73a5cbb"}, +] [package.dependencies] dbt-core = ">=1.5.0,<1.6.0" @@ -1474,29 +1967,52 @@ glue = ["boto3", "mypy-boto3-glue"] name = "dbt-extractor" version = "0.4.1" description = "A tool to analyze and extract information from Jinja used in dbt projects." -category = "main" optional = true python-versions = ">=3.6.1" - -[[package]] -name = "dbt-postgres" -version = "1.5.6" -description = "The postgres adapter plugin for dbt (data build tool)" -category = "main" -optional = true -python-versions = ">=3.7" - -[package.dependencies] -dbt-core = "1.5.6" -psycopg2-binary = ">=2.8,<3.0" - -[[package]] -name = "dbt-redshift" +files = [ + {file = "dbt_extractor-0.4.1-cp36-abi3-macosx_10_7_x86_64.whl", hash = "sha256:4dc715bd740e418d8dc1dd418fea508e79208a24cf5ab110b0092a3cbe96bf71"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:bc9e0050e3a2f4ea9fe58e8794bc808e6709a0c688ed710fc7c5b6ef3e5623ec"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76872cdee659075d6ce2df92dc62e59a74ba571be62acab2e297ca478b49d766"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81435841610be1b07806d72cd89b1956c6e2a84c360b9ceb3f949c62a546d569"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7c291f9f483eae4f60dd5859097d7ba51d5cb6c4725f08973ebd18cdea89d758"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:822b1e911db230e1b9701c99896578e711232001027b518c44c32f79a46fa3f9"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:554d27741a54599c39e5c0b7dbcab77400d83f908caba284a3e960db812e5814"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a805d51a25317f53cbff951c79b9cf75421cf48e4b3e1dfb3e9e8de6d824b76c"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cad90ddc708cb4182dc16fe2c87b1f088a1679877b93e641af068eb68a25d582"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:34783d788b133f223844e280e37b3f5244f2fb60acc457aa75c2667e418d5442"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:9da211869a1220ea55c5552c1567a3ea5233a6c52fa89ca87a22465481c37bc9"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_i686.whl", hash = "sha256:7d7c47774dc051b8c18690281a55e2e3d3320e823b17e04b06bc3ff81b1874ba"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:037907a7c7ae0391045d81338ca77ddaef899a91d80f09958f09fe374594e19b"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-win32.whl", hash = "sha256:3fe8d8e28a7bd3e0884896147269ca0202ca432d8733113386bdc84c824561bf"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-win_amd64.whl", hash = "sha256:35265a0ae0a250623b0c2e3308b2738dc8212e40e0aa88407849e9ea090bb312"}, + {file = "dbt_extractor-0.4.1.tar.gz", hash = "sha256:75b1c665699ec0f1ffce1ba3d776f7dfce802156f22e70a7b9c8f0b4d7e80f42"}, +] + +[[package]] +name = "dbt-postgres" +version = "1.5.6" +description = "The postgres adapter plugin for dbt (data build tool)" +optional = true +python-versions = ">=3.7" +files = [ + {file = "dbt-postgres-1.5.6.tar.gz", hash = "sha256:b74e471dc661819a3d4bda2d11497935661ac2e25786c8a5b7314d8241b18582"}, + {file = "dbt_postgres-1.5.6-py3-none-any.whl", hash = "sha256:bc5711c9ab0ec4b57ab814b2c4e4c973554c8374b7da94b06814ac81c91f67ef"}, +] + +[package.dependencies] +dbt-core = "1.5.6" +psycopg2-binary = ">=2.8,<3.0" + +[[package]] +name = "dbt-redshift" version = "1.5.10" description = "The Redshift adapter plugin for dbt" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "dbt-redshift-1.5.10.tar.gz", hash = "sha256:2b9ae1a7d05349e208b0937cd7cc920ea427341ef96096021b18e4070e927f5c"}, + {file = "dbt_redshift-1.5.10-py3-none-any.whl", hash = "sha256:b7689b043535b6b0d217c2abfe924db2336beaae71f3f36ab9aa1e920d2bb2e0"}, +] [package.dependencies] agate = "*" @@ -1509,9 +2025,12 @@ redshift-connector = "2.0.913" name = "dbt-snowflake" version = "1.5.3" description = "The Snowflake adapter plugin for dbt" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "dbt-snowflake-1.5.3.tar.gz", hash = "sha256:cf42772d2c2f1e29a2a64b039c66d80a8593f52a2dd711a144d43b4175802f9a"}, + {file = "dbt_snowflake-1.5.3-py3-none-any.whl", hash = "sha256:8aaa939d834798e5bb10a3ba4f52fc32a53e6e5568d6c0e8b3ac644f099972ff"}, +] [package.dependencies] dbt-core = ">=1.5.0,<1.6.0" @@ -1521,9 +2040,12 @@ snowflake-connector-python = {version = ">=3.0,<4.0", extras = ["secure-local-st name = "decopatch" version = "1.4.10" description = "Create decorators easily in python." -category = "dev" optional = false python-versions = "*" +files = [ + {file = "decopatch-1.4.10-py2.py3-none-any.whl", hash = "sha256:e151f7f93de2b1b3fd3f3272dcc7cefd1a69f68ec1c2d8e288ecd9deb36dc5f7"}, + {file = "decopatch-1.4.10.tar.gz", hash = "sha256:957f49c93f4150182c23f8fb51d13bb3213e0f17a79e09c8cca7057598b55720"}, +] [package.dependencies] makefun = ">=1.5.0" @@ -1532,17 +2054,23 @@ makefun = ">=1.5.0" name = "decorator" version = "5.1.1" description = "Decorators for Humans" -category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] [[package]] name = "deprecated" version = "1.2.14" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {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" @@ -1554,9 +2082,12 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] name = "diff-cover" version = "7.7.0" description = "Run coverage and linting reports on diffs" -category = "dev" optional = false python-versions = ">=3.7.2,<4.0.0" +files = [ + {file = "diff_cover-7.7.0-py3-none-any.whl", hash = "sha256:bf86f32ec999f9a9e79bf24969f7127ea7b4e55c3ef3cd9300feb13188c89736"}, + {file = "diff_cover-7.7.0.tar.gz", hash = "sha256:60614cf7e722cf7fb1bde497afac0b514294e1e26534449622dac4da296123fb"}, +] [package.dependencies] chardet = ">=3.0.0" @@ -1571,9 +2102,12 @@ toml = ["tomli (>=1.2.1)"] name = "dill" version = "0.3.7" description = "serialize all of Python" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, + {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, +] [package.extras] graph = ["objgraph (>=1.7.2)"] @@ -1582,9 +2116,12 @@ graph = ["objgraph (>=1.7.2)"] name = "dnspython" version = "2.4.2" description = "DNS toolkit" -category = "dev" optional = false python-versions = ">=3.8,<4.0" +files = [ + {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"}, + {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"}, +] [package.extras] dnssec = ["cryptography (>=2.6,<42.0)"] @@ -1598,9 +2135,12 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"] name = "docspec" version = "2.2.1" description = "Docspec is a JSON object specification for representing API documentation of programming languages." -category = "dev" optional = false python-versions = ">=3.7,<4.0" +files = [ + {file = "docspec-2.2.1-py3-none-any.whl", hash = "sha256:7538f750095a9688c6980ff9a4e029a823a500f64bd00b6b4bdb27951feb31cb"}, + {file = "docspec-2.2.1.tar.gz", hash = "sha256:4854e77edc0e2de40e785e57e95880f7095a05fe978f8b54cef7a269586e15ff"}, +] [package.dependencies] "databind.core" = ">=4.2.6,<5.0.0" @@ -1611,9 +2151,12 @@ Deprecated = ">=1.2.12,<2.0.0" name = "docspec-python" version = "2.2.1" description = "A parser based on lib2to3 producing docspec data from Python source code." -category = "dev" optional = false python-versions = ">=3.7,<4.0" +files = [ + {file = "docspec_python-2.2.1-py3-none-any.whl", hash = "sha256:76ac41d35a8face35b2d766c2e8a416fb8832359785d396f0d53bcb00f178e54"}, + {file = "docspec_python-2.2.1.tar.gz", hash = "sha256:c41b850b4d6f4de30999ea6f82c9cdb9183d9bcba45559ee9173d3dab7281559"}, +] [package.dependencies] black = ">=23.1.0,<24.0.0" @@ -1624,9 +2167,11 @@ docspec = ">=2.2.1,<3.0.0" name = "docstring-parser" version = "0.11" description = "\"Parse Python docstrings in reST, Google and Numpydoc format\"" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "docstring_parser-0.11.tar.gz", hash = "sha256:93b3f8f481c7d24e37c5d9f30293c89e2933fa209421c8abd731dd3ef0715ecb"}, +] [package.extras] test = ["black", "pytest"] @@ -1635,17 +2180,23 @@ test = ["black", "pytest"] name = "docutils" version = "0.20.1" description = "Docutils -- Python Documentation Utilities" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, + {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, +] [[package]] name = "domdf-python-tools" version = "3.6.1" description = "Helpful functions for Python 🐍 🛠️" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "domdf_python_tools-3.6.1-py3-none-any.whl", hash = "sha256:e18158460850957f18e740eb94ede56f580ddb0cb162ab9d9834ed8bbb1b6431"}, + {file = "domdf_python_tools-3.6.1.tar.gz", hash = "sha256:acc04563d23bce4d437dd08af6b9bea788328c412772a044d8ca428a7ad861be"}, +] [package.dependencies] importlib-metadata = {version = ">=3.6.0", markers = "python_version < \"3.9\""} @@ -1660,17 +2211,60 @@ dates = ["pytz (>=2019.1)"] name = "duckdb" version = "0.9.1" description = "DuckDB embedded database" -category = "main" optional = true python-versions = ">=3.7.0" +files = [ + {file = "duckdb-0.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6c724e105ecd78c8d86b3c03639b24e1df982392fc836705eb007e4b1b488864"}, + {file = "duckdb-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:75f12c5a3086079fb6440122565f1762ef1a610a954f2d8081014c1dd0646e1a"}, + {file = "duckdb-0.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:151f5410c32f8f8fe03bf23462b9604349bc0b4bd3a51049bbf5e6a482a435e8"}, + {file = "duckdb-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c1d066fdae22b9b711b1603541651a378017645f9fbc4adc9764b2f3c9e9e4a"}, + {file = "duckdb-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1de56d8b7bd7a7653428c1bd4b8948316df488626d27e9c388194f2e0d1428d4"}, + {file = "duckdb-0.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1fb6cd590b1bb4e31fde8efd25fedfbfa19a86fa72789fa5b31a71da0d95bce4"}, + {file = "duckdb-0.9.1-cp310-cp310-win32.whl", hash = "sha256:1039e073714d668cef9069bb02c2a6756c7969cedda0bff1332520c4462951c8"}, + {file = "duckdb-0.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:7e6ac4c28918e1d278a89ff26fd528882aa823868ed530df69d6c8a193ae4e41"}, + {file = "duckdb-0.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5eb750f2ee44397a61343f32ee9d9e8c8b5d053fa27ba4185d0e31507157f130"}, + {file = "duckdb-0.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aea2a46881d75dc069a242cb164642d7a4f792889010fb98210953ab7ff48849"}, + {file = "duckdb-0.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed3dcedfc7a9449b6d73f9a2715c730180056e0ba837123e7967be1cd3935081"}, + {file = "duckdb-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c55397bed0087ec4445b96f8d55f924680f6d40fbaa7f2e35468c54367214a5"}, + {file = "duckdb-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3261696130f1cfb955735647c93297b4a6241753fb0de26c05d96d50986c6347"}, + {file = "duckdb-0.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:64c04b1728e3e37cf93748829b5d1e028227deea75115bb5ead01c608ece44b1"}, + {file = "duckdb-0.9.1-cp311-cp311-win32.whl", hash = "sha256:12cf9fb441a32702e31534330a7b4d569083d46a91bf185e0c9415000a978789"}, + {file = "duckdb-0.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:fdfd85575ce9540e593d5d25c9d32050bd636c27786afd7b776aae0f6432b55e"}, + {file = "duckdb-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:704700a4b469e3bb1a7e85ac12e58037daaf2b555ef64a3fe2913ffef7bd585b"}, + {file = "duckdb-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf55b303b7b1a8c2165a96e609eb30484bc47481d94a5fb1e23123e728df0a74"}, + {file = "duckdb-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b70e23c14746904ca5de316436e43a685eb769c67fe3dbfaacbd3cce996c5045"}, + {file = "duckdb-0.9.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:77379f7f1f8b4dc98e01f8f6f8f15a0858cf456e2385e22507f3cb93348a88f9"}, + {file = "duckdb-0.9.1-cp37-cp37m-win32.whl", hash = "sha256:92c8f738489838666cae9ef41703f8b16f660bb146970d1eba8b2c06cb3afa39"}, + {file = "duckdb-0.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08c5484ac06ab714f745526d791141f547e2f5ac92f97a0a1b37dfbb3ea1bd13"}, + {file = "duckdb-0.9.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f66d3c07c7f6938d3277294677eb7dad75165e7c57c8dd505503fc5ef10f67ad"}, + {file = "duckdb-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c38044e5f78c0c7b58e9f937dcc6c34de17e9ca6be42f9f8f1a5a239f7a847a5"}, + {file = "duckdb-0.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73bc0d715b79566b3ede00c367235cfcce67be0eddda06e17665c7a233d6854a"}, + {file = "duckdb-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d26622c3b4ea6a8328d95882059e3cc646cdc62d267d48d09e55988a3bba0165"}, + {file = "duckdb-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3367d10096ff2b7919cedddcf60d308d22d6e53e72ee2702f6e6ca03d361004a"}, + {file = "duckdb-0.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d88a119f1cb41911a22f08a6f084d061a8c864e28b9433435beb50a56b0d06bb"}, + {file = "duckdb-0.9.1-cp38-cp38-win32.whl", hash = "sha256:99567496e45b55c67427133dc916013e8eb20a811fc7079213f5f03b2a4f5fc0"}, + {file = "duckdb-0.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:5b3da4da73422a3235c3500b3fb541ac546adb3e35642ef1119dbcd9cc7f68b8"}, + {file = "duckdb-0.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eca00c0c2062c0265c6c0e78ca2f6a30611b28f3afef062036610e9fc9d4a67d"}, + {file = "duckdb-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eb5af8e89d40fc4baab1515787ea1520a6c6cf6aa40ab9f107df6c3a75686ce1"}, + {file = "duckdb-0.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fae3d4f83ebcb47995f6acad7c6d57d003a9b6f0e1b31f79a3edd6feb377443"}, + {file = "duckdb-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16b9a7efc745bc3c5d1018c3a2f58d9e6ce49c0446819a9600fdba5f78e54c47"}, + {file = "duckdb-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b0b60167f5537772e9f5af940e69dcf50e66f5247732b8bb84a493a9af6055"}, + {file = "duckdb-0.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4f27f5e94c47df6c4ccddf18e3277b7464eea3db07356d2c4bf033b5c88359b8"}, + {file = "duckdb-0.9.1-cp39-cp39-win32.whl", hash = "sha256:d43cd7e6f783006b59dcc5e40fcf157d21ee3d0c8dfced35278091209e9974d7"}, + {file = "duckdb-0.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:e666795887d9cf1d6b6f6cbb9d487270680e5ff6205ebc54b2308151f13b8cff"}, + {file = "duckdb-0.9.1.tar.gz", hash = "sha256:603a878746015a3f2363a65eb48bcbec816261b6ee8d71eee53061117f6eef9d"}, +] [[package]] name = "email-validator" version = "1.3.1" description = "A robust email address syntax and deliverability validation library." -category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "email_validator-1.3.1-py2.py3-none-any.whl", hash = "sha256:49a72f5fa6ed26be1c964f0567d931d10bf3fdeeacdf97bc26ef1cd2a44e0bda"}, + {file = "email_validator-1.3.1.tar.gz", hash = "sha256:d178c5c6fa6c6824e9b04f199cf23e79ac15756786573c190d2ad13089411ad2"}, +] [package.dependencies] dnspython = ">=1.15.0" @@ -1680,9 +2274,12 @@ idna = ">=2.0.0" name = "enlighten" version = "1.11.2" description = "Enlighten Progress Bar" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "enlighten-1.11.2-py2.py3-none-any.whl", hash = "sha256:98c9eb20e022b6a57f1c8d4f17e16760780b6881e6d658c40f52d21255ea45f3"}, + {file = "enlighten-1.11.2.tar.gz", hash = "sha256:9284861dee5a272e0e1a3758cd3f3b7180b1bd1754875da76876f2a7f46ccb61"}, +] [package.dependencies] blessed = ">=1.17.7" @@ -1692,20 +2289,44 @@ prefixed = ">=0.3.2" name = "exceptiongroup" version = "1.1.3" description = "Backport of PEP 654 (exception groups)" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, + {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, +] [package.extras] test = ["pytest (>=6)"] +[[package]] +name = "fastembed" +version = "0.1.1" +description = "Fast, light, accurate library built for retrieval embedding generation" +optional = true +python-versions = ">=3.8.0,<3.12" +files = [ + {file = "fastembed-0.1.1-py3-none-any.whl", hash = "sha256:131413ae52cd72f4c8cced7a675f8269dbfd1a852abade3c815e265114bcc05a"}, + {file = "fastembed-0.1.1.tar.gz", hash = "sha256:f7e524ee4f74bb8aad16be5b687d1f77f608d40e96e292c87881dc36baf8f4c7"}, +] + +[package.dependencies] +onnx = ">=1.11,<2.0" +onnxruntime = ">=1.15,<2.0" +requests = ">=2.31,<3.0" +tokenizers = ">=0.13,<0.14" +tqdm = ">=4.65,<5.0" + [[package]] name = "filelock" version = "3.12.3" description = "A platform independent file lock." -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "filelock-3.12.3-py3-none-any.whl", hash = "sha256:f067e40ccc40f2b48395a80fcbd4728262fab54e232e090a4063ab804179efeb"}, + {file = "filelock-3.12.3.tar.gz", hash = "sha256:0ecc1dd2ec4672a10c8550a8182f1bd0c0a5088470ecd5a125e45f49472fac3d"}, +] [package.dependencies] typing-extensions = {version = ">=4.7.1", markers = "python_version < \"3.11\""} @@ -1718,9 +2339,12 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pyt name = "flake8" version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = ">=3.6.1" +files = [ + {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"}, + {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"}, +] [package.dependencies] mccabe = ">=0.7.0,<0.8.0" @@ -1731,9 +2355,12 @@ pyflakes = ">=2.5.0,<2.6.0" name = "flake8-bugbear" version = "22.12.6" description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "flake8-bugbear-22.12.6.tar.gz", hash = "sha256:4cdb2c06e229971104443ae293e75e64c6107798229202fbe4f4091427a30ac0"}, + {file = "flake8_bugbear-22.12.6-py3-none-any.whl", hash = "sha256:b69a510634f8a9c298dfda2b18a8036455e6b19ecac4fe582e4d7a0abfa50a30"}, +] [package.dependencies] attrs = ">=19.2.0" @@ -1746,9 +2373,12 @@ dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit", "tox"] name = "flake8-builtins" version = "1.5.3" description = "Check for python builtins being used as variables or parameters." -category = "dev" optional = false python-versions = "*" +files = [ + {file = "flake8-builtins-1.5.3.tar.gz", hash = "sha256:09998853b2405e98e61d2ff3027c47033adbdc17f9fe44ca58443d876eb00f3b"}, + {file = "flake8_builtins-1.5.3-py2.py3-none-any.whl", hash = "sha256:7706babee43879320376861897e5d1468e396a40b8918ed7bccf70e5f90b8687"}, +] [package.dependencies] flake8 = "*" @@ -1760,9 +2390,12 @@ test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"] name = "flake8-encodings" version = "0.5.0.post1" description = "A Flake8 plugin to identify incorrect use of encodings." -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "flake8_encodings-0.5.0.post1-py3-none-any.whl", hash = "sha256:d2fecca0e89ba09c86e5d61cf6bdb1b337f0d74746aac67bbcf0c517b4cb6cba"}, + {file = "flake8_encodings-0.5.0.post1.tar.gz", hash = "sha256:082c0163325c85b438a8106e876283b5ed3cbfc53e68d89130d70be8be4c9977"}, +] [package.dependencies] astatine = ">=0.3.1" @@ -1778,9 +2411,12 @@ classes = ["jedi (>=0.18.0)"] name = "flake8-helper" version = "0.2.1" description = "A helper library for Flake8 plugins." -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "flake8_helper-0.2.1-py3-none-any.whl", hash = "sha256:9123cdf351ad32ee8a51b85036052302c478122d62fb512c0773e111b3d05241"}, + {file = "flake8_helper-0.2.1.tar.gz", hash = "sha256:479f86d1c52df8e49ff876ecd3873242699f93eeece7e6675cdca9c37c9b0a16"}, +] [package.dependencies] flake8 = ">=3.8.4" @@ -1789,9 +2425,12 @@ flake8 = ">=3.8.4" name = "flake8-tidy-imports" version = "4.10.0" description = "A flake8 plugin that helps you write tidier imports." -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "flake8_tidy_imports-4.10.0-py3-none-any.whl", hash = "sha256:b0387fb2ea200441bd142309e716fb7b8f4b0937bdf5f8b7c0c118a5f5e2b8ed"}, + {file = "flake8_tidy_imports-4.10.0.tar.gz", hash = "sha256:bd6cf86465402d2b86903009b748d85a628e599e17b76e810c9857e3a2815173"}, +] [package.dependencies] flake8 = ">=3.8.0" @@ -1800,9 +2439,12 @@ flake8 = ">=3.8.0" name = "flask" version = "2.2.5" description = "A simple framework for building complex web applications." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Flask-2.2.5-py3-none-any.whl", hash = "sha256:58107ed83443e86067e41eff4631b058178191a355886f8e479e347fa1285fdf"}, + {file = "Flask-2.2.5.tar.gz", hash = "sha256:edee9b0a7ff26621bd5a8c10ff484ae28737a2410d99b0bb9a6850c7fb977aa0"}, +] [package.dependencies] click = ">=8.0" @@ -1819,9 +2461,12 @@ dotenv = ["python-dotenv"] name = "flask-appbuilder" version = "4.3.3" description = "Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more." -category = "dev" optional = false python-versions = "~=3.7" +files = [ + {file = "Flask-AppBuilder-4.3.3.tar.gz", hash = "sha256:b420379f74788e431a2763f8d3749cc37712df682dc00a45538d85d989340768"}, + {file = "Flask_AppBuilder-4.3.3-py3-none-any.whl", hash = "sha256:7eb1904d8f61297778ebf0d0b83f1d74b154534c9e84af3bb9198cfc0f51ff05"}, +] [package.dependencies] apispec = {version = ">=6.0.0,<7", extras = ["yaml"]} @@ -1854,9 +2499,12 @@ openid = ["Flask-OpenID (>=1.2.5,<2)"] name = "flask-babel" version = "2.0.0" description = "Adds i18n/l10n support to Flask applications" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "Flask-Babel-2.0.0.tar.gz", hash = "sha256:f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d"}, + {file = "Flask_Babel-2.0.0-py3-none-any.whl", hash = "sha256:e6820a052a8d344e178cdd36dd4bb8aea09b4bda3d5f9fa9f008df2c7f2f5468"}, +] [package.dependencies] Babel = ">=2.3" @@ -1871,9 +2519,12 @@ dev = ["Pallets-Sphinx-Themes", "bumpversion", "ghp-import", "pytest", "pytest-m name = "flask-caching" version = "2.0.2" description = "Adds caching support to Flask applications." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Flask-Caching-2.0.2.tar.gz", hash = "sha256:24b60c552d59a9605cc1b6a42c56cdb39a82a28dab4532bbedb9222ae54ecb4e"}, + {file = "Flask_Caching-2.0.2-py3-none-any.whl", hash = "sha256:19571f2570e9b8dd9dd9d2f49d7cbee69c14ebe8cc001100b1eb98c379dd80ad"}, +] [package.dependencies] cachelib = ">=0.9.0,<0.10.0" @@ -1883,9 +2534,12 @@ Flask = "<3" name = "flask-jwt-extended" version = "4.5.2" description = "Extended JWT integration with Flask" -category = "dev" optional = false python-versions = ">=3.7,<4" +files = [ + {file = "Flask-JWT-Extended-4.5.2.tar.gz", hash = "sha256:ba56245ba43b71c8ae936784b867625dce8b9956faeedec2953222e57942fb0b"}, + {file = "Flask_JWT_Extended-4.5.2-py2.py3-none-any.whl", hash = "sha256:e0ef23d8c863746bd141046167073699e1a7b03c97169cbba70f05b8d9cd6b9e"}, +] [package.dependencies] Flask = ">=2.0,<3.0" @@ -1899,9 +2553,12 @@ asymmetric-crypto = ["cryptography (>=3.3.1)"] name = "flask-limiter" version = "3.5.0" description = "Rate limiting for flask applications" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Flask-Limiter-3.5.0.tar.gz", hash = "sha256:13a3491b994c49f7cb4706587a38ca47e8162b576530472df38be68104f299c0"}, + {file = "Flask_Limiter-3.5.0-py3-none-any.whl", hash = "sha256:dbda4174f44e6cb858c6eb75e7488186f2977dd5d33d7028ba1aabf179de1bee"}, +] [package.dependencies] Flask = ">=2" @@ -1919,9 +2576,12 @@ redis = ["limits[redis]"] name = "flask-login" version = "0.6.2" description = "User authentication and session management for Flask." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Flask-Login-0.6.2.tar.gz", hash = "sha256:c0a7baa9fdc448cdd3dd6f0939df72eec5177b2f7abe6cb82fc934d29caac9c3"}, + {file = "Flask_Login-0.6.2-py3-none-any.whl", hash = "sha256:1ef79843f5eddd0f143c2cd994c1b05ac83c0401dc6234c143495af9a939613f"}, +] [package.dependencies] Flask = ">=1.0.4" @@ -1931,9 +2591,12 @@ Werkzeug = ">=1.0.1" name = "flask-session" version = "0.5.0" description = "Server-side session support for Flask" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Flask-Session-0.5.0.tar.gz", hash = "sha256:190875e6aebf2953c6803d42379ef3b934bc209ef8ef006f97aecb08f5aaeb86"}, + {file = "flask_session-0.5.0-py3-none-any.whl", hash = "sha256:1619bcbc16f04f64e90f8e0b17145ba5c9700090bb1294e889956c1282d58631"}, +] [package.dependencies] cachelib = "*" @@ -1943,9 +2606,12 @@ flask = ">=2.2" name = "flask-sqlalchemy" version = "2.5.1" description = "Adds SQLAlchemy support to your Flask application." -category = "dev" optional = false python-versions = ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*, != 3.3.*" +files = [ + {file = "Flask-SQLAlchemy-2.5.1.tar.gz", hash = "sha256:2bda44b43e7cacb15d4e05ff3cc1f8bc97936cc464623424102bfc2c35e95912"}, + {file = "Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl", hash = "sha256:f12c3d4cc5cc7fdcc148b9527ea05671718c3ea45d50c7e732cceb33f574b390"}, +] [package.dependencies] Flask = ">=0.10" @@ -1955,9 +2621,12 @@ SQLAlchemy = ">=0.8.0" name = "flask-wtf" version = "1.1.1" description = "Form rendering, validation, and CSRF protection for Flask with WTForms." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Flask-WTF-1.1.1.tar.gz", hash = "sha256:41c4244e9ae626d63bed42ae4785b90667b885b1535d5a4095e1f63060d12aa9"}, + {file = "Flask_WTF-1.1.1-py3-none-any.whl", hash = "sha256:7887d6f1ebb3e17bf648647422f0944c9a469d0fcf63e3b66fb9a83037e38b2c"}, +] [package.dependencies] Flask = "*" @@ -1967,21 +2636,97 @@ WTForms = "*" [package.extras] email = ["email-validator"] +[[package]] +name = "flatbuffers" +version = "23.5.26" +description = "The FlatBuffers serialization format for Python" +optional = true +python-versions = "*" +files = [ + {file = "flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1"}, + {file = "flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89"}, +] + [[package]] name = "frozenlist" version = "1.4.0" description = "A list-like structure which implements collections.abc.MutableSequence" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, + {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, + {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, + {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, + {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, + {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, + {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, + {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, + {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, + {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, +] [[package]] name = "fsspec" version = "2023.6.0" description = "File-system specification" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "fsspec-2023.6.0-py3-none-any.whl", hash = "sha256:1cbad1faef3e391fba6dc005ae9b5bdcbf43005c9167ce78c915549c352c869a"}, + {file = "fsspec-2023.6.0.tar.gz", hash = "sha256:d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af"}, +] [package.extras] abfs = ["adlfs"] @@ -2011,17 +2756,22 @@ tqdm = ["tqdm"] name = "future" version = "0.18.3" description = "Clean single-source support for Python 3 and 2" -category = "main" optional = true python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, +] [[package]] name = "gcsfs" version = "2023.6.0" description = "Convenient Filesystem interface over GCS" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "gcsfs-2023.6.0-py2.py3-none-any.whl", hash = "sha256:3b3c7d8eddd4ec1380f3b49fbb861ee1e974adb223564401f10884b6260d406f"}, + {file = "gcsfs-2023.6.0.tar.gz", hash = "sha256:30b14fccadb3b7f0d99b2cd03bd8507c40f3a9a7d05847edca571f642bedbdff"}, +] [package.dependencies] aiohttp = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1" @@ -2040,9 +2790,12 @@ gcsfuse = ["fusepy"] name = "gitdb" version = "4.0.10" description = "Git Object Database" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, + {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, +] [package.dependencies] smmap = ">=3.0.1,<6" @@ -2051,9 +2804,12 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.34" description = "GitPython is a Python library used to interact with Git repositories" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "GitPython-3.1.34-py3-none-any.whl", hash = "sha256:5d3802b98a3bae1c2b8ae0e1ff2e4aa16bcdf02c145da34d092324f599f01395"}, + {file = "GitPython-3.1.34.tar.gz", hash = "sha256:85f7d365d1f6bf677ae51039c1ef67ca59091c7ebd5a3509aa399d4eda02d6dd"}, +] [package.dependencies] gitdb = ">=4.0.1,<5" @@ -2062,28 +2818,34 @@ gitdb = ">=4.0.1,<5" name = "giturlparse" version = "0.11.1" description = "A Git URL parsing module (supports parsing and rewriting)" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "giturlparse-0.11.1-py2.py3-none-any.whl", hash = "sha256:6422f25c8ca563e1a3cb6b85862e48614be804cd1334e6d84be5630eb26b343f"}, + {file = "giturlparse-0.11.1.tar.gz", hash = "sha256:cdbe0c062096c69e00f08397826dddebc1f73bc15b793994579c13aafc70c990"}, +] [[package]] name = "google-api-core" version = "2.11.1" description = "Google API client core library" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "google-api-core-2.11.1.tar.gz", hash = "sha256:25d29e05a0058ed5f19c61c0a78b1b53adea4d9364b464d014fbda941f6d1c9a"}, + {file = "google_api_core-2.11.1-py3-none-any.whl", hash = "sha256:d92a5a92dc36dd4f4b9ee4e55528a90e432b059f93aee6ad857f9de8cc7ae94a"}, +] [package.dependencies] google-auth = ">=2.14.1,<3.0.dev0" googleapis-common-protos = ">=1.56.2,<2.0.dev0" grpcio = [ - {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""}, - {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\""}, + {version = ">=1.33.2,<2.0dev", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, + {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, ] grpcio-status = [ - {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "extra == \"grpc\""}, - {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\""}, + {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, + {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, ] protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0.dev0" requests = ">=2.18.0,<3.0.0.dev0" @@ -2097,12 +2859,15 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] name = "google-api-python-client" version = "2.97.0" description = "Google API Client Library for Python" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "google-api-python-client-2.97.0.tar.gz", hash = "sha256:48277291894876a1ca7ed4127e055e81f81e6343ced1b544a7200ae2c119dcd7"}, + {file = "google_api_python_client-2.97.0-py2.py3-none-any.whl", hash = "sha256:5215f4cd577753fc4192ccfbe0bb8b55d4bb5fd68fa6268ac5cf271b6305de31"}, +] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0.dev0" +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0.dev0" google-auth = ">=1.19.0,<3.0.0.dev0" google-auth-httplib2 = ">=0.1.0" httplib2 = ">=0.15.0,<1.dev0" @@ -2112,9 +2877,12 @@ uritemplate = ">=3.0.1,<5" name = "google-auth" version = "2.22.0" description = "Google Authentication Library" -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "google-auth-2.22.0.tar.gz", hash = "sha256:164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce"}, + {file = "google_auth-2.22.0-py2.py3-none-any.whl", hash = "sha256:d61d1b40897407b574da67da1a833bdc10d5a11642566e506565d1b1a46ba873"}, +] [package.dependencies] cachetools = ">=2.0.0,<6.0" @@ -2134,9 +2902,12 @@ requests = ["requests (>=2.20.0,<3.0.0.dev0)"] name = "google-auth-httplib2" version = "0.1.0" description = "Google Authentication Library: httplib2 transport" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "google-auth-httplib2-0.1.0.tar.gz", hash = "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac"}, + {file = "google_auth_httplib2-0.1.0-py2.py3-none-any.whl", hash = "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10"}, +] [package.dependencies] google-auth = "*" @@ -2147,9 +2918,12 @@ six = "*" name = "google-auth-oauthlib" version = "1.0.0" description = "Google Authentication Library" -category = "main" optional = false python-versions = ">=3.6" +files = [ + {file = "google-auth-oauthlib-1.0.0.tar.gz", hash = "sha256:e375064964820b47221a7e1b7ee1fd77051b6323c3f9e3e19785f78ab67ecfc5"}, + {file = "google_auth_oauthlib-1.0.0-py2.py3-none-any.whl", hash = "sha256:95880ca704928c300f48194d1770cf5b1462835b6e49db61445a520f793fd5fb"}, +] [package.dependencies] google-auth = ">=2.15.0" @@ -2162,12 +2936,15 @@ tool = ["click (>=6.0.0)"] name = "google-cloud-bigquery" version = "3.11.4" description = "Google BigQuery API client library" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "google-cloud-bigquery-3.11.4.tar.gz", hash = "sha256:697df117241a2283bcbb93b21e10badc14e51c9a90800d2a7e1a3e1c7d842974"}, + {file = "google_cloud_bigquery-3.11.4-py2.py3-none-any.whl", hash = "sha256:5fa7897743a0ed949ade25a0942fc9e7557d8fce307c6f8a76d1b604cf27f1b1"}, +] [package.dependencies] -google-api-core = {version = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev", extras = ["grpc"]} +google-api-core = {version = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev", extras = ["grpc"]} google-cloud-core = ">=1.6.0,<3.0.0dev" google-resumable-media = ">=0.6.0,<3.0dev" grpcio = [ @@ -2194,12 +2971,15 @@ tqdm = ["tqdm (>=4.7.4,<5.0.0dev)"] name = "google-cloud-core" version = "2.3.3" description = "Google Cloud API client core library" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "google-cloud-core-2.3.3.tar.gz", hash = "sha256:37b80273c8d7eee1ae816b3a20ae43585ea50506cb0e60f3cf5be5f87f1373cb"}, + {file = "google_cloud_core-2.3.3-py2.py3-none-any.whl", hash = "sha256:fbd11cad3e98a7e5b0343dc07cb1039a5ffd7a5bb96e1f1e27cee4bda4a90863"}, +] [package.dependencies] -google-api-core = ">=1.31.6,<2.0.0 || >2.3.0,<3.0.0dev" +google-api-core = ">=1.31.6,<2.0.dev0 || >2.3.0,<3.0.0dev" google-auth = ">=1.25.0,<3.0dev" [package.extras] @@ -2209,12 +2989,15 @@ grpc = ["grpcio (>=1.38.0,<2.0dev)"] name = "google-cloud-dataproc" version = "5.4.3" description = "Google Cloud Dataproc API client library" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "google-cloud-dataproc-5.4.3.tar.gz", hash = "sha256:d9c77c52aa5ddf52ae657736dbfb5312402933f72bab8480fc2d2afe98697402"}, + {file = "google_cloud_dataproc-5.4.3-py2.py3-none-any.whl", hash = "sha256:9cfff56cb53621cdffd0a3d6b10701e886e0a8ad54891e6c223eb67c0ff753ad"}, +] [package.dependencies] -google-api-core = {version = ">=1.34.0,<2.0.0 || >=2.11.0,<3.0.0dev", extras = ["grpc"]} +google-api-core = {version = ">=1.34.0,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]} grpc-google-iam-v1 = ">=0.12.4,<1.0.0dev" proto-plus = [ {version = ">=1.22.0,<2.0.0dev", markers = "python_version < \"3.11\""}, @@ -2226,12 +3009,15 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4 name = "google-cloud-storage" version = "2.10.0" description = "Google Cloud Storage API client library" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "google-cloud-storage-2.10.0.tar.gz", hash = "sha256:934b31ead5f3994e5360f9ff5750982c5b6b11604dc072bc452c25965e076dc7"}, + {file = "google_cloud_storage-2.10.0-py2.py3-none-any.whl", hash = "sha256:9433cf28801671de1c80434238fb1e7e4a1ba3087470e90f70c928ea77c2b9d7"}, +] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev" +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev" google-auth = ">=1.25.0,<3.0dev" google-cloud-core = ">=2.3.0,<3.0dev" google-resumable-media = ">=2.3.2" @@ -2244,9 +3030,78 @@ protobuf = ["protobuf (<5.0.0dev)"] name = "google-crc32c" version = "1.5.0" description = "A python wrapper of the C library 'Google CRC32C'" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "google-crc32c-1.5.0.tar.gz", hash = "sha256:89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7"}, + {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13"}, + {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:be82c3c8cfb15b30f36768797a640e800513793d6ae1724aaaafe5bf86f8f346"}, + {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:461665ff58895f508e2866824a47bdee72497b091c730071f2b7575d5762ab65"}, + {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2096eddb4e7c7bdae4bd69ad364e55e07b8316653234a56552d9c988bd2d61b"}, + {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:116a7c3c616dd14a3de8c64a965828b197e5f2d121fedd2f8c5585c547e87b02"}, + {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5829b792bf5822fd0a6f6eb34c5f81dd074f01d570ed7f36aa101d6fc7a0a6e4"}, + {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:64e52e2b3970bd891309c113b54cf0e4384762c934d5ae56e283f9a0afcd953e"}, + {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:02ebb8bf46c13e36998aeaad1de9b48f4caf545e91d14041270d9dca767b780c"}, + {file = "google_crc32c-1.5.0-cp310-cp310-win32.whl", hash = "sha256:2e920d506ec85eb4ba50cd4228c2bec05642894d4c73c59b3a2fe20346bd00ee"}, + {file = "google_crc32c-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:07eb3c611ce363c51a933bf6bd7f8e3878a51d124acfc89452a75120bc436289"}, + {file = "google_crc32c-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cae0274952c079886567f3f4f685bcaf5708f0a23a5f5216fdab71f81a6c0273"}, + {file = "google_crc32c-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1034d91442ead5a95b5aaef90dbfaca8633b0247d1e41621d1e9f9db88c36298"}, + {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c42c70cd1d362284289c6273adda4c6af8039a8ae12dc451dcd61cdabb8ab57"}, + {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8485b340a6a9e76c62a7dce3c98e5f102c9219f4cfbf896a00cf48caf078d438"}, + {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77e2fd3057c9d78e225fa0a2160f96b64a824de17840351b26825b0848022906"}, + {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f583edb943cf2e09c60441b910d6a20b4d9d626c75a36c8fcac01a6c96c01183"}, + {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a1fd716e7a01f8e717490fbe2e431d2905ab8aa598b9b12f8d10abebb36b04dd"}, + {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:72218785ce41b9cfd2fc1d6a017dc1ff7acfc4c17d01053265c41a2c0cc39b8c"}, + {file = "google_crc32c-1.5.0-cp311-cp311-win32.whl", hash = "sha256:66741ef4ee08ea0b2cc3c86916ab66b6aef03768525627fd6a1b34968b4e3709"}, + {file = "google_crc32c-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:ba1eb1843304b1e5537e1fca632fa894d6f6deca8d6389636ee5b4797affb968"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:98cb4d057f285bd80d8778ebc4fde6b4d509ac3f331758fb1528b733215443ae"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd8536e902db7e365f49e7d9029283403974ccf29b13fc7028b97e2295b33556"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19e0a019d2c4dcc5e598cd4a4bc7b008546b0358bd322537c74ad47a5386884f"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c65b9817512edc6a4ae7c7e987fea799d2e0ee40c53ec573a692bee24de876"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6ac08d24c1f16bd2bf5eca8eaf8304812f44af5cfe5062006ec676e7e1d50afc"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3359fc442a743e870f4588fcf5dcbc1bf929df1fad8fb9905cd94e5edb02e84c"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e986b206dae4476f41bcec1faa057851f3889503a70e1bdb2378d406223994a"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:de06adc872bcd8c2a4e0dc51250e9e65ef2ca91be023b9d13ebd67c2ba552e1e"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-win32.whl", hash = "sha256:d3515f198eaa2f0ed49f8819d5732d70698c3fa37384146079b3799b97667a94"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:67b741654b851abafb7bc625b6d1cdd520a379074e64b6a128e3b688c3c04740"}, + {file = "google_crc32c-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c02ec1c5856179f171e032a31d6f8bf84e5a75c45c33b2e20a3de353b266ebd8"}, + {file = "google_crc32c-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:edfedb64740750e1a3b16152620220f51d58ff1b4abceb339ca92e934775c27a"}, + {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84e6e8cd997930fc66d5bb4fde61e2b62ba19d62b7abd7a69920406f9ecca946"}, + {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a"}, + {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:998679bf62b7fb599d2878aa3ed06b9ce688b8974893e7223c60db155f26bd8d"}, + {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:83c681c526a3439b5cf94f7420471705bbf96262f49a6fe546a6db5f687a3d4a"}, + {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4c6fdd4fccbec90cc8a01fc00773fcd5fa28db683c116ee3cb35cd5da9ef6c37"}, + {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5ae44e10a8e3407dbe138984f21e536583f2bba1be9491239f942c2464ac0894"}, + {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37933ec6e693e51a5b07505bd05de57eee12f3e8c32b07da7e73669398e6630a"}, + {file = "google_crc32c-1.5.0-cp38-cp38-win32.whl", hash = "sha256:fe70e325aa68fa4b5edf7d1a4b6f691eb04bbccac0ace68e34820d283b5f80d4"}, + {file = "google_crc32c-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:74dea7751d98034887dbd821b7aae3e1d36eda111d6ca36c206c44478035709c"}, + {file = "google_crc32c-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c6c777a480337ac14f38564ac88ae82d4cd238bf293f0a22295b66eb89ffced7"}, + {file = "google_crc32c-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:759ce4851a4bb15ecabae28f4d2e18983c244eddd767f560165563bf9aefbc8d"}, + {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f13cae8cc389a440def0c8c52057f37359014ccbc9dc1f0827936bcd367c6100"}, + {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e560628513ed34759456a416bf86b54b2476c59144a9138165c9a1575801d0d9"}, + {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1674e4307fa3024fc897ca774e9c7562c957af85df55efe2988ed9056dc4e57"}, + {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:278d2ed7c16cfc075c91378c4f47924c0625f5fc84b2d50d921b18b7975bd210"}, + {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d5280312b9af0976231f9e317c20e4a61cd2f9629b7bfea6a693d1878a264ebd"}, + {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8b87e1a59c38f275c0e3676fc2ab6d59eccecfd460be267ac360cc31f7bcde96"}, + {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7c074fece789b5034b9b1404a1f8208fc2d4c6ce9decdd16e8220c5a793e6f61"}, + {file = "google_crc32c-1.5.0-cp39-cp39-win32.whl", hash = "sha256:7f57f14606cd1dd0f0de396e1e53824c371e9544a822648cd76c034d209b559c"}, + {file = "google_crc32c-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2355cba1f4ad8b6988a4ca3feed5bff33f6af2d7f134852cf279c2aebfde541"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f314013e7dcd5cf45ab1945d92e713eec788166262ae8deb2cfacd53def27325"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b747a674c20a67343cb61d43fdd9207ce5da6a99f629c6e2541aa0e89215bcd"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f24ed114432de109aa9fd317278518a5af2d31ac2ea6b952b2f7782b43da091"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8667b48e7a7ef66afba2c81e1094ef526388d35b873966d8a9a447974ed9178"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:1c7abdac90433b09bad6c43a43af253e688c9cfc1c86d332aed13f9a7c7f65e2"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6f998db4e71b645350b9ac28a2167e6632c239963ca9da411523bb439c5c514d"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c99616c853bb585301df6de07ca2cadad344fd1ada6d62bb30aec05219c45d2"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ad40e31093a4af319dadf503b2467ccdc8f67c72e4bcba97f8c10cb078207b5"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd67cf24a553339d5062eff51013780a00d6f97a39ca062781d06b3a73b15462"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:398af5e3ba9cf768787eef45c803ff9614cc3e22a5b2f7d7ae116df8b11e3314"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b1f8133c9a275df5613a451e73f36c2aea4fe13c5c8997e22cf355ebd7bd0728"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ba053c5f50430a3fcfd36f75aff9caeba0440b2d076afdb79a318d6ca245f88"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:272d3892a1e1a2dbc39cc5cde96834c236d5327e2122d3aaa19f6614531bb6eb"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:635f5d4dd18758a1fbd1049a8e8d2fee4ffed124462d837d1a02a0e009c3ab31"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c672d99a345849301784604bfeaeba4db0c7aae50b95be04dd651fd2a7310b93"}, +] [package.extras] testing = ["pytest"] @@ -2255,17 +3110,118 @@ testing = ["pytest"] name = "google-re2" version = "1.1" description = "RE2 Python bindings" -category = "dev" optional = false python-versions = "~=3.8" +files = [ + {file = "google-re2-1.1.tar.gz", hash = "sha256:d3a9467ee52b46ac77ca928f6d0cbeaccfd92f03ca0f0f65b9df6a95184f3a1c"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:874d2e36dfa506b03d4f9c4aef1701a65304f4004c96c7edac7d8aea08fe193e"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b66eb84850afdce09aabca40bcd6f2a0e96178a1b4990d555678edb1f59bf255"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c461640a07db26dc2b51f43de607b7520e7debaf4f6a000f796a3c0196ca52af"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7f9ba69eaee6e7a9f5ddfb919bf1a866af14a18b26a179e3fb1a6fe3d0cbf349"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:f95cf16739cc3ea63728366881221b119f2322b4b739b7da6522d45a68792cea"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:9fb56a41250191298e6a2859b0fdea1e83330c9870fe8d84e5836c506ae46e96"}, + {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fb22ea995564d87baf4a4bfbb3ca024be913683a710f4f0dc9c94dc663afab20"}, + {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:19b3f0bfbb2a2ca58ed0aaa9356d07a5c0921383a6dbeca086b2b74472f5ee08"}, + {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34fd7f97b84af7453cf05b25adfe2491ba3cef1ca548ac2907efa63d3510954d"}, + {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e029664192d8d30f7c977706183ef483e82ca239302272df74e01d2e22897ca"}, + {file = "google_re2-1.1-1-cp310-cp310-win32.whl", hash = "sha256:41a8f222f9839d059d37efd28e4deec203502d7e39c3759d83d6a33deadf1d2e"}, + {file = "google_re2-1.1-1-cp310-cp310-win_amd64.whl", hash = "sha256:6141d569fdf72aa693f040ba05c469036587395af07ff419b9a3c009d6ffefd3"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2d03f6aaf22788ba13a770f0d183b8eebe55545bcbb6e4c41dcccac7ded014d"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:a98f15fd9c31bf80d368698447191a2e9703880b305dbf34d9a63ce634b8a557"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:42128916cc2966623832aabbd224c88e862d1c531d6bc49ab141f565e6321a90"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:6e27986a166903ad7000635f6faed8ab5072d687f822ac9f692c40b2470aebcf"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:5e9edcd743a830d0c0b2729201e42ab86fceef8f4086df65563f482e4544359e"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:d33145bbfd32e916f1c911cd9225be5364a36c3959742a0cc4dfc0692d6a2a5e"}, + {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8b27cc2544b69a357ab2a749dc0c13a1b9055198c56f4c2c3b0f61d693f8e203"}, + {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3cdf8982b6def987e95b37984d0c1c878de32635dd78acde3273f730b69708c9"}, + {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71ac661a7365e134741fe5542f13d7ce1e6187446b96ddee4c8b7d153fc8f05a"}, + {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:35a902ba31a71a3e9e114e44473624d9aa9f9b85ec981bfa91671aefe0ef1a6c"}, + {file = "google_re2-1.1-1-cp311-cp311-win32.whl", hash = "sha256:9469f26b485da2784c658e687a766c72e1a17b1e63b3ed24b5f64c3d19fbae3d"}, + {file = "google_re2-1.1-1-cp311-cp311-win_amd64.whl", hash = "sha256:07dd0780240ee431781119b46c3bbf76f5cef24a2cbb542f6a08c643e0a68d98"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9857dc4d69b8025057c8129e98406a24d51bdaf1b96e481dbba7e69e0ec85104"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a6eaaa5f200022eb0bdded5949c91454fc96e1edd6f9e9a96dd1dc32c821c00e"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a32bb2afe128d90b8edc20d4f7d297f7e2753206eba92937a57e5280736eac74"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:4f2754616c61b76ab4e5a4f39892a52a00897203b859c5abd7e3c630dd883cda"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:b110f3d657e8f67a43a699d327ce47095b80180ea1118e2de44cb5c7002503d9"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:fd62ba2853eef65e249a9c4437a9ecac568222062bc956f0c61a3d1151a6271b"}, + {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:23b50eb74dc3e1d480b04b987c61242df5dade50d08bc16e25eb3582b83fca80"}, + {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e1bde89855dd5ab0811187d21eec149975510c80e865c771c883524a452445e7"}, + {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10c6cddc720151a509beb98ab310fa0cc8bcb265f83518ebf831de2c9ff73af0"}, + {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9bea09c5e8401ec50b8f211bc820ec2f0ca5e744ac67431a1b39bdacbd266553"}, + {file = "google_re2-1.1-1-cp38-cp38-win32.whl", hash = "sha256:ffa51b118037518bcdf63c7649d0b4be7071982b83f48ee3bbabf24a9cb48f8a"}, + {file = "google_re2-1.1-1-cp38-cp38-win_amd64.whl", hash = "sha256:3b47715b6d43c9351957eb5092ad0fa625d04106d81f34cb8a726c53395ad474"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:998f31bf7efbc9bb603d0c356c1c77e5331f689c71783df8e21e67bb025fc66a"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0b5f0eaab859d3ba5f462c82bf37ab56e9d37e19b40b5898c731dbe4213a85f7"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:f6d591d9c4cbc7142b729ddcc3f654d059d8ebc3bc95891198808a4785a6b4d8"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:3c325c2eae197b423330a04ab62e2e1cf942676cd5560907db4d63e23ce0648a"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:1e019e8f57955806ee843254ce454249b58800a6e872b2c8e9df2ef3459de0d5"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:58ebbcc7ad2b639768a6bca586357291660ea40dfac83039208e5055c357513b"}, + {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:723f8553e7fc022294071f14fb7dfc7958c365dc7d4a71d4938ccd2df8c6eca4"}, + {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d81512b08e6787fc8ef29fea365d3fdbf957553a625550e1d96c36877ae30355"}, + {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c58601b155651cc572a23ee2860788c77581aad85d3567a55b89b0674702f34d"}, + {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c6c9f64b9724ec38da8e514f404ac64e9a6a5e8b1d7031c2dadd05c1f4c16fd"}, + {file = "google_re2-1.1-1-cp39-cp39-win32.whl", hash = "sha256:d1b751b9ab9f8e2ab2a36d72b909281ce65f328c9115a1685acae1a2d1afd7a4"}, + {file = "google_re2-1.1-1-cp39-cp39-win_amd64.whl", hash = "sha256:ac775c75cec7069351d201da4e0fb0cae4c1c5ebecd08fa34e1be89740c1d80b"}, + {file = "google_re2-1.1-2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5eaefe4705b75ca5f78178a50104b689e9282f868e12f119b26b4cffc0c7ee6e"}, + {file = "google_re2-1.1-2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:e35f2c8aabfaaa4ce6420b3cae86c0c29042b1b4f9937254347e9b985694a171"}, + {file = "google_re2-1.1-2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:35fd189cbaaaa39c9a6a8a00164c8d9c709bacd0c231c694936879609beff516"}, + {file = "google_re2-1.1-2-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:60475d222cebd066c80414831c8a42aa2449aab252084102ee05440896586e6a"}, + {file = "google_re2-1.1-2-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:871cb85b9b0e1784c983b5c148156b3c5314cb29ca70432dff0d163c5c08d7e5"}, + {file = "google_re2-1.1-2-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:94f4e66e34bdb8de91ec6cdf20ba4fa9fea1dfdcfb77ff1f59700d01a0243664"}, + {file = "google_re2-1.1-2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1563577e2b720d267c4cffacc0f6a2b5c8480ea966ebdb1844fbea6602c7496f"}, + {file = "google_re2-1.1-2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:49b7964532a801b96062d78c0222d155873968f823a546a3dbe63d73f25bb56f"}, + {file = "google_re2-1.1-2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2362fd70eb639a75fd0187d28b4ba7b20b3088833d8ad7ffd8693d0ba159e1c2"}, + {file = "google_re2-1.1-2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:86b80719636a4e21391e20a9adf18173ee6ae2ec956726fe2ff587417b5e8ba6"}, + {file = "google_re2-1.1-2-cp310-cp310-win32.whl", hash = "sha256:5456fba09df951fe8d1714474ed1ecda102a68ddffab0113e6c117d2e64e6f2b"}, + {file = "google_re2-1.1-2-cp310-cp310-win_amd64.whl", hash = "sha256:2ac6936a3a60d8d9de9563e90227b3aea27068f597274ca192c999a12d8baa8f"}, + {file = "google_re2-1.1-2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5a87b436028ec9b0f02fe19d4cbc19ef30441085cdfcdf1cce8fbe5c4bd5e9a"}, + {file = "google_re2-1.1-2-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:fc0d4163de9ed2155a77e7a2d59d94c348a6bbab3cff88922fab9e0d3d24faec"}, + {file = "google_re2-1.1-2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:48b12d953bc796736e7831d67b36892fb6419a4cc44cb16521fe291e594bfe23"}, + {file = "google_re2-1.1-2-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:62c780c927cff98c1538439f0ff616f48a9b2e8837c676f53170d8ae5b9e83cb"}, + {file = "google_re2-1.1-2-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:04b2aefd768aa4edeef8b273327806c9cb0b82e90ff52eacf5d11003ac7a0db2"}, + {file = "google_re2-1.1-2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:9c90175992346519ee7546d9af9a64541c05b6b70346b0ddc54a48aa0d3b6554"}, + {file = "google_re2-1.1-2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22ad9ad9d125249d6386a2e80efb9de7af8260b703b6be7fa0ab069c1cf56ced"}, + {file = "google_re2-1.1-2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f70971f6ffe5254e476e71d449089917f50ebf9cf60f9cec80975ab1693777e2"}, + {file = "google_re2-1.1-2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f267499529e64a4abed24c588f355ebe4700189d434d84a7367725f5a186e48d"}, + {file = "google_re2-1.1-2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b632eff5e4cd44545a9c0e52f2e1becd55831e25f4dd4e0d7ec8ee6ca50858c1"}, + {file = "google_re2-1.1-2-cp311-cp311-win32.whl", hash = "sha256:a42c733036e8f242ee4e5f0e27153ad4ca44ced9e4ce82f3972938ddee528db0"}, + {file = "google_re2-1.1-2-cp311-cp311-win_amd64.whl", hash = "sha256:64f8eed4ca96905d99b5286b3d14b5ca4f6a025ff3c1351626a7df2f93ad1ddd"}, + {file = "google_re2-1.1-2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5541efcca5b5faf7e0d882334a04fa479bad4e7433f94870f46272eec0672c4a"}, + {file = "google_re2-1.1-2-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:92309af35b6eb2d3b3dc57045cdd83a76370958ab3e0edd2cc4638f6d23f5b32"}, + {file = "google_re2-1.1-2-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:197cd9bcaba96d18c5bf84d0c32fca7a26c234ea83b1d3083366f4392cb99f78"}, + {file = "google_re2-1.1-2-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:1b896f171d29b541256cf26e10dccc9103ac1894683914ed88828ca6facf8dca"}, + {file = "google_re2-1.1-2-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:e022d3239b945014e916ca7120fee659b246ec26c301f9e0542f1a19b38a8744"}, + {file = "google_re2-1.1-2-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:2c73f8a9440873b68bee1198094377501065e85aaf6fcc0d2512c7589ffa06ca"}, + {file = "google_re2-1.1-2-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:901d86555bd7725506d651afaba7d71cd4abd13260aed6cfd7c641a45f76d4f6"}, + {file = "google_re2-1.1-2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ce4710ff636701cfb56eb91c19b775d53b03749a23b7d2a5071bbbf4342a9067"}, + {file = "google_re2-1.1-2-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76a20e5ebdf5bc5d430530197e42a2eeb562f729d3a3fb51f39168283d676e66"}, + {file = "google_re2-1.1-2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:77c9f4d4bb1c8de9d2642d3c4b8b615858ba764df025b3b4f1310266f8def269"}, + {file = "google_re2-1.1-2-cp38-cp38-win32.whl", hash = "sha256:94bd60785bf37ef130a1613738e3c39465a67eae3f3be44bb918540d39b68da3"}, + {file = "google_re2-1.1-2-cp38-cp38-win_amd64.whl", hash = "sha256:59efeb77c0dcdbe37794c61f29c5b1f34bc06e8ec309a111ccdd29d380644d70"}, + {file = "google_re2-1.1-2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:221e38c27e1dd9ccb8e911e9c7aed6439f68ce81e7bb74001076830b0d6e931d"}, + {file = "google_re2-1.1-2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:d9145879e6c2e1b814445300b31f88a675e1f06c57564670d95a1442e8370c27"}, + {file = "google_re2-1.1-2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:c8a12f0740e2a52826bdbf95569a4b0abdf413b4012fa71e94ad25dd4715c6e5"}, + {file = "google_re2-1.1-2-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:9c9998f71466f4db7bda752aa7c348b2881ff688e361108fe500caad1d8b9cb2"}, + {file = "google_re2-1.1-2-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:0c39f69b702005963a3d3bf78743e1733ad73efd7e6e8465d76e3009e4694ceb"}, + {file = "google_re2-1.1-2-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:6d0ce762dee8d6617d0b1788a9653e805e83a23046c441d0ea65f1e27bf84114"}, + {file = "google_re2-1.1-2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ecf3619d98c9b4a7844ab52552ad32597cdbc9a5bdbc7e3435391c653600d1e2"}, + {file = "google_re2-1.1-2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a1426a8cbd1fa004974574708d496005bd379310c4b1c7012be4bc75efde7a8"}, + {file = "google_re2-1.1-2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1a30626ba48b4070f3eab272d860ef1952e710b088792c4d68dddb155be6bfc"}, + {file = "google_re2-1.1-2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1b9c1ffcfbc3095b6ff601ec2d2bf662988f6ea6763bc1c9d52bec55881f8fde"}, + {file = "google_re2-1.1-2-cp39-cp39-win32.whl", hash = "sha256:32ecf995a252c0548404c1065ba4b36f1e524f1f4a86b6367a1a6c3da3801e30"}, + {file = "google_re2-1.1-2-cp39-cp39-win_amd64.whl", hash = "sha256:e7865410f3b112a3609739283ec3f4f6f25aae827ff59c6bfdf806fd394d753e"}, +] [[package]] name = "google-resumable-media" version = "2.5.0" description = "Utilities for Google Media Downloads and Resumable Uploads" -category = "main" optional = true python-versions = ">= 3.7" +files = [ + {file = "google-resumable-media-2.5.0.tar.gz", hash = "sha256:218931e8e2b2a73a58eb354a288e03a0fd5fb1c4583261ac6e4c078666468c93"}, + {file = "google_resumable_media-2.5.0-py2.py3-none-any.whl", hash = "sha256:da1bd943e2e114a56d85d6848497ebf9be6a14d3db23e9fc57581e7c3e8170ec"}, +] [package.dependencies] google-crc32c = ">=1.0,<2.0dev" @@ -2278,9 +3234,12 @@ requests = ["requests (>=2.18.0,<3.0.0dev)"] name = "googleapis-common-protos" version = "1.60.0" description = "Common protobufs used in Google APIs" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "googleapis-common-protos-1.60.0.tar.gz", hash = "sha256:e73ebb404098db405ba95d1e1ae0aa91c3e15a71da031a2eeb6b2e23e7bc3708"}, + {file = "googleapis_common_protos-1.60.0-py2.py3-none-any.whl", hash = "sha256:69f9bbcc6acde92cab2db95ce30a70bd2b81d20b12eff3f1aabaffcbe8a93918"}, +] [package.dependencies] grpcio = {version = ">=1.44.0,<2.0.0.dev0", optional = true, markers = "extra == \"grpc\""} @@ -2293,9 +3252,11 @@ grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] name = "grapheme" version = "0.6.0" description = "Unicode grapheme helpers" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "grapheme-0.6.0.tar.gz", hash = "sha256:44c2b9f21bbe77cfb05835fec230bd435954275267fea1858013b102f8603cca"}, +] [package.extras] test = ["pytest", "sphinx", "sphinx-autobuild", "twine", "wheel"] @@ -2304,9 +3265,12 @@ test = ["pytest", "sphinx", "sphinx-autobuild", "twine", "wheel"] name = "graphviz" version = "0.20.1" description = "Simple Python interface for Graphviz" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "graphviz-0.20.1-py3-none-any.whl", hash = "sha256:587c58a223b51611c0cf461132da386edd896a029524ca61a1462b880bf97977"}, + {file = "graphviz-0.20.1.zip", hash = "sha256:8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8"}, +] [package.extras] dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"] @@ -2317,9 +3281,74 @@ test = ["coverage", "mock (>=4)", "pytest (>=7)", "pytest-cov", "pytest-mock (>= name = "greenlet" version = "2.0.2" description = "Lightweight in-process concurrent programming" -category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" +files = [ + {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"}, + {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"}, + {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, + {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, + {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, + {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"}, + {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, + {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, + {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, + {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"}, + {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"}, + {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, + {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, + {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, + {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"}, + {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, + {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, + {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, + {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"}, + {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"}, + {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"}, + {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"}, + {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"}, + {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"}, + {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"}, + {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"}, + {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"}, + {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"}, + {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"}, + {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"}, + {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"}, + {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"}, + {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"}, + {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"}, + {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"}, + {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"}, + {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"}, + {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"}, + {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"}, + {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"}, + {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"}, + {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, + {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, + {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, + {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"}, + {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, + {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, + {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, + {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"}, + {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"}, + {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, + {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, + {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, + {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"}, + {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, + {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, + {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, + {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"}, + {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"}, + {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"}, + {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"}, + {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"}, + {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"}, + {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"}, +] [package.extras] docs = ["Sphinx", "docutils (<0.18)"] @@ -2329,9 +3358,12 @@ test = ["objgraph", "psutil"] name = "grpc-google-iam-v1" version = "0.12.6" description = "IAM API client library" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "grpc-google-iam-v1-0.12.6.tar.gz", hash = "sha256:2bc4b8fdf22115a65d751c9317329322602c39b7c86a289c9b72d228d960ef5f"}, + {file = "grpc_google_iam_v1-0.12.6-py2.py3-none-any.whl", hash = "sha256:5c10f3d8dc2d88678ab1a9b0cb5482735c5efee71e6c0cd59f872eef22913f5c"}, +] [package.dependencies] googleapis-common-protos = {version = ">=1.56.0,<2.0.0dev", extras = ["grpc"]} @@ -2342,40 +3374,151 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4 name = "grpcio" version = "1.57.0" description = "HTTP/2-based RPC framework" -category = "main" optional = false python-versions = ">=3.7" - -[package.extras] -protobuf = ["grpcio-tools (>=1.57.0)"] - -[[package]] -name = "grpcio-status" -version = "1.57.0" -description = "Status proto mapping for gRPC" -category = "main" -optional = true -python-versions = ">=3.6" - -[package.dependencies] -googleapis-common-protos = ">=1.5.5" -grpcio = ">=1.57.0" -protobuf = ">=4.21.6" - -[[package]] -name = "gunicorn" -version = "21.2.0" -description = "WSGI HTTP Server for UNIX" -category = "dev" -optional = false -python-versions = ">=3.5" - -[package.dependencies] -packaging = "*" - -[package.extras] -eventlet = ["eventlet (>=0.24.1)"] -gevent = ["gevent (>=1.4.0)"] +files = [ + {file = "grpcio-1.57.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:092fa155b945015754bdf988be47793c377b52b88d546e45c6a9f9579ac7f7b6"}, + {file = "grpcio-1.57.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:2f7349786da979a94690cc5c2b804cab4e8774a3cf59be40d037c4342c906649"}, + {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:82640e57fb86ea1d71ea9ab54f7e942502cf98a429a200b2e743d8672171734f"}, + {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40b72effd4c789de94ce1be2b5f88d7b9b5f7379fe9645f198854112a6567d9a"}, + {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f708a6a17868ad8bf586598bee69abded4996b18adf26fd2d91191383b79019"}, + {file = "grpcio-1.57.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:60fe15288a0a65d5c1cb5b4a62b1850d07336e3ba728257a810317be14f0c527"}, + {file = "grpcio-1.57.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6907b1cf8bb29b058081d2aad677b15757a44ef2d4d8d9130271d2ad5e33efca"}, + {file = "grpcio-1.57.0-cp310-cp310-win32.whl", hash = "sha256:57b183e8b252825c4dd29114d6c13559be95387aafc10a7be645462a0fc98bbb"}, + {file = "grpcio-1.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:7b400807fa749a9eb286e2cd893e501b110b4d356a218426cb9c825a0474ca56"}, + {file = "grpcio-1.57.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:c6ebecfb7a31385393203eb04ed8b6a08f5002f53df3d59e5e795edb80999652"}, + {file = "grpcio-1.57.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:00258cbe3f5188629828363ae8ff78477ce976a6f63fb2bb5e90088396faa82e"}, + {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:23e7d8849a0e58b806253fd206ac105b328171e01b8f18c7d5922274958cc87e"}, + {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5371bcd861e679d63b8274f73ac281751d34bd54eccdbfcd6aa00e692a82cd7b"}, + {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aed90d93b731929e742967e236f842a4a2174dc5db077c8f9ad2c5996f89f63e"}, + {file = "grpcio-1.57.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fe752639919aad9ffb0dee0d87f29a6467d1ef764f13c4644d212a9a853a078d"}, + {file = "grpcio-1.57.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fada6b07ec4f0befe05218181f4b85176f11d531911b64c715d1875c4736d73a"}, + {file = "grpcio-1.57.0-cp311-cp311-win32.whl", hash = "sha256:bb396952cfa7ad2f01061fbc7dc1ad91dd9d69243bcb8110cf4e36924785a0fe"}, + {file = "grpcio-1.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:e503cb45ed12b924b5b988ba9576dc9949b2f5283b8e33b21dcb6be74a7c58d0"}, + {file = "grpcio-1.57.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:fd173b4cf02b20f60860dc2ffe30115c18972d7d6d2d69df97ac38dee03be5bf"}, + {file = "grpcio-1.57.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:d7f8df114d6b4cf5a916b98389aeaf1e3132035420a88beea4e3d977e5f267a5"}, + {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:76c44efa4ede1f42a9d5b2fed1fe9377e73a109bef8675fb0728eb80b0b8e8f2"}, + {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4faea2cfdf762a664ab90589b66f416274887641ae17817de510b8178356bf73"}, + {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c60b83c43faeb6d0a9831f0351d7787a0753f5087cc6fa218d78fdf38e5acef0"}, + {file = "grpcio-1.57.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b363bbb5253e5f9c23d8a0a034dfdf1b7c9e7f12e602fc788c435171e96daccc"}, + {file = "grpcio-1.57.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f1fb0fd4a1e9b11ac21c30c169d169ef434c6e9344ee0ab27cfa6f605f6387b2"}, + {file = "grpcio-1.57.0-cp37-cp37m-win_amd64.whl", hash = "sha256:34950353539e7d93f61c6796a007c705d663f3be41166358e3d88c45760c7d98"}, + {file = "grpcio-1.57.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:871f9999e0211f9551f368612460442a5436d9444606184652117d6a688c9f51"}, + {file = "grpcio-1.57.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:a8a8e560e8dbbdf29288872e91efd22af71e88b0e5736b0daf7773c1fecd99f0"}, + {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2313b124e475aa9017a9844bdc5eafb2d5abdda9d456af16fc4535408c7d6da6"}, + {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4098b6b638d9e0ca839a81656a2fd4bc26c9486ea707e8b1437d6f9d61c3941"}, + {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e5b58e32ae14658085c16986d11e99abd002ddbf51c8daae8a0671fffb3467f"}, + {file = "grpcio-1.57.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0f80bf37f09e1caba6a8063e56e2b87fa335add314cf2b78ebf7cb45aa7e3d06"}, + {file = "grpcio-1.57.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5b7a4ce8f862fe32b2a10b57752cf3169f5fe2915acfe7e6a1e155db3da99e79"}, + {file = "grpcio-1.57.0-cp38-cp38-win32.whl", hash = "sha256:9338bacf172e942e62e5889b6364e56657fbf8ac68062e8b25c48843e7b202bb"}, + {file = "grpcio-1.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:e1cb52fa2d67d7f7fab310b600f22ce1ff04d562d46e9e0ac3e3403c2bb4cc16"}, + {file = "grpcio-1.57.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fee387d2fab144e8a34e0e9c5ca0f45c9376b99de45628265cfa9886b1dbe62b"}, + {file = "grpcio-1.57.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:b53333627283e7241fcc217323f225c37783b5f0472316edcaa4479a213abfa6"}, + {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:f19ac6ac0a256cf77d3cc926ef0b4e64a9725cc612f97228cd5dc4bd9dbab03b"}, + {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fdf04e402f12e1de8074458549337febb3b45f21076cc02ef4ff786aff687e"}, + {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5613a2fecc82f95d6c51d15b9a72705553aa0d7c932fad7aed7afb51dc982ee5"}, + {file = "grpcio-1.57.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b670c2faa92124b7397b42303e4d8eb64a4cd0b7a77e35a9e865a55d61c57ef9"}, + {file = "grpcio-1.57.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7a635589201b18510ff988161b7b573f50c6a48fae9cb567657920ca82022b37"}, + {file = "grpcio-1.57.0-cp39-cp39-win32.whl", hash = "sha256:d78d8b86fcdfa1e4c21f8896614b6cc7ee01a2a758ec0c4382d662f2a62cf766"}, + {file = "grpcio-1.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:20ec6fc4ad47d1b6e12deec5045ec3cd5402d9a1597f738263e98f490fe07056"}, + {file = "grpcio-1.57.0.tar.gz", hash = "sha256:4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.57.0)"] + +[[package]] +name = "grpcio-status" +version = "1.57.0" +description = "Status proto mapping for gRPC" +optional = true +python-versions = ">=3.6" +files = [ + {file = "grpcio-status-1.57.0.tar.gz", hash = "sha256:b098da99df1eebe58337f8f78e50df990273ccacc1226fddeb47c590e3df9e02"}, + {file = "grpcio_status-1.57.0-py3-none-any.whl", hash = "sha256:15d6af055914ebbc4ed17e55ebfb8e6bb17a45a57fea32e6af19978fb7844690"}, +] + +[package.dependencies] +googleapis-common-protos = ">=1.5.5" +grpcio = ">=1.57.0" +protobuf = ">=4.21.6" + +[[package]] +name = "grpcio-tools" +version = "1.57.0" +description = "Protobuf code generator for gRPC" +optional = true +python-versions = ">=3.7" +files = [ + {file = "grpcio-tools-1.57.0.tar.gz", hash = "sha256:2f16130d869ce27ecd623194547b649dd657333ec7e8644cc571c645781a9b85"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:4fb8a8468031f858381a576078924af364a08833d8f8f3237018252c4573a802"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:35bf0dad8a3562043345236c26d0053a856fb06c04d7da652f2ded914e508ae7"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:ec9aab2fb6783c7fc54bc28f58eb75f1ca77594e6b0fd5e5e7a8114a95169fe0"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0cf5fc0a1c23f8ea34b408b72fb0e90eec0f404ad4dba98e8f6da3c9ce34e2ed"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26e69d08a515554e0cfe1ec4d31568836f4b17f0ff82294f957f629388629eb9"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c39a3656576b6fdaaf28abe0467f7a7231df4230c1bee132322dbc3209419e7f"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f64f8ab22d27d4a5693310748d35a696061c3b5c7b8c4fb4ab3b4bc1068b6b56"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-win32.whl", hash = "sha256:d2a134756f4db34759a5cc7f7e43f7eb87540b68d1cca62925593c6fb93924f7"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:9a3d60fb8d46ede26c1907c146561b3a9caa20a7aff961bc661ef8226f85a2e9"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:aac98ecad8f7bd4301855669d42a5d97ef7bb34bec2b1e74c7a0641d47e313cf"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:cdd020cb68b51462983b7c2dfbc3eb6ede032b8bf438d4554df0c3f08ce35c76"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:f54081b08419a39221cd646363b5708857c696b3ad4784f1dcf310891e33a5f7"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed85a0291fff45b67f2557fe7f117d3bc7af8b54b8619d27bf374b5c8b7e3ca2"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e868cd6feb3ef07d4b35be104fe1fd0657db05259ff8f8ec5e08f4f89ca1191d"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:dfb6f6120587b8e228a3cae5ee4985b5bdc18501bad05c49df61965dfc9d70a9"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4a7ad7f328e28fc97c356d0f10fb10d8b5151bb65aa7cf14bf8084513f0b7306"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-win32.whl", hash = "sha256:9867f2817b1a0c93c523f89ac6c9d8625548af4620a7ce438bf5a76e23327284"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:1f9e917a9f18087f6c14b4d4508fb94fca5c2f96852363a89232fb9b2124ac1f"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:9f2aefa8a37bd2c4db1a3f1aca11377e2766214520fb70e67071f4ff8d8b0fa5"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:850cbda0ec5d24c39e7215ede410276040692ca45d105fbbeada407fa03f0ac0"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:6fa52972c9647876ea35f6dc2b51002a74ed900ec7894586cbb2fe76f64f99de"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0eea89d7542719594e50e2283f51a072978b953e8b3e9fd7c59a2c762d4c1"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3da5240211252fc70a6451fe00c143e2ab2f7bfc2445695ad2ed056b8e48d96"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a0256f8786ac9e4db618a1aa492bb3472569a0946fd3ee862ffe23196323da55"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c026bdf5c1366ce88b7bbe2d8207374d675afd3fd911f60752103de3da4a41d2"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9053c2f655589545be08b9d6a673e92970173a4bf11a4b9f18cd6e9af626b587"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:81ec4dbb696e095057b2528d11a8da04be6bbe2b967fa07d4ea9ba6354338cbf"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:495e2946406963e0b9f063f76d5af0f2a19517dac2b367b5b044432ac9194296"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:7b46fc6aa8eb7edd18cafcd21fd98703cb6c09e46b507de335fca7f0161dfccb"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb81ff861692111fa81bd85f64584e624cb4013bd66fbce8a209b8893f5ce398"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a42dc220eb5305f470855c9284f4c8e85ae59d6d742cd07946b0cbe5e9ca186"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:90d10d9038ba46a595a223a34f136c9230e3d6d7abc2433dbf0e1c31939d3a8b"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5bc3e6d338aefb052e19cedabe00452be46d0c10a4ed29ee77abb00402e438fe"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-win32.whl", hash = "sha256:34b36217b17b5bea674a414229913e1fd80ede328be51e1b531fcc62abd393b0"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:dbde4004a0688400036342ff73e3706e8940483e2871547b1354d59e93a38277"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:784574709b9690dc28696617ea69352e2132352fdfc9bc89afa8e39f99ae538e"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:85ac4e62eb44428cde025fd9ab7554002315fc7880f791c553fc5a0015cc9931"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:dc771d4db5701f280957bbcee91745e0686d00ed1c6aa7e05ba30a58b02d70a1"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3ac06703c412f8167a9062eaf6099409967e33bf98fa5b02be4b4689b6bdf39"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02d78c034109f46032c7217260066d49d41e6bcaf588fa28fa40fe2f83445347"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2db25f15ed44327f2e02d0c4fe741ac966f9500e407047d8a7c7fccf2df65616"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b417c97936d94874a3ce7ed8deab910f2233e3612134507cfee4af8735c38a6"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-win32.whl", hash = "sha256:f717cce5093e6b6049d9ea6d12fdf3658efdb1a80772f7737db1f8510b876df6"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:1c0e8a1a32973a5d59fbcc19232f925e5c48116e9411f788033a31c5ca5130b4"}, +] + +[package.dependencies] +grpcio = ">=1.57.0" +protobuf = ">=4.21.6,<5.0dev" +setuptools = "*" + +[[package]] +name = "gunicorn" +version = "21.2.0" +description = "WSGI HTTP Server for UNIX" +optional = false +python-versions = ">=3.5" +files = [ + {file = "gunicorn-21.2.0-py3-none-any.whl", hash = "sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0"}, + {file = "gunicorn-21.2.0.tar.gz", hash = "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"}, +] + +[package.dependencies] +packaging = "*" + +[package.extras] +eventlet = ["eventlet (>=0.24.1)"] +gevent = ["gevent (>=1.4.0)"] setproctitle = ["setproctitle"] tornado = ["tornado (>=0.2)"] @@ -2383,17 +3526,38 @@ tornado = ["tornado (>=0.2)"] name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "h2" +version = "4.1.0" +description = "HTTP/2 State-Machine based protocol implementation" +optional = true +python-versions = ">=3.6.1" +files = [ + {file = "h2-4.1.0-py3-none-any.whl", hash = "sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d"}, + {file = "h2-4.1.0.tar.gz", hash = "sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb"}, +] + +[package.dependencies] +hpack = ">=4.0,<5" +hyperframe = ">=6.0,<7" [[package]] name = "hexbytes" version = "0.3.1" description = "hexbytes: Python `bytes` subclass that decodes hex, with a readable console output" -category = "main" optional = false python-versions = ">=3.7, <4" +files = [ + {file = "hexbytes-0.3.1-py3-none-any.whl", hash = "sha256:383595ad75026cf00abd570f44b368c6cdac0c6becfae5c39ff88829877f8a59"}, + {file = "hexbytes-0.3.1.tar.gz", hash = "sha256:a3fe35c6831ee8fafd048c4c086b986075fc14fd46258fa24ecb8d65745f9a9d"}, +] [package.extras] dev = ["black (>=22)", "bumpversion (>=0.5.3)", "eth-utils (>=1.0.1,<3)", "flake8 (==6.0.0)", "flake8-bugbear (==23.3.23)", "hypothesis (>=3.44.24,<=6.31.6)", "ipython", "isort (>=5.10.1)", "mypy (==0.971)", "pydocstyle (>=5.0.0)", "pytest (>=7.0.0)", "pytest-watch (>=4.1.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=5.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] @@ -2405,39 +3569,59 @@ test = ["eth-utils (>=1.0.1,<3)", "hypothesis (>=3.44.24,<=6.31.6)", "pytest (>= name = "hologram" version = "0.0.16" description = "JSON schema generation from dataclasses" -category = "main" optional = true python-versions = "*" +files = [ + {file = "hologram-0.0.16-py3-none-any.whl", hash = "sha256:4e56bd525336bb64a18916f871977a4125b64be8aaa750233583003333cda361"}, + {file = "hologram-0.0.16.tar.gz", hash = "sha256:1c2c921b4e575361623ea0e0d0aa5aee377b1a333cc6c6a879e213ed34583e55"}, +] [package.dependencies] jsonschema = ">=3.0" python-dateutil = ">=2.8,<2.9" +[[package]] +name = "hpack" +version = "4.0.0" +description = "Pure-Python HPACK header compression" +optional = true +python-versions = ">=3.6.1" +files = [ + {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, + {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, +] + [[package]] name = "httpcore" version = "0.17.3" description = "A minimal low-level HTTP client." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "httpcore-0.17.3-py3-none-any.whl", hash = "sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87"}, + {file = "httpcore-0.17.3.tar.gz", hash = "sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888"}, +] [package.dependencies] anyio = ">=3.0,<5.0" certifi = "*" h11 = ">=0.13,<0.15" -sniffio = ">=1.0.0,<2.0.0" +sniffio = "==1.*" [package.extras] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (>=1.0.0,<2.0.0)"] +socks = ["socksio (==1.*)"] [[package]] name = "httplib2" version = "0.22.0" description = "A comprehensive HTTP client library." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, + {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, +] [package.dependencies] pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} @@ -2446,48 +3630,86 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 name = "httpx" version = "0.24.1" description = "The next generation HTTP client." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "httpx-0.24.1-py3-none-any.whl", hash = "sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"}, + {file = "httpx-0.24.1.tar.gz", hash = "sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd"}, +] [package.dependencies] certifi = "*" +h2 = {version = ">=3,<5", optional = true, markers = "extra == \"http2\""} httpcore = ">=0.15.0,<0.18.0" idna = "*" sniffio = "*" [package.extras] brotli = ["brotli", "brotlicffi"] -cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (>=1.0.0,<2.0.0)"] +socks = ["socksio (==1.*)"] + +[[package]] +name = "humanfriendly" +version = "10.0" +description = "Human friendly output for text interfaces using Python" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, + {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, +] + +[package.dependencies] +pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} [[package]] name = "humanize" version = "4.8.0" description = "Python humanize utilities" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "humanize-4.8.0-py3-none-any.whl", hash = "sha256:8bc9e2bb9315e61ec06bf690151ae35aeb65651ab091266941edf97c90836404"}, + {file = "humanize-4.8.0.tar.gz", hash = "sha256:9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8"}, +] [package.extras] tests = ["freezegun", "pytest", "pytest-cov"] +[[package]] +name = "hyperframe" +version = "6.0.1" +description = "HTTP/2 framing layer for Python" +optional = true +python-versions = ">=3.6.1" +files = [ + {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, + {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, +] + [[package]] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] [[package]] name = "importlib-metadata" version = "4.13.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, + {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, +] [package.dependencies] zipp = ">=0.5" @@ -2501,9 +3723,12 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag name = "importlib-resources" version = "6.0.1" description = "Read resources from Python packages" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.0.1-py3-none-any.whl", hash = "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf"}, + {file = "importlib_resources-6.0.1.tar.gz", hash = "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4"}, +] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -2516,25 +3741,34 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" -category = "dev" optional = false python-versions = ">=3.5" +files = [ + {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, + {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, +] [[package]] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] [[package]] name = "isodate" version = "0.6.1" description = "An ISO 8601 date/time/duration parser and formatter" -category = "main" optional = true python-versions = "*" +files = [ + {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, + {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, +] [package.dependencies] six = "*" @@ -2543,17 +3777,23 @@ six = "*" name = "itsdangerous" version = "2.1.2" description = "Safely pass data to untrusted environments and back." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, + {file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"}, +] [[package]] name = "jaraco-classes" version = "3.3.0" description = "Utility functions for Python class constructs" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "jaraco.classes-3.3.0-py3-none-any.whl", hash = "sha256:10afa92b6743f25c0cf5f37c6bb6e18e2c5bb84a16527ccfc0040ea377e7aaeb"}, + {file = "jaraco.classes-3.3.0.tar.gz", hash = "sha256:c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621"}, +] [package.dependencies] more-itertools = "*" @@ -2566,9 +3806,12 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", name = "jeepney" version = "0.8.0" description = "Low-level, pure Python DBus protocol wrapper." -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, + {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, +] [package.extras] test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] @@ -2578,9 +3821,12 @@ trio = ["async_generator", "trio"] name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] [package.dependencies] MarkupSafe = ">=2.0" @@ -2592,9 +3838,12 @@ i18n = ["Babel (>=2.7)"] name = "jinxed" version = "1.2.0" description = "Jinxed Terminal Library" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "jinxed-1.2.0-py2.py3-none-any.whl", hash = "sha256:cfc2b2e4e3b4326954d546ba6d6b9a7a796ddcb0aef8d03161d005177eb0d48b"}, + {file = "jinxed-1.2.0.tar.gz", hash = "sha256:032acda92d5c57cd216033cbbd53de731e6ed50deb63eb4781336ca55f72cda5"}, +] [package.dependencies] ansicon = {version = "*", markers = "platform_system == \"Windows\""} @@ -2603,17 +3852,24 @@ ansicon = {version = "*", markers = "platform_system == \"Windows\""} name = "jmespath" version = "1.0.1" description = "JSON Matching Expressions" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, + {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, +] [[package]] name = "jsonpath-ng" version = "1.5.3" description = "A final implementation of JSONPath for Python that aims to be standard compliant, including arithmetic and binary comparison operators and providing clear AST for metaprogramming." -category = "main" optional = false python-versions = "*" +files = [ + {file = "jsonpath-ng-1.5.3.tar.gz", hash = "sha256:a273b182a82c1256daab86a313b937059261b5c5f8c4fa3fc38b882b344dd567"}, + {file = "jsonpath_ng-1.5.3-py2-none-any.whl", hash = "sha256:f75b95dbecb8a0f3b86fd2ead21c2b022c3f5770957492b9b6196ecccfeb10aa"}, + {file = "jsonpath_ng-1.5.3-py3-none-any.whl", hash = "sha256:292a93569d74029ba75ac2dc3d3630fc0e17b2df26119a165fa1d498ca47bf65"}, +] [package.dependencies] decorator = "*" @@ -2624,9 +3880,12 @@ six = "*" name = "jsonschema" version = "4.19.0" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, + {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, +] [package.dependencies] attrs = ">=22.2.0" @@ -2644,9 +3903,12 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jsonschema-specifications" version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -category = "main" optional = false python-versions = ">=3.8" +files = [ + {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, + {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, +] [package.dependencies] importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} @@ -2656,9 +3918,12 @@ referencing = ">=0.28.0" name = "keyring" version = "24.2.0" description = "Store and access your passwords safely." -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "keyring-24.2.0-py3-none-any.whl", hash = "sha256:4901caaf597bfd3bbd78c9a0c7c4c29fcd8310dab2cffefe749e916b6527acd6"}, + {file = "keyring-24.2.0.tar.gz", hash = "sha256:ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509"}, +] [package.dependencies] importlib-metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""} @@ -2677,17 +3942,57 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", name = "lazy-object-proxy" version = "1.9.0" description = "A fast and thorough lazy object proxy." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, +] [[package]] name = "leather" version = "0.3.4" description = "Python charting for 80% of humans." -category = "main" optional = true python-versions = "*" +files = [ + {file = "leather-0.3.4-py2.py3-none-any.whl", hash = "sha256:5e741daee96e9f1e9e06081b8c8a10c4ac199301a0564cdd99b09df15b4603d2"}, + {file = "leather-0.3.4.tar.gz", hash = "sha256:b43e21c8fa46b2679de8449f4d953c06418666dc058ce41055ee8a8d3bb40918"}, +] [package.dependencies] six = ">=1.6.1" @@ -2696,9 +4001,12 @@ six = ">=1.6.1" name = "limits" version = "3.6.0" description = "Rate limiting utilities" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "limits-3.6.0-py3-none-any.whl", hash = "sha256:32fe29a398352c71bc43d53773117d47e22c5ea4200aef28d3f5fdee10334cd7"}, + {file = "limits-3.6.0.tar.gz", hash = "sha256:57a9c69fd37ad1e4fa3886dff8d035227e1f6af87f47e9118627e72cf1ced3bf"}, +] [package.dependencies] deprecated = ">=1.2" @@ -2722,9 +4030,12 @@ rediscluster = ["redis (>=4.2.0,!=4.5.2,!=4.5.3)"] name = "linkify-it-py" version = "2.0.2" description = "Links recognition library with FULL unicode support." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "linkify-it-py-2.0.2.tar.gz", hash = "sha256:19f3060727842c254c808e99d465c80c49d2c7306788140987a1a7a29b0d6ad2"}, + {file = "linkify_it_py-2.0.2-py3-none-any.whl", hash = "sha256:a3a24428f6c96f27370d7fe61d2ac0be09017be5190d68d8658233171f1b6541"}, +] [package.dependencies] uc-micro-py = "*" @@ -2739,58 +4050,170 @@ test = ["coverage", "pytest", "pytest-cov"] name = "lockfile" version = "0.12.2" description = "Platform-independent file locking module" -category = "dev" optional = false python-versions = "*" +files = [ + {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, + {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"}, +] [[package]] name = "logbook" version = "1.5.3" description = "A logging replacement for Python" -category = "main" optional = true python-versions = "*" +files = [ + {file = "Logbook-1.5.3-cp27-cp27m-win32.whl", hash = "sha256:56ee54c11df3377314cedcd6507638f015b4b88c0238c2e01b5eb44fd3a6ad1b"}, + {file = "Logbook-1.5.3-cp27-cp27m-win_amd64.whl", hash = "sha256:2dc85f1510533fddb481e97677bb7bca913560862734c0b3b289bfed04f78c92"}, + {file = "Logbook-1.5.3-cp35-cp35m-win32.whl", hash = "sha256:94e2e11ff3c2304b0d09a36c6208e5ae756eb948b210e5cbd63cd8d27f911542"}, + {file = "Logbook-1.5.3-cp35-cp35m-win_amd64.whl", hash = "sha256:97fee1bd9605f76335b169430ed65e15e457a844b2121bd1d90a08cf7e30aba0"}, + {file = "Logbook-1.5.3-cp36-cp36m-win32.whl", hash = "sha256:7c533eb728b3d220b1b5414ba4635292d149d79f74f6973b4aa744c850ca944a"}, + {file = "Logbook-1.5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:e18f7422214b1cf0240c56f884fd9c9b4ff9d0da2eabca9abccba56df7222f66"}, + {file = "Logbook-1.5.3-cp37-cp37m-win32.whl", hash = "sha256:8f76a2e7b1f72595f753228732f81ce342caf03babc3fed6bbdcf366f2f20f18"}, + {file = "Logbook-1.5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0cf2cdbfb65a03b5987d19109dacad13417809dcf697f66e1a7084fb21744ea9"}, + {file = "Logbook-1.5.3.tar.gz", hash = "sha256:66f454ada0f56eae43066f604a222b09893f98c1adc18df169710761b8f32fe8"}, +] [package.extras] -all = ["Jinja2", "brotli", "cython", "execnet (>=1.0.9)", "pytest (>4.0)", "pytest-cov (>=2.6)", "pyzmq", "redis", "sqlalchemy"] +all = ["Jinja2", "brotli", "cython", "execnet (>=1.0.9)", "mock", "pytest", "pytest-cov (<2.6)", "pyzmq", "redis", "sqlalchemy"] compression = ["brotli"] -dev = ["cython", "pytest (>4.0)", "pytest-cov (>=2.6)"] +dev = ["cython", "mock", "pytest", "pytest-cov (<2.6)"] execnet = ["execnet (>=1.0.9)"] jinja = ["Jinja2"] redis = ["redis"] sqlalchemy = ["sqlalchemy"] -test = ["pytest (>4.0)", "pytest-cov (>=2.6)"] +test = ["mock", "pytest", "pytest-cov (<2.6)"] zmq = ["pyzmq"] [[package]] name = "lxml" version = "4.9.3" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" - -[package.extras] -cssselect = ["cssselect (>=0.7)"] -html5 = ["html5lib"] -htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=0.29.35)"] - -[[package]] -name = "makefun" +files = [ + {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, + {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, + {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, + {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, + {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, + {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, + {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, + {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae8b9c6deb1e634ba4f1930eb67ef6e6bf6a44b6eb5ad605642b2d6d5ed9ce3c"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76"}, + {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23"}, + {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f"}, + {file = "lxml-4.9.3-cp310-cp310-win32.whl", hash = "sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85"}, + {file = "lxml-4.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d"}, + {file = "lxml-4.9.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:9767e79108424fb6c3edf8f81e6730666a50feb01a328f4a016464a5893f835a"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b"}, + {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120"}, + {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6"}, + {file = "lxml-4.9.3-cp311-cp311-win32.whl", hash = "sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305"}, + {file = "lxml-4.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc"}, + {file = "lxml-4.9.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4"}, + {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be"}, + {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13"}, + {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9"}, + {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5"}, + {file = "lxml-4.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8"}, + {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7"}, + {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2"}, + {file = "lxml-4.9.3-cp35-cp35m-win32.whl", hash = "sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d"}, + {file = "lxml-4.9.3-cp35-cp35m-win_amd64.whl", hash = "sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833"}, + {file = "lxml-4.9.3-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e3cd95e10c2610c360154afdc2f1480aea394f4a4f1ea0a5eacce49640c9b190"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584"}, + {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287"}, + {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458"}, + {file = "lxml-4.9.3-cp36-cp36m-win32.whl", hash = "sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477"}, + {file = "lxml-4.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:141f1d1a9b663c679dc524af3ea1773e618907e96075262726c7612c02b149a4"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4"}, + {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a"}, + {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02"}, + {file = "lxml-4.9.3-cp37-cp37m-win32.whl", hash = "sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f"}, + {file = "lxml-4.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:71d66ee82e7417828af6ecd7db817913cb0cf9d4e61aa0ac1fde0583d84358db"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa"}, + {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40"}, + {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7"}, + {file = "lxml-4.9.3-cp38-cp38-win32.whl", hash = "sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574"}, + {file = "lxml-4.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96"}, + {file = "lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432"}, + {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69"}, + {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50"}, + {file = "lxml-4.9.3-cp39-cp39-win32.whl", hash = "sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2"}, + {file = "lxml-4.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2"}, + {file = "lxml-4.9.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35"}, + {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0"}, + {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:05186a0f1346ae12553d66df1cfce6f251589fea3ad3da4f3ef4e34b2d58c6a3"}, + {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:50670615eaf97227d5dc60de2dc99fb134a7130d310d783314e7724bf163f75d"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9"}, + {file = "lxml-4.9.3.tar.gz", hash = "sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c"}, +] + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html5 = ["html5lib"] +htmlsoup = ["BeautifulSoup4"] +source = ["Cython (>=0.29.35)"] + +[[package]] +name = "makefun" version = "1.15.1" description = "Small library to dynamically create python functions." -category = "main" optional = false python-versions = "*" +files = [ + {file = "makefun-1.15.1-py2.py3-none-any.whl", hash = "sha256:a63cfc7b47a539c76d97bd4fdb833c7d0461e759fd1225f580cb4be6200294d4"}, + {file = "makefun-1.15.1.tar.gz", hash = "sha256:40b0f118b6ded0d8d78c78f1eb679b8b6b2462e3c1b3e05fb1b2da8cd46b48a5"}, +] [[package]] name = "mako" version = "1.2.4" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Mako-1.2.4-py3-none-any.whl", hash = "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818"}, + {file = "Mako-1.2.4.tar.gz", hash = "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34"}, +] [package.dependencies] MarkupSafe = ">=0.9.2" @@ -2804,9 +4227,12 @@ testing = ["pytest"] name = "markdown" version = "3.4.4" description = "Python implementation of John Gruber's Markdown." -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "Markdown-3.4.4-py3-none-any.whl", hash = "sha256:a4c1b65c0957b4bd9e7d86ddc7b3c9868fb9670660f6f99f6d1bca8954d5a941"}, + {file = "Markdown-3.4.4.tar.gz", hash = "sha256:225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6"}, +] [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} @@ -2819,9 +4245,12 @@ testing = ["coverage", "pyyaml"] name = "markdown-it-py" version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] [package.dependencies] mdurl = ">=0.1,<1.0" @@ -2840,17 +4269,81 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" +files = [ + {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-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, + {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]] name = "marshmallow" version = "3.20.1" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "marshmallow-3.20.1-py3-none-any.whl", hash = "sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c"}, + {file = "marshmallow-3.20.1.tar.gz", hash = "sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889"}, +] [package.dependencies] packaging = ">=17.0" @@ -2865,9 +4358,12 @@ tests = ["pytest", "pytz", "simplejson"] name = "marshmallow-oneofschema" version = "3.0.1" description = "marshmallow multiplexing schema" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "marshmallow-oneofschema-3.0.1.tar.gz", hash = "sha256:62cd2099b29188c92493c2940ee79d1bf2f2619a71721664e5a98ec2faa58237"}, + {file = "marshmallow_oneofschema-3.0.1-py2.py3-none-any.whl", hash = "sha256:bd29410a9f2f7457a2b428286e2a80ef76b8ddc3701527dc1f935a88914b02f2"}, +] [package.dependencies] marshmallow = ">=3.0.0,<4.0.0" @@ -2881,9 +4377,12 @@ tests = ["mock", "pytest"] name = "marshmallow-sqlalchemy" version = "0.26.1" description = "SQLAlchemy integration with the marshmallow (de)serialization library" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "marshmallow-sqlalchemy-0.26.1.tar.gz", hash = "sha256:d8525f74de51554b5c8491effe036f60629a426229befa33ff614c8569a16a73"}, + {file = "marshmallow_sqlalchemy-0.26.1-py2.py3-none-any.whl", hash = "sha256:ba7493eeb8669a3bf00d8f906b657feaa87a740ae9e4ecf829cfd6ddf763d276"}, +] [package.dependencies] marshmallow = ">=3.0.0" @@ -2899,9 +4398,12 @@ tests = ["pytest", "pytest-lazy-fixture"] name = "mashumaro" version = "3.6" description = "Fast serialization library on top of dataclasses" -category = "main" optional = true python-versions = ">=3.7" +files = [ + {file = "mashumaro-3.6-py3-none-any.whl", hash = "sha256:77403e3e2ecd0a7d0e22d472c08e33282460e48726eabe356c5163efbdf9c7ee"}, + {file = "mashumaro-3.6.tar.gz", hash = "sha256:ceb3de53029219bbbb0385ca600b59348dcd14e0c68523986c6d51889ad338f5"}, +] [package.dependencies] msgpack = {version = ">=0.5.6", optional = true, markers = "extra == \"msgpack\""} @@ -2917,17 +4419,23 @@ yaml = ["pyyaml (>=3.13)"] name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] [[package]] name = "mdit-py-plugins" version = "0.4.0" description = "Collection of plugins for markdown-it-py" -category = "dev" optional = false python-versions = ">=3.8" +files = [ + {file = "mdit_py_plugins-0.4.0-py3-none-any.whl", hash = "sha256:b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9"}, + {file = "mdit_py_plugins-0.4.0.tar.gz", hash = "sha256:d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b"}, +] [package.dependencies] markdown-it-py = ">=1.0.0,<4.0.0" @@ -2941,17 +4449,22 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" -category = "dev" optional = false python-versions = ">=3.7" +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] [[package]] name = "minimal-snowplow-tracker" version = "0.0.2" description = "A minimal snowplow event tracker for Python. Add analytics to your Python and Django apps, webapps and games" -category = "main" optional = true python-versions = "*" +files = [ + {file = "minimal-snowplow-tracker-0.0.2.tar.gz", hash = "sha256:acabf7572db0e7f5cbf6983d495eef54081f71be392330eb3aadb9ccb39daaa4"}, +] [package.dependencies] requests = ">=2.2.1,<3.0" @@ -2961,17 +4474,40 @@ six = ">=1.9.0,<2.0" name = "more-itertools" version = "10.1.0" description = "More routines for operating on iterables, beyond itertools" -category = "main" optional = true python-versions = ">=3.8" +files = [ + {file = "more-itertools-10.1.0.tar.gz", hash = "sha256:626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a"}, + {file = "more_itertools-10.1.0-py3-none-any.whl", hash = "sha256:64e0735fcfdc6f3464ea133afe8ea4483b1c5fe3a3d69852e6503b43a0b222e6"}, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +description = "Python library for arbitrary-precision floating-point arithmetic" +optional = true +python-versions = "*" +files = [ + {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] + +[package.extras] +develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] +docs = ["sphinx"] +gmpy = ["gmpy2 (>=2.1.0a4)"] +tests = ["pytest (>=4.6)"] [[package]] name = "msal" version = "1.23.0" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." -category = "main" optional = true python-versions = "*" +files = [ + {file = "msal-1.23.0-py2.py3-none-any.whl", hash = "sha256:3342e0837a047007f9d479e814b559c3219767453d57920dc40a31986862048b"}, + {file = "msal-1.23.0.tar.gz", hash = "sha256:25c9a33acf84301f93d1fdbe9f1a9c60cd38af0d5fffdbfa378138fc7bc1e86b"}, +] [package.dependencies] cryptography = ">=0.6,<44" @@ -2985,9 +4521,12 @@ broker = ["pymsalruntime (>=0.13.2,<0.14)"] name = "msal-extensions" version = "1.0.0" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." -category = "main" optional = true python-versions = "*" +files = [ + {file = "msal-extensions-1.0.0.tar.gz", hash = "sha256:c676aba56b0cce3783de1b5c5ecfe828db998167875126ca4b47dc6436451354"}, + {file = "msal_extensions-1.0.0-py2.py3-none-any.whl", hash = "sha256:91e3db9620b822d0ed2b4d1850056a0f133cba04455e62f11612e40f5502f2ee"}, +] [package.dependencies] msal = ">=0.4.1,<2.0.0" @@ -3000,3348 +4539,9 @@ portalocker = [ name = "msgpack" version = "1.0.5" description = "MessagePack serializer" -category = "main" optional = true python-versions = "*" - -[[package]] -name = "multidict" -version = "6.0.4" -description = "multidict implementation" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "mypy" -version = "1.6.1" -description = "Optional static typing for Python" -category = "dev" -optional = false -python-versions = ">=3.8" - -[package.dependencies] -mypy-extensions = ">=1.0.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=4.1.0" - -[package.extras] -dmypy = ["psutil (>=4.0)"] -install-types = ["pip"] -reports = ["lxml"] - -[[package]] -name = "mypy-boto3-athena" -version = "1.28.36" -description = "Type annotations for boto3.Athena 1.28.36 service generated with mypy-boto3-builder 7.18.0" -category = "main" -optional = true -python-versions = ">=3.7" - -[package.dependencies] -typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} - -[[package]] -name = "mypy-boto3-glue" -version = "1.28.36" -description = "Type annotations for boto3.Glue 1.28.36 service generated with mypy-boto3-builder 7.18.0" -category = "main" -optional = true -python-versions = ">=3.7" - -[package.dependencies] -typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} - -[[package]] -name = "mypy-boto3-lakeformation" -version = "1.28.36" -description = "Type annotations for boto3.LakeFormation 1.28.36 service generated with mypy-boto3-builder 7.18.0" -category = "main" -optional = true -python-versions = ">=3.7" - -[package.dependencies] -typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} - -[[package]] -name = "mypy-boto3-sts" -version = "1.28.37" -description = "Type annotations for boto3.STS 1.28.37 service generated with mypy-boto3-builder 7.18.2" -category = "main" -optional = true -python-versions = ">=3.7" - -[package.dependencies] -typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" -optional = false -python-versions = ">=3.5" - -[[package]] -name = "natsort" -version = "8.4.0" -description = "Simple yet flexible natural sorting in Python." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -fast = ["fastnumbers (>=2.0.0)"] -icu = ["PyICU (>=1.0.0)"] - -[[package]] -name = "networkx" -version = "2.8.8" -description = "Python package for creating and manipulating graphs and networks" -category = "main" -optional = true -python-versions = ">=3.8" - -[package.extras] -default = ["matplotlib (>=3.4)", "numpy (>=1.19)", "pandas (>=1.3)", "scipy (>=1.8)"] -developer = ["mypy (>=0.982)", "pre-commit (>=2.20)"] -doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.2)", "pydata-sphinx-theme (>=0.11)", "sphinx (>=5.2)", "sphinx-gallery (>=0.11)", "texext (>=0.6.6)"] -extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.9)", "sympy (>=1.10)"] -test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] - -[[package]] -name = "nr-date" -version = "2.1.0" -description = "" -category = "dev" -optional = false -python-versions = ">=3.6,<4.0" - -[[package]] -name = "nr-stream" -version = "1.1.5" -description = "" -category = "dev" -optional = false -python-versions = ">=3.6,<4.0" - -[[package]] -name = "nr-util" -version = "0.8.12" -description = "General purpose Python utility library." -category = "dev" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -deprecated = ">=1.2.0,<2.0.0" -typing-extensions = ">=3.0.0" - -[[package]] -name = "numpy" -version = "1.24.4" -description = "Fundamental package for array computing in Python" -category = "main" -optional = false -python-versions = ">=3.8" - -[[package]] -name = "numpy" -version = "1.25.2" -description = "Fundamental package for array computing in Python" -category = "main" -optional = false -python-versions = ">=3.9" - -[[package]] -name = "oauthlib" -version = "3.2.2" -description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.extras] -rsa = ["cryptography (>=3.0.0)"] -signals = ["blinker (>=1.4.0)"] -signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] - -[[package]] -name = "opentelemetry-api" -version = "1.15.0" -description = "OpenTelemetry Python API" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -deprecated = ">=1.2.6" -setuptools = ">=16.0" - -[[package]] -name = "opentelemetry-exporter-otlp" -version = "1.15.0" -description = "OpenTelemetry Collector Exporters" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -opentelemetry-exporter-otlp-proto-grpc = "1.15.0" -opentelemetry-exporter-otlp-proto-http = "1.15.0" - -[[package]] -name = "opentelemetry-exporter-otlp-proto-grpc" -version = "1.15.0" -description = "OpenTelemetry Collector Protobuf over gRPC Exporter" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -backoff = {version = ">=1.10.0,<3.0.0", markers = "python_version >= \"3.7\""} -googleapis-common-protos = ">=1.52,<2.0" -grpcio = ">=1.0.0,<2.0.0" -opentelemetry-api = ">=1.12,<2.0" -opentelemetry-proto = "1.15.0" -opentelemetry-sdk = ">=1.12,<2.0" - -[package.extras] -test = ["pytest-grpc"] - -[[package]] -name = "opentelemetry-exporter-otlp-proto-http" -version = "1.15.0" -description = "OpenTelemetry Collector Protobuf over HTTP Exporter" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -backoff = {version = ">=1.10.0,<3.0.0", markers = "python_version >= \"3.7\""} -googleapis-common-protos = ">=1.52,<2.0" -opentelemetry-api = ">=1.12,<2.0" -opentelemetry-proto = "1.15.0" -opentelemetry-sdk = ">=1.12,<2.0" -requests = ">=2.7,<3.0" - -[package.extras] -test = ["responses (==0.22.0)"] - -[[package]] -name = "opentelemetry-proto" -version = "1.15.0" -description = "OpenTelemetry Python Proto" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -protobuf = ">=3.19,<5.0" - -[[package]] -name = "opentelemetry-sdk" -version = "1.15.0" -description = "OpenTelemetry Python SDK" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -opentelemetry-api = "1.15.0" -opentelemetry-semantic-conventions = "0.36b0" -setuptools = ">=16.0" -typing-extensions = ">=3.7.4" - -[[package]] -name = "opentelemetry-semantic-conventions" -version = "0.36b0" -description = "OpenTelemetry Semantic Conventions" -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "ordered-set" -version = "4.1.0" -description = "An OrderedSet is a custom MutableSet that remembers its order, so that every" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -dev = ["black", "mypy", "pytest"] - -[[package]] -name = "orjson" -version = "3.9.5" -description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "oscrypto" -version = "1.3.0" -description = "TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not require a compiler, and relies on the OS for patching. Works on Windows, OS X and Linux/BSD." -category = "main" -optional = true -python-versions = "*" - -[package.dependencies] -asn1crypto = ">=1.5.1" - -[[package]] -name = "packaging" -version = "23.1" -description = "Core utilities for Python packages" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "pandas" -version = "1.5.3" -description = "Powerful data structures for data analysis, time series, and statistics" -category = "main" -optional = false -python-versions = ">=3.8" - -[package.dependencies] -numpy = [ - {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, -] -python-dateutil = ">=2.8.1" -pytz = ">=2020.1" - -[package.extras] -test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] - -[[package]] -name = "parsedatetime" -version = "2.4" -description = "Parse human-readable date/time text." -category = "main" -optional = true -python-versions = "*" - -[package.dependencies] -future = "*" - -[[package]] -name = "pathspec" -version = "0.11.2" -description = "Utility library for gitignore style pattern matching of file paths." -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "pathvalidate" -version = "3.1.0" -description = "pathvalidate is a Python library to sanitize/validate a string such as filenames/file-paths/etc." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -docs = ["Sphinx (>=2.4)", "sphinx-rtd-theme (>=1.2.2)", "urllib3 (<2)"] -test = ["Faker (>=1.0.8)", "allpairspy (>=2)", "click (>=6.2)", "pytest (>=6.0.1)", "pytest-discord (>=0.1.2)", "pytest-md-report (>=0.3)"] - -[[package]] -name = "pbr" -version = "5.11.1" -description = "Python Build Reasonableness" -category = "dev" -optional = false -python-versions = ">=2.6" - -[[package]] -name = "pendulum" -version = "2.1.2" -description = "Python datetimes made easy" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.dependencies] -python-dateutil = ">=2.6,<3.0" -pytzdata = ">=2020.1" - -[[package]] -name = "pipdeptree" -version = "2.9.6" -description = "Command line utility to show dependency tree of packages." -category = "main" -optional = true -python-versions = ">=3.7" - -[package.extras] -graphviz = ["graphviz (>=0.20.1)"] -test = ["covdefaults (>=2.3)", "diff-cover (>=7.6)", "pip (>=23.1.2)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "virtualenv (>=20.23.1,<21)"] - -[[package]] -name = "pkgutil-resolve-name" -version = "1.3.10" -description = "Resolve a name to an object." -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "platformdirs" -version = "3.8.1" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -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" -version = "1.3.0" -description = "plugin and hook calling mechanisms for python" -category = "dev" -optional = false -python-versions = ">=3.8" - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "ply" -version = "3.11" -description = "Python Lex & Yacc" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "portalocker" -version = "2.7.0" -description = "Wraps the portalocker recipe for easy usage" -category = "main" -optional = true -python-versions = ">=3.5" - -[package.dependencies] -pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} - -[package.extras] -docs = ["sphinx (>=1.7.1)"] -redis = ["redis"] -tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)"] - -[[package]] -name = "prefixed" -version = "0.7.0" -description = "Prefixed alternative numeric library" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "prison" -version = "0.2.1" -description = "Rison encoder/decoder" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -six = "*" - -[package.extras] -dev = ["nose", "pipreqs", "twine"] - -[[package]] -name = "proto-plus" -version = "1.22.3" -description = "Beautiful, Pythonic protocol buffers." -category = "main" -optional = true -python-versions = ">=3.6" - -[package.dependencies] -protobuf = ">=3.19.0,<5.0.0dev" - -[package.extras] -testing = ["google-api-core[grpc] (>=1.31.5)"] - -[[package]] -name = "protobuf" -version = "4.24.2" -description = "" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "psutil" -version = "5.9.5" -description = "Cross-platform lib for process and system monitoring in Python." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.extras] -test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] - -[[package]] -name = "psycopg2-binary" -version = "2.9.7" -description = "psycopg2 - Python-PostgreSQL Database Adapter" -category = "main" -optional = true -python-versions = ">=3.6" - -[[package]] -name = "psycopg2cffi" -version = "2.9.0" -description = ".. image:: https://travis-ci.org/chtd/psycopg2cffi.svg?branch=master" -category = "main" -optional = true -python-versions = "*" - -[package.dependencies] -cffi = ">=1.0" -six = "*" - -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "pyarrow" -version = "10.0.1" -description = "Python library for Apache Arrow" -category = "main" -optional = true -python-versions = ">=3.7" - -[package.dependencies] -numpy = ">=1.16.6" - -[[package]] -name = "pyasn1" -version = "0.5.0" -description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" -category = "main" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" - -[[package]] -name = "pyasn1-modules" -version = "0.3.0" -description = "A collection of ASN.1-based protocols modules" -category = "main" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" - -[package.dependencies] -pyasn1 = ">=0.4.6,<0.6.0" - -[[package]] -name = "pyathena" -version = "3.0.6" -description = "Python DB API 2.0 (PEP 249) client for Amazon Athena" -category = "main" -optional = true -python-versions = ">=3.8.1" - -[package.dependencies] -boto3 = ">=1.26.4" -botocore = ">=1.29.4" -fsspec = "*" -tenacity = ">=4.1.0" - -[package.extras] -arrow = ["pyarrow (>=7.0.0)"] -fastparquet = ["fastparquet (>=0.4.0)"] -pandas = ["pandas (>=1.3.0)"] -sqlalchemy = ["sqlalchemy (>=1.0.0)"] - -[[package]] -name = "pycodestyle" -version = "2.9.1" -description = "Python style guide checker" -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -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.*" - -[[package]] -name = "pycryptodomex" -version = "3.18.0" -description = "Cryptographic library for Python" -category = "main" -optional = true -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "pydantic" -version = "1.10.12" -description = "Data validation and settings management using python type hints" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -typing-extensions = ">=4.2.0" - -[package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] - -[[package]] -name = "pydoc-markdown" -version = "4.8.2" -description = "Create Python API documentation in Markdown format." -category = "dev" -optional = false -python-versions = ">=3.7,<4.0" - -[package.dependencies] -click = ">=7.1,<9.0" -"databind.core" = ">=4.4.0,<5.0.0" -"databind.json" = ">=4.4.0,<5.0.0" -docspec = ">=2.2.1,<3.0.0" -docspec-python = ">=2.2.1,<3.0.0" -docstring-parser = ">=0.11,<0.12" -jinja2 = ">=3.0.0,<4.0.0" -"nr.util" = ">=0.7.5,<1.0.0" -PyYAML = ">=5.0,<7.0" -requests = ">=2.23.0,<3.0.0" -tomli = ">=2.0.0,<3.0.0" -tomli_w = ">=1.0.0,<2.0.0" -watchdog = "*" -yapf = ">=0.30.0" - -[[package]] -name = "pyflakes" -version = "2.5.0" -description = "passive checker of Python programs" -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "pygments" -version = "2.16.1" -description = "Pygments is a syntax highlighting package written in Python." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -plugins = ["importlib-metadata"] - -[[package]] -name = "pyjwt" -version = "2.8.0" -description = "JSON Web Token implementation in Python" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -cryptography = {version = ">=3.4.0", optional = true, markers = "extra == \"crypto\""} - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - -[[package]] -name = "pymysql" -version = "1.1.0" -description = "Pure Python MySQL Driver" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -ed25519 = ["PyNaCl (>=1.4.0)"] -rsa = ["cryptography"] - -[[package]] -name = "pyodbc" -version = "4.0.39" -description = "DB API Module for ODBC" -category = "main" -optional = true -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" - -[[package]] -name = "pyopenssl" -version = "23.2.0" -description = "Python wrapper module around the OpenSSL library" -category = "main" -optional = true -python-versions = ">=3.6" - -[package.dependencies] -cryptography = ">=38.0.0,<40.0.0 || >40.0.0,<40.0.1 || >40.0.1,<42" - -[package.extras] -docs = ["sphinx (!=5.2.0,!=5.2.0.post0)", "sphinx-rtd-theme"] -test = ["flaky", "pretend", "pytest (>=3.0.1)"] - -[[package]] -name = "pyparsing" -version = "3.1.1" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "dev" -optional = false -python-versions = ">=3.6.8" - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - -[[package]] -name = "pypdf2" -version = "3.0.1" -description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -typing_extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} - -[package.extras] -crypto = ["PyCryptodome"] -dev = ["black", "flit", "pip-tools", "pre-commit (<2.18.0)", "pytest-cov", "wheel"] -docs = ["myst_parser", "sphinx", "sphinx_rtd_theme"] -full = ["Pillow", "PyCryptodome"] -image = ["Pillow"] - -[[package]] -name = "pytest" -version = "6.2.5" -description = "pytest: simple powerful testing with Python" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} -attrs = ">=19.2.0" -colorama = {version = "*", markers = "sys_platform == \"win32\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -toml = "*" - -[package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] - -[[package]] -name = "pytest-cases" -version = "3.6.14" -description = "Separate test code from test cases in pytest." -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -decopatch = "*" -makefun = ">=1.9.5" - -[[package]] -name = "pytest-console-scripts" -version = "1.4.1" -description = "Pytest plugin for testing console scripts" -category = "dev" -optional = false -python-versions = ">=3.8" - -[package.dependencies] -importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} -pytest = ">=4.0.0" - -[[package]] -name = "pytest-forked" -version = "1.6.0" -description = "run tests in isolated forked subprocesses" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -py = "*" -pytest = ">=3.10" - -[[package]] -name = "pytest-order" -version = "1.1.0" -description = "pytest plugin to run your tests in a specific order" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -pytest = [ - {version = ">=5.0", markers = "python_version < \"3.10\""}, - {version = ">=6.2.4", markers = "python_version >= \"3.10\""}, -] - -[[package]] -name = "pytest-pythonpath" -version = "0.7.4" -description = "pytest plugin for adding to the PYTHONPATH from command line or configs." -category = "dev" -optional = false -python-versions = ">=2.6, <4" - -[package.dependencies] -pytest = ">=2.5.2,<7" - -[[package]] -name = "python-daemon" -version = "3.0.1" -description = "Library to implement a well-behaved Unix daemon process." -category = "dev" -optional = false -python-versions = ">=3" - -[package.dependencies] -docutils = "*" -lockfile = ">=0.10" -setuptools = ">=62.4.0" - -[package.extras] -devel = ["coverage", "docutils", "isort", "testscenarios (>=0.4)", "testtools", "twine"] -test = ["coverage", "docutils", "testscenarios (>=0.4)", "testtools"] - -[[package]] -name = "python-dateutil" -version = "2.8.2" -description = "Extensions to the standard Python datetime module" -category = "main" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-nvd3" -version = "0.15.0" -description = "Python NVD3 - Chart Library for d3.js" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -Jinja2 = ">=2.8" -python-slugify = ">=1.2.5" - -[[package]] -name = "python-slugify" -version = "8.0.1" -description = "A Python slugify application that also handles Unicode" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -text-unidecode = ">=1.3" - -[package.extras] -unidecode = ["Unidecode (>=1.1.1)"] - -[[package]] -name = "pytimeparse" -version = "1.1.8" -description = "Time expression parser" -category = "main" -optional = true -python-versions = "*" - -[[package]] -name = "pytz" -version = "2023.3" -description = "World timezone definitions, modern and historical" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "pytzdata" -version = "2020.1" -description = "The Olson timezone database for Python." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "pywin32" -version = "306" -description = "Python for Window Extensions" -category = "main" -optional = true -python-versions = "*" - -[[package]] -name = "pywin32-ctypes" -version = "0.2.2" -description = "A (partial) reimplementation of pywin32 using ctypes/cffi" -category = "main" -optional = true -python-versions = ">=3.6" - -[[package]] -name = "pyyaml" -version = "6.0.1" -description = "YAML parser and emitter for Python" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "redshift-connector" -version = "2.0.913" -description = "Redshift interface library" -category = "main" -optional = true -python-versions = ">=3.6" - -[package.dependencies] -beautifulsoup4 = ">=4.7.0,<5.0.0" -boto3 = ">=1.9.201,<2.0.0" -botocore = ">=1.12.201,<2.0.0" -lxml = ">=4.6.5" -packaging = "*" -pytz = ">=2020.1" -requests = ">=2.23.0,<3.0.0" -scramp = ">=1.2.0,<1.5.0" -setuptools = "*" - -[package.extras] -full = ["numpy", "pandas"] - -[[package]] -name = "referencing" -version = "0.30.2" -description = "JSON Referencing + Python" -category = "main" -optional = false -python-versions = ">=3.8" - -[package.dependencies] -attrs = ">=22.2.0" -rpds-py = ">=0.7.0" - -[[package]] -name = "regex" -version = "2023.8.8" -description = "Alternative regular expression module, to replace re." -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "requests" -version = "2.31.0" -description = "Python HTTP for Humans." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "requests-mock" -version = "1.11.0" -description = "Mock out responses from the requests package" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -requests = ">=2.3,<3" -six = "*" - -[package.extras] -fixture = ["fixtures"] -test = ["fixtures", "mock", "purl", "pytest", "requests-futures", "sphinx", "testtools"] - -[[package]] -name = "requests-oauthlib" -version = "1.3.1" -description = "OAuthlib authentication support for Requests." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.dependencies] -oauthlib = ">=3.0.0" -requests = ">=2.0.0" - -[package.extras] -rsa = ["oauthlib[signedtoken] (>=3.0.0)"] - -[[package]] -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.*" - -[package.dependencies] -requests = ">=2.0.1,<3.0.0" - -[[package]] -name = "requirements-parser" -version = "0.5.0" -description = "This is a small Python module for parsing Pip requirement files." -category = "main" -optional = false -python-versions = ">=3.6,<4.0" - -[package.dependencies] -types-setuptools = ">=57.0.0" - -[[package]] -name = "rfc3339-validator" -version = "0.1.4" -description = "A pure python RFC3339 validator" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.dependencies] -six = "*" - -[[package]] -name = "rich" -version = "13.5.2" -description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -category = "dev" -optional = false -python-versions = ">=3.7.0" - -[package.dependencies] -markdown-it-py = ">=2.2.0" -pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} - -[package.extras] -jupyter = ["ipywidgets (>=7.5.1,<9)"] - -[[package]] -name = "rich-argparse" -version = "1.3.0" -description = "Rich help formatters for argparse and optparse" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -rich = ">=11.0.0" - -[[package]] -name = "rpds-py" -version = "0.10.0" -description = "Python bindings to Rust's persistent data structures (rpds)" -category = "main" -optional = false -python-versions = ">=3.8" - -[[package]] -name = "rsa" -version = "4.9" -description = "Pure-Python RSA implementation" -category = "main" -optional = false -python-versions = ">=3.6,<4" - -[package.dependencies] -pyasn1 = ">=0.1.3" - -[[package]] -name = "s3fs" -version = "2023.6.0" -description = "Convenient Filesystem interface over S3" -category = "main" -optional = true -python-versions = ">= 3.8" - -[package.dependencies] -aiobotocore = ">=2.5.0,<2.6.0" -aiohttp = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1" -fsspec = "2023.6.0" - -[package.extras] -awscli = ["aiobotocore[awscli] (>=2.5.0,<2.6.0)"] -boto3 = ["aiobotocore[boto3] (>=2.5.0,<2.6.0)"] - -[[package]] -name = "s3transfer" -version = "0.6.2" -description = "An Amazon S3 Transfer Manager" -category = "main" -optional = true -python-versions = ">= 3.7" - -[package.dependencies] -botocore = ">=1.12.36,<2.0a.0" - -[package.extras] -crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] - -[[package]] -name = "scramp" -version = "1.4.4" -description = "An implementation of the SCRAM protocol." -category = "main" -optional = true -python-versions = ">=3.7" - -[package.dependencies] -asn1crypto = ">=1.5.1" - -[[package]] -name = "secretstorage" -version = "3.3.3" -description = "Python bindings to FreeDesktop.org Secret Service API" -category = "main" -optional = true -python-versions = ">=3.6" - -[package.dependencies] -cryptography = ">=2.0" -jeepney = ">=0.6" - -[[package]] -name = "semver" -version = "3.0.1" -description = "Python helper for Semantic Versioning (https://semver.org)" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "sentry-sdk" -version = "1.30.0" -description = "Python client for Sentry (https://sentry.io)" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -certifi = "*" -urllib3 = {version = ">=1.26.11", markers = "python_version >= \"3.6\""} - -[package.extras] -aiohttp = ["aiohttp (>=3.5)"] -arq = ["arq (>=0.23)"] -beam = ["apache-beam (>=2.12)"] -bottle = ["bottle (>=0.12.13)"] -celery = ["celery (>=3)"] -chalice = ["chalice (>=1.16.0)"] -django = ["django (>=1.8)"] -falcon = ["falcon (>=1.4)"] -fastapi = ["fastapi (>=0.79.0)"] -flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] -grpcio = ["grpcio (>=1.21.1)"] -httpx = ["httpx (>=0.16.0)"] -huey = ["huey (>=2)"] -loguru = ["loguru (>=0.5)"] -opentelemetry = ["opentelemetry-distro (>=0.35b0)"] -opentelemetry-experimental = ["opentelemetry-distro (>=0.40b0,<1.0)", "opentelemetry-instrumentation-aiohttp-client (>=0.40b0,<1.0)", "opentelemetry-instrumentation-django (>=0.40b0,<1.0)", "opentelemetry-instrumentation-fastapi (>=0.40b0,<1.0)", "opentelemetry-instrumentation-flask (>=0.40b0,<1.0)", "opentelemetry-instrumentation-requests (>=0.40b0,<1.0)", "opentelemetry-instrumentation-sqlite3 (>=0.40b0,<1.0)", "opentelemetry-instrumentation-urllib (>=0.40b0,<1.0)"] -pure-eval = ["asttokens", "executing", "pure-eval"] -pymongo = ["pymongo (>=3.1)"] -pyspark = ["pyspark (>=2.4.4)"] -quart = ["blinker (>=1.1)", "quart (>=0.16.1)"] -rq = ["rq (>=0.6)"] -sanic = ["sanic (>=0.8)"] -sqlalchemy = ["sqlalchemy (>=1.2)"] -starlette = ["starlette (>=0.19.1)"] -starlite = ["starlite (>=1.48)"] -tornado = ["tornado (>=5)"] - -[[package]] -name = "setproctitle" -version = "1.3.2" -description = "A Python module to customize the process title" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -test = ["pytest"] - -[[package]] -name = "setuptools" -version = "68.1.2" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" -optional = false -python-versions = ">=3.8" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5,<=7.1.2)", "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-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "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]] -name = "simplejson" -version = "3.19.1" -description = "Simple, fast, extensible JSON encoder/decoder for Python" -category = "main" -optional = false -python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "smmap" -version = "5.0.0" -description = "A pure Python implementation of a sliding window memory map manager" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "sniffio" -version = "1.3.0" -description = "Sniff out which async library your code is running under" -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "snowflake-connector-python" -version = "3.1.1" -description = "Snowflake Connector for Python" -category = "main" -optional = true -python-versions = ">=3.8" - -[package.dependencies] -asn1crypto = ">0.24.0,<2.0.0" -certifi = ">=2017.4.17" -cffi = ">=1.9,<2.0.0" -charset-normalizer = ">=2,<4" -cryptography = ">=3.1.0,<42.0.0" -filelock = ">=3.5,<4" -idna = ">=2.5,<4" -keyring = {version = "<16.1.0 || >16.1.0,<25.0.0", optional = true, markers = "extra == \"secure-local-storage\""} -oscrypto = "<2.0.0" -packaging = "*" -pandas = {version = ">=1.0.0,<2.1.0", optional = true, markers = "extra == \"pandas\""} -platformdirs = ">=2.6.0,<3.9.0" -pyarrow = {version = ">=10.0.1,<10.1.0", optional = true, markers = "extra == \"pandas\""} -pycryptodomex = ">=3.2,<3.5.0 || >3.5.0,<4.0.0" -pyjwt = "<3.0.0" -pyOpenSSL = ">=16.2.0,<24.0.0" -pytz = "*" -requests = "<3.0.0" -sortedcontainers = ">=2.4.0" -tomlkit = "*" -typing-extensions = ">=4.3,<5" -urllib3 = ">=1.21.1,<1.27" - -[package.extras] -development = ["Cython", "coverage", "more-itertools", "numpy (<1.26.0)", "pendulum (!=2.1.1)", "pexpect", "pytest (<7.5.0)", "pytest-cov", "pytest-rerunfailures", "pytest-timeout", "pytest-xdist", "pytzdata"] -pandas = ["pandas (>=1.0.0,<2.1.0)", "pyarrow (>=10.0.1,<10.1.0)"] -secure-local-storage = ["keyring (!=16.1.0,<25.0.0)"] - -[[package]] -name = "sortedcontainers" -version = "2.4.0" -description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" -category = "main" -optional = true -python-versions = "*" - -[[package]] -name = "soupsieve" -version = "2.5" -description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" -optional = true -python-versions = ">=3.8" - -[[package]] -name = "sqlalchemy" -version = "1.4.49" -description = "Database Abstraction Library" -category = "main" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" - -[package.dependencies] -greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} - -[package.extras] -aiomysql = ["aiomysql", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] -asyncio = ["greenlet (!=0.4.17)"] -asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"] -mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)"] -mssql = ["pyodbc"] -mssql-pymssql = ["pymssql"] -mssql-pyodbc = ["pyodbc"] -mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"] -mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"] -mysql-connector = ["mysql-connector-python"] -oracle = ["cx_oracle (>=7)", "cx_oracle (>=7,<8)"] -postgresql = ["psycopg2 (>=2.7)"] -postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] -postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"] -postgresql-psycopg2binary = ["psycopg2-binary"] -postgresql-psycopg2cffi = ["psycopg2cffi"] -pymysql = ["pymysql", "pymysql (<1)"] -sqlcipher = ["sqlcipher3_binary"] - -[[package]] -name = "sqlalchemy-jsonfield" -version = "1.0.1.post0" -description = "SQLALchemy JSONField implementation for storing dicts at SQL" -category = "dev" -optional = false -python-versions = ">=3.7.0" - -[package.dependencies] -sqlalchemy = "*" - -[[package]] -name = "sqlalchemy-utils" -version = "0.41.1" -description = "Various utility functions for SQLAlchemy." -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -SQLAlchemy = ">=1.3" - -[package.extras] -arrow = ["arrow (>=0.3.4)"] -babel = ["Babel (>=1.3)"] -color = ["colour (>=0.0.4)"] -encrypted = ["cryptography (>=0.6)"] -intervals = ["intervals (>=0.7.1)"] -password = ["passlib (>=1.6,<2.0)"] -pendulum = ["pendulum (>=2.0.5)"] -phone = ["phonenumbers (>=5.9.2)"] -test = ["Jinja2 (>=2.3)", "Pygments (>=1.2)", "backports.zoneinfo", "docutils (>=0.10)", "flake8 (>=2.4.0)", "flexmock (>=0.9.7)", "isort (>=4.2.2)", "pg8000 (>=1.12.4)", "psycopg (>=3.1.8)", "psycopg2 (>=2.5.1)", "psycopg2cffi (>=2.8.1)", "pymysql", "pyodbc", "pytest (>=2.7.1)", "python-dateutil (>=2.6)", "pytz (>=2014.2)"] -test-all = ["Babel (>=1.3)", "Jinja2 (>=2.3)", "Pygments (>=1.2)", "arrow (>=0.3.4)", "backports.zoneinfo", "colour (>=0.0.4)", "cryptography (>=0.6)", "docutils (>=0.10)", "flake8 (>=2.4.0)", "flexmock (>=0.9.7)", "furl (>=0.4.1)", "intervals (>=0.7.1)", "isort (>=4.2.2)", "passlib (>=1.6,<2.0)", "pendulum (>=2.0.5)", "pg8000 (>=1.12.4)", "phonenumbers (>=5.9.2)", "psycopg (>=3.1.8)", "psycopg2 (>=2.5.1)", "psycopg2cffi (>=2.8.1)", "pymysql", "pyodbc", "pytest (>=2.7.1)", "python-dateutil", "python-dateutil (>=2.6)", "pytz (>=2014.2)"] -timezone = ["python-dateutil"] -url = ["furl (>=0.4.1)"] - -[[package]] -name = "sqlfluff" -version = "2.3.2" -description = "The SQL Linter for Humans" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -appdirs = "*" -chardet = "*" -click = "*" -colorama = ">=0.3" -diff-cover = ">=2.5.0" -importlib-resources = {version = "*", markers = "python_version < \"3.9\""} -Jinja2 = "*" -pathspec = "*" -pytest = "*" -pyyaml = ">=5.1" -regex = "*" -tblib = "*" -toml = {version = "*", markers = "python_version < \"3.11\""} -tqdm = "*" -typing-extensions = "*" - -[[package]] -name = "sqlparse" -version = "0.4.4" -description = "A non-validating SQL parser." -category = "main" -optional = false -python-versions = ">=3.5" - -[package.extras] -dev = ["build", "flake8"] -doc = ["sphinx"] -test = ["pytest", "pytest-cov"] - -[[package]] -name = "stevedore" -version = "5.1.0" -description = "Manage dynamic plugins for Python applications" -category = "dev" -optional = false -python-versions = ">=3.8" - -[package.dependencies] -pbr = ">=2.0.0,<2.1.0 || >2.1.0" - -[[package]] -name = "tabulate" -version = "0.9.0" -description = "Pretty-print tabular data" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -widechars = ["wcwidth"] - -[[package]] -name = "tblib" -version = "2.0.0" -description = "Traceback serialization library." -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "tenacity" -version = "8.2.3" -description = "Retry code until it succeeds" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -doc = ["reno", "sphinx", "tornado (>=4.5)"] - -[[package]] -name = "termcolor" -version = "2.3.0" -description = "ANSI color formatting for output in terminal" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -tests = ["pytest", "pytest-cov"] - -[[package]] -name = "text-unidecode" -version = "1.3" -description = "The most basic Text::Unidecode port" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "tomli" -version = "2.0.1" -description = "A lil' TOML parser" -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "tomli-w" -version = "1.0.0" -description = "A lil' TOML writer" -category = "dev" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "tomlkit" -version = "0.12.1" -description = "Style preserving TOML library" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "tqdm" -version = "4.66.1" -description = "Fast, Extensible Progress Meter" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[package.extras] -dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] -notebook = ["ipywidgets (>=6)"] -slack = ["slack-sdk"] -telegram = ["requests"] - -[[package]] -name = "typeapi" -version = "2.1.1" -description = "" -category = "dev" -optional = false -python-versions = ">=3.6.3,<4.0.0" - -[package.dependencies] -typing-extensions = ">=3.0.0" - -[[package]] -name = "types-awscrt" -version = "0.19.1" -description = "Type annotations and code completion for awscrt" -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[[package]] -name = "types-cachetools" -version = "5.3.0.6" -description = "Typing stubs for cachetools" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-click" -version = "7.1.8" -description = "Typing stubs for click" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-deprecated" -version = "1.2.9.3" -description = "Typing stubs for Deprecated" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-protobuf" -version = "4.24.0.1" -description = "Typing stubs for protobuf" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-psutil" -version = "5.9.5.16" -description = "Typing stubs for psutil" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-psycopg2" -version = "2.9.21.14" -description = "Typing stubs for psycopg2" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-python-dateutil" -version = "2.8.19.14" -description = "Typing stubs for python-dateutil" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-pyyaml" -version = "6.0.12.11" -description = "Typing stubs for PyYAML" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-requests" -version = "2.31.0.2" -description = "Typing stubs for requests" -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -types-urllib3 = "*" - -[[package]] -name = "types-s3transfer" -version = "0.6.2" -description = "Type annotations and code completion for s3transfer" -category = "main" -optional = false -python-versions = ">=3.7,<4.0" - -[[package]] -name = "types-setuptools" -version = "68.1.0.1" -description = "Typing stubs for setuptools" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "types-simplejson" -version = "3.19.0.2" -description = "Typing stubs for simplejson" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-sqlalchemy" -version = "1.4.53.38" -description = "Typing stubs for SQLAlchemy" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-tqdm" -version = "4.66.0.2" -description = "Typing stubs for tqdm" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "types-urllib3" -version = "1.26.25.14" -description = "Typing stubs for urllib3" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "tzdata" -version = "2023.3" -description = "Provider of IANA time zone data" -category = "main" -optional = false -python-versions = ">=2" - -[[package]] -name = "uc-micro-py" -version = "1.0.2" -description = "Micro subset of unicode data files for linkify-it-py projects." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -test = ["coverage", "pytest", "pytest-cov"] - -[[package]] -name = "unicodecsv" -version = "0.14.1" -description = "Python2's stdlib csv module is nice, but it doesn't support unicode. This module is a drop-in replacement which *does*." -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "uritemplate" -version = "4.1.1" -description = "Implementation of RFC 6570 URI Templates" -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "urllib3" -version = "1.26.16" -description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] - -[[package]] -name = "validators" -version = "0.21.0" -description = "Python Data Validation for Humans™" -category = "main" -optional = true -python-versions = ">=3.8,<4.0" - -[[package]] -name = "watchdog" -version = "3.0.0" -description = "Filesystem events monitoring" -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.extras] -watchmedo = ["PyYAML (>=3.10)"] - -[[package]] -name = "wcwidth" -version = "0.2.6" -description = "Measures the displayed width of unicode strings in a terminal" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "weaviate-client" -version = "3.23.2" -description = "A python native Weaviate client" -category = "main" -optional = true -python-versions = ">=3.8" - -[package.dependencies] -authlib = ">=1.1.0" -requests = ">=2.28.0,<=2.31.0" -tqdm = ">=4.59.0,<5.0.0" -validators = ">=0.18.2,<=0.21.0" - -[package.extras] -grpc = ["grpcio", "grpcio-tools"] - -[[package]] -name = "werkzeug" -version = "2.3.7" -description = "The comprehensive WSGI web application library." -category = "main" -optional = false -python-versions = ">=3.8" - -[package.dependencies] -MarkupSafe = ">=2.1.1" - -[package.extras] -watchdog = ["watchdog (>=2.3)"] - -[[package]] -name = "wheel" -version = "0.41.2" -description = "A built-package format for Python" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -test = ["pytest (>=6.0.0)", "setuptools (>=65)"] - -[[package]] -name = "wrapt" -version = "1.15.0" -description = "Module for decorators, wrappers and monkey patching." -category = "main" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" - -[[package]] -name = "wtforms" -version = "3.0.1" -description = "Form validation and rendering for Python web development." -category = "dev" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -MarkupSafe = "*" - -[package.extras] -email = ["email-validator"] - -[[package]] -name = "yapf" -version = "0.33.0" -description = "A formatter for Python code." -category = "dev" -optional = false -python-versions = "*" - -[package.dependencies] -tomli = ">=2.0.1" - -[[package]] -name = "yarl" -version = "1.9.2" -description = "Yet another URL library" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" - -[[package]] -name = "zipp" -version = "3.16.2" -description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" -optional = false -python-versions = ">=3.8" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] - -[extras] -athena = ["pyathena", "pyarrow", "s3fs", "botocore"] -az = ["adlfs"] -bigquery = ["grpcio", "google-cloud-bigquery", "pyarrow", "gcsfs"] -cli = ["pipdeptree", "cron-descriptor"] -dbt = ["dbt-core", "dbt-redshift", "dbt-bigquery", "dbt-duckdb", "dbt-snowflake", "dbt-athena-community"] -duckdb = ["duckdb"] -filesystem = ["s3fs", "botocore"] -gcp = ["grpcio", "google-cloud-bigquery", "gcsfs"] -gs = ["gcsfs"] -motherduck = ["duckdb", "pyarrow"] -mssql = ["pyodbc"] -parquet = ["pyarrow"] -postgres = ["psycopg2-binary", "psycopg2cffi"] -pydantic = ["pydantic"] -redshift = ["psycopg2-binary", "psycopg2cffi"] -s3 = ["s3fs", "botocore"] -snowflake = ["snowflake-connector-python"] -weaviate = ["weaviate-client"] - -[metadata] -lock-version = "1.1" -python-versions = ">=3.8.1,<4.0" -content-hash = "7d5b9bfb96bfd08e2b6843df885a3ff605abe603250db78e35350e18bc933a64" - -[metadata.files] -about-time = [ - {file = "about-time-4.2.1.tar.gz", hash = "sha256:6a538862d33ce67d997429d14998310e1dbfda6cb7d9bbfbf799c4709847fece"}, - {file = "about_time-4.2.1-py3-none-any.whl", hash = "sha256:8bbf4c75fe13cbd3d72f49a03b02c5c7dca32169b6d49117c257e7eb3eaee341"}, -] -adlfs = [ - {file = "adlfs-2023.8.0-py3-none-any.whl", hash = "sha256:3eb248a3c2a30b419f1147bd7676d156b5219f96ef7f11d47166afd2a3bdb07e"}, - {file = "adlfs-2023.8.0.tar.gz", hash = "sha256:07e804f6df4593acfcaf01025b162e30ac13e523d3570279c98b2d91a18026d9"}, -] -agate = [ - {file = "agate-1.6.3-py2.py3-none-any.whl", hash = "sha256:2d568fd68a8eb8b56c805a1299ba4bc30ca0434563be1bea309c9d1c1c8401f4"}, - {file = "agate-1.6.3.tar.gz", hash = "sha256:e0f2f813f7e12311a4cdccc97d6ba0a6781e9c1aa8eca0ab00d5931c0113a308"}, -] -aiobotocore = [ - {file = "aiobotocore-2.5.2-py3-none-any.whl", hash = "sha256:337429ffd3cc367532572d40be809a84c7b5335f3f8eca2f23e09dfaa9a9ef90"}, - {file = "aiobotocore-2.5.2.tar.gz", hash = "sha256:e7399f21570db1c287f1c0c814dd3475dfe1c8166722e2c77ce67f172cbcfa89"}, -] -aiohttp = [ - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, - {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, - {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, - {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, - {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, - {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, - {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, - {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, - {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, - {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, - {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, -] -aioitertools = [ - {file = "aioitertools-0.11.0-py3-none-any.whl", hash = "sha256:04b95e3dab25b449def24d7df809411c10e62aab0cbe31a50ca4e68748c43394"}, - {file = "aioitertools-0.11.0.tar.gz", hash = "sha256:42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831"}, -] -aiosignal = [ - {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, - {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, -] -alembic = [ - {file = "alembic-1.12.0-py3-none-any.whl", hash = "sha256:03226222f1cf943deee6c85d9464261a6c710cd19b4fe867a3ad1f25afda610f"}, - {file = "alembic-1.12.0.tar.gz", hash = "sha256:8e7645c32e4f200675e69f0745415335eb59a3663f5feb487abfa0b30c45888b"}, -] -alive-progress = [ - {file = "alive-progress-3.1.4.tar.gz", hash = "sha256:74a95d8d0d42bc99d3a3725dbd06ebb852245f1b64e301a7c375b92b22663f7b"}, - {file = "alive_progress-3.1.4-py3-none-any.whl", hash = "sha256:c80ad87ce9c1054b01135a87fae69ecebbfc2107497ae87cbe6aec7e534903db"}, -] -ansicon = [ - {file = "ansicon-1.89.0-py2.py3-none-any.whl", hash = "sha256:f1def52d17f65c2c9682cf8370c03f541f410c1752d6a14029f97318e4b9dfec"}, - {file = "ansicon-1.89.0.tar.gz", hash = "sha256:e4d039def5768a47e4afec8e89e83ec3ae5a26bf00ad851f914d1240b444d2b1"}, -] -anyio = [ - {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"}, - {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"}, -] -apache-airflow = [ - {file = "apache-airflow-2.7.0.tar.gz", hash = "sha256:06fba3df5943b6eda5e2f033e7e45b6ea557d89909ca36e61614ea61075f9722"}, - {file = "apache_airflow-2.7.0-py3-none-any.whl", hash = "sha256:8e3cf4b3cd8583a2e76bd04827af8d34747e0cf30a28cf0e70f4f4f39ce61f6d"}, -] -apache-airflow-providers-common-sql = [ - {file = "apache-airflow-providers-common-sql-1.7.1.tar.gz", hash = "sha256:ba37f795d9656a87cf4661edc381b8ecfe930272c59324b59f8a158fd0971aeb"}, - {file = "apache_airflow_providers_common_sql-1.7.1-py3-none-any.whl", hash = "sha256:36da2f51b51a64765b0ed5e6a5fece8eaa3ca173dfbff803e2fe2a0afbb90944"}, -] -apache-airflow-providers-ftp = [ - {file = "apache-airflow-providers-ftp-3.5.1.tar.gz", hash = "sha256:dc6dc524dc7454857a0812154d7540172e36db3a87e48a4a91918ebf80898bbf"}, - {file = "apache_airflow_providers_ftp-3.5.1-py3-none-any.whl", hash = "sha256:e4ea77d6276355acfe2392c12155db7b9d51be460b7673b616dc1d8bee03c1d7"}, -] -apache-airflow-providers-http = [ - {file = "apache-airflow-providers-http-4.5.1.tar.gz", hash = "sha256:ec90920ff980fc264af9811dc72c37ef272bcdb3d007c7114e12366559426460"}, - {file = "apache_airflow_providers_http-4.5.1-py3-none-any.whl", hash = "sha256:702f26938bc22684eefecd297c2b0809793f9e43b8d911d807a29f21e69da179"}, -] -apache-airflow-providers-imap = [ - {file = "apache-airflow-providers-imap-3.3.1.tar.gz", hash = "sha256:40bac2a75e4dfbcd7d397776d90d03938facaf2707acc6cc119a8db684e53f77"}, - {file = "apache_airflow_providers_imap-3.3.1-py3-none-any.whl", hash = "sha256:adb6ef7864a5a8e245fbbd555bb4ef1eecf5b094d6d23ca0edc5f0aded50490d"}, -] -apache-airflow-providers-sqlite = [ - {file = "apache-airflow-providers-sqlite-3.4.3.tar.gz", hash = "sha256:347d2db03eaa5ea9fef414666565ffa5e849935cbc30e37237edcaa822b5ced8"}, - {file = "apache_airflow_providers_sqlite-3.4.3-py3-none-any.whl", hash = "sha256:4ffa6a50f0ea1b4e51240b657dfec3fb026c87bdfa71af908a56461df6a6f2e0"}, -] -apispec = [ - {file = "apispec-6.3.0-py3-none-any.whl", hash = "sha256:95a0b9355785df998bb0e9b939237a30ee4c7428fd6ef97305eae3da06b9b339"}, - {file = "apispec-6.3.0.tar.gz", hash = "sha256:6cb08d92ce73ff0b3bf46cb2ea5c00d57289b0f279fb0256a3df468182ba5344"}, -] -appdirs = [ - {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, - {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, -] -argcomplete = [ - {file = "argcomplete-3.1.1-py3-none-any.whl", hash = "sha256:35fa893a88deea85ea7b20d241100e64516d6af6d7b0ae2bed1d263d26f70948"}, - {file = "argcomplete-3.1.1.tar.gz", hash = "sha256:6c4c563f14f01440aaffa3eae13441c5db2357b5eec639abe7c0b15334627dff"}, -] -asgiref = [ - {file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"}, - {file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"}, -] -asn1crypto = [ - {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, - {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, -] -astatine = [ - {file = "astatine-0.3.3-py3-none-any.whl", hash = "sha256:6d8c914f01fbea252cb8f31563f2e766a9ab03c02b9bcc37d18f7d9138828401"}, - {file = "astatine-0.3.3.tar.gz", hash = "sha256:0c58a7844b5890ff16da07dbfeb187341d8324cb4378940f89d795cbebebce08"}, -] -asttokens = [ - {file = "asttokens-2.3.0-py2.py3-none-any.whl", hash = "sha256:bef1a51bc256d349e9f94e7e40e44b705ed1162f55294220dd561d24583d9877"}, - {file = "asttokens-2.3.0.tar.gz", hash = "sha256:2552a88626aaa7f0f299f871479fc755bd4e7c11e89078965e928fb7bb9a6afe"}, -] -astunparse = [ - {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"}, - {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"}, -] -async-timeout = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] -atomicwrites = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, -] -attrs = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, -] -authlib = [ - {file = "Authlib-1.2.1-py2.py3-none-any.whl", hash = "sha256:c88984ea00149a90e3537c964327da930779afa4564e354edfd98410bea01911"}, - {file = "Authlib-1.2.1.tar.gz", hash = "sha256:421f7c6b468d907ca2d9afede256f068f87e34d23dd221c07d13d4c234726afb"}, -] -azure-core = [ - {file = "azure-core-1.29.3.tar.gz", hash = "sha256:c92700af982e71c8c73de9f4c20da8b3f03ce2c22d13066e4d416b4629c87903"}, - {file = "azure_core-1.29.3-py3-none-any.whl", hash = "sha256:f8b2910f92b66293d93bd00564924ad20ad48f4a1e150577cf18d1e7d4f9263c"}, -] -azure-datalake-store = [ - {file = "azure-datalake-store-0.0.53.tar.gz", hash = "sha256:05b6de62ee3f2a0a6e6941e6933b792b800c3e7f6ffce2fc324bc19875757393"}, - {file = "azure_datalake_store-0.0.53-py2.py3-none-any.whl", hash = "sha256:a30c902a6e360aa47d7f69f086b426729784e71c536f330b691647a51dc42b2b"}, -] -azure-identity = [ - {file = "azure-identity-1.14.0.zip", hash = "sha256:72441799f8c5c89bfe21026965e266672a7c5d050c2c65119ef899dd5362e2b1"}, - {file = "azure_identity-1.14.0-py3-none-any.whl", hash = "sha256:edabf0e010eb85760e1dd19424d5e8f97ba2c9caff73a16e7b30ccbdbcce369b"}, -] -azure-storage-blob = [ - {file = "azure-storage-blob-12.17.0.zip", hash = "sha256:c14b785a17050b30fc326a315bdae6bc4a078855f4f94a4c303ad74a48dc8c63"}, - {file = "azure_storage_blob-12.17.0-py3-none-any.whl", hash = "sha256:0016e0c549a80282d7b4920c03f2f4ba35c53e6e3c7dbcd2a4a8c8eb3882c1e7"}, -] -babel = [ - {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, - {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, -] -backoff = [ - {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, - {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, -] -bandit = [ - {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, - {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, -] -beautifulsoup4 = [ - {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, - {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, -] -black = [ - {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"}, - {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"}, - {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"}, - {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"}, - {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"}, - {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"}, - {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"}, - {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"}, - {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"}, - {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"}, - {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"}, - {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"}, - {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"}, -] -blessed = [ - {file = "blessed-1.20.0-py2.py3-none-any.whl", hash = "sha256:0c542922586a265e699188e52d5f5ac5ec0dd517e5a1041d90d2bbf23f906058"}, - {file = "blessed-1.20.0.tar.gz", hash = "sha256:2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680"}, -] -blinker = [ - {file = "blinker-1.6.2-py3-none-any.whl", hash = "sha256:c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0"}, - {file = "blinker-1.6.2.tar.gz", hash = "sha256:4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"}, -] -boto3 = [ - {file = "boto3-1.26.161-py3-none-any.whl", hash = "sha256:f66e5c9dbe7f34383bcf64fa6070771355c11a44dd75c7f1279f2f37e1c89183"}, - {file = "boto3-1.26.161.tar.gz", hash = "sha256:662731e464d14af1035f44fc6a46b0e3112ee011ac0a5ed416d205daa3e15f25"}, -] -boto3-stubs = [ - {file = "boto3-stubs-1.28.40.tar.gz", hash = "sha256:76079a82f199087319762c931f13506e02129132e80257dab0888d3da7dc11c7"}, - {file = "boto3_stubs-1.28.40-py3-none-any.whl", hash = "sha256:bd1d1cbdcbf18902a090d4a746cdecef2a7ebe31cf9a474bbe407d57eaa79a6a"}, -] -botocore = [ - {file = "botocore-1.29.161-py3-none-any.whl", hash = "sha256:b906999dd53dda2ef0ef6f7f55fcc81a4b06b9f1c8a9f65c546e0b981f959f5f"}, - {file = "botocore-1.29.161.tar.gz", hash = "sha256:a50edd715eb510343e27849f36483804aae4b871590db4d4996aa53368dcac40"}, -] -botocore-stubs = [ - {file = "botocore_stubs-1.31.40-py3-none-any.whl", hash = "sha256:aab534d7e7949cd543bc9b2fadc1a36712033cb00e6f31e2475eefe8486d19ae"}, - {file = "botocore_stubs-1.31.40.tar.gz", hash = "sha256:2001a253daf4ae2e171e6137b9982a00a7fbfc7a53449a16856dc049e7cd5214"}, -] -cachelib = [ - {file = "cachelib-0.9.0-py3-none-any.whl", hash = "sha256:811ceeb1209d2fe51cd2b62810bd1eccf70feba5c52641532498be5c675493b3"}, - {file = "cachelib-0.9.0.tar.gz", hash = "sha256:38222cc7c1b79a23606de5c2607f4925779e37cdcea1c2ad21b8bae94b5425a5"}, -] -cachetools = [ - {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, - {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, -] -cattrs = [ - {file = "cattrs-23.1.2-py3-none-any.whl", hash = "sha256:b2bb14311ac17bed0d58785e5a60f022e5431aca3932e3fc5cc8ed8639de50a4"}, - {file = "cattrs-23.1.2.tar.gz", hash = "sha256:db1c821b8c537382b2c7c66678c3790091ca0275ac486c76f3c8f3920e83c657"}, -] -certifi = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, -] -cffi = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, -] -chardet = [ - {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, - {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, -] -charset-normalizer = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, -] -click = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] -clickclick = [ - {file = "clickclick-20.10.2-py2.py3-none-any.whl", hash = "sha256:c8f33e6d9ec83f68416dd2136a7950125bd256ec39ccc9a85c6e280a16be2bb5"}, - {file = "clickclick-20.10.2.tar.gz", hash = "sha256:4efb13e62353e34c5eef7ed6582c4920b418d7dedc86d819e22ee089ba01802c"}, -] -colorama = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] -colorlog = [ - {file = "colorlog-4.8.0-py2.py3-none-any.whl", hash = "sha256:3dd15cb27e8119a24c1a7b5c93f9f3b455855e0f73993b1c25921b2f646f1dcd"}, - {file = "colorlog-4.8.0.tar.gz", hash = "sha256:59b53160c60902c405cdec28d38356e09d40686659048893e026ecbd589516b1"}, -] -configupdater = [ - {file = "ConfigUpdater-3.1.1-py2.py3-none-any.whl", hash = "sha256:805986dbeba317886c7a8d348b2e34986dc9e3128cd3761ecc35decbd372b286"}, - {file = "ConfigUpdater-3.1.1.tar.gz", hash = "sha256:46f0c74d73efa723776764b43c9739f68052495dd3d734319c1d0eb58511f15b"}, -] -connectorx = [ - {file = "connectorx-0.3.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:719750045e7c3b94c199271fbfe6aef47944768e711f27bcc606b498707e0054"}, - {file = "connectorx-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aed31b08acebeb3ebbe53c0df846c686e7c27c4242bff3a75b72cf517d070257"}, - {file = "connectorx-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71d2c2678339fb01f89469bbe22e66e75cabcf727a52ed72d576fef5744ebc58"}, - {file = "connectorx-0.3.1-cp310-none-win_amd64.whl", hash = "sha256:92e576ef9610b59f8e5456c12d22e5b0752d0207f586df82701987657909888b"}, - {file = "connectorx-0.3.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:36c28cc59220998928e7b283eecf404e17e077dc3e525570096d0968b192cc64"}, - {file = "connectorx-0.3.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:c5173e7252f593c46787627a46561b0d949eb80ab23321e045bbf6bd5131945c"}, - {file = "connectorx-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c8411631750d24c12e5e296720637909b8515d5faa3b5eaf7bb86c582d02667"}, - {file = "connectorx-0.3.1-cp37-none-win_amd64.whl", hash = "sha256:0674b6389f8f2ba62155ac2f718df18f76f9de5c50d9911a5fefe7485e1c598e"}, - {file = "connectorx-0.3.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:324c5075e8aa6698db8c877cb847f0d86172784db88ac0f3e6762aa9852330f3"}, - {file = "connectorx-0.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:027a3880629a7b33ae0c7a80ab4fa53286957a253af2dfe34f19adfea6b79b91"}, - {file = "connectorx-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a666b967958fcf9fc0444a7b3603483ee23a2fe39f0da3d545ff199f376f7e4b"}, - {file = "connectorx-0.3.1-cp38-none-win_amd64.whl", hash = "sha256:3c5dedfd75cf44898c17cc84a1dd0ab6ed0fa54de0461f2d6aa4bcb2c2b0dc1d"}, - {file = "connectorx-0.3.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:354c4126bcd7a9efbb8879feac92e1e7b0d0712f7e98665c392af663805491f8"}, - {file = "connectorx-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3011e1f9a27fd2a7b12c6a45bc29f6e7577a27418a3f607adaf54b301ff09068"}, - {file = "connectorx-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1efb6ed547acc5837c2211e3d65d22948019d1653e7b30e522a4a4bd6d25fa8"}, - {file = "connectorx-0.3.1-cp39-none-win_amd64.whl", hash = "sha256:001b473e600b6d25af83b32674f98dccf49705a59bd6df724b5ba9beb236a0e0"}, -] -connexion = [ - {file = "connexion-2.14.1-py2.py3-none-any.whl", hash = "sha256:f343717241b4c4802a694c38fee66fb1693c897fe4ea5a957fa9b3b07caf6394"}, - {file = "connexion-2.14.1.tar.gz", hash = "sha256:99aa5781e70a7b94f8ffae8cf89f309d49cdb811bbd65a8e2f2546f3b19a01e6"}, -] -cron-descriptor = [ - {file = "cron_descriptor-1.4.0.tar.gz", hash = "sha256:b6ff4e3a988d7ca04a4ab150248e9f166fb7a5c828a85090e75bcc25aa93b4dd"}, -] -croniter = [ - {file = "croniter-1.4.1-py2.py3-none-any.whl", hash = "sha256:9595da48af37ea06ec3a9f899738f1b2c1c13da3c38cea606ef7cd03ea421128"}, - {file = "croniter-1.4.1.tar.gz", hash = "sha256:1a6df60eacec3b7a0aa52a8f2ef251ae3dd2a7c7c8b9874e73e791636d55a361"}, -] -cryptography = [ - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, - {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, - {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, - {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, -] -databind-core = [ - {file = "databind.core-4.4.0-py3-none-any.whl", hash = "sha256:3c8a4d9abc93e158af9931d8cec389ddfc0514e02aec03b397948d243db11881"}, - {file = "databind.core-4.4.0.tar.gz", hash = "sha256:715d485e934c073f819f0250bbfcaf59c1319f83427365bc7cfd4c347f87576d"}, -] -databind-json = [ - {file = "databind.json-4.4.0-py3-none-any.whl", hash = "sha256:df8874118cfba6fd0e77ec3d41a87e04e26034bd545230cab0db1fe904bf1b09"}, - {file = "databind.json-4.4.0.tar.gz", hash = "sha256:4356afdf0aeefcc053eda0888650c59cc558be2686f08a58324d675ccd023586"}, -] -dbt-athena-community = [ - {file = "dbt-athena-community-1.5.2.tar.gz", hash = "sha256:9acd333ddf33514769189a7a0b6219e13966d370098211cb1d022fa32e64671a"}, - {file = "dbt_athena_community-1.5.2-py3-none-any.whl", hash = "sha256:c9f0f8425500211a1c1deddce5aff5ed24fe08530f0ffad38e63de9c9b9f3ee6"}, -] -dbt-bigquery = [ - {file = "dbt-bigquery-1.5.6.tar.gz", hash = "sha256:4655cf2ee0acda986b80e6c5d55cae57871bef22d868dfe29d8d4a5bca98a1ba"}, - {file = "dbt_bigquery-1.5.6-py3-none-any.whl", hash = "sha256:3f37544716880cbd17b32bc0c9728a0407b5615b2cd08e1bb904a7a83c46eb6c"}, -] -dbt-core = [ - {file = "dbt-core-1.5.6.tar.gz", hash = "sha256:af3c03cd4a1fc92481362888014ca1ffed2ffef0b0e0d98463ad0f26c49ef458"}, - {file = "dbt_core-1.5.6-py3-none-any.whl", hash = "sha256:030d2179f9efbf8ccea079296d0c79278d963bb2475c0bcce9ca4bbb0d8c393c"}, -] -dbt-duckdb = [ - {file = "dbt-duckdb-1.5.2.tar.gz", hash = "sha256:3407216c21bf78fd128dccfcff3ec4bf260fb145e633432015bc7d0f123e8e4b"}, - {file = "dbt_duckdb-1.5.2-py3-none-any.whl", hash = "sha256:5d18254807bbc3e61daf4f360208ad886adf44b8525e1998168290fbe73a5cbb"}, -] -dbt-extractor = [ - {file = "dbt_extractor-0.4.1-cp36-abi3-macosx_10_7_x86_64.whl", hash = "sha256:4dc715bd740e418d8dc1dd418fea508e79208a24cf5ab110b0092a3cbe96bf71"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:bc9e0050e3a2f4ea9fe58e8794bc808e6709a0c688ed710fc7c5b6ef3e5623ec"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76872cdee659075d6ce2df92dc62e59a74ba571be62acab2e297ca478b49d766"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81435841610be1b07806d72cd89b1956c6e2a84c360b9ceb3f949c62a546d569"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7c291f9f483eae4f60dd5859097d7ba51d5cb6c4725f08973ebd18cdea89d758"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:822b1e911db230e1b9701c99896578e711232001027b518c44c32f79a46fa3f9"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:554d27741a54599c39e5c0b7dbcab77400d83f908caba284a3e960db812e5814"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a805d51a25317f53cbff951c79b9cf75421cf48e4b3e1dfb3e9e8de6d824b76c"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cad90ddc708cb4182dc16fe2c87b1f088a1679877b93e641af068eb68a25d582"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:34783d788b133f223844e280e37b3f5244f2fb60acc457aa75c2667e418d5442"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:9da211869a1220ea55c5552c1567a3ea5233a6c52fa89ca87a22465481c37bc9"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_i686.whl", hash = "sha256:7d7c47774dc051b8c18690281a55e2e3d3320e823b17e04b06bc3ff81b1874ba"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:037907a7c7ae0391045d81338ca77ddaef899a91d80f09958f09fe374594e19b"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-win32.whl", hash = "sha256:3fe8d8e28a7bd3e0884896147269ca0202ca432d8733113386bdc84c824561bf"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-win_amd64.whl", hash = "sha256:35265a0ae0a250623b0c2e3308b2738dc8212e40e0aa88407849e9ea090bb312"}, - {file = "dbt_extractor-0.4.1.tar.gz", hash = "sha256:75b1c665699ec0f1ffce1ba3d776f7dfce802156f22e70a7b9c8f0b4d7e80f42"}, -] -dbt-postgres = [ - {file = "dbt-postgres-1.5.6.tar.gz", hash = "sha256:b74e471dc661819a3d4bda2d11497935661ac2e25786c8a5b7314d8241b18582"}, - {file = "dbt_postgres-1.5.6-py3-none-any.whl", hash = "sha256:bc5711c9ab0ec4b57ab814b2c4e4c973554c8374b7da94b06814ac81c91f67ef"}, -] -dbt-redshift = [ - {file = "dbt-redshift-1.5.10.tar.gz", hash = "sha256:2b9ae1a7d05349e208b0937cd7cc920ea427341ef96096021b18e4070e927f5c"}, - {file = "dbt_redshift-1.5.10-py3-none-any.whl", hash = "sha256:b7689b043535b6b0d217c2abfe924db2336beaae71f3f36ab9aa1e920d2bb2e0"}, -] -dbt-snowflake = [ - {file = "dbt-snowflake-1.5.3.tar.gz", hash = "sha256:cf42772d2c2f1e29a2a64b039c66d80a8593f52a2dd711a144d43b4175802f9a"}, - {file = "dbt_snowflake-1.5.3-py3-none-any.whl", hash = "sha256:8aaa939d834798e5bb10a3ba4f52fc32a53e6e5568d6c0e8b3ac644f099972ff"}, -] -decopatch = [ - {file = "decopatch-1.4.10-py2.py3-none-any.whl", hash = "sha256:e151f7f93de2b1b3fd3f3272dcc7cefd1a69f68ec1c2d8e288ecd9deb36dc5f7"}, - {file = "decopatch-1.4.10.tar.gz", hash = "sha256:957f49c93f4150182c23f8fb51d13bb3213e0f17a79e09c8cca7057598b55720"}, -] -decorator = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, -] -deprecated = [ - {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, - {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, -] -diff-cover = [ - {file = "diff_cover-7.7.0-py3-none-any.whl", hash = "sha256:bf86f32ec999f9a9e79bf24969f7127ea7b4e55c3ef3cd9300feb13188c89736"}, - {file = "diff_cover-7.7.0.tar.gz", hash = "sha256:60614cf7e722cf7fb1bde497afac0b514294e1e26534449622dac4da296123fb"}, -] -dill = [ - {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, - {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, -] -dnspython = [ - {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"}, - {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"}, -] -docspec = [ - {file = "docspec-2.2.1-py3-none-any.whl", hash = "sha256:7538f750095a9688c6980ff9a4e029a823a500f64bd00b6b4bdb27951feb31cb"}, - {file = "docspec-2.2.1.tar.gz", hash = "sha256:4854e77edc0e2de40e785e57e95880f7095a05fe978f8b54cef7a269586e15ff"}, -] -docspec-python = [ - {file = "docspec_python-2.2.1-py3-none-any.whl", hash = "sha256:76ac41d35a8face35b2d766c2e8a416fb8832359785d396f0d53bcb00f178e54"}, - {file = "docspec_python-2.2.1.tar.gz", hash = "sha256:c41b850b4d6f4de30999ea6f82c9cdb9183d9bcba45559ee9173d3dab7281559"}, -] -docstring-parser = [ - {file = "docstring_parser-0.11.tar.gz", hash = "sha256:93b3f8f481c7d24e37c5d9f30293c89e2933fa209421c8abd731dd3ef0715ecb"}, -] -docutils = [ - {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, - {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, -] -domdf-python-tools = [ - {file = "domdf_python_tools-3.6.1-py3-none-any.whl", hash = "sha256:e18158460850957f18e740eb94ede56f580ddb0cb162ab9d9834ed8bbb1b6431"}, - {file = "domdf_python_tools-3.6.1.tar.gz", hash = "sha256:acc04563d23bce4d437dd08af6b9bea788328c412772a044d8ca428a7ad861be"}, -] -duckdb = [ - {file = "duckdb-0.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6c724e105ecd78c8d86b3c03639b24e1df982392fc836705eb007e4b1b488864"}, - {file = "duckdb-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:75f12c5a3086079fb6440122565f1762ef1a610a954f2d8081014c1dd0646e1a"}, - {file = "duckdb-0.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:151f5410c32f8f8fe03bf23462b9604349bc0b4bd3a51049bbf5e6a482a435e8"}, - {file = "duckdb-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c1d066fdae22b9b711b1603541651a378017645f9fbc4adc9764b2f3c9e9e4a"}, - {file = "duckdb-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1de56d8b7bd7a7653428c1bd4b8948316df488626d27e9c388194f2e0d1428d4"}, - {file = "duckdb-0.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1fb6cd590b1bb4e31fde8efd25fedfbfa19a86fa72789fa5b31a71da0d95bce4"}, - {file = "duckdb-0.9.1-cp310-cp310-win32.whl", hash = "sha256:1039e073714d668cef9069bb02c2a6756c7969cedda0bff1332520c4462951c8"}, - {file = "duckdb-0.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:7e6ac4c28918e1d278a89ff26fd528882aa823868ed530df69d6c8a193ae4e41"}, - {file = "duckdb-0.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5eb750f2ee44397a61343f32ee9d9e8c8b5d053fa27ba4185d0e31507157f130"}, - {file = "duckdb-0.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aea2a46881d75dc069a242cb164642d7a4f792889010fb98210953ab7ff48849"}, - {file = "duckdb-0.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed3dcedfc7a9449b6d73f9a2715c730180056e0ba837123e7967be1cd3935081"}, - {file = "duckdb-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c55397bed0087ec4445b96f8d55f924680f6d40fbaa7f2e35468c54367214a5"}, - {file = "duckdb-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3261696130f1cfb955735647c93297b4a6241753fb0de26c05d96d50986c6347"}, - {file = "duckdb-0.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:64c04b1728e3e37cf93748829b5d1e028227deea75115bb5ead01c608ece44b1"}, - {file = "duckdb-0.9.1-cp311-cp311-win32.whl", hash = "sha256:12cf9fb441a32702e31534330a7b4d569083d46a91bf185e0c9415000a978789"}, - {file = "duckdb-0.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:fdfd85575ce9540e593d5d25c9d32050bd636c27786afd7b776aae0f6432b55e"}, - {file = "duckdb-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:704700a4b469e3bb1a7e85ac12e58037daaf2b555ef64a3fe2913ffef7bd585b"}, - {file = "duckdb-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf55b303b7b1a8c2165a96e609eb30484bc47481d94a5fb1e23123e728df0a74"}, - {file = "duckdb-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b70e23c14746904ca5de316436e43a685eb769c67fe3dbfaacbd3cce996c5045"}, - {file = "duckdb-0.9.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:77379f7f1f8b4dc98e01f8f6f8f15a0858cf456e2385e22507f3cb93348a88f9"}, - {file = "duckdb-0.9.1-cp37-cp37m-win32.whl", hash = "sha256:92c8f738489838666cae9ef41703f8b16f660bb146970d1eba8b2c06cb3afa39"}, - {file = "duckdb-0.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08c5484ac06ab714f745526d791141f547e2f5ac92f97a0a1b37dfbb3ea1bd13"}, - {file = "duckdb-0.9.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f66d3c07c7f6938d3277294677eb7dad75165e7c57c8dd505503fc5ef10f67ad"}, - {file = "duckdb-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c38044e5f78c0c7b58e9f937dcc6c34de17e9ca6be42f9f8f1a5a239f7a847a5"}, - {file = "duckdb-0.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73bc0d715b79566b3ede00c367235cfcce67be0eddda06e17665c7a233d6854a"}, - {file = "duckdb-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d26622c3b4ea6a8328d95882059e3cc646cdc62d267d48d09e55988a3bba0165"}, - {file = "duckdb-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3367d10096ff2b7919cedddcf60d308d22d6e53e72ee2702f6e6ca03d361004a"}, - {file = "duckdb-0.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d88a119f1cb41911a22f08a6f084d061a8c864e28b9433435beb50a56b0d06bb"}, - {file = "duckdb-0.9.1-cp38-cp38-win32.whl", hash = "sha256:99567496e45b55c67427133dc916013e8eb20a811fc7079213f5f03b2a4f5fc0"}, - {file = "duckdb-0.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:5b3da4da73422a3235c3500b3fb541ac546adb3e35642ef1119dbcd9cc7f68b8"}, - {file = "duckdb-0.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eca00c0c2062c0265c6c0e78ca2f6a30611b28f3afef062036610e9fc9d4a67d"}, - {file = "duckdb-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eb5af8e89d40fc4baab1515787ea1520a6c6cf6aa40ab9f107df6c3a75686ce1"}, - {file = "duckdb-0.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fae3d4f83ebcb47995f6acad7c6d57d003a9b6f0e1b31f79a3edd6feb377443"}, - {file = "duckdb-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16b9a7efc745bc3c5d1018c3a2f58d9e6ce49c0446819a9600fdba5f78e54c47"}, - {file = "duckdb-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b0b60167f5537772e9f5af940e69dcf50e66f5247732b8bb84a493a9af6055"}, - {file = "duckdb-0.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4f27f5e94c47df6c4ccddf18e3277b7464eea3db07356d2c4bf033b5c88359b8"}, - {file = "duckdb-0.9.1-cp39-cp39-win32.whl", hash = "sha256:d43cd7e6f783006b59dcc5e40fcf157d21ee3d0c8dfced35278091209e9974d7"}, - {file = "duckdb-0.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:e666795887d9cf1d6b6f6cbb9d487270680e5ff6205ebc54b2308151f13b8cff"}, - {file = "duckdb-0.9.1.tar.gz", hash = "sha256:603a878746015a3f2363a65eb48bcbec816261b6ee8d71eee53061117f6eef9d"}, -] -email-validator = [ - {file = "email_validator-1.3.1-py2.py3-none-any.whl", hash = "sha256:49a72f5fa6ed26be1c964f0567d931d10bf3fdeeacdf97bc26ef1cd2a44e0bda"}, - {file = "email_validator-1.3.1.tar.gz", hash = "sha256:d178c5c6fa6c6824e9b04f199cf23e79ac15756786573c190d2ad13089411ad2"}, -] -enlighten = [ - {file = "enlighten-1.11.2-py2.py3-none-any.whl", hash = "sha256:98c9eb20e022b6a57f1c8d4f17e16760780b6881e6d658c40f52d21255ea45f3"}, - {file = "enlighten-1.11.2.tar.gz", hash = "sha256:9284861dee5a272e0e1a3758cd3f3b7180b1bd1754875da76876f2a7f46ccb61"}, -] -exceptiongroup = [ - {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, - {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, -] -filelock = [ - {file = "filelock-3.12.3-py3-none-any.whl", hash = "sha256:f067e40ccc40f2b48395a80fcbd4728262fab54e232e090a4063ab804179efeb"}, - {file = "filelock-3.12.3.tar.gz", hash = "sha256:0ecc1dd2ec4672a10c8550a8182f1bd0c0a5088470ecd5a125e45f49472fac3d"}, -] -flake8 = [ - {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"}, - {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"}, -] -flake8-bugbear = [ - {file = "flake8-bugbear-22.12.6.tar.gz", hash = "sha256:4cdb2c06e229971104443ae293e75e64c6107798229202fbe4f4091427a30ac0"}, - {file = "flake8_bugbear-22.12.6-py3-none-any.whl", hash = "sha256:b69a510634f8a9c298dfda2b18a8036455e6b19ecac4fe582e4d7a0abfa50a30"}, -] -flake8-builtins = [ - {file = "flake8-builtins-1.5.3.tar.gz", hash = "sha256:09998853b2405e98e61d2ff3027c47033adbdc17f9fe44ca58443d876eb00f3b"}, - {file = "flake8_builtins-1.5.3-py2.py3-none-any.whl", hash = "sha256:7706babee43879320376861897e5d1468e396a40b8918ed7bccf70e5f90b8687"}, -] -flake8-encodings = [ - {file = "flake8_encodings-0.5.0.post1-py3-none-any.whl", hash = "sha256:d2fecca0e89ba09c86e5d61cf6bdb1b337f0d74746aac67bbcf0c517b4cb6cba"}, - {file = "flake8_encodings-0.5.0.post1.tar.gz", hash = "sha256:082c0163325c85b438a8106e876283b5ed3cbfc53e68d89130d70be8be4c9977"}, -] -flake8-helper = [ - {file = "flake8_helper-0.2.1-py3-none-any.whl", hash = "sha256:9123cdf351ad32ee8a51b85036052302c478122d62fb512c0773e111b3d05241"}, - {file = "flake8_helper-0.2.1.tar.gz", hash = "sha256:479f86d1c52df8e49ff876ecd3873242699f93eeece7e6675cdca9c37c9b0a16"}, -] -flake8-tidy-imports = [ - {file = "flake8_tidy_imports-4.10.0-py3-none-any.whl", hash = "sha256:b0387fb2ea200441bd142309e716fb7b8f4b0937bdf5f8b7c0c118a5f5e2b8ed"}, - {file = "flake8_tidy_imports-4.10.0.tar.gz", hash = "sha256:bd6cf86465402d2b86903009b748d85a628e599e17b76e810c9857e3a2815173"}, -] -flask = [ - {file = "Flask-2.2.5-py3-none-any.whl", hash = "sha256:58107ed83443e86067e41eff4631b058178191a355886f8e479e347fa1285fdf"}, - {file = "Flask-2.2.5.tar.gz", hash = "sha256:edee9b0a7ff26621bd5a8c10ff484ae28737a2410d99b0bb9a6850c7fb977aa0"}, -] -flask-appbuilder = [ - {file = "Flask-AppBuilder-4.3.3.tar.gz", hash = "sha256:b420379f74788e431a2763f8d3749cc37712df682dc00a45538d85d989340768"}, - {file = "Flask_AppBuilder-4.3.3-py3-none-any.whl", hash = "sha256:7eb1904d8f61297778ebf0d0b83f1d74b154534c9e84af3bb9198cfc0f51ff05"}, -] -flask-babel = [ - {file = "Flask-Babel-2.0.0.tar.gz", hash = "sha256:f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d"}, - {file = "Flask_Babel-2.0.0-py3-none-any.whl", hash = "sha256:e6820a052a8d344e178cdd36dd4bb8aea09b4bda3d5f9fa9f008df2c7f2f5468"}, -] -flask-caching = [ - {file = "Flask-Caching-2.0.2.tar.gz", hash = "sha256:24b60c552d59a9605cc1b6a42c56cdb39a82a28dab4532bbedb9222ae54ecb4e"}, - {file = "Flask_Caching-2.0.2-py3-none-any.whl", hash = "sha256:19571f2570e9b8dd9dd9d2f49d7cbee69c14ebe8cc001100b1eb98c379dd80ad"}, -] -flask-jwt-extended = [ - {file = "Flask-JWT-Extended-4.5.2.tar.gz", hash = "sha256:ba56245ba43b71c8ae936784b867625dce8b9956faeedec2953222e57942fb0b"}, - {file = "Flask_JWT_Extended-4.5.2-py2.py3-none-any.whl", hash = "sha256:e0ef23d8c863746bd141046167073699e1a7b03c97169cbba70f05b8d9cd6b9e"}, -] -flask-limiter = [ - {file = "Flask-Limiter-3.5.0.tar.gz", hash = "sha256:13a3491b994c49f7cb4706587a38ca47e8162b576530472df38be68104f299c0"}, - {file = "Flask_Limiter-3.5.0-py3-none-any.whl", hash = "sha256:dbda4174f44e6cb858c6eb75e7488186f2977dd5d33d7028ba1aabf179de1bee"}, -] -flask-login = [ - {file = "Flask-Login-0.6.2.tar.gz", hash = "sha256:c0a7baa9fdc448cdd3dd6f0939df72eec5177b2f7abe6cb82fc934d29caac9c3"}, - {file = "Flask_Login-0.6.2-py3-none-any.whl", hash = "sha256:1ef79843f5eddd0f143c2cd994c1b05ac83c0401dc6234c143495af9a939613f"}, -] -flask-session = [ - {file = "Flask-Session-0.5.0.tar.gz", hash = "sha256:190875e6aebf2953c6803d42379ef3b934bc209ef8ef006f97aecb08f5aaeb86"}, - {file = "flask_session-0.5.0-py3-none-any.whl", hash = "sha256:1619bcbc16f04f64e90f8e0b17145ba5c9700090bb1294e889956c1282d58631"}, -] -flask-sqlalchemy = [ - {file = "Flask-SQLAlchemy-2.5.1.tar.gz", hash = "sha256:2bda44b43e7cacb15d4e05ff3cc1f8bc97936cc464623424102bfc2c35e95912"}, - {file = "Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl", hash = "sha256:f12c3d4cc5cc7fdcc148b9527ea05671718c3ea45d50c7e732cceb33f574b390"}, -] -flask-wtf = [ - {file = "Flask-WTF-1.1.1.tar.gz", hash = "sha256:41c4244e9ae626d63bed42ae4785b90667b885b1535d5a4095e1f63060d12aa9"}, - {file = "Flask_WTF-1.1.1-py3-none-any.whl", hash = "sha256:7887d6f1ebb3e17bf648647422f0944c9a469d0fcf63e3b66fb9a83037e38b2c"}, -] -frozenlist = [ - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, - {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, - {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, - {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, - {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, - {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, - {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, - {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, - {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, - {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, -] -fsspec = [ - {file = "fsspec-2023.6.0-py3-none-any.whl", hash = "sha256:1cbad1faef3e391fba6dc005ae9b5bdcbf43005c9167ce78c915549c352c869a"}, - {file = "fsspec-2023.6.0.tar.gz", hash = "sha256:d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af"}, -] -future = [ - {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, -] -gcsfs = [ - {file = "gcsfs-2023.6.0-py2.py3-none-any.whl", hash = "sha256:3b3c7d8eddd4ec1380f3b49fbb861ee1e974adb223564401f10884b6260d406f"}, - {file = "gcsfs-2023.6.0.tar.gz", hash = "sha256:30b14fccadb3b7f0d99b2cd03bd8507c40f3a9a7d05847edca571f642bedbdff"}, -] -gitdb = [ - {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, - {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, -] -gitpython = [ - {file = "GitPython-3.1.34-py3-none-any.whl", hash = "sha256:5d3802b98a3bae1c2b8ae0e1ff2e4aa16bcdf02c145da34d092324f599f01395"}, - {file = "GitPython-3.1.34.tar.gz", hash = "sha256:85f7d365d1f6bf677ae51039c1ef67ca59091c7ebd5a3509aa399d4eda02d6dd"}, -] -giturlparse = [ - {file = "giturlparse-0.11.1-py2.py3-none-any.whl", hash = "sha256:6422f25c8ca563e1a3cb6b85862e48614be804cd1334e6d84be5630eb26b343f"}, - {file = "giturlparse-0.11.1.tar.gz", hash = "sha256:cdbe0c062096c69e00f08397826dddebc1f73bc15b793994579c13aafc70c990"}, -] -google-api-core = [ - {file = "google-api-core-2.11.1.tar.gz", hash = "sha256:25d29e05a0058ed5f19c61c0a78b1b53adea4d9364b464d014fbda941f6d1c9a"}, - {file = "google_api_core-2.11.1-py3-none-any.whl", hash = "sha256:d92a5a92dc36dd4f4b9ee4e55528a90e432b059f93aee6ad857f9de8cc7ae94a"}, -] -google-api-python-client = [ - {file = "google-api-python-client-2.97.0.tar.gz", hash = "sha256:48277291894876a1ca7ed4127e055e81f81e6343ced1b544a7200ae2c119dcd7"}, - {file = "google_api_python_client-2.97.0-py2.py3-none-any.whl", hash = "sha256:5215f4cd577753fc4192ccfbe0bb8b55d4bb5fd68fa6268ac5cf271b6305de31"}, -] -google-auth = [ - {file = "google-auth-2.22.0.tar.gz", hash = "sha256:164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce"}, - {file = "google_auth-2.22.0-py2.py3-none-any.whl", hash = "sha256:d61d1b40897407b574da67da1a833bdc10d5a11642566e506565d1b1a46ba873"}, -] -google-auth-httplib2 = [ - {file = "google-auth-httplib2-0.1.0.tar.gz", hash = "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac"}, - {file = "google_auth_httplib2-0.1.0-py2.py3-none-any.whl", hash = "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10"}, -] -google-auth-oauthlib = [ - {file = "google-auth-oauthlib-1.0.0.tar.gz", hash = "sha256:e375064964820b47221a7e1b7ee1fd77051b6323c3f9e3e19785f78ab67ecfc5"}, - {file = "google_auth_oauthlib-1.0.0-py2.py3-none-any.whl", hash = "sha256:95880ca704928c300f48194d1770cf5b1462835b6e49db61445a520f793fd5fb"}, -] -google-cloud-bigquery = [ - {file = "google-cloud-bigquery-3.11.4.tar.gz", hash = "sha256:697df117241a2283bcbb93b21e10badc14e51c9a90800d2a7e1a3e1c7d842974"}, - {file = "google_cloud_bigquery-3.11.4-py2.py3-none-any.whl", hash = "sha256:5fa7897743a0ed949ade25a0942fc9e7557d8fce307c6f8a76d1b604cf27f1b1"}, -] -google-cloud-core = [ - {file = "google-cloud-core-2.3.3.tar.gz", hash = "sha256:37b80273c8d7eee1ae816b3a20ae43585ea50506cb0e60f3cf5be5f87f1373cb"}, - {file = "google_cloud_core-2.3.3-py2.py3-none-any.whl", hash = "sha256:fbd11cad3e98a7e5b0343dc07cb1039a5ffd7a5bb96e1f1e27cee4bda4a90863"}, -] -google-cloud-dataproc = [ - {file = "google-cloud-dataproc-5.4.3.tar.gz", hash = "sha256:d9c77c52aa5ddf52ae657736dbfb5312402933f72bab8480fc2d2afe98697402"}, - {file = "google_cloud_dataproc-5.4.3-py2.py3-none-any.whl", hash = "sha256:9cfff56cb53621cdffd0a3d6b10701e886e0a8ad54891e6c223eb67c0ff753ad"}, -] -google-cloud-storage = [ - {file = "google-cloud-storage-2.10.0.tar.gz", hash = "sha256:934b31ead5f3994e5360f9ff5750982c5b6b11604dc072bc452c25965e076dc7"}, - {file = "google_cloud_storage-2.10.0-py2.py3-none-any.whl", hash = "sha256:9433cf28801671de1c80434238fb1e7e4a1ba3087470e90f70c928ea77c2b9d7"}, -] -google-crc32c = [ - {file = "google-crc32c-1.5.0.tar.gz", hash = "sha256:89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7"}, - {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13"}, - {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:be82c3c8cfb15b30f36768797a640e800513793d6ae1724aaaafe5bf86f8f346"}, - {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:461665ff58895f508e2866824a47bdee72497b091c730071f2b7575d5762ab65"}, - {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2096eddb4e7c7bdae4bd69ad364e55e07b8316653234a56552d9c988bd2d61b"}, - {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:116a7c3c616dd14a3de8c64a965828b197e5f2d121fedd2f8c5585c547e87b02"}, - {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5829b792bf5822fd0a6f6eb34c5f81dd074f01d570ed7f36aa101d6fc7a0a6e4"}, - {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:64e52e2b3970bd891309c113b54cf0e4384762c934d5ae56e283f9a0afcd953e"}, - {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:02ebb8bf46c13e36998aeaad1de9b48f4caf545e91d14041270d9dca767b780c"}, - {file = "google_crc32c-1.5.0-cp310-cp310-win32.whl", hash = "sha256:2e920d506ec85eb4ba50cd4228c2bec05642894d4c73c59b3a2fe20346bd00ee"}, - {file = "google_crc32c-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:07eb3c611ce363c51a933bf6bd7f8e3878a51d124acfc89452a75120bc436289"}, - {file = "google_crc32c-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cae0274952c079886567f3f4f685bcaf5708f0a23a5f5216fdab71f81a6c0273"}, - {file = "google_crc32c-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1034d91442ead5a95b5aaef90dbfaca8633b0247d1e41621d1e9f9db88c36298"}, - {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c42c70cd1d362284289c6273adda4c6af8039a8ae12dc451dcd61cdabb8ab57"}, - {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8485b340a6a9e76c62a7dce3c98e5f102c9219f4cfbf896a00cf48caf078d438"}, - {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77e2fd3057c9d78e225fa0a2160f96b64a824de17840351b26825b0848022906"}, - {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f583edb943cf2e09c60441b910d6a20b4d9d626c75a36c8fcac01a6c96c01183"}, - {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a1fd716e7a01f8e717490fbe2e431d2905ab8aa598b9b12f8d10abebb36b04dd"}, - {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:72218785ce41b9cfd2fc1d6a017dc1ff7acfc4c17d01053265c41a2c0cc39b8c"}, - {file = "google_crc32c-1.5.0-cp311-cp311-win32.whl", hash = "sha256:66741ef4ee08ea0b2cc3c86916ab66b6aef03768525627fd6a1b34968b4e3709"}, - {file = "google_crc32c-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:ba1eb1843304b1e5537e1fca632fa894d6f6deca8d6389636ee5b4797affb968"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:98cb4d057f285bd80d8778ebc4fde6b4d509ac3f331758fb1528b733215443ae"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd8536e902db7e365f49e7d9029283403974ccf29b13fc7028b97e2295b33556"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19e0a019d2c4dcc5e598cd4a4bc7b008546b0358bd322537c74ad47a5386884f"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c65b9817512edc6a4ae7c7e987fea799d2e0ee40c53ec573a692bee24de876"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6ac08d24c1f16bd2bf5eca8eaf8304812f44af5cfe5062006ec676e7e1d50afc"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3359fc442a743e870f4588fcf5dcbc1bf929df1fad8fb9905cd94e5edb02e84c"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e986b206dae4476f41bcec1faa057851f3889503a70e1bdb2378d406223994a"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:de06adc872bcd8c2a4e0dc51250e9e65ef2ca91be023b9d13ebd67c2ba552e1e"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-win32.whl", hash = "sha256:d3515f198eaa2f0ed49f8819d5732d70698c3fa37384146079b3799b97667a94"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:67b741654b851abafb7bc625b6d1cdd520a379074e64b6a128e3b688c3c04740"}, - {file = "google_crc32c-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c02ec1c5856179f171e032a31d6f8bf84e5a75c45c33b2e20a3de353b266ebd8"}, - {file = "google_crc32c-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:edfedb64740750e1a3b16152620220f51d58ff1b4abceb339ca92e934775c27a"}, - {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84e6e8cd997930fc66d5bb4fde61e2b62ba19d62b7abd7a69920406f9ecca946"}, - {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a"}, - {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:998679bf62b7fb599d2878aa3ed06b9ce688b8974893e7223c60db155f26bd8d"}, - {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:83c681c526a3439b5cf94f7420471705bbf96262f49a6fe546a6db5f687a3d4a"}, - {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4c6fdd4fccbec90cc8a01fc00773fcd5fa28db683c116ee3cb35cd5da9ef6c37"}, - {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5ae44e10a8e3407dbe138984f21e536583f2bba1be9491239f942c2464ac0894"}, - {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37933ec6e693e51a5b07505bd05de57eee12f3e8c32b07da7e73669398e6630a"}, - {file = "google_crc32c-1.5.0-cp38-cp38-win32.whl", hash = "sha256:fe70e325aa68fa4b5edf7d1a4b6f691eb04bbccac0ace68e34820d283b5f80d4"}, - {file = "google_crc32c-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:74dea7751d98034887dbd821b7aae3e1d36eda111d6ca36c206c44478035709c"}, - {file = "google_crc32c-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c6c777a480337ac14f38564ac88ae82d4cd238bf293f0a22295b66eb89ffced7"}, - {file = "google_crc32c-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:759ce4851a4bb15ecabae28f4d2e18983c244eddd767f560165563bf9aefbc8d"}, - {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f13cae8cc389a440def0c8c52057f37359014ccbc9dc1f0827936bcd367c6100"}, - {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e560628513ed34759456a416bf86b54b2476c59144a9138165c9a1575801d0d9"}, - {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1674e4307fa3024fc897ca774e9c7562c957af85df55efe2988ed9056dc4e57"}, - {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:278d2ed7c16cfc075c91378c4f47924c0625f5fc84b2d50d921b18b7975bd210"}, - {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d5280312b9af0976231f9e317c20e4a61cd2f9629b7bfea6a693d1878a264ebd"}, - {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8b87e1a59c38f275c0e3676fc2ab6d59eccecfd460be267ac360cc31f7bcde96"}, - {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7c074fece789b5034b9b1404a1f8208fc2d4c6ce9decdd16e8220c5a793e6f61"}, - {file = "google_crc32c-1.5.0-cp39-cp39-win32.whl", hash = "sha256:7f57f14606cd1dd0f0de396e1e53824c371e9544a822648cd76c034d209b559c"}, - {file = "google_crc32c-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2355cba1f4ad8b6988a4ca3feed5bff33f6af2d7f134852cf279c2aebfde541"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f314013e7dcd5cf45ab1945d92e713eec788166262ae8deb2cfacd53def27325"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b747a674c20a67343cb61d43fdd9207ce5da6a99f629c6e2541aa0e89215bcd"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f24ed114432de109aa9fd317278518a5af2d31ac2ea6b952b2f7782b43da091"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8667b48e7a7ef66afba2c81e1094ef526388d35b873966d8a9a447974ed9178"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:1c7abdac90433b09bad6c43a43af253e688c9cfc1c86d332aed13f9a7c7f65e2"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6f998db4e71b645350b9ac28a2167e6632c239963ca9da411523bb439c5c514d"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c99616c853bb585301df6de07ca2cadad344fd1ada6d62bb30aec05219c45d2"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ad40e31093a4af319dadf503b2467ccdc8f67c72e4bcba97f8c10cb078207b5"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd67cf24a553339d5062eff51013780a00d6f97a39ca062781d06b3a73b15462"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:398af5e3ba9cf768787eef45c803ff9614cc3e22a5b2f7d7ae116df8b11e3314"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b1f8133c9a275df5613a451e73f36c2aea4fe13c5c8997e22cf355ebd7bd0728"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ba053c5f50430a3fcfd36f75aff9caeba0440b2d076afdb79a318d6ca245f88"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:272d3892a1e1a2dbc39cc5cde96834c236d5327e2122d3aaa19f6614531bb6eb"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:635f5d4dd18758a1fbd1049a8e8d2fee4ffed124462d837d1a02a0e009c3ab31"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c672d99a345849301784604bfeaeba4db0c7aae50b95be04dd651fd2a7310b93"}, -] -google-re2 = [ - {file = "google-re2-1.1.tar.gz", hash = "sha256:d3a9467ee52b46ac77ca928f6d0cbeaccfd92f03ca0f0f65b9df6a95184f3a1c"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:874d2e36dfa506b03d4f9c4aef1701a65304f4004c96c7edac7d8aea08fe193e"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b66eb84850afdce09aabca40bcd6f2a0e96178a1b4990d555678edb1f59bf255"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c461640a07db26dc2b51f43de607b7520e7debaf4f6a000f796a3c0196ca52af"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7f9ba69eaee6e7a9f5ddfb919bf1a866af14a18b26a179e3fb1a6fe3d0cbf349"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:f95cf16739cc3ea63728366881221b119f2322b4b739b7da6522d45a68792cea"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:9fb56a41250191298e6a2859b0fdea1e83330c9870fe8d84e5836c506ae46e96"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fb22ea995564d87baf4a4bfbb3ca024be913683a710f4f0dc9c94dc663afab20"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:19b3f0bfbb2a2ca58ed0aaa9356d07a5c0921383a6dbeca086b2b74472f5ee08"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34fd7f97b84af7453cf05b25adfe2491ba3cef1ca548ac2907efa63d3510954d"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e029664192d8d30f7c977706183ef483e82ca239302272df74e01d2e22897ca"}, - {file = "google_re2-1.1-1-cp310-cp310-win32.whl", hash = "sha256:41a8f222f9839d059d37efd28e4deec203502d7e39c3759d83d6a33deadf1d2e"}, - {file = "google_re2-1.1-1-cp310-cp310-win_amd64.whl", hash = "sha256:6141d569fdf72aa693f040ba05c469036587395af07ff419b9a3c009d6ffefd3"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2d03f6aaf22788ba13a770f0d183b8eebe55545bcbb6e4c41dcccac7ded014d"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:a98f15fd9c31bf80d368698447191a2e9703880b305dbf34d9a63ce634b8a557"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:42128916cc2966623832aabbd224c88e862d1c531d6bc49ab141f565e6321a90"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:6e27986a166903ad7000635f6faed8ab5072d687f822ac9f692c40b2470aebcf"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:5e9edcd743a830d0c0b2729201e42ab86fceef8f4086df65563f482e4544359e"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:d33145bbfd32e916f1c911cd9225be5364a36c3959742a0cc4dfc0692d6a2a5e"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8b27cc2544b69a357ab2a749dc0c13a1b9055198c56f4c2c3b0f61d693f8e203"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3cdf8982b6def987e95b37984d0c1c878de32635dd78acde3273f730b69708c9"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71ac661a7365e134741fe5542f13d7ce1e6187446b96ddee4c8b7d153fc8f05a"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:35a902ba31a71a3e9e114e44473624d9aa9f9b85ec981bfa91671aefe0ef1a6c"}, - {file = "google_re2-1.1-1-cp311-cp311-win32.whl", hash = "sha256:9469f26b485da2784c658e687a766c72e1a17b1e63b3ed24b5f64c3d19fbae3d"}, - {file = "google_re2-1.1-1-cp311-cp311-win_amd64.whl", hash = "sha256:07dd0780240ee431781119b46c3bbf76f5cef24a2cbb542f6a08c643e0a68d98"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9857dc4d69b8025057c8129e98406a24d51bdaf1b96e481dbba7e69e0ec85104"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a6eaaa5f200022eb0bdded5949c91454fc96e1edd6f9e9a96dd1dc32c821c00e"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a32bb2afe128d90b8edc20d4f7d297f7e2753206eba92937a57e5280736eac74"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:4f2754616c61b76ab4e5a4f39892a52a00897203b859c5abd7e3c630dd883cda"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:b110f3d657e8f67a43a699d327ce47095b80180ea1118e2de44cb5c7002503d9"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:fd62ba2853eef65e249a9c4437a9ecac568222062bc956f0c61a3d1151a6271b"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:23b50eb74dc3e1d480b04b987c61242df5dade50d08bc16e25eb3582b83fca80"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e1bde89855dd5ab0811187d21eec149975510c80e865c771c883524a452445e7"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10c6cddc720151a509beb98ab310fa0cc8bcb265f83518ebf831de2c9ff73af0"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9bea09c5e8401ec50b8f211bc820ec2f0ca5e744ac67431a1b39bdacbd266553"}, - {file = "google_re2-1.1-1-cp38-cp38-win32.whl", hash = "sha256:ffa51b118037518bcdf63c7649d0b4be7071982b83f48ee3bbabf24a9cb48f8a"}, - {file = "google_re2-1.1-1-cp38-cp38-win_amd64.whl", hash = "sha256:3b47715b6d43c9351957eb5092ad0fa625d04106d81f34cb8a726c53395ad474"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:998f31bf7efbc9bb603d0c356c1c77e5331f689c71783df8e21e67bb025fc66a"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0b5f0eaab859d3ba5f462c82bf37ab56e9d37e19b40b5898c731dbe4213a85f7"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:f6d591d9c4cbc7142b729ddcc3f654d059d8ebc3bc95891198808a4785a6b4d8"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:3c325c2eae197b423330a04ab62e2e1cf942676cd5560907db4d63e23ce0648a"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:1e019e8f57955806ee843254ce454249b58800a6e872b2c8e9df2ef3459de0d5"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:58ebbcc7ad2b639768a6bca586357291660ea40dfac83039208e5055c357513b"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:723f8553e7fc022294071f14fb7dfc7958c365dc7d4a71d4938ccd2df8c6eca4"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d81512b08e6787fc8ef29fea365d3fdbf957553a625550e1d96c36877ae30355"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c58601b155651cc572a23ee2860788c77581aad85d3567a55b89b0674702f34d"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c6c9f64b9724ec38da8e514f404ac64e9a6a5e8b1d7031c2dadd05c1f4c16fd"}, - {file = "google_re2-1.1-1-cp39-cp39-win32.whl", hash = "sha256:d1b751b9ab9f8e2ab2a36d72b909281ce65f328c9115a1685acae1a2d1afd7a4"}, - {file = "google_re2-1.1-1-cp39-cp39-win_amd64.whl", hash = "sha256:ac775c75cec7069351d201da4e0fb0cae4c1c5ebecd08fa34e1be89740c1d80b"}, -] -google-resumable-media = [ - {file = "google-resumable-media-2.5.0.tar.gz", hash = "sha256:218931e8e2b2a73a58eb354a288e03a0fd5fb1c4583261ac6e4c078666468c93"}, - {file = "google_resumable_media-2.5.0-py2.py3-none-any.whl", hash = "sha256:da1bd943e2e114a56d85d6848497ebf9be6a14d3db23e9fc57581e7c3e8170ec"}, -] -googleapis-common-protos = [ - {file = "googleapis-common-protos-1.60.0.tar.gz", hash = "sha256:e73ebb404098db405ba95d1e1ae0aa91c3e15a71da031a2eeb6b2e23e7bc3708"}, - {file = "googleapis_common_protos-1.60.0-py2.py3-none-any.whl", hash = "sha256:69f9bbcc6acde92cab2db95ce30a70bd2b81d20b12eff3f1aabaffcbe8a93918"}, -] -grapheme = [ - {file = "grapheme-0.6.0.tar.gz", hash = "sha256:44c2b9f21bbe77cfb05835fec230bd435954275267fea1858013b102f8603cca"}, -] -graphviz = [ - {file = "graphviz-0.20.1-py3-none-any.whl", hash = "sha256:587c58a223b51611c0cf461132da386edd896a029524ca61a1462b880bf97977"}, - {file = "graphviz-0.20.1.zip", hash = "sha256:8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8"}, -] -greenlet = [ - {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"}, - {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"}, - {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, - {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, - {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, - {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"}, - {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"}, - {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, - {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, - {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, - {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"}, - {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"}, - {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"}, - {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"}, - {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"}, - {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"}, - {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"}, - {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"}, - {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"}, - {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"}, - {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"}, - {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"}, - {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"}, - {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"}, - {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"}, - {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, - {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, - {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"}, - {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"}, - {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, - {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, - {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, - {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"}, - {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"}, - {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"}, - {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"}, - {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"}, - {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"}, -] -grpc-google-iam-v1 = [ - {file = "grpc-google-iam-v1-0.12.6.tar.gz", hash = "sha256:2bc4b8fdf22115a65d751c9317329322602c39b7c86a289c9b72d228d960ef5f"}, - {file = "grpc_google_iam_v1-0.12.6-py2.py3-none-any.whl", hash = "sha256:5c10f3d8dc2d88678ab1a9b0cb5482735c5efee71e6c0cd59f872eef22913f5c"}, -] -grpcio = [ - {file = "grpcio-1.57.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:092fa155b945015754bdf988be47793c377b52b88d546e45c6a9f9579ac7f7b6"}, - {file = "grpcio-1.57.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:2f7349786da979a94690cc5c2b804cab4e8774a3cf59be40d037c4342c906649"}, - {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:82640e57fb86ea1d71ea9ab54f7e942502cf98a429a200b2e743d8672171734f"}, - {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40b72effd4c789de94ce1be2b5f88d7b9b5f7379fe9645f198854112a6567d9a"}, - {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f708a6a17868ad8bf586598bee69abded4996b18adf26fd2d91191383b79019"}, - {file = "grpcio-1.57.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:60fe15288a0a65d5c1cb5b4a62b1850d07336e3ba728257a810317be14f0c527"}, - {file = "grpcio-1.57.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6907b1cf8bb29b058081d2aad677b15757a44ef2d4d8d9130271d2ad5e33efca"}, - {file = "grpcio-1.57.0-cp310-cp310-win32.whl", hash = "sha256:57b183e8b252825c4dd29114d6c13559be95387aafc10a7be645462a0fc98bbb"}, - {file = "grpcio-1.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:7b400807fa749a9eb286e2cd893e501b110b4d356a218426cb9c825a0474ca56"}, - {file = "grpcio-1.57.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:c6ebecfb7a31385393203eb04ed8b6a08f5002f53df3d59e5e795edb80999652"}, - {file = "grpcio-1.57.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:00258cbe3f5188629828363ae8ff78477ce976a6f63fb2bb5e90088396faa82e"}, - {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:23e7d8849a0e58b806253fd206ac105b328171e01b8f18c7d5922274958cc87e"}, - {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5371bcd861e679d63b8274f73ac281751d34bd54eccdbfcd6aa00e692a82cd7b"}, - {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aed90d93b731929e742967e236f842a4a2174dc5db077c8f9ad2c5996f89f63e"}, - {file = "grpcio-1.57.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fe752639919aad9ffb0dee0d87f29a6467d1ef764f13c4644d212a9a853a078d"}, - {file = "grpcio-1.57.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fada6b07ec4f0befe05218181f4b85176f11d531911b64c715d1875c4736d73a"}, - {file = "grpcio-1.57.0-cp311-cp311-win32.whl", hash = "sha256:bb396952cfa7ad2f01061fbc7dc1ad91dd9d69243bcb8110cf4e36924785a0fe"}, - {file = "grpcio-1.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:e503cb45ed12b924b5b988ba9576dc9949b2f5283b8e33b21dcb6be74a7c58d0"}, - {file = "grpcio-1.57.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:fd173b4cf02b20f60860dc2ffe30115c18972d7d6d2d69df97ac38dee03be5bf"}, - {file = "grpcio-1.57.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:d7f8df114d6b4cf5a916b98389aeaf1e3132035420a88beea4e3d977e5f267a5"}, - {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:76c44efa4ede1f42a9d5b2fed1fe9377e73a109bef8675fb0728eb80b0b8e8f2"}, - {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4faea2cfdf762a664ab90589b66f416274887641ae17817de510b8178356bf73"}, - {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c60b83c43faeb6d0a9831f0351d7787a0753f5087cc6fa218d78fdf38e5acef0"}, - {file = "grpcio-1.57.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b363bbb5253e5f9c23d8a0a034dfdf1b7c9e7f12e602fc788c435171e96daccc"}, - {file = "grpcio-1.57.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f1fb0fd4a1e9b11ac21c30c169d169ef434c6e9344ee0ab27cfa6f605f6387b2"}, - {file = "grpcio-1.57.0-cp37-cp37m-win_amd64.whl", hash = "sha256:34950353539e7d93f61c6796a007c705d663f3be41166358e3d88c45760c7d98"}, - {file = "grpcio-1.57.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:871f9999e0211f9551f368612460442a5436d9444606184652117d6a688c9f51"}, - {file = "grpcio-1.57.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:a8a8e560e8dbbdf29288872e91efd22af71e88b0e5736b0daf7773c1fecd99f0"}, - {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2313b124e475aa9017a9844bdc5eafb2d5abdda9d456af16fc4535408c7d6da6"}, - {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4098b6b638d9e0ca839a81656a2fd4bc26c9486ea707e8b1437d6f9d61c3941"}, - {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e5b58e32ae14658085c16986d11e99abd002ddbf51c8daae8a0671fffb3467f"}, - {file = "grpcio-1.57.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0f80bf37f09e1caba6a8063e56e2b87fa335add314cf2b78ebf7cb45aa7e3d06"}, - {file = "grpcio-1.57.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5b7a4ce8f862fe32b2a10b57752cf3169f5fe2915acfe7e6a1e155db3da99e79"}, - {file = "grpcio-1.57.0-cp38-cp38-win32.whl", hash = "sha256:9338bacf172e942e62e5889b6364e56657fbf8ac68062e8b25c48843e7b202bb"}, - {file = "grpcio-1.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:e1cb52fa2d67d7f7fab310b600f22ce1ff04d562d46e9e0ac3e3403c2bb4cc16"}, - {file = "grpcio-1.57.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fee387d2fab144e8a34e0e9c5ca0f45c9376b99de45628265cfa9886b1dbe62b"}, - {file = "grpcio-1.57.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:b53333627283e7241fcc217323f225c37783b5f0472316edcaa4479a213abfa6"}, - {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:f19ac6ac0a256cf77d3cc926ef0b4e64a9725cc612f97228cd5dc4bd9dbab03b"}, - {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fdf04e402f12e1de8074458549337febb3b45f21076cc02ef4ff786aff687e"}, - {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5613a2fecc82f95d6c51d15b9a72705553aa0d7c932fad7aed7afb51dc982ee5"}, - {file = "grpcio-1.57.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b670c2faa92124b7397b42303e4d8eb64a4cd0b7a77e35a9e865a55d61c57ef9"}, - {file = "grpcio-1.57.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7a635589201b18510ff988161b7b573f50c6a48fae9cb567657920ca82022b37"}, - {file = "grpcio-1.57.0-cp39-cp39-win32.whl", hash = "sha256:d78d8b86fcdfa1e4c21f8896614b6cc7ee01a2a758ec0c4382d662f2a62cf766"}, - {file = "grpcio-1.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:20ec6fc4ad47d1b6e12deec5045ec3cd5402d9a1597f738263e98f490fe07056"}, - {file = "grpcio-1.57.0.tar.gz", hash = "sha256:4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613"}, -] -grpcio-status = [ - {file = "grpcio-status-1.57.0.tar.gz", hash = "sha256:b098da99df1eebe58337f8f78e50df990273ccacc1226fddeb47c590e3df9e02"}, - {file = "grpcio_status-1.57.0-py3-none-any.whl", hash = "sha256:15d6af055914ebbc4ed17e55ebfb8e6bb17a45a57fea32e6af19978fb7844690"}, -] -gunicorn = [ - {file = "gunicorn-21.2.0-py3-none-any.whl", hash = "sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0"}, - {file = "gunicorn-21.2.0.tar.gz", hash = "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"}, -] -h11 = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] -hexbytes = [ - {file = "hexbytes-0.3.1-py3-none-any.whl", hash = "sha256:383595ad75026cf00abd570f44b368c6cdac0c6becfae5c39ff88829877f8a59"}, - {file = "hexbytes-0.3.1.tar.gz", hash = "sha256:a3fe35c6831ee8fafd048c4c086b986075fc14fd46258fa24ecb8d65745f9a9d"}, -] -hologram = [ - {file = "hologram-0.0.16-py3-none-any.whl", hash = "sha256:4e56bd525336bb64a18916f871977a4125b64be8aaa750233583003333cda361"}, - {file = "hologram-0.0.16.tar.gz", hash = "sha256:1c2c921b4e575361623ea0e0d0aa5aee377b1a333cc6c6a879e213ed34583e55"}, -] -httpcore = [ - {file = "httpcore-0.17.3-py3-none-any.whl", hash = "sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87"}, - {file = "httpcore-0.17.3.tar.gz", hash = "sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888"}, -] -httplib2 = [ - {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, - {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, -] -httpx = [ - {file = "httpx-0.24.1-py3-none-any.whl", hash = "sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"}, - {file = "httpx-0.24.1.tar.gz", hash = "sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd"}, -] -humanize = [ - {file = "humanize-4.8.0-py3-none-any.whl", hash = "sha256:8bc9e2bb9315e61ec06bf690151ae35aeb65651ab091266941edf97c90836404"}, - {file = "humanize-4.8.0.tar.gz", hash = "sha256:9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8"}, -] -idna = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, -] -importlib-metadata = [ - {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, - {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, -] -importlib-resources = [ - {file = "importlib_resources-6.0.1-py3-none-any.whl", hash = "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf"}, - {file = "importlib_resources-6.0.1.tar.gz", hash = "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4"}, -] -inflection = [ - {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, - {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, -] -iniconfig = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] -isodate = [ - {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, - {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, -] -itsdangerous = [ - {file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, - {file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"}, -] -jaraco-classes = [ - {file = "jaraco.classes-3.3.0-py3-none-any.whl", hash = "sha256:10afa92b6743f25c0cf5f37c6bb6e18e2c5bb84a16527ccfc0040ea377e7aaeb"}, - {file = "jaraco.classes-3.3.0.tar.gz", hash = "sha256:c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621"}, -] -jeepney = [ - {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, - {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, -] -jinja2 = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, -] -jinxed = [ - {file = "jinxed-1.2.0-py2.py3-none-any.whl", hash = "sha256:cfc2b2e4e3b4326954d546ba6d6b9a7a796ddcb0aef8d03161d005177eb0d48b"}, - {file = "jinxed-1.2.0.tar.gz", hash = "sha256:032acda92d5c57cd216033cbbd53de731e6ed50deb63eb4781336ca55f72cda5"}, -] -jmespath = [ - {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, - {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, -] -jsonpath-ng = [ - {file = "jsonpath-ng-1.5.3.tar.gz", hash = "sha256:a273b182a82c1256daab86a313b937059261b5c5f8c4fa3fc38b882b344dd567"}, - {file = "jsonpath_ng-1.5.3-py2-none-any.whl", hash = "sha256:f75b95dbecb8a0f3b86fd2ead21c2b022c3f5770957492b9b6196ecccfeb10aa"}, - {file = "jsonpath_ng-1.5.3-py3-none-any.whl", hash = "sha256:292a93569d74029ba75ac2dc3d3630fc0e17b2df26119a165fa1d498ca47bf65"}, -] -jsonschema = [ - {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, - {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, -] -jsonschema-specifications = [ - {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, - {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, -] -keyring = [ - {file = "keyring-24.2.0-py3-none-any.whl", hash = "sha256:4901caaf597bfd3bbd78c9a0c7c4c29fcd8310dab2cffefe749e916b6527acd6"}, - {file = "keyring-24.2.0.tar.gz", hash = "sha256:ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509"}, -] -lazy-object-proxy = [ - {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, -] -leather = [ - {file = "leather-0.3.4-py2.py3-none-any.whl", hash = "sha256:5e741daee96e9f1e9e06081b8c8a10c4ac199301a0564cdd99b09df15b4603d2"}, - {file = "leather-0.3.4.tar.gz", hash = "sha256:b43e21c8fa46b2679de8449f4d953c06418666dc058ce41055ee8a8d3bb40918"}, -] -limits = [ - {file = "limits-3.6.0-py3-none-any.whl", hash = "sha256:32fe29a398352c71bc43d53773117d47e22c5ea4200aef28d3f5fdee10334cd7"}, - {file = "limits-3.6.0.tar.gz", hash = "sha256:57a9c69fd37ad1e4fa3886dff8d035227e1f6af87f47e9118627e72cf1ced3bf"}, -] -linkify-it-py = [ - {file = "linkify-it-py-2.0.2.tar.gz", hash = "sha256:19f3060727842c254c808e99d465c80c49d2c7306788140987a1a7a29b0d6ad2"}, - {file = "linkify_it_py-2.0.2-py3-none-any.whl", hash = "sha256:a3a24428f6c96f27370d7fe61d2ac0be09017be5190d68d8658233171f1b6541"}, -] -lockfile = [ - {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, - {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"}, -] -logbook = [ - {file = "Logbook-1.5.3-cp27-cp27m-win32.whl", hash = "sha256:56ee54c11df3377314cedcd6507638f015b4b88c0238c2e01b5eb44fd3a6ad1b"}, - {file = "Logbook-1.5.3-cp27-cp27m-win_amd64.whl", hash = "sha256:2dc85f1510533fddb481e97677bb7bca913560862734c0b3b289bfed04f78c92"}, - {file = "Logbook-1.5.3-cp35-cp35m-win32.whl", hash = "sha256:94e2e11ff3c2304b0d09a36c6208e5ae756eb948b210e5cbd63cd8d27f911542"}, - {file = "Logbook-1.5.3-cp35-cp35m-win_amd64.whl", hash = "sha256:97fee1bd9605f76335b169430ed65e15e457a844b2121bd1d90a08cf7e30aba0"}, - {file = "Logbook-1.5.3-cp36-cp36m-win32.whl", hash = "sha256:7c533eb728b3d220b1b5414ba4635292d149d79f74f6973b4aa744c850ca944a"}, - {file = "Logbook-1.5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:e18f7422214b1cf0240c56f884fd9c9b4ff9d0da2eabca9abccba56df7222f66"}, - {file = "Logbook-1.5.3-cp37-cp37m-win32.whl", hash = "sha256:8f76a2e7b1f72595f753228732f81ce342caf03babc3fed6bbdcf366f2f20f18"}, - {file = "Logbook-1.5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0cf2cdbfb65a03b5987d19109dacad13417809dcf697f66e1a7084fb21744ea9"}, - {file = "Logbook-1.5.3.tar.gz", hash = "sha256:66f454ada0f56eae43066f604a222b09893f98c1adc18df169710761b8f32fe8"}, -] -lxml = [ - {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, - {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, - {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, - {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae8b9c6deb1e634ba4f1930eb67ef6e6bf6a44b6eb5ad605642b2d6d5ed9ce3c"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f"}, - {file = "lxml-4.9.3-cp310-cp310-win32.whl", hash = "sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85"}, - {file = "lxml-4.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d"}, - {file = "lxml-4.9.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:9767e79108424fb6c3edf8f81e6730666a50feb01a328f4a016464a5893f835a"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6"}, - {file = "lxml-4.9.3-cp311-cp311-win32.whl", hash = "sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305"}, - {file = "lxml-4.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc"}, - {file = "lxml-4.9.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5"}, - {file = "lxml-4.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2"}, - {file = "lxml-4.9.3-cp35-cp35m-win32.whl", hash = "sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d"}, - {file = "lxml-4.9.3-cp35-cp35m-win_amd64.whl", hash = "sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833"}, - {file = "lxml-4.9.3-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e3cd95e10c2610c360154afdc2f1480aea394f4a4f1ea0a5eacce49640c9b190"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458"}, - {file = "lxml-4.9.3-cp36-cp36m-win32.whl", hash = "sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477"}, - {file = "lxml-4.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:141f1d1a9b663c679dc524af3ea1773e618907e96075262726c7612c02b149a4"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02"}, - {file = "lxml-4.9.3-cp37-cp37m-win32.whl", hash = "sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f"}, - {file = "lxml-4.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:71d66ee82e7417828af6ecd7db817913cb0cf9d4e61aa0ac1fde0583d84358db"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7"}, - {file = "lxml-4.9.3-cp38-cp38-win32.whl", hash = "sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574"}, - {file = "lxml-4.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96"}, - {file = "lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50"}, - {file = "lxml-4.9.3-cp39-cp39-win32.whl", hash = "sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2"}, - {file = "lxml-4.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2"}, - {file = "lxml-4.9.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:05186a0f1346ae12553d66df1cfce6f251589fea3ad3da4f3ef4e34b2d58c6a3"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:50670615eaf97227d5dc60de2dc99fb134a7130d310d783314e7724bf163f75d"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9"}, - {file = "lxml-4.9.3.tar.gz", hash = "sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c"}, -] -makefun = [ - {file = "makefun-1.15.1-py2.py3-none-any.whl", hash = "sha256:a63cfc7b47a539c76d97bd4fdb833c7d0461e759fd1225f580cb4be6200294d4"}, - {file = "makefun-1.15.1.tar.gz", hash = "sha256:40b0f118b6ded0d8d78c78f1eb679b8b6b2462e3c1b3e05fb1b2da8cd46b48a5"}, -] -mako = [ - {file = "Mako-1.2.4-py3-none-any.whl", hash = "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818"}, - {file = "Mako-1.2.4.tar.gz", hash = "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34"}, -] -markdown = [ - {file = "Markdown-3.4.4-py3-none-any.whl", hash = "sha256:a4c1b65c0957b4bd9e7d86ddc7b3c9868fb9670660f6f99f6d1bca8954d5a941"}, - {file = "Markdown-3.4.4.tar.gz", hash = "sha256:225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6"}, -] -markdown-it-py = [ - {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, - {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, -] -markupsafe = [ - {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"}, -] -marshmallow = [ - {file = "marshmallow-3.20.1-py3-none-any.whl", hash = "sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c"}, - {file = "marshmallow-3.20.1.tar.gz", hash = "sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889"}, -] -marshmallow-oneofschema = [ - {file = "marshmallow-oneofschema-3.0.1.tar.gz", hash = "sha256:62cd2099b29188c92493c2940ee79d1bf2f2619a71721664e5a98ec2faa58237"}, - {file = "marshmallow_oneofschema-3.0.1-py2.py3-none-any.whl", hash = "sha256:bd29410a9f2f7457a2b428286e2a80ef76b8ddc3701527dc1f935a88914b02f2"}, -] -marshmallow-sqlalchemy = [ - {file = "marshmallow-sqlalchemy-0.26.1.tar.gz", hash = "sha256:d8525f74de51554b5c8491effe036f60629a426229befa33ff614c8569a16a73"}, - {file = "marshmallow_sqlalchemy-0.26.1-py2.py3-none-any.whl", hash = "sha256:ba7493eeb8669a3bf00d8f906b657feaa87a740ae9e4ecf829cfd6ddf763d276"}, -] -mashumaro = [ - {file = "mashumaro-3.6-py3-none-any.whl", hash = "sha256:77403e3e2ecd0a7d0e22d472c08e33282460e48726eabe356c5163efbdf9c7ee"}, - {file = "mashumaro-3.6.tar.gz", hash = "sha256:ceb3de53029219bbbb0385ca600b59348dcd14e0c68523986c6d51889ad338f5"}, -] -mccabe = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] -mdit-py-plugins = [ - {file = "mdit_py_plugins-0.4.0-py3-none-any.whl", hash = "sha256:b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9"}, - {file = "mdit_py_plugins-0.4.0.tar.gz", hash = "sha256:d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b"}, -] -mdurl = [ - {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, - {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, -] -minimal-snowplow-tracker = [ - {file = "minimal-snowplow-tracker-0.0.2.tar.gz", hash = "sha256:acabf7572db0e7f5cbf6983d495eef54081f71be392330eb3aadb9ccb39daaa4"}, -] -more-itertools = [ - {file = "more-itertools-10.1.0.tar.gz", hash = "sha256:626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a"}, - {file = "more_itertools-10.1.0-py3-none-any.whl", hash = "sha256:64e0735fcfdc6f3464ea133afe8ea4483b1c5fe3a3d69852e6503b43a0b222e6"}, -] -msal = [ - {file = "msal-1.23.0-py2.py3-none-any.whl", hash = "sha256:3342e0837a047007f9d479e814b559c3219767453d57920dc40a31986862048b"}, - {file = "msal-1.23.0.tar.gz", hash = "sha256:25c9a33acf84301f93d1fdbe9f1a9c60cd38af0d5fffdbfa378138fc7bc1e86b"}, -] -msal-extensions = [ - {file = "msal-extensions-1.0.0.tar.gz", hash = "sha256:c676aba56b0cce3783de1b5c5ecfe828db998167875126ca4b47dc6436451354"}, - {file = "msal_extensions-1.0.0-py2.py3-none-any.whl", hash = "sha256:91e3db9620b822d0ed2b4d1850056a0f133cba04455e62f11612e40f5502f2ee"}, -] -msgpack = [ +files = [ {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:525228efd79bb831cf6830a732e2e80bc1b05436b086d4264814b4b2955b2fa9"}, {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f8d8b3bf1ff2672567d6b5c725a1b347fe838b912772aa8ae2bf70338d5a198"}, {file = "msgpack-1.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdc793c50be3f01106245a61b739328f7dccc2c648b501e237f0699fe1395b81"}, @@ -6406,7 +4606,14 @@ msgpack = [ {file = "msgpack-1.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:06f5174b5f8ed0ed919da0e62cbd4ffde676a374aba4020034da05fab67b9164"}, {file = "msgpack-1.0.5.tar.gz", hash = "sha256:c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c"}, ] -multidict = [ + +[[package]] +name = "multidict" +version = "6.0.4" +description = "multidict implementation" +optional = false +python-versions = ">=3.7" +files = [ {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, @@ -6482,7 +4689,14 @@ multidict = [ {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, ] -mypy = [ + +[[package]] +name = "mypy" +version = "1.6.1" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.8" +files = [ {file = "mypy-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e5012e5cc2ac628177eaac0e83d622b2dd499e28253d4107a08ecc59ede3fc2c"}, {file = "mypy-1.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d8fbb68711905f8912e5af474ca8b78d077447d8f3918997fecbf26943ff3cbb"}, {file = "mypy-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a1ad938fee7d2d96ca666c77b7c494c3c5bd88dff792220e1afbebb2925b5e"}, @@ -6511,47 +4725,161 @@ mypy = [ {file = "mypy-1.6.1-py3-none-any.whl", hash = "sha256:4cbe68ef919c28ea561165206a2dcb68591c50f3bcf777932323bc208d949cf1"}, {file = "mypy-1.6.1.tar.gz", hash = "sha256:4d01c00d09a0be62a4ca3f933e315455bde83f37f892ba4b08ce92f3cf44bcc1"}, ] -mypy-boto3-athena = [ + +[package.dependencies] +mypy-extensions = ">=1.0.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = ">=4.1.0" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +install-types = ["pip"] +reports = ["lxml"] + +[[package]] +name = "mypy-boto3-athena" +version = "1.28.36" +description = "Type annotations for boto3.Athena 1.28.36 service generated with mypy-boto3-builder 7.18.0" +optional = true +python-versions = ">=3.7" +files = [ {file = "mypy-boto3-athena-1.28.36.tar.gz", hash = "sha256:a76df6aace3dc1d91b3f74640d617cd1b4802e5f348a22db2f16dfce0b01ee26"}, {file = "mypy_boto3_athena-1.28.36-py3-none-any.whl", hash = "sha256:b79b77df6ba30c55ff2f1f8b36de410f537c8c978d892e958b4c5e165797915a"}, ] -mypy-boto3-glue = [ + +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} + +[[package]] +name = "mypy-boto3-glue" +version = "1.28.36" +description = "Type annotations for boto3.Glue 1.28.36 service generated with mypy-boto3-builder 7.18.0" +optional = true +python-versions = ">=3.7" +files = [ {file = "mypy-boto3-glue-1.28.36.tar.gz", hash = "sha256:161771252bb6a220a0bfd8e6ad71da8548599c611f95fe8a94846f4a3386d2ae"}, {file = "mypy_boto3_glue-1.28.36-py3-none-any.whl", hash = "sha256:73bc14616ac65a5c02adea5efba7bbbcf8207cd0c0e3237c13d351ebc916338d"}, ] -mypy-boto3-lakeformation = [ + +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} + +[[package]] +name = "mypy-boto3-lakeformation" +version = "1.28.36" +description = "Type annotations for boto3.LakeFormation 1.28.36 service generated with mypy-boto3-builder 7.18.0" +optional = true +python-versions = ">=3.7" +files = [ {file = "mypy-boto3-lakeformation-1.28.36.tar.gz", hash = "sha256:9327cf0d28a09abf5bd90ae946ce7420b32a3b979a1a3554ac93716c3dceacb0"}, {file = "mypy_boto3_lakeformation-1.28.36-py3-none-any.whl", hash = "sha256:9525a8ab3d69632d4ec83eb565ff7fdfa1181fbdf032bcff4a20d4f8a0350688"}, ] -mypy-boto3-sts = [ + +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} + +[[package]] +name = "mypy-boto3-sts" +version = "1.28.37" +description = "Type annotations for boto3.STS 1.28.37 service generated with mypy-boto3-builder 7.18.2" +optional = true +python-versions = ">=3.7" +files = [ {file = "mypy-boto3-sts-1.28.37.tar.gz", hash = "sha256:54d64ca695ab90a51c68ac1e67ff9eae7ec69f926649e320a3b90ed1ec841a95"}, {file = "mypy_boto3_sts-1.28.37-py3-none-any.whl", hash = "sha256:24106ff30ecfe7ad0538657bbd00b6009418a5382b323cac46e0e26c1f5d50fb"}, ] -mypy-extensions = [ + +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] -natsort = [ + +[[package]] +name = "natsort" +version = "8.4.0" +description = "Simple yet flexible natural sorting in Python." +optional = false +python-versions = ">=3.7" +files = [ {file = "natsort-8.4.0-py3-none-any.whl", hash = "sha256:4732914fb471f56b5cce04d7bae6f164a592c7712e1c85f9ef585e197299521c"}, {file = "natsort-8.4.0.tar.gz", hash = "sha256:45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581"}, ] -networkx = [ + +[package.extras] +fast = ["fastnumbers (>=2.0.0)"] +icu = ["PyICU (>=1.0.0)"] + +[[package]] +name = "networkx" +version = "2.8.8" +description = "Python package for creating and manipulating graphs and networks" +optional = true +python-versions = ">=3.8" +files = [ {file = "networkx-2.8.8-py3-none-any.whl", hash = "sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524"}, {file = "networkx-2.8.8.tar.gz", hash = "sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e"}, ] -nr-date = [ + +[package.extras] +default = ["matplotlib (>=3.4)", "numpy (>=1.19)", "pandas (>=1.3)", "scipy (>=1.8)"] +developer = ["mypy (>=0.982)", "pre-commit (>=2.20)"] +doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.2)", "pydata-sphinx-theme (>=0.11)", "sphinx (>=5.2)", "sphinx-gallery (>=0.11)", "texext (>=0.6.6)"] +extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.9)", "sympy (>=1.10)"] +test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] + +[[package]] +name = "nr-date" +version = "2.1.0" +description = "" +optional = false +python-versions = ">=3.6,<4.0" +files = [ {file = "nr_date-2.1.0-py3-none-any.whl", hash = "sha256:bd672a9dfbdcf7c4b9289fea6750c42490eaee08036a72059dcc78cb236ed568"}, {file = "nr_date-2.1.0.tar.gz", hash = "sha256:0643aea13bcdc2a8bc56af9d5e6a89ef244c9744a1ef00cdc735902ba7f7d2e6"}, ] -nr-stream = [ + +[[package]] +name = "nr-stream" +version = "1.1.5" +description = "" +optional = false +python-versions = ">=3.6,<4.0" +files = [ {file = "nr_stream-1.1.5-py3-none-any.whl", hash = "sha256:47e12150b331ad2cb729cfd9d2abd281c9949809729ba461c6aa87dd9927b2d4"}, {file = "nr_stream-1.1.5.tar.gz", hash = "sha256:eb0216c6bfc61a46d4568dba3b588502c610ec8ddef4ac98f3932a2bd7264f65"}, ] -nr-util = [ + +[[package]] +name = "nr-util" +version = "0.8.12" +description = "General purpose Python utility library." +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "nr.util-0.8.12-py3-none-any.whl", hash = "sha256:91da02ac9795eb8e015372275c1efe54bac9051231ee9b0e7e6f96b0b4e7d2bb"}, {file = "nr.util-0.8.12.tar.gz", hash = "sha256:a4549c2033d99d2f0379b3f3d233fd2a8ade286bbf0b3ad0cc7cea16022214f4"}, ] -numpy = [ + +[package.dependencies] +deprecated = ">=1.2.0,<2.0.0" +typing-extensions = ">=3.0.0" + +[[package]] +name = "numpy" +version = "1.24.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.8" +files = [ {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, @@ -6580,69 +4908,284 @@ numpy = [ {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, - {file = "numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db3ccc4e37a6873045580d413fe79b68e47a681af8db2e046f1dacfa11f86eb3"}, - {file = "numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:90319e4f002795ccfc9050110bbbaa16c944b1c37c0baeea43c5fb881693ae1f"}, - {file = "numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfe4a913e29b418d096e696ddd422d8a5d13ffba4ea91f9f60440a3b759b0187"}, - {file = "numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f08f2e037bba04e707eebf4bc934f1972a315c883a9e0ebfa8a7756eabf9e357"}, - {file = "numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bec1e7213c7cb00d67093247f8c4db156fd03075f49876957dca4711306d39c9"}, - {file = "numpy-1.25.2-cp310-cp310-win32.whl", hash = "sha256:7dc869c0c75988e1c693d0e2d5b26034644399dd929bc049db55395b1379e044"}, - {file = "numpy-1.25.2-cp310-cp310-win_amd64.whl", hash = "sha256:834b386f2b8210dca38c71a6e0f4fd6922f7d3fcff935dbe3a570945acb1b545"}, - {file = "numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5462d19336db4560041517dbb7759c21d181a67cb01b36ca109b2ae37d32418"}, - {file = "numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c5652ea24d33585ea39eb6a6a15dac87a1206a692719ff45d53c5282e66d4a8f"}, - {file = "numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d60fbae8e0019865fc4784745814cff1c421df5afee233db6d88ab4f14655a2"}, - {file = "numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e7f0f7f6d0eee8364b9a6304c2845b9c491ac706048c7e8cf47b83123b8dbf"}, - {file = "numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bb33d5a1cf360304754913a350edda36d5b8c5331a8237268c48f91253c3a364"}, - {file = "numpy-1.25.2-cp311-cp311-win32.whl", hash = "sha256:5883c06bb92f2e6c8181df7b39971a5fb436288db58b5a1c3967702d4278691d"}, - {file = "numpy-1.25.2-cp311-cp311-win_amd64.whl", hash = "sha256:5c97325a0ba6f9d041feb9390924614b60b99209a71a69c876f71052521d42a4"}, - {file = "numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b79e513d7aac42ae918db3ad1341a015488530d0bb2a6abcbdd10a3a829ccfd3"}, - {file = "numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb942bfb6f84df5ce05dbf4b46673ffed0d3da59f13635ea9b926af3deb76926"}, - {file = "numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e0746410e73384e70d286f93abf2520035250aad8c5714240b0492a7302fdca"}, - {file = "numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7806500e4f5bdd04095e849265e55de20d8cc4b661b038957354327f6d9b295"}, - {file = "numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8b77775f4b7df768967a7c8b3567e309f617dd5e99aeb886fa14dc1a0791141f"}, - {file = "numpy-1.25.2-cp39-cp39-win32.whl", hash = "sha256:2792d23d62ec51e50ce4d4b7d73de8f67a2fd3ea710dcbc8563a51a03fb07b01"}, - {file = "numpy-1.25.2-cp39-cp39-win_amd64.whl", hash = "sha256:76b4115d42a7dfc5d485d358728cdd8719be33cc5ec6ec08632a5d6fca2ed380"}, - {file = "numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1a1329e26f46230bf77b02cc19e900db9b52f398d6722ca853349a782d4cff55"}, - {file = "numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c3abc71e8b6edba80a01a52e66d83c5d14433cbcd26a40c329ec7ed09f37901"}, - {file = "numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1b9735c27cea5d995496f46a8b1cd7b408b3f34b6d50459d9ac8fe3a20cc17bf"}, - {file = "numpy-1.25.2.tar.gz", hash = "sha256:fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760"}, -] -oauthlib = [ +] + +[[package]] +name = "numpy" +version = "1.26.1" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = "<3.13,>=3.9" +files = [ + {file = "numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af"}, + {file = "numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575"}, + {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244"}, + {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67"}, + {file = "numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2"}, + {file = "numpy-1.26.1-cp310-cp310-win32.whl", hash = "sha256:d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297"}, + {file = "numpy-1.26.1-cp310-cp310-win_amd64.whl", hash = "sha256:d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab"}, + {file = "numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a"}, + {file = "numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9"}, + {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3"}, + {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974"}, + {file = "numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c"}, + {file = "numpy-1.26.1-cp311-cp311-win32.whl", hash = "sha256:b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b"}, + {file = "numpy-1.26.1-cp311-cp311-win_amd64.whl", hash = "sha256:3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53"}, + {file = "numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f"}, + {file = "numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24"}, + {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e"}, + {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124"}, + {file = "numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c"}, + {file = "numpy-1.26.1-cp312-cp312-win32.whl", hash = "sha256:af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66"}, + {file = "numpy-1.26.1-cp312-cp312-win_amd64.whl", hash = "sha256:9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7"}, + {file = "numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e"}, + {file = "numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617"}, + {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e"}, + {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908"}, + {file = "numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5"}, + {file = "numpy-1.26.1-cp39-cp39-win32.whl", hash = "sha256:d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104"}, + {file = "numpy-1.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76ff661a867d9272cd2a99eed002470f46dbe0943a5ffd140f49be84f68ffc42"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6965888d65d2848e8768824ca8288db0a81263c1efccec881cb35a0d805fcd2f"}, + {file = "numpy-1.26.1.tar.gz", hash = "sha256:c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe"}, +] + +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = false +python-versions = ">=3.6" +files = [ {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, ] -opentelemetry-api = [ + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + +[[package]] +name = "onnx" +version = "1.15.0" +description = "Open Neural Network Exchange" +optional = true +python-versions = ">=3.8" +files = [ + {file = "onnx-1.15.0-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:51cacb6aafba308aaf462252ced562111f6991cdc7bc57a6c554c3519453a8ff"}, + {file = "onnx-1.15.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:0aee26b6f7f7da7e840de75ad9195a77a147d0662c94eaa6483be13ba468ffc1"}, + {file = "onnx-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baf6ef6c93b3b843edb97a8d5b3d229a1301984f3f8dee859c29634d2083e6f9"}, + {file = "onnx-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ed899fe6000edc05bb2828863d3841cfddd5a7cf04c1a771f112e94de75d9f"}, + {file = "onnx-1.15.0-cp310-cp310-win32.whl", hash = "sha256:f1ad3d77fc2f4b4296f0ac2c8cadd8c1dcf765fc586b737462d3a0fe8f7c696a"}, + {file = "onnx-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:ca4ebc4f47109bfb12c8c9e83dd99ec5c9f07d2e5f05976356c6ccdce3552010"}, + {file = "onnx-1.15.0-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:233ffdb5ca8cc2d960b10965a763910c0830b64b450376da59207f454701f343"}, + {file = "onnx-1.15.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:51fa79c9ea9af033638ec51f9177b8e76c55fad65bb83ea96ee88fafade18ee7"}, + {file = "onnx-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f277d4861729f5253a51fa41ce91bfec1c4574ee41b5637056b43500917295ce"}, + {file = "onnx-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8a7c94d2ebead8f739fdb70d1ce5a71726f4e17b3e5b8ad64455ea1b2801a85"}, + {file = "onnx-1.15.0-cp311-cp311-win32.whl", hash = "sha256:17dcfb86a8c6bdc3971443c29b023dd9c90ff1d15d8baecee0747a6b7f74e650"}, + {file = "onnx-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:60a3e28747e305cd2e766e6a53a0a6d952cf9e72005ec6023ce5e07666676a4e"}, + {file = "onnx-1.15.0-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:6b5c798d9e0907eaf319e3d3e7c89a2ed9a854bcb83da5fefb6d4c12d5e90721"}, + {file = "onnx-1.15.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:a4f774ff50092fe19bd8f46b2c9b27b1d30fbd700c22abde48a478142d464322"}, + {file = "onnx-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2b0e7f3938f2d994c34616bfb8b4b1cebbc4a0398483344fe5e9f2fe95175e6"}, + {file = "onnx-1.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49cebebd0020a4b12c1dd0909d426631212ef28606d7e4d49463d36abe7639ad"}, + {file = "onnx-1.15.0-cp38-cp38-win32.whl", hash = "sha256:1fdf8a3ff75abc2b32c83bf27fb7c18d6b976c9c537263fadd82b9560fe186fa"}, + {file = "onnx-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:763e55c26e8de3a2dce008d55ae81b27fa8fb4acbb01a29b9f3c01f200c4d676"}, + {file = "onnx-1.15.0-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:b2d5e802837629fc9c86f19448d19dd04d206578328bce202aeb3d4bedab43c4"}, + {file = "onnx-1.15.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9a9cfbb5e5d5d88f89d0dfc9df5fb858899db874e1d5ed21e76c481f3cafc90d"}, + {file = "onnx-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f472bbe5cb670a0a4a4db08f41fde69b187a009d0cb628f964840d3f83524e9"}, + {file = "onnx-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bf2de9bef64792e5b8080c678023ac7d2b9e05d79a3e17e92cf6a4a624831d2"}, + {file = "onnx-1.15.0-cp39-cp39-win32.whl", hash = "sha256:ef4d9eb44b111e69e4534f3233fc2c13d1e26920d24ae4359d513bd54694bc6d"}, + {file = "onnx-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:95d7a3e2d79d371e272e39ae3f7547e0b116d0c7f774a4004e97febe6c93507f"}, + {file = "onnx-1.15.0.tar.gz", hash = "sha256:b18461a7d38f286618ca2a6e78062a2a9c634ce498e631e708a8041b00094825"}, +] + +[package.dependencies] +numpy = "*" +protobuf = ">=3.20.2" + +[package.extras] +reference = ["Pillow", "google-re2"] + +[[package]] +name = "onnxruntime" +version = "1.16.1" +description = "ONNX Runtime is a runtime accelerator for Machine Learning models" +optional = true +python-versions = "*" +files = [ + {file = "onnxruntime-1.16.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:28b2c7f444b4119950b69370801cd66067f403d19cbaf2a444735d7c269cce4a"}, + {file = "onnxruntime-1.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c24e04f33e7899f6aebb03ed51e51d346c1f906b05c5569d58ac9a12d38a2f58"}, + {file = "onnxruntime-1.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fa93b166f2d97063dc9f33c5118c5729a4a5dd5617296b6dbef42f9047b3e81"}, + {file = "onnxruntime-1.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:042dd9201b3016ee18f8f8bc4609baf11ff34ca1ff489c0a46bcd30919bf883d"}, + {file = "onnxruntime-1.16.1-cp310-cp310-win32.whl", hash = "sha256:c20aa0591f305012f1b21aad607ed96917c86ae7aede4a4dd95824b3d124ceb7"}, + {file = "onnxruntime-1.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:5581873e578917bea76d6434ee7337e28195d03488dcf72d161d08e9398c6249"}, + {file = "onnxruntime-1.16.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:ef8c0c8abf5f309aa1caf35941380839dc5f7a2fa53da533be4a3f254993f120"}, + {file = "onnxruntime-1.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e680380bea35a137cbc3efd67a17486e96972901192ad3026ee79c8d8fe264f7"}, + {file = "onnxruntime-1.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e62cc38ce1a669013d0a596d984762dc9c67c56f60ecfeee0d5ad36da5863f6"}, + {file = "onnxruntime-1.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:025c7a4d57bd2e63b8a0f84ad3df53e419e3df1cc72d63184f2aae807b17c13c"}, + {file = "onnxruntime-1.16.1-cp311-cp311-win32.whl", hash = "sha256:9ad074057fa8d028df248b5668514088cb0937b6ac5954073b7fb9b2891ffc8c"}, + {file = "onnxruntime-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:d5e43a3478bffc01f817ecf826de7b25a2ca1bca8547d70888594ab80a77ad24"}, + {file = "onnxruntime-1.16.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:3aef4d70b0930e29a8943eab248cd1565664458d3a62b2276bd11181f28fd0a3"}, + {file = "onnxruntime-1.16.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:55a7b843a57c8ca0c8ff169428137958146081d5d76f1a6dd444c4ffcd37c3c2"}, + {file = "onnxruntime-1.16.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62c631af1941bf3b5f7d063d24c04aacce8cff0794e157c497e315e89ac5ad7b"}, + {file = "onnxruntime-1.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671f296c3d5c233f601e97a10ab5a1dd8e65ba35c7b7b0c253332aba9dff330"}, + {file = "onnxruntime-1.16.1-cp38-cp38-win32.whl", hash = "sha256:eb3802305023dd05e16848d4e22b41f8147247894309c0c27122aaa08793b3d2"}, + {file = "onnxruntime-1.16.1-cp38-cp38-win_amd64.whl", hash = "sha256:fecfb07443d09d271b1487f401fbdf1ba0c829af6fd4fe8f6af25f71190e7eb9"}, + {file = "onnxruntime-1.16.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:de3e12094234db6545c67adbf801874b4eb91e9f299bda34c62967ef0050960f"}, + {file = "onnxruntime-1.16.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff723c2a5621b5e7103f3be84d5aae1e03a20621e72219dddceae81f65f240af"}, + {file = "onnxruntime-1.16.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14a7fb3073aaf6b462e3d7fb433320f7700558a8892e5021780522dc4574292a"}, + {file = "onnxruntime-1.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:963159f1f699b0454cd72fcef3276c8a1aab9389a7b301bcd8e320fb9d9e8597"}, + {file = "onnxruntime-1.16.1-cp39-cp39-win32.whl", hash = "sha256:85771adb75190db9364b25ddec353ebf07635b83eb94b64ed014f1f6d57a3857"}, + {file = "onnxruntime-1.16.1-cp39-cp39-win_amd64.whl", hash = "sha256:d32d2b30799c1f950123c60ae8390818381fd5f88bdf3627eeca10071c155dc5"}, +] + +[package.dependencies] +coloredlogs = "*" +flatbuffers = "*" +numpy = ">=1.21.6" +packaging = "*" +protobuf = "*" +sympy = "*" + +[[package]] +name = "opentelemetry-api" +version = "1.15.0" +description = "OpenTelemetry Python API" +optional = false +python-versions = ">=3.7" +files = [ {file = "opentelemetry_api-1.15.0-py3-none-any.whl", hash = "sha256:e6c2d2e42140fd396e96edf75a7ceb11073f4efb4db87565a431cc9d0f93f2e0"}, {file = "opentelemetry_api-1.15.0.tar.gz", hash = "sha256:79ab791b4aaad27acc3dc3ba01596db5b5aac2ef75c70622c6038051d6c2cded"}, ] -opentelemetry-exporter-otlp = [ + +[package.dependencies] +deprecated = ">=1.2.6" +setuptools = ">=16.0" + +[[package]] +name = "opentelemetry-exporter-otlp" +version = "1.15.0" +description = "OpenTelemetry Collector Exporters" +optional = false +python-versions = ">=3.7" +files = [ {file = "opentelemetry_exporter_otlp-1.15.0-py3-none-any.whl", hash = "sha256:79f22748b6a54808a0448093dfa189c8490e729f67c134d4c992533d9393b33e"}, {file = "opentelemetry_exporter_otlp-1.15.0.tar.gz", hash = "sha256:4f7c49751d9720e2e726e13b0bb958ccade4e29122c305d92c033da432c8d2c5"}, ] -opentelemetry-exporter-otlp-proto-grpc = [ + +[package.dependencies] +opentelemetry-exporter-otlp-proto-grpc = "1.15.0" +opentelemetry-exporter-otlp-proto-http = "1.15.0" + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.15.0" +description = "OpenTelemetry Collector Protobuf over gRPC Exporter" +optional = false +python-versions = ">=3.7" +files = [ {file = "opentelemetry_exporter_otlp_proto_grpc-1.15.0-py3-none-any.whl", hash = "sha256:c2a5492ba7d140109968135d641d06ce3c5bd73c50665f787526065d57d7fd1d"}, {file = "opentelemetry_exporter_otlp_proto_grpc-1.15.0.tar.gz", hash = "sha256:844f2a4bb9bcda34e4eb6fe36765e5031aacb36dc60ed88c90fc246942ea26e7"}, ] -opentelemetry-exporter-otlp-proto-http = [ + +[package.dependencies] +backoff = {version = ">=1.10.0,<3.0.0", markers = "python_version >= \"3.7\""} +googleapis-common-protos = ">=1.52,<2.0" +grpcio = ">=1.0.0,<2.0.0" +opentelemetry-api = ">=1.12,<2.0" +opentelemetry-proto = "1.15.0" +opentelemetry-sdk = ">=1.12,<2.0" + +[package.extras] +test = ["pytest-grpc"] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-http" +version = "1.15.0" +description = "OpenTelemetry Collector Protobuf over HTTP Exporter" +optional = false +python-versions = ">=3.7" +files = [ {file = "opentelemetry_exporter_otlp_proto_http-1.15.0-py3-none-any.whl", hash = "sha256:3ec2a02196c8a54bf5cbf7fe623a5238625638e83b6047a983bdf96e2bbb74c0"}, {file = "opentelemetry_exporter_otlp_proto_http-1.15.0.tar.gz", hash = "sha256:11b2c814249a49b22f6cca7a06b05701f561d577b747f3660dfd67b6eb9daf9c"}, ] -opentelemetry-proto = [ + +[package.dependencies] +backoff = {version = ">=1.10.0,<3.0.0", markers = "python_version >= \"3.7\""} +googleapis-common-protos = ">=1.52,<2.0" +opentelemetry-api = ">=1.12,<2.0" +opentelemetry-proto = "1.15.0" +opentelemetry-sdk = ">=1.12,<2.0" +requests = ">=2.7,<3.0" + +[package.extras] +test = ["responses (==0.22.0)"] + +[[package]] +name = "opentelemetry-proto" +version = "1.15.0" +description = "OpenTelemetry Python Proto" +optional = false +python-versions = ">=3.7" +files = [ {file = "opentelemetry_proto-1.15.0-py3-none-any.whl", hash = "sha256:044b6d044b4d10530f250856f933442b8753a17f94ae37c207607f733fb9a844"}, {file = "opentelemetry_proto-1.15.0.tar.gz", hash = "sha256:9c4008e40ac8cab359daac283fbe7002c5c29c77ea2674ad5626a249e64e0101"}, ] -opentelemetry-sdk = [ + +[package.dependencies] +protobuf = ">=3.19,<5.0" + +[[package]] +name = "opentelemetry-sdk" +version = "1.15.0" +description = "OpenTelemetry Python SDK" +optional = false +python-versions = ">=3.7" +files = [ {file = "opentelemetry_sdk-1.15.0-py3-none-any.whl", hash = "sha256:555c533e9837766119bbccc7a80458c9971d853a6f1da683a2246cd5e53b4645"}, {file = "opentelemetry_sdk-1.15.0.tar.gz", hash = "sha256:98dbffcfeebcbff12c0c974292d6ea603180a145904cf838b1fe4d5c99078425"}, ] -opentelemetry-semantic-conventions = [ + +[package.dependencies] +opentelemetry-api = "1.15.0" +opentelemetry-semantic-conventions = "0.36b0" +setuptools = ">=16.0" +typing-extensions = ">=3.7.4" + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.36b0" +description = "OpenTelemetry Semantic Conventions" +optional = false +python-versions = ">=3.7" +files = [ {file = "opentelemetry_semantic_conventions-0.36b0-py3-none-any.whl", hash = "sha256:adc05635e87b9d3e007c9f530eed487fc3ef2177d02f82f674f28ebf9aff8243"}, {file = "opentelemetry_semantic_conventions-0.36b0.tar.gz", hash = "sha256:829dc221795467d98b773c04096e29be038d77526dc8d6ac76f546fb6279bf01"}, ] -ordered-set = [ + +[[package]] +name = "ordered-set" +version = "4.1.0" +description = "An OrderedSet is a custom MutableSet that remembers its order, so that every" +optional = false +python-versions = ">=3.7" +files = [ {file = "ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8"}, {file = "ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562"}, ] -orjson = [ + +[package.extras] +dev = ["black", "mypy", "pytest"] + +[[package]] +name = "orjson" +version = "3.9.5" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.7" +files = [ {file = "orjson-3.9.5-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ad6845912a71adcc65df7c8a7f2155eba2096cf03ad2c061c93857de70d699ad"}, {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e298e0aacfcc14ef4476c3f409e85475031de24e5b23605a465e9bf4b2156273"}, {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:83c9939073281ef7dd7c5ca7f54cceccb840b440cec4b8a326bda507ff88a0a6"}, @@ -6704,15 +5247,39 @@ orjson = [ {file = "orjson-3.9.5-cp39-none-win_amd64.whl", hash = "sha256:91dda66755795ac6100e303e206b636568d42ac83c156547634256a2e68de694"}, {file = "orjson-3.9.5.tar.gz", hash = "sha256:6daf5ee0b3cf530b9978cdbf71024f1c16ed4a67d05f6ec435c6e7fe7a52724c"}, ] -oscrypto = [ + +[[package]] +name = "oscrypto" +version = "1.3.0" +description = "TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not require a compiler, and relies on the OS for patching. Works on Windows, OS X and Linux/BSD." +optional = true +python-versions = "*" +files = [ {file = "oscrypto-1.3.0-py2.py3-none-any.whl", hash = "sha256:2b2f1d2d42ec152ca90ccb5682f3e051fb55986e1b170ebde472b133713e7085"}, {file = "oscrypto-1.3.0.tar.gz", hash = "sha256:6f5fef59cb5b3708321db7cca56aed8ad7e662853351e7991fcf60ec606d47a4"}, ] -packaging = [ + +[package.dependencies] +asn1crypto = ">=1.5.1" + +[[package]] +name = "packaging" +version = "23.1" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, ] -pandas = [ + +[[package]] +name = "pandas" +version = "1.5.3" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.8" +files = [ {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3749077d86e3a2f0ed51367f30bf5b82e131cc0f14260c4d3e499186fccc4406"}, {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:972d8a45395f2a2d26733eb8d0f629b2f90bebe8e8eddbb8829b180c09639572"}, {file = "pandas-1.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50869a35cbb0f2e0cd5ec04b191e7b12ed688874bd05dd777c19b28cbea90996"}, @@ -6741,23 +5308,77 @@ pandas = [ {file = "pandas-1.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:dfd681c5dc216037e0b0a2c821f5ed99ba9f03ebcf119c7dac0e9a7b960b9ec9"}, {file = "pandas-1.5.3.tar.gz", hash = "sha256:74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1"}, ] -parsedatetime = [ + +[package.dependencies] +numpy = [ + {version = ">=1.20.3", markers = "python_version < \"3.10\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, +] +python-dateutil = ">=2.8.1" +pytz = ">=2020.1" + +[package.extras] +test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] + +[[package]] +name = "parsedatetime" +version = "2.4" +description = "Parse human-readable date/time text." +optional = true +python-versions = "*" +files = [ {file = "parsedatetime-2.4-py2-none-any.whl", hash = "sha256:9ee3529454bf35c40a77115f5a596771e59e1aee8c53306f346c461b8e913094"}, {file = "parsedatetime-2.4.tar.gz", hash = "sha256:3d817c58fb9570d1eec1dd46fa9448cd644eeed4fb612684b02dfda3a79cb84b"}, ] -pathspec = [ + +[package.dependencies] +future = "*" + +[[package]] +name = "pathspec" +version = "0.11.2" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.7" +files = [ {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, ] -pathvalidate = [ + +[[package]] +name = "pathvalidate" +version = "3.1.0" +description = "pathvalidate is a Python library to sanitize/validate a string such as filenames/file-paths/etc." +optional = false +python-versions = ">=3.7" +files = [ {file = "pathvalidate-3.1.0-py3-none-any.whl", hash = "sha256:912fd1d2e1a2a6a6f98da36a91f21ed86746473810ff625b9c34f3d06c0caa1d"}, {file = "pathvalidate-3.1.0.tar.gz", hash = "sha256:426970226e24199fd90d93995d223c1e28bda967cdf4370755a14cdf72a2a8ee"}, ] -pbr = [ + +[package.extras] +docs = ["Sphinx (>=2.4)", "sphinx-rtd-theme (>=1.2.2)", "urllib3 (<2)"] +test = ["Faker (>=1.0.8)", "allpairspy (>=2)", "click (>=6.2)", "pytest (>=6.0.1)", "pytest-discord (>=0.1.2)", "pytest-md-report (>=0.3)"] + +[[package]] +name = "pbr" +version = "5.11.1" +description = "Python Build Reasonableness" +optional = false +python-versions = ">=2.6" +files = [ {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"}, {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"}, ] -pendulum = [ + +[[package]] +name = "pendulum" +version = "2.1.2" +description = "Python datetimes made easy" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, @@ -6780,43 +5401,149 @@ pendulum = [ {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, ] -pipdeptree = [ + +[package.dependencies] +python-dateutil = ">=2.6,<3.0" +pytzdata = ">=2020.1" + +[[package]] +name = "pipdeptree" +version = "2.9.6" +description = "Command line utility to show dependency tree of packages." +optional = true +python-versions = ">=3.7" +files = [ {file = "pipdeptree-2.9.6-py3-none-any.whl", hash = "sha256:de93f990d21224297c9f03e057da5a3dc65ff732a0147945dd9421671f13626b"}, {file = "pipdeptree-2.9.6.tar.gz", hash = "sha256:f815caf165e89c576ce659b866c7a82ae4590420c2d020a92d32e45097f8bc73"}, ] -pkgutil-resolve-name = [ + +[package.extras] +graphviz = ["graphviz (>=0.20.1)"] +test = ["covdefaults (>=2.3)", "diff-cover (>=7.6)", "pip (>=23.1.2)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "virtualenv (>=20.23.1,<21)"] + +[[package]] +name = "pkgutil-resolve-name" +version = "1.3.10" +description = "Resolve a name to an object." +optional = false +python-versions = ">=3.6" +files = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] -platformdirs = [ + +[[package]] +name = "platformdirs" +version = "3.8.1" +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.8.1-py3-none-any.whl", hash = "sha256:cec7b889196b9144d088e4c57d9ceef7374f6c39694ad1577a0aab50d27ea28c"}, {file = "platformdirs-3.8.1.tar.gz", hash = "sha256:f87ca4fcff7d2b0f81c6a748a77973d7af0f4d526f98f308477c3c436c74d528"}, ] -pluggy = [ + +[package.extras] +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" +version = "1.3.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, ] -ply = [ + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "ply" +version = "3.11" +description = "Python Lex & Yacc" +optional = false +python-versions = "*" +files = [ {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, ] -portalocker = [ + +[[package]] +name = "portalocker" +version = "2.7.0" +description = "Wraps the portalocker recipe for easy usage" +optional = true +python-versions = ">=3.5" +files = [ {file = "portalocker-2.7.0-py2.py3-none-any.whl", hash = "sha256:a07c5b4f3985c3cf4798369631fb7011adb498e2a46d8440efc75a8f29a0f983"}, {file = "portalocker-2.7.0.tar.gz", hash = "sha256:032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51"}, ] -prefixed = [ + +[package.dependencies] +pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} + +[package.extras] +docs = ["sphinx (>=1.7.1)"] +redis = ["redis"] +tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)"] + +[[package]] +name = "prefixed" +version = "0.7.0" +description = "Prefixed alternative numeric library" +optional = false +python-versions = "*" +files = [ {file = "prefixed-0.7.0-py2.py3-none-any.whl", hash = "sha256:537b0e4ff4516c4578f277a41d7104f769d6935ae9cdb0f88fed82ec7b3c0ca5"}, {file = "prefixed-0.7.0.tar.gz", hash = "sha256:0b54d15e602eb8af4ac31b1db21a37ea95ce5890e0741bb0dd9ded493cefbbe9"}, ] -prison = [ + +[[package]] +name = "prison" +version = "0.2.1" +description = "Rison encoder/decoder" +optional = false +python-versions = "*" +files = [ {file = "prison-0.2.1-py2.py3-none-any.whl", hash = "sha256:f90bab63fca497aa0819a852f64fb21a4e181ed9f6114deaa5dc04001a7555c5"}, {file = "prison-0.2.1.tar.gz", hash = "sha256:e6cd724044afcb1a8a69340cad2f1e3151a5839fd3a8027fd1357571e797c599"}, ] -proto-plus = [ + +[package.dependencies] +six = "*" + +[package.extras] +dev = ["nose", "pipreqs", "twine"] + +[[package]] +name = "proto-plus" +version = "1.22.3" +description = "Beautiful, Pythonic protocol buffers." +optional = true +python-versions = ">=3.6" +files = [ {file = "proto-plus-1.22.3.tar.gz", hash = "sha256:fdcd09713cbd42480740d2fe29c990f7fbd885a67efc328aa8be6ee3e9f76a6b"}, {file = "proto_plus-1.22.3-py3-none-any.whl", hash = "sha256:a49cd903bc0b6ab41f76bf65510439d56ca76f868adf0274e738bfdd096894df"}, ] -protobuf = [ + +[package.dependencies] +protobuf = ">=3.19.0,<5.0.0dev" + +[package.extras] +testing = ["google-api-core[grpc] (>=1.31.5)"] + +[[package]] +name = "protobuf" +version = "4.24.2" +description = "" +optional = false +python-versions = ">=3.7" +files = [ {file = "protobuf-4.24.2-cp310-abi3-win32.whl", hash = "sha256:58e12d2c1aa428ece2281cef09bbaa6938b083bcda606db3da4e02e991a0d924"}, {file = "protobuf-4.24.2-cp310-abi3-win_amd64.whl", hash = "sha256:77700b55ba41144fc64828e02afb41901b42497b8217b558e4a001f18a85f2e3"}, {file = "protobuf-4.24.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:237b9a50bd3b7307d0d834c1b0eb1a6cd47d3f4c2da840802cd03ea288ae8880"}, @@ -6831,7 +5558,14 @@ protobuf = [ {file = "protobuf-4.24.2-py3-none-any.whl", hash = "sha256:3b7b170d3491ceed33f723bbf2d5a260f8a4e23843799a3906f16ef736ef251e"}, {file = "protobuf-4.24.2.tar.gz", hash = "sha256:7fda70797ddec31ddfa3576cbdcc3ddbb6b3078b737a1a87ab9136af0570cd6e"}, ] -psutil = [ + +[[package]] +name = "psutil" +version = "5.9.5" +description = "Cross-platform lib for process and system monitoring in Python." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"}, {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"}, {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"}, @@ -6847,7 +5581,17 @@ psutil = [ {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"}, {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"}, ] -psycopg2-binary = [ + +[package.extras] +test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] + +[[package]] +name = "psycopg2-binary" +version = "2.9.7" +description = "psycopg2 - Python-PostgreSQL Database Adapter" +optional = true +python-versions = ">=3.6" +files = [ {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, @@ -6909,14 +5653,39 @@ psycopg2-binary = [ {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, ] -psycopg2cffi = [ + +[[package]] +name = "psycopg2cffi" +version = "2.9.0" +description = ".. image:: https://travis-ci.org/chtd/psycopg2cffi.svg?branch=master" +optional = true +python-versions = "*" +files = [ {file = "psycopg2cffi-2.9.0.tar.gz", hash = "sha256:7e272edcd837de3a1d12b62185eb85c45a19feda9e62fa1b120c54f9e8d35c52"}, ] -py = [ + +[package.dependencies] +cffi = ">=1.0" +six = "*" + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, ] -pyarrow = [ + +[[package]] +name = "pyarrow" +version = "10.0.1" +description = "Python library for Apache Arrow" +optional = true +python-versions = ">=3.7" +files = [ {file = "pyarrow-10.0.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:e00174764a8b4e9d8d5909b6d19ee0c217a6cf0232c5682e31fdfbd5a9f0ae52"}, {file = "pyarrow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f7a7dbe2f7f65ac1d0bd3163f756deb478a9e9afc2269557ed75b1b25ab3610"}, {file = "pyarrow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb627673cb98708ef00864e2e243f51ba7b4c1b9f07a1d821f98043eccd3f585"}, @@ -6943,27 +5712,87 @@ pyarrow = [ {file = "pyarrow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:0ec7587d759153f452d5263dbc8b1af318c4609b607be2bd5127dcda6708cdb1"}, {file = "pyarrow-10.0.1.tar.gz", hash = "sha256:1a14f57a5f472ce8234f2964cd5184cccaa8df7e04568c64edc33b23eb285dd5"}, ] -pyasn1 = [ + +[package.dependencies] +numpy = ">=1.16.6" + +[[package]] +name = "pyasn1" +version = "0.5.0" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ {file = "pyasn1-0.5.0-py2.py3-none-any.whl", hash = "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57"}, {file = "pyasn1-0.5.0.tar.gz", hash = "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde"}, ] -pyasn1-modules = [ + +[[package]] +name = "pyasn1-modules" +version = "0.3.0" +description = "A collection of ASN.1-based protocols modules" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ {file = "pyasn1_modules-0.3.0-py2.py3-none-any.whl", hash = "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d"}, {file = "pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"}, ] -pyathena = [ + +[package.dependencies] +pyasn1 = ">=0.4.6,<0.6.0" + +[[package]] +name = "pyathena" +version = "3.0.6" +description = "Python DB API 2.0 (PEP 249) client for Amazon Athena" +optional = true +python-versions = ">=3.8.1" +files = [ {file = "pyathena-3.0.6-py3-none-any.whl", hash = "sha256:27fb606a73644e62be8ef9b86cdf583ab3cb9f8cac9c2ad8f05b7ad6d4eaaa87"}, {file = "pyathena-3.0.6.tar.gz", hash = "sha256:ee6ea175134894209af2c6be1859b7be4371f7741faa7a58f9f97905ff6a73a4"}, ] -pycodestyle = [ + +[package.dependencies] +boto3 = ">=1.26.4" +botocore = ">=1.29.4" +fsspec = "*" +tenacity = ">=4.1.0" + +[package.extras] +arrow = ["pyarrow (>=7.0.0)"] +fastparquet = ["fastparquet (>=0.4.0)"] +pandas = ["pandas (>=1.3.0)"] +sqlalchemy = ["sqlalchemy (>=1.0.0)"] + +[[package]] +name = "pycodestyle" +version = "2.9.1" +description = "Python style guide checker" +optional = false +python-versions = ">=3.6" +files = [ {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"}, {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"}, ] -pycparser = [ + +[[package]] +name = "pycparser" +version = "2.21" +description = "C parser in Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] -pycryptodomex = [ + +[[package]] +name = "pycryptodomex" +version = "3.18.0" +description = "Cryptographic library for Python" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ {file = "pycryptodomex-3.18.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:160a39a708c36fa0b168ab79386dede588e62aec06eb505add870739329aecc6"}, {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c2953afebf282a444c51bf4effe751706b4d0d63d7ca2cc51db21f902aa5b84e"}, {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:ba95abd563b0d1b88401658665a260852a8e6c647026ee6a0a65589287681df8"}, @@ -6997,7 +5826,14 @@ pycryptodomex = [ {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:215be2980a6b70704c10796dd7003eb4390e7be138ac6fb8344bf47e71a8d470"}, {file = "pycryptodomex-3.18.0.tar.gz", hash = "sha256:3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e"}, ] -pydantic = [ + +[[package]] +name = "pydantic" +version = "1.10.12" +description = "Data validation and settings management using python type hints" +optional = false +python-versions = ">=3.7" +files = [ {file = "pydantic-1.10.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a1fcb59f2f355ec350073af41d927bf83a63b50e640f4dbaa01053a28b7a7718"}, {file = "pydantic-1.10.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7ccf02d7eb340b216ec33e53a3a629856afe1c6e0ef91d84a4e6f2fb2ca70fe"}, {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fb2aa3ab3728d950bcc885a2e9eff6c8fc40bc0b7bb434e555c215491bcf48b"}, @@ -7035,27 +5871,108 @@ pydantic = [ {file = "pydantic-1.10.12-py3-none-any.whl", hash = "sha256:b749a43aa51e32839c9d71dc67eb1e4221bb04af1033a32e3923d46f9effa942"}, {file = "pydantic-1.10.12.tar.gz", hash = "sha256:0fe8a415cea8f340e7a9af9c54fc71a649b43e8ca3cc732986116b3cb135d303"}, ] -pydoc-markdown = [ + +[package.dependencies] +typing-extensions = ">=4.2.0" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pydoc-markdown" +version = "4.8.2" +description = "Create Python API documentation in Markdown format." +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "pydoc_markdown-4.8.2-py3-none-any.whl", hash = "sha256:203f74119e6bb2f9deba43d452422de7c8ec31955b61e0620fa4dd8c2611715f"}, {file = "pydoc_markdown-4.8.2.tar.gz", hash = "sha256:fb6c927e31386de17472d42f9bd3d3be2905977d026f6216881c65145aa67f0b"}, ] -pyflakes = [ + +[package.dependencies] +click = ">=7.1,<9.0" +"databind.core" = ">=4.4.0,<5.0.0" +"databind.json" = ">=4.4.0,<5.0.0" +docspec = ">=2.2.1,<3.0.0" +docspec-python = ">=2.2.1,<3.0.0" +docstring-parser = ">=0.11,<0.12" +jinja2 = ">=3.0.0,<4.0.0" +"nr.util" = ">=0.7.5,<1.0.0" +PyYAML = ">=5.0,<7.0" +requests = ">=2.23.0,<3.0.0" +tomli = ">=2.0.0,<3.0.0" +tomli_w = ">=1.0.0,<2.0.0" +watchdog = "*" +yapf = ">=0.30.0" + +[[package]] +name = "pyflakes" +version = "2.5.0" +description = "passive checker of Python programs" +optional = false +python-versions = ">=3.6" +files = [ {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"}, {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, ] -pygments = [ + +[[package]] +name = "pygments" +version = "2.16.1" +description = "Pygments is a syntax highlighting package written in Python." +optional = false +python-versions = ">=3.7" +files = [ {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, ] -pyjwt = [ + +[package.extras] +plugins = ["importlib-metadata"] + +[[package]] +name = "pyjwt" +version = "2.8.0" +description = "JSON Web Token implementation in Python" +optional = false +python-versions = ">=3.7" +files = [ {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, ] -pymysql = [ + +[package.dependencies] +cryptography = {version = ">=3.4.0", optional = true, markers = "extra == \"crypto\""} + +[package.extras] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] + +[[package]] +name = "pymysql" +version = "1.1.0" +description = "Pure Python MySQL Driver" +optional = false +python-versions = ">=3.7" +files = [ {file = "PyMySQL-1.1.0-py3-none-any.whl", hash = "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7"}, {file = "PyMySQL-1.1.0.tar.gz", hash = "sha256:4f13a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96"}, ] -pyodbc = [ + +[package.extras] +ed25519 = ["PyNaCl (>=1.4.0)"] +rsa = ["cryptography"] + +[[package]] +name = "pyodbc" +version = "4.0.39" +description = "DB API Module for ODBC" +optional = true +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ {file = "pyodbc-4.0.39-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74af348dbaee4885998858daf50c8964e767629ecf6c195868b016367b0bb861"}, {file = "pyodbc-4.0.39-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f5901b57eaef0761f4cf02bca8e7c63f589fd0fd723a79f6ccf1ea1275372e5"}, {file = "pyodbc-4.0.39-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0db69478d00fcd8d0b9bdde8aca0b0eada341fd6ed8c2da84b594b928c84106"}, @@ -7092,70 +6009,276 @@ pyodbc = [ {file = "pyodbc-4.0.39-cp39-cp39-win_amd64.whl", hash = "sha256:305c7d6337e2d4c8350677cc641b343fc0197b7b9bc167815c66b64545c67a53"}, {file = "pyodbc-4.0.39.tar.gz", hash = "sha256:e528bb70dd6d6299ee429868925df0866e3e919c772b9eff79c8e17920d8f116"}, ] -pyopenssl = [ + +[[package]] +name = "pyopenssl" +version = "23.2.0" +description = "Python wrapper module around the OpenSSL library" +optional = true +python-versions = ">=3.6" +files = [ {file = "pyOpenSSL-23.2.0-py3-none-any.whl", hash = "sha256:24f0dc5227396b3e831f4c7f602b950a5e9833d292c8e4a2e06b709292806ae2"}, {file = "pyOpenSSL-23.2.0.tar.gz", hash = "sha256:276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac"}, ] -pyparsing = [ + +[package.dependencies] +cryptography = ">=38.0.0,<40.0.0 || >40.0.0,<40.0.1 || >40.0.1,<42" + +[package.extras] +docs = ["sphinx (!=5.2.0,!=5.2.0.post0)", "sphinx-rtd-theme"] +test = ["flaky", "pretend", "pytest (>=3.0.1)"] + +[[package]] +name = "pyparsing" +version = "3.1.1" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +optional = false +python-versions = ">=3.6.8" +files = [ {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, ] -pypdf2 = [ + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pypdf2" +version = "3.0.1" +description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" +optional = false +python-versions = ">=3.6" +files = [ {file = "PyPDF2-3.0.1.tar.gz", hash = "sha256:a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440"}, {file = "pypdf2-3.0.1-py3-none-any.whl", hash = "sha256:d16e4205cfee272fbdc0568b68d82be796540b1537508cef59388f839c191928"}, ] -pytest = [ + +[package.dependencies] +typing_extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +crypto = ["PyCryptodome"] +dev = ["black", "flit", "pip-tools", "pre-commit (<2.18.0)", "pytest-cov", "wheel"] +docs = ["myst_parser", "sphinx", "sphinx_rtd_theme"] +full = ["Pillow", "PyCryptodome"] +image = ["Pillow"] + +[[package]] +name = "pyreadline3" +version = "3.4.1" +description = "A python implementation of GNU readline." +optional = true +python-versions = "*" +files = [ + {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, + {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, +] + +[[package]] +name = "pytest" +version = "6.2.5" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.6" +files = [ {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, ] -pytest-cases = [ + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +toml = "*" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "pytest-cases" +version = "3.6.14" +description = "Separate test code from test cases in pytest." +optional = false +python-versions = "*" +files = [ {file = "pytest-cases-3.6.14.tar.gz", hash = "sha256:7455e6ca57a544c1bfdd8b56ace08c1c1ce4c6572a8aab8f1bd351dc25a10b6b"}, {file = "pytest_cases-3.6.14-py2.py3-none-any.whl", hash = "sha256:a087f3d019efd8942d0f0dc3fb526bedf9f83d742c40289e9623f6788aff7257"}, ] -pytest-console-scripts = [ + +[package.dependencies] +decopatch = "*" +makefun = ">=1.9.5" + +[[package]] +name = "pytest-console-scripts" +version = "1.4.1" +description = "Pytest plugin for testing console scripts" +optional = false +python-versions = ">=3.8" +files = [ {file = "pytest-console-scripts-1.4.1.tar.gz", hash = "sha256:5a826ed84cc0afa202eb9e44381d7d762f7bdda8e0c23f9f79a7f1f44cf4a895"}, {file = "pytest_console_scripts-1.4.1-py3-none-any.whl", hash = "sha256:ad860a951a90eca4bd3bd1159b8f5428633ba4ea01abd5c9526b67a95f65437a"}, ] -pytest-forked = [ + +[package.dependencies] +importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} +pytest = ">=4.0.0" + +[[package]] +name = "pytest-forked" +version = "1.6.0" +description = "run tests in isolated forked subprocesses" +optional = false +python-versions = ">=3.7" +files = [ {file = "pytest-forked-1.6.0.tar.gz", hash = "sha256:4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f"}, {file = "pytest_forked-1.6.0-py3-none-any.whl", hash = "sha256:810958f66a91afb1a1e2ae83089d8dc1cd2437ac96b12963042fbb9fb4d16af0"}, ] -pytest-order = [ + +[package.dependencies] +py = "*" +pytest = ">=3.10" + +[[package]] +name = "pytest-order" +version = "1.1.0" +description = "pytest plugin to run your tests in a specific order" +optional = false +python-versions = ">=3.6" +files = [ {file = "pytest-order-1.1.0.tar.gz", hash = "sha256:139d25b30826b78eebb42722f747eab14c44b88059d7a71d4f79d14a057269a5"}, {file = "pytest_order-1.1.0-py3-none-any.whl", hash = "sha256:3b3730969c97900fa5cd31ecff80847680ed56b2490954565c14949ba60d9371"}, ] -pytest-pythonpath = [ + +[package.dependencies] +pytest = [ + {version = ">=5.0", markers = "python_version < \"3.10\""}, + {version = ">=6.2.4", markers = "python_version >= \"3.10\""}, +] + +[[package]] +name = "pytest-pythonpath" +version = "0.7.4" +description = "pytest plugin for adding to the PYTHONPATH from command line or configs." +optional = false +python-versions = ">=2.6, <4" +files = [ {file = "pytest-pythonpath-0.7.4.tar.gz", hash = "sha256:64e195b23a8f8c0c631fb16882d9ad6fa4137ed1f2961ddd15d52065cd435db6"}, {file = "pytest_pythonpath-0.7.4-py3-none-any.whl", hash = "sha256:e73e11dab2f0b83e73229e261242b251f0a369d7f527dbfec068822fd26a6ce5"}, ] -python-daemon = [ + +[package.dependencies] +pytest = ">=2.5.2,<7" + +[[package]] +name = "python-daemon" +version = "3.0.1" +description = "Library to implement a well-behaved Unix daemon process." +optional = false +python-versions = ">=3" +files = [ {file = "python-daemon-3.0.1.tar.gz", hash = "sha256:6c57452372f7eaff40934a1c03ad1826bf5e793558e87fef49131e6464b4dae5"}, {file = "python_daemon-3.0.1-py3-none-any.whl", hash = "sha256:42bb848a3260a027fa71ad47ecd959e471327cb34da5965962edd5926229f341"}, ] -python-dateutil = [ + +[package.dependencies] +docutils = "*" +lockfile = ">=0.10" +setuptools = ">=62.4.0" + +[package.extras] +devel = ["coverage", "docutils", "isort", "testscenarios (>=0.4)", "testtools", "twine"] +test = ["coverage", "docutils", "testscenarios (>=0.4)", "testtools"] + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] -python-nvd3 = [ + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-nvd3" +version = "0.15.0" +description = "Python NVD3 - Chart Library for d3.js" +optional = false +python-versions = "*" +files = [ {file = "python-nvd3-0.15.0.tar.gz", hash = "sha256:fbd75ff47e0ef255b4aa4f3a8b10dc8b4024aa5a9a7abed5b2406bd3cb817715"}, ] -python-slugify = [ + +[package.dependencies] +Jinja2 = ">=2.8" +python-slugify = ">=1.2.5" + +[[package]] +name = "python-slugify" +version = "8.0.1" +description = "A Python slugify application that also handles Unicode" +optional = false +python-versions = ">=3.7" +files = [ {file = "python-slugify-8.0.1.tar.gz", hash = "sha256:ce0d46ddb668b3be82f4ed5e503dbc33dd815d83e2eb6824211310d3fb172a27"}, {file = "python_slugify-8.0.1-py2.py3-none-any.whl", hash = "sha256:70ca6ea68fe63ecc8fa4fcf00ae651fc8a5d02d93dcd12ae6d4fc7ca46c4d395"}, ] -pytimeparse = [ + +[package.dependencies] +text-unidecode = ">=1.3" + +[package.extras] +unidecode = ["Unidecode (>=1.1.1)"] + +[[package]] +name = "pytimeparse" +version = "1.1.8" +description = "Time expression parser" +optional = true +python-versions = "*" +files = [ {file = "pytimeparse-1.1.8-py2.py3-none-any.whl", hash = "sha256:04b7be6cc8bd9f5647a6325444926c3ac34ee6bc7e69da4367ba282f076036bd"}, {file = "pytimeparse-1.1.8.tar.gz", hash = "sha256:e86136477be924d7e670646a98561957e8ca7308d44841e21f5ddea757556a0a"}, ] -pytz = [ + +[[package]] +name = "pytz" +version = "2023.3" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, ] -pytzdata = [ + +[[package]] +name = "pytzdata" +version = "2020.1" +description = "The Olson timezone database for Python." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, ] -pywin32 = [ + +[[package]] +name = "pywin32" +version = "306" +description = "Python for Window Extensions" +optional = true +python-versions = "*" +files = [ {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, @@ -7171,16 +6294,31 @@ pywin32 = [ {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, ] -pywin32-ctypes = [ + +[[package]] +name = "pywin32-ctypes" +version = "0.2.2" +description = "A (partial) reimplementation of pywin32 using ctypes/cffi" +optional = true +python-versions = ">=3.6" +files = [ {file = "pywin32-ctypes-0.2.2.tar.gz", hash = "sha256:3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60"}, {file = "pywin32_ctypes-0.2.2-py3-none-any.whl", hash = "sha256:bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7"}, ] -pyyaml = [ + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -7188,8 +6326,15 @@ pyyaml = [ {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"}, @@ -7206,6 +6351,7 @@ pyyaml = [ {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"}, @@ -7213,18 +6359,85 @@ pyyaml = [ {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"}, ] -redshift-connector = [ + +[[package]] +name = "qdrant-client" +version = "1.6.4" +description = "Client library for the Qdrant vector search engine" +optional = true +python-versions = ">=3.8,<3.13" +files = [ + {file = "qdrant_client-1.6.4-py3-none-any.whl", hash = "sha256:db4696978d6a62d78ff60f70b912383f1e467bda3053f732b01ddb5f93281b10"}, + {file = "qdrant_client-1.6.4.tar.gz", hash = "sha256:bbd65f383b6a55a9ccf4e301250fa925179340dd90cfde9b93ce4230fd68867b"}, +] + +[package.dependencies] +fastembed = {version = "0.1.1", optional = true, markers = "python_version < \"3.12\" and extra == \"fastembed\""} +grpcio = ">=1.41.0" +grpcio-tools = ">=1.41.0" +httpx = {version = ">=0.14.0", extras = ["http2"]} +numpy = [ + {version = ">=1.21", markers = "python_version >= \"3.8\" and python_version < \"3.12\""}, + {version = ">=1.26", markers = "python_version >= \"3.12\""}, +] +portalocker = ">=2.7.0,<3.0.0" +pydantic = ">=1.10.8" +urllib3 = ">=1.26.14,<2.0.0" + +[package.extras] +fastembed = ["fastembed (==0.1.1)"] + +[[package]] +name = "redshift-connector" +version = "2.0.913" +description = "Redshift interface library" +optional = true +python-versions = ">=3.6" +files = [ {file = "redshift_connector-2.0.913-py3-none-any.whl", hash = "sha256:bd70395c5b7ec9fcae9565daff6bcb88c7d3ea6182dafba2bac6138f68d00582"}, ] -referencing = [ + +[package.dependencies] +beautifulsoup4 = ">=4.7.0,<5.0.0" +boto3 = ">=1.9.201,<2.0.0" +botocore = ">=1.12.201,<2.0.0" +lxml = ">=4.6.5" +packaging = "*" +pytz = ">=2020.1" +requests = ">=2.23.0,<3.0.0" +scramp = ">=1.2.0,<1.5.0" +setuptools = "*" + +[package.extras] +full = ["numpy", "pandas"] + +[[package]] +name = "referencing" +version = "0.30.2" +description = "JSON Referencing + Python" +optional = false +python-versions = ">=3.8" +files = [ {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"}, {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"}, ] -regex = [ + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" + +[[package]] +name = "regex" +version = "2023.8.8" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.6" +files = [ {file = "regex-2023.8.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:88900f521c645f784260a8d346e12a1590f79e96403971241e64c3a265c8ecdb"}, {file = "regex-2023.8.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3611576aff55918af2697410ff0293d6071b7e00f4b09e005d614686ac4cd57c"}, {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8a0ccc8f2698f120e9e5742f4b38dc944c38744d4bdfc427616f3a163dd9de5"}, @@ -7314,39 +6527,147 @@ regex = [ {file = "regex-2023.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5543c055d8ec7801901e1193a51570643d6a6ab8751b1f7dd9af71af467538bb"}, {file = "regex-2023.8.8.tar.gz", hash = "sha256:fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"}, ] -requests = [ + +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, ] -requests-mock = [ + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "requests-mock" +version = "1.11.0" +description = "Mock out responses from the requests package" +optional = false +python-versions = "*" +files = [ {file = "requests-mock-1.11.0.tar.gz", hash = "sha256:ef10b572b489a5f28e09b708697208c4a3b2b89ef80a9f01584340ea357ec3c4"}, {file = "requests_mock-1.11.0-py2.py3-none-any.whl", hash = "sha256:f7fae383f228633f6bececebdab236c478ace2284d6292c6e7e2867b9ab74d15"}, ] -requests-oauthlib = [ + +[package.dependencies] +requests = ">=2.3,<3" +six = "*" + +[package.extras] +fixture = ["fixtures"] +test = ["fixtures", "mock", "purl", "pytest", "requests-futures", "sphinx", "testtools"] + +[[package]] +name = "requests-oauthlib" +version = "1.3.1" +description = "OAuthlib authentication support for Requests." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, ] -requests-toolbelt = [ + +[package.dependencies] +oauthlib = ">=3.0.0" +requests = ">=2.0.0" + +[package.extras] +rsa = ["oauthlib[signedtoken] (>=3.0.0)"] + +[[package]] +name = "requests-toolbelt" +version = "1.0.0" +description = "A utility belt for advanced users of python-requests" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, ] -requirements-parser = [ + +[package.dependencies] +requests = ">=2.0.1,<3.0.0" + +[[package]] +name = "requirements-parser" +version = "0.5.0" +description = "This is a small Python module for parsing Pip requirement files." +optional = false +python-versions = ">=3.6,<4.0" +files = [ {file = "requirements-parser-0.5.0.tar.gz", hash = "sha256:3336f3a3ae23e06d3f0f88595e4052396e3adf91688787f637e5d2ca1a904069"}, {file = "requirements_parser-0.5.0-py3-none-any.whl", hash = "sha256:e7fcdcd04f2049e73a9fb150d8a0f9d51ce4108f5f7cbeac74c484e17b12bcd9"}, ] -rfc3339-validator = [ + +[package.dependencies] +types-setuptools = ">=57.0.0" + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +description = "A pure python RFC3339 validator" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, ] -rich = [ + +[package.dependencies] +six = "*" + +[[package]] +name = "rich" +version = "13.5.2" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +optional = false +python-versions = ">=3.7.0" +files = [ {file = "rich-13.5.2-py3-none-any.whl", hash = "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808"}, {file = "rich-13.5.2.tar.gz", hash = "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"}, ] -rich-argparse = [ + +[package.dependencies] +markdown-it-py = ">=2.2.0" +pygments = ">=2.13.0,<3.0.0" +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<9)"] + +[[package]] +name = "rich-argparse" +version = "1.3.0" +description = "Rich help formatters for argparse and optparse" +optional = false +python-versions = ">=3.7" +files = [ {file = "rich_argparse-1.3.0-py3-none-any.whl", hash = "sha256:1a5eda1659c0a215862fe3630fcbe68d7792f18a8106baaf4e005b9896acc6f6"}, {file = "rich_argparse-1.3.0.tar.gz", hash = "sha256:974cc1ba0aaa0d6aabc09ab1b78f9ba928670e08590f9551121bcbc60c75b74a"}, ] -rpds-py = [ + +[package.dependencies] +rich = ">=11.0.0" + +[[package]] +name = "rpds-py" +version = "0.10.0" +description = "Python bindings to Rust's persistent data structures (rpds)" +optional = false +python-versions = ">=3.8" +files = [ {file = "rpds_py-0.10.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:c1e0e9916301e3b3d970814b1439ca59487f0616d30f36a44cead66ee1748c31"}, {file = "rpds_py-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ce8caa29ebbdcde67e5fd652c811d34bc01f249dbc0d61e5cc4db05ae79a83b"}, {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad277f74b1c164f7248afa968700e410651eb858d7c160d109fb451dc45a2f09"}, @@ -7445,35 +6766,148 @@ rpds-py = [ {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:872f3dcaa8bf2245944861d7311179d2c0c9b2aaa7d3b464d99a7c2e401f01fa"}, {file = "rpds_py-0.10.0.tar.gz", hash = "sha256:e36d7369363d2707d5f68950a64c4e025991eb0177db01ccb6aa6facae48b69f"}, ] -rsa = [ + +[[package]] +name = "rsa" +version = "4.9" +description = "Pure-Python RSA implementation" +optional = false +python-versions = ">=3.6,<4" +files = [ {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, ] -s3fs = [ + +[package.dependencies] +pyasn1 = ">=0.1.3" + +[[package]] +name = "s3fs" +version = "2023.6.0" +description = "Convenient Filesystem interface over S3" +optional = true +python-versions = ">= 3.8" +files = [ {file = "s3fs-2023.6.0-py3-none-any.whl", hash = "sha256:d1a0a423d0d2e17fb2a193d9531935dc3f45ba742693448a461b6b34f6a92a24"}, {file = "s3fs-2023.6.0.tar.gz", hash = "sha256:63fd8ddf05eb722de784b7b503196107f2a518061298cf005a8a4715b4d49117"}, ] -s3transfer = [ + +[package.dependencies] +aiobotocore = ">=2.5.0,<2.6.0" +aiohttp = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1" +fsspec = "2023.6.0" + +[package.extras] +awscli = ["aiobotocore[awscli] (>=2.5.0,<2.6.0)"] +boto3 = ["aiobotocore[boto3] (>=2.5.0,<2.6.0)"] + +[[package]] +name = "s3transfer" +version = "0.6.2" +description = "An Amazon S3 Transfer Manager" +optional = true +python-versions = ">= 3.7" +files = [ {file = "s3transfer-0.6.2-py3-none-any.whl", hash = "sha256:b014be3a8a2aab98cfe1abc7229cc5a9a0cf05eb9c1f2b86b230fd8df3f78084"}, {file = "s3transfer-0.6.2.tar.gz", hash = "sha256:cab66d3380cca3e70939ef2255d01cd8aece6a4907a9528740f668c4b0611861"}, ] -scramp = [ + +[package.dependencies] +botocore = ">=1.12.36,<2.0a.0" + +[package.extras] +crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] + +[[package]] +name = "scramp" +version = "1.4.4" +description = "An implementation of the SCRAM protocol." +optional = true +python-versions = ">=3.7" +files = [ {file = "scramp-1.4.4-py3-none-any.whl", hash = "sha256:b142312df7c2977241d951318b7ee923d6b7a4f75ba0f05b621ece1ed616faa3"}, {file = "scramp-1.4.4.tar.gz", hash = "sha256:b7022a140040f33cf863ab2657917ed05287a807b917950489b89b9f685d59bc"}, ] -secretstorage = [ + +[package.dependencies] +asn1crypto = ">=1.5.1" + +[[package]] +name = "secretstorage" +version = "3.3.3" +description = "Python bindings to FreeDesktop.org Secret Service API" +optional = true +python-versions = ">=3.6" +files = [ {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, ] -semver = [ + +[package.dependencies] +cryptography = ">=2.0" +jeepney = ">=0.6" + +[[package]] +name = "semver" +version = "3.0.1" +description = "Python helper for Semantic Versioning (https://semver.org)" +optional = false +python-versions = ">=3.7" +files = [ {file = "semver-3.0.1-py3-none-any.whl", hash = "sha256:2a23844ba1647362c7490fe3995a86e097bb590d16f0f32dfc383008f19e4cdf"}, {file = "semver-3.0.1.tar.gz", hash = "sha256:9ec78c5447883c67b97f98c3b6212796708191d22e4ad30f4570f840171cbce1"}, ] -sentry-sdk = [ + +[[package]] +name = "sentry-sdk" +version = "1.30.0" +description = "Python client for Sentry (https://sentry.io)" +optional = false +python-versions = "*" +files = [ {file = "sentry-sdk-1.30.0.tar.gz", hash = "sha256:7dc873b87e1faf4d00614afd1058bfa1522942f33daef8a59f90de8ed75cd10c"}, {file = "sentry_sdk-1.30.0-py2.py3-none-any.whl", hash = "sha256:2e53ad63f96bb9da6570ba2e755c267e529edcf58580a2c0d2a11ef26e1e678b"}, ] -setproctitle = [ + +[package.dependencies] +certifi = "*" +urllib3 = {version = ">=1.26.11", markers = "python_version >= \"3.6\""} + +[package.extras] +aiohttp = ["aiohttp (>=3.5)"] +arq = ["arq (>=0.23)"] +beam = ["apache-beam (>=2.12)"] +bottle = ["bottle (>=0.12.13)"] +celery = ["celery (>=3)"] +chalice = ["chalice (>=1.16.0)"] +django = ["django (>=1.8)"] +falcon = ["falcon (>=1.4)"] +fastapi = ["fastapi (>=0.79.0)"] +flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] +grpcio = ["grpcio (>=1.21.1)"] +httpx = ["httpx (>=0.16.0)"] +huey = ["huey (>=2)"] +loguru = ["loguru (>=0.5)"] +opentelemetry = ["opentelemetry-distro (>=0.35b0)"] +opentelemetry-experimental = ["opentelemetry-distro (>=0.40b0,<1.0)", "opentelemetry-instrumentation-aiohttp-client (>=0.40b0,<1.0)", "opentelemetry-instrumentation-django (>=0.40b0,<1.0)", "opentelemetry-instrumentation-fastapi (>=0.40b0,<1.0)", "opentelemetry-instrumentation-flask (>=0.40b0,<1.0)", "opentelemetry-instrumentation-requests (>=0.40b0,<1.0)", "opentelemetry-instrumentation-sqlite3 (>=0.40b0,<1.0)", "opentelemetry-instrumentation-urllib (>=0.40b0,<1.0)"] +pure-eval = ["asttokens", "executing", "pure-eval"] +pymongo = ["pymongo (>=3.1)"] +pyspark = ["pyspark (>=2.4.4)"] +quart = ["blinker (>=1.1)", "quart (>=0.16.1)"] +rq = ["rq (>=0.6)"] +sanic = ["sanic (>=0.8)"] +sqlalchemy = ["sqlalchemy (>=1.2)"] +starlette = ["starlette (>=0.19.1)"] +starlite = ["starlite (>=1.48)"] +tornado = ["tornado (>=5)"] + +[[package]] +name = "setproctitle" +version = "1.3.2" +description = "A Python module to customize the process title" +optional = false +python-versions = ">=3.7" +files = [ {file = "setproctitle-1.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:288943dec88e178bb2fd868adf491197cc0fc8b6810416b1c6775e686bab87fe"}, {file = "setproctitle-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:630f6fe5e24a619ccf970c78e084319ee8be5be253ecc9b5b216b0f474f5ef18"}, {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c877691b90026670e5a70adfbcc735460a9f4c274d35ec5e8a43ce3f8443005"}, @@ -7547,11 +6981,33 @@ setproctitle = [ {file = "setproctitle-1.3.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7aa0aac1711fadffc1d51e9d00a3bea61f68443d6ac0241a224e4d622489d665"}, {file = "setproctitle-1.3.2.tar.gz", hash = "sha256:b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd"}, ] -setuptools = [ + +[package.extras] +test = ["pytest"] + +[[package]] +name = "setuptools" +version = "68.1.2" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ {file = "setuptools-68.1.2-py3-none-any.whl", hash = "sha256:3d8083eed2d13afc9426f227b24fd1659489ec107c0e86cec2ffdde5c92e790b"}, {file = "setuptools-68.1.2.tar.gz", hash = "sha256:3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d"}, ] -simplejson = [ + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5,<=7.1.2)", "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-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "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]] +name = "simplejson" +version = "3.19.1" +description = "Simple, fast, extensible JSON encoder/decoder for Python" +optional = false +python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ {file = "simplejson-3.19.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:412e58997a30c5deb8cab5858b8e2e5b40ca007079f7010ee74565cc13d19665"}, {file = "simplejson-3.19.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e765b1f47293dedf77946f0427e03ee45def2862edacd8868c6cf9ab97c8afbd"}, {file = "simplejson-3.19.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3231100edee292da78948fa0a77dee4e5a94a0a60bcba9ed7a9dc77f4d4bb11e"}, @@ -7638,19 +7094,47 @@ simplejson = [ {file = "simplejson-3.19.1-py3-none-any.whl", hash = "sha256:4710806eb75e87919b858af0cba4ffedc01b463edc3982ded7b55143f39e41e1"}, {file = "simplejson-3.19.1.tar.gz", hash = "sha256:6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c"}, ] -six = [ + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] -smmap = [ + +[[package]] +name = "smmap" +version = "5.0.0" +description = "A pure Python implementation of a sliding window memory map manager" +optional = false +python-versions = ">=3.6" +files = [ {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, ] -sniffio = [ + +[[package]] +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, ] -snowflake-connector-python = [ + +[[package]] +name = "snowflake-connector-python" +version = "3.1.1" +description = "Snowflake Connector for Python" +optional = true +python-versions = ">=3.8" +files = [ {file = "snowflake-connector-python-3.1.1.tar.gz", hash = "sha256:2700503a5f99d6e22e412d7cf4fd2211296cc0e50b2a38ad9c6f48ddb8beff67"}, {file = "snowflake_connector_python-3.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3aec4ab6f6d66a0dc2b5bbd8fc2c11fd76090c63fdc65577af9d4e28055c51f2"}, {file = "snowflake_connector_python-3.1.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5d2589f39b1c1c91eda6711181afb7f197f7dd43204f26db48df90849d9f528b"}, @@ -7673,19 +7157,70 @@ snowflake-connector-python = [ {file = "snowflake_connector_python-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bdcce7069368b7b2ec8a855812c1b0e9e6bdf6b01660225ffff5ba163fa507d"}, {file = "snowflake_connector_python-3.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:daedeff774cd68df05e68dbfa66e83a877e63a99461b8262eb5c8cd37e309aa7"}, ] -sortedcontainers = [ + +[package.dependencies] +asn1crypto = ">0.24.0,<2.0.0" +certifi = ">=2017.4.17" +cffi = ">=1.9,<2.0.0" +charset-normalizer = ">=2,<4" +cryptography = ">=3.1.0,<42.0.0" +filelock = ">=3.5,<4" +idna = ">=2.5,<4" +keyring = {version = "<16.1.0 || >16.1.0,<25.0.0", optional = true, markers = "extra == \"secure-local-storage\""} +oscrypto = "<2.0.0" +packaging = "*" +pandas = {version = ">=1.0.0,<2.1.0", optional = true, markers = "extra == \"pandas\""} +platformdirs = ">=2.6.0,<3.9.0" +pyarrow = {version = ">=10.0.1,<10.1.0", optional = true, markers = "extra == \"pandas\""} +pycryptodomex = ">=3.2,<3.5.0 || >3.5.0,<4.0.0" +pyjwt = "<3.0.0" +pyOpenSSL = ">=16.2.0,<24.0.0" +pytz = "*" +requests = "<3.0.0" +sortedcontainers = ">=2.4.0" +tomlkit = "*" +typing-extensions = ">=4.3,<5" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +development = ["Cython", "coverage", "more-itertools", "numpy (<1.26.0)", "pendulum (!=2.1.1)", "pexpect", "pytest (<7.5.0)", "pytest-cov", "pytest-rerunfailures", "pytest-timeout", "pytest-xdist", "pytzdata"] +pandas = ["pandas (>=1.0.0,<2.1.0)", "pyarrow (>=10.0.1,<10.1.0)"] +secure-local-storage = ["keyring (!=16.1.0,<25.0.0)"] + +[[package]] +name = "sortedcontainers" +version = "2.4.0" +description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" +optional = true +python-versions = "*" +files = [ {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"}, {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] -soupsieve = [ + +[[package]] +name = "soupsieve" +version = "2.5" +description = "A modern CSS selector implementation for Beautiful Soup." +optional = true +python-versions = ">=3.8" +files = [ {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, ] -sqlalchemy = [ + +[[package]] +name = "sqlalchemy" +version = "1.4.49" +description = "Database Abstraction Library" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ {file = "SQLAlchemy-1.4.49-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e126cf98b7fd38f1e33c64484406b78e937b1a280e078ef558b95bf5b6895f6"}, {file = "SQLAlchemy-1.4.49-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:03db81b89fe7ef3857b4a00b63dedd632d6183d4ea5a31c5d8a92e000a41fc71"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:95b9df9afd680b7a3b13b38adf6e3a38995da5e162cc7524ef08e3be4e5ed3e1"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a63e43bf3f668c11bb0444ce6e809c1227b8f067ca1068898f3008a273f52b09"}, + {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca46de16650d143a928d10842939dab208e8d8c3a9a8757600cae9b7c579c5cd"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f835c050ebaa4e48b18403bed2c0fda986525896efd76c245bdd4db995e51a4c"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c21b172dfb22e0db303ff6419451f0cac891d2e911bb9fbf8003d717f1bcf91"}, {file = "SQLAlchemy-1.4.49-cp310-cp310-win32.whl", hash = "sha256:5fb1ebdfc8373b5a291485757bd6431de8d7ed42c27439f543c81f6c8febd729"}, @@ -7695,188 +7230,646 @@ sqlalchemy = [ {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5debe7d49b8acf1f3035317e63d9ec8d5e4d904c6e75a2a9246a119f5f2fdf3d"}, {file = "SQLAlchemy-1.4.49-cp311-cp311-win32.whl", hash = "sha256:82b08e82da3756765c2e75f327b9bf6b0f043c9c3925fb95fb51e1567fa4ee87"}, {file = "SQLAlchemy-1.4.49-cp311-cp311-win_amd64.whl", hash = "sha256:171e04eeb5d1c0d96a544caf982621a1711d078dbc5c96f11d6469169bd003f1"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f23755c384c2969ca2f7667a83f7c5648fcf8b62a3f2bbd883d805454964a800"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8396e896e08e37032e87e7fbf4a15f431aa878c286dc7f79e616c2feacdb366c"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66da9627cfcc43bbdebd47bfe0145bb662041472393c03b7802253993b6b7c90"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-win32.whl", hash = "sha256:9a06e046ffeb8a484279e54bda0a5abfd9675f594a2e38ef3133d7e4d75b6214"}, + {file = "SQLAlchemy-1.4.49-cp312-cp312-win_amd64.whl", hash = "sha256:7cf8b90ad84ad3a45098b1c9f56f2b161601e4670827d6b892ea0e884569bd1d"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:36e58f8c4fe43984384e3fbe6341ac99b6b4e083de2fe838f0fdb91cebe9e9cb"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b31e67ff419013f99ad6f8fc73ee19ea31585e1e9fe773744c0f3ce58c039c30"}, + {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc22807a7e161c0d8f3da34018ab7c97ef6223578fcdd99b1d3e7ed1100a5db"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c14b29d9e1529f99efd550cd04dbb6db6ba5d690abb96d52de2bff4ed518bc95"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c40f3470e084d31247aea228aa1c39bbc0904c2b9ccbf5d3cfa2ea2dac06f26d"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-win32.whl", hash = "sha256:706bfa02157b97c136547c406f263e4c6274a7b061b3eb9742915dd774bbc264"}, {file = "SQLAlchemy-1.4.49-cp36-cp36m-win_amd64.whl", hash = "sha256:a7f7b5c07ae5c0cfd24c2db86071fb2a3d947da7bd487e359cc91e67ac1c6d2e"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:4afbbf5ef41ac18e02c8dc1f86c04b22b7a2125f2a030e25bbb4aff31abb224b"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24e300c0c2147484a002b175f4e1361f102e82c345bf263242f0449672a4bccf"}, + {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:393cd06c3b00b57f5421e2133e088df9cabcececcea180327e43b937b5a7caa5"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:201de072b818f8ad55c80d18d1a788729cccf9be6d9dc3b9d8613b053cd4836d"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7653ed6817c710d0c95558232aba799307d14ae084cc9b1f4c389157ec50df5c"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-win32.whl", hash = "sha256:647e0b309cb4512b1f1b78471fdaf72921b6fa6e750b9f891e09c6e2f0e5326f"}, {file = "SQLAlchemy-1.4.49-cp37-cp37m-win_amd64.whl", hash = "sha256:ab73ed1a05ff539afc4a7f8cf371764cdf79768ecb7d2ec691e3ff89abbc541e"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:37ce517c011560d68f1ffb28af65d7e06f873f191eb3a73af5671e9c3fada08a"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1878ce508edea4a879015ab5215546c444233881301e97ca16fe251e89f1c55"}, + {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ab792ca493891d7a45a077e35b418f68435efb3e1706cb8155e20e86a9013c"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0e8e608983e6f85d0852ca61f97e521b62e67969e6e640fe6c6b575d4db68557"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccf956da45290df6e809ea12c54c02ace7f8ff4d765d6d3dfb3655ee876ce58d"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-win32.whl", hash = "sha256:f167c8175ab908ce48bd6550679cc6ea20ae169379e73c7720a28f89e53aa532"}, {file = "SQLAlchemy-1.4.49-cp38-cp38-win_amd64.whl", hash = "sha256:45806315aae81a0c202752558f0df52b42d11dd7ba0097bf71e253b4215f34f4"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b6d0c4b15d65087738a6e22e0ff461b407533ff65a73b818089efc8eb2b3e1de"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a843e34abfd4c797018fd8d00ffffa99fd5184c421f190b6ca99def4087689bd"}, + {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:738d7321212941ab19ba2acf02a68b8ee64987b248ffa2101630e8fccb549e0d"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1c890421651b45a681181301b3497e4d57c0d01dc001e10438a40e9a9c25ee77"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d26f280b8f0a8f497bc10573849ad6dc62e671d2468826e5c748d04ed9e670d5"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-win32.whl", hash = "sha256:ec2268de67f73b43320383947e74700e95c6770d0c68c4e615e9897e46296294"}, {file = "SQLAlchemy-1.4.49-cp39-cp39-win_amd64.whl", hash = "sha256:bbdf16372859b8ed3f4d05f925a984771cd2abd18bd187042f24be4886c2a15f"}, {file = "SQLAlchemy-1.4.49.tar.gz", hash = "sha256:06ff25cbae30c396c4b7737464f2a7fc37a67b7da409993b182b024cec80aed9"}, ] -sqlalchemy-jsonfield = [ + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} + +[package.extras] +aiomysql = ["aiomysql", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)"] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"] +mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"] +mysql-connector = ["mysql-connector-python"] +oracle = ["cx-oracle (>=7)", "cx-oracle (>=7,<8)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +pymysql = ["pymysql", "pymysql (<1)"] +sqlcipher = ["sqlcipher3-binary"] + +[[package]] +name = "sqlalchemy-jsonfield" +version = "1.0.1.post0" +description = "SQLALchemy JSONField implementation for storing dicts at SQL" +optional = false +python-versions = ">=3.7.0" +files = [ {file = "SQLAlchemy-JSONField-1.0.1.post0.tar.gz", hash = "sha256:72a5e714fe0493d2660abd7484a9fd9f492f493a0856288dd22a5decb29f5dc4"}, {file = "SQLAlchemy_JSONField-1.0.1.post0-py3-none-any.whl", hash = "sha256:d6f1e5ee329a3c0d9d164e40d81a2143ac8332e09988fbbaff84179dac5503d4"}, ] -sqlalchemy-utils = [ + +[package.dependencies] +sqlalchemy = "*" + +[[package]] +name = "sqlalchemy-utils" +version = "0.41.1" +description = "Various utility functions for SQLAlchemy." +optional = false +python-versions = ">=3.6" +files = [ {file = "SQLAlchemy-Utils-0.41.1.tar.gz", hash = "sha256:a2181bff01eeb84479e38571d2c0718eb52042f9afd8c194d0d02877e84b7d74"}, {file = "SQLAlchemy_Utils-0.41.1-py3-none-any.whl", hash = "sha256:6c96b0768ea3f15c0dc56b363d386138c562752b84f647fb8d31a2223aaab801"}, ] -sqlfluff = [ + +[package.dependencies] +SQLAlchemy = ">=1.3" + +[package.extras] +arrow = ["arrow (>=0.3.4)"] +babel = ["Babel (>=1.3)"] +color = ["colour (>=0.0.4)"] +encrypted = ["cryptography (>=0.6)"] +intervals = ["intervals (>=0.7.1)"] +password = ["passlib (>=1.6,<2.0)"] +pendulum = ["pendulum (>=2.0.5)"] +phone = ["phonenumbers (>=5.9.2)"] +test = ["Jinja2 (>=2.3)", "Pygments (>=1.2)", "backports.zoneinfo", "docutils (>=0.10)", "flake8 (>=2.4.0)", "flexmock (>=0.9.7)", "isort (>=4.2.2)", "pg8000 (>=1.12.4)", "psycopg (>=3.1.8)", "psycopg2 (>=2.5.1)", "psycopg2cffi (>=2.8.1)", "pymysql", "pyodbc", "pytest (>=2.7.1)", "python-dateutil (>=2.6)", "pytz (>=2014.2)"] +test-all = ["Babel (>=1.3)", "Jinja2 (>=2.3)", "Pygments (>=1.2)", "arrow (>=0.3.4)", "backports.zoneinfo", "colour (>=0.0.4)", "cryptography (>=0.6)", "docutils (>=0.10)", "flake8 (>=2.4.0)", "flexmock (>=0.9.7)", "furl (>=0.4.1)", "intervals (>=0.7.1)", "isort (>=4.2.2)", "passlib (>=1.6,<2.0)", "pendulum (>=2.0.5)", "pg8000 (>=1.12.4)", "phonenumbers (>=5.9.2)", "psycopg (>=3.1.8)", "psycopg2 (>=2.5.1)", "psycopg2cffi (>=2.8.1)", "pymysql", "pyodbc", "pytest (>=2.7.1)", "python-dateutil", "python-dateutil (>=2.6)", "pytz (>=2014.2)"] +timezone = ["python-dateutil"] +url = ["furl (>=0.4.1)"] + +[[package]] +name = "sqlfluff" +version = "2.3.2" +description = "The SQL Linter for Humans" +optional = false +python-versions = ">=3.7" +files = [ {file = "sqlfluff-2.3.2-py3-none-any.whl", hash = "sha256:85c8b683e283ff632fe28529ddb60585ea2d1d3c614fc7a1db171632b99dcce3"}, {file = "sqlfluff-2.3.2.tar.gz", hash = "sha256:3403ce7e9133766d7336b7e26638657ec6cc9e5610e35186b7f02cc427dd49b7"}, ] -sqlparse = [ + +[package.dependencies] +appdirs = "*" +chardet = "*" +click = "*" +colorama = ">=0.3" +diff-cover = ">=2.5.0" +importlib-resources = {version = "*", markers = "python_version < \"3.9\""} +Jinja2 = "*" +pathspec = "*" +pytest = "*" +pyyaml = ">=5.1" +regex = "*" +tblib = "*" +toml = {version = "*", markers = "python_version < \"3.11\""} +tqdm = "*" +typing-extensions = "*" + +[[package]] +name = "sqlparse" +version = "0.4.4" +description = "A non-validating SQL parser." +optional = false +python-versions = ">=3.5" +files = [ {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, ] -stevedore = [ + +[package.extras] +dev = ["build", "flake8"] +doc = ["sphinx"] +test = ["pytest", "pytest-cov"] + +[[package]] +name = "stevedore" +version = "5.1.0" +description = "Manage dynamic plugins for Python applications" +optional = false +python-versions = ">=3.8" +files = [ {file = "stevedore-5.1.0-py3-none-any.whl", hash = "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d"}, {file = "stevedore-5.1.0.tar.gz", hash = "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c"}, ] -tabulate = [ + +[package.dependencies] +pbr = ">=2.0.0,<2.1.0 || >2.1.0" + +[[package]] +name = "sympy" +version = "1.12" +description = "Computer algebra system (CAS) in Python" +optional = true +python-versions = ">=3.8" +files = [ + {file = "sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5"}, + {file = "sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"}, +] + +[package.dependencies] +mpmath = ">=0.19" + +[[package]] +name = "tabulate" +version = "0.9.0" +description = "Pretty-print tabular data" +optional = false +python-versions = ">=3.7" +files = [ {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, ] -tblib = [ + +[package.extras] +widechars = ["wcwidth"] + +[[package]] +name = "tblib" +version = "2.0.0" +description = "Traceback serialization library." +optional = false +python-versions = ">=3.7" +files = [ {file = "tblib-2.0.0-py3-none-any.whl", hash = "sha256:9100bfa016b047d5b980d66e7efed952fbd20bd85b56110aaf473cb97d18709a"}, {file = "tblib-2.0.0.tar.gz", hash = "sha256:a6df30f272c08bf8be66e0775fad862005d950a6b8449b94f7c788731d70ecd7"}, ] -tenacity = [ + +[[package]] +name = "tenacity" +version = "8.2.3" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.7" +files = [ {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, ] -termcolor = [ + +[package.extras] +doc = ["reno", "sphinx", "tornado (>=4.5)"] + +[[package]] +name = "termcolor" +version = "2.3.0" +description = "ANSI color formatting for output in terminal" +optional = false +python-versions = ">=3.7" +files = [ {file = "termcolor-2.3.0-py3-none-any.whl", hash = "sha256:3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475"}, {file = "termcolor-2.3.0.tar.gz", hash = "sha256:b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a"}, ] -text-unidecode = [ + +[package.extras] +tests = ["pytest", "pytest-cov"] + +[[package]] +name = "text-unidecode" +version = "1.3" +description = "The most basic Text::Unidecode port" +optional = false +python-versions = "*" +files = [ {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, ] -toml = [ + +[[package]] +name = "tokenizers" +version = "0.13.3" +description = "Fast and Customizable Tokenizers" +optional = true +python-versions = "*" +files = [ + {file = "tokenizers-0.13.3-cp310-cp310-macosx_10_11_x86_64.whl", hash = "sha256:f3835c5be51de8c0a092058a4d4380cb9244fb34681fd0a295fbf0a52a5fdf33"}, + {file = "tokenizers-0.13.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4ef4c3e821730f2692489e926b184321e887f34fb8a6b80b8096b966ba663d07"}, + {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5fd1a6a25353e9aa762e2aae5a1e63883cad9f4e997c447ec39d071020459bc"}, + {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee0b1b311d65beab83d7a41c56a1e46ab732a9eed4460648e8eb0bd69fc2d059"}, + {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ef4215284df1277dadbcc5e17d4882bda19f770d02348e73523f7e7d8b8d396"}, + {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4d53976079cff8a033f778fb9adca2d9d69d009c02fa2d71a878b5f3963ed30"}, + {file = "tokenizers-0.13.3-cp310-cp310-win32.whl", hash = "sha256:1f0e3b4c2ea2cd13238ce43548959c118069db7579e5d40ec270ad77da5833ce"}, + {file = "tokenizers-0.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:89649c00d0d7211e8186f7a75dfa1db6996f65edce4b84821817eadcc2d3c79e"}, + {file = "tokenizers-0.13.3-cp311-cp311-macosx_10_11_universal2.whl", hash = "sha256:56b726e0d2bbc9243872b0144515ba684af5b8d8cd112fb83ee1365e26ec74c8"}, + {file = "tokenizers-0.13.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:cc5c022ce692e1f499d745af293ab9ee6f5d92538ed2faf73f9708c89ee59ce6"}, + {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f55c981ac44ba87c93e847c333e58c12abcbb377a0c2f2ef96e1a266e4184ff2"}, + {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f247eae99800ef821a91f47c5280e9e9afaeed9980fc444208d5aa6ba69ff148"}, + {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b3e3215d048e94f40f1c95802e45dcc37c5b05eb46280fc2ccc8cd351bff839"}, + {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ba2b0bf01777c9b9bc94b53764d6684554ce98551fec496f71bc5be3a03e98b"}, + {file = "tokenizers-0.13.3-cp311-cp311-win32.whl", hash = "sha256:cc78d77f597d1c458bf0ea7c2a64b6aa06941c7a99cb135b5969b0278824d808"}, + {file = "tokenizers-0.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:ecf182bf59bd541a8876deccf0360f5ae60496fd50b58510048020751cf1724c"}, + {file = "tokenizers-0.13.3-cp37-cp37m-macosx_10_11_x86_64.whl", hash = "sha256:0527dc5436a1f6bf2c0327da3145687d3bcfbeab91fed8458920093de3901b44"}, + {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07cbb2c307627dc99b44b22ef05ff4473aa7c7cc1fec8f0a8b37d8a64b1a16d2"}, + {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4560dbdeaae5b7ee0d4e493027e3de6d53c991b5002d7ff95083c99e11dd5ac0"}, + {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64064bd0322405c9374305ab9b4c07152a1474370327499911937fd4a76d004b"}, + {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8c6e2ab0f2e3d939ca66aa1d596602105fe33b505cd2854a4c1717f704c51de"}, + {file = "tokenizers-0.13.3-cp37-cp37m-win32.whl", hash = "sha256:6cc29d410768f960db8677221e497226e545eaaea01aa3613fa0fdf2cc96cff4"}, + {file = "tokenizers-0.13.3-cp37-cp37m-win_amd64.whl", hash = "sha256:fc2a7fdf864554a0dacf09d32e17c0caa9afe72baf9dd7ddedc61973bae352d8"}, + {file = "tokenizers-0.13.3-cp38-cp38-macosx_10_11_x86_64.whl", hash = "sha256:8791dedba834c1fc55e5f1521be325ea3dafb381964be20684b92fdac95d79b7"}, + {file = "tokenizers-0.13.3-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:d607a6a13718aeb20507bdf2b96162ead5145bbbfa26788d6b833f98b31b26e1"}, + {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3791338f809cd1bf8e4fee6b540b36822434d0c6c6bc47162448deee3f77d425"}, + {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2f35f30e39e6aab8716f07790f646bdc6e4a853816cc49a95ef2a9016bf9ce6"}, + {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310204dfed5aa797128b65d63538a9837cbdd15da2a29a77d67eefa489edda26"}, + {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0f9b92ea052305166559f38498b3b0cae159caea712646648aaa272f7160963"}, + {file = "tokenizers-0.13.3-cp38-cp38-win32.whl", hash = "sha256:9a3fa134896c3c1f0da6e762d15141fbff30d094067c8f1157b9fdca593b5806"}, + {file = "tokenizers-0.13.3-cp38-cp38-win_amd64.whl", hash = "sha256:8e7b0cdeace87fa9e760e6a605e0ae8fc14b7d72e9fc19c578116f7287bb873d"}, + {file = "tokenizers-0.13.3-cp39-cp39-macosx_10_11_x86_64.whl", hash = "sha256:00cee1e0859d55507e693a48fa4aef07060c4bb6bd93d80120e18fea9371c66d"}, + {file = "tokenizers-0.13.3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:a23ff602d0797cea1d0506ce69b27523b07e70f6dda982ab8cf82402de839088"}, + {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70ce07445050b537d2696022dafb115307abdffd2a5c106f029490f84501ef97"}, + {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:280ffe95f50eaaf655b3a1dc7ff1d9cf4777029dbbc3e63a74e65a056594abc3"}, + {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97acfcec592f7e9de8cadcdcda50a7134423ac8455c0166b28c9ff04d227b371"}, + {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd7730c98a3010cd4f523465867ff95cd9d6430db46676ce79358f65ae39797b"}, + {file = "tokenizers-0.13.3-cp39-cp39-win32.whl", hash = "sha256:48625a108029cb1ddf42e17a81b5a3230ba6888a70c9dc14e81bc319e812652d"}, + {file = "tokenizers-0.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:bc0a6f1ba036e482db6453571c9e3e60ecd5489980ffd95d11dc9f960483d783"}, + {file = "tokenizers-0.13.3.tar.gz", hash = "sha256:2e546dbb68b623008a5442353137fbb0123d311a6d7ba52f2667c8862a75af2e"}, +] + +[package.extras] +dev = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] +docs = ["setuptools-rust", "sphinx", "sphinx-rtd-theme"] +testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] + +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] -tomli = [ + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -tomli-w = [ + +[[package]] +name = "tomli-w" +version = "1.0.0" +description = "A lil' TOML writer" +optional = false +python-versions = ">=3.7" +files = [ {file = "tomli_w-1.0.0-py3-none-any.whl", hash = "sha256:9f2a07e8be30a0729e533ec968016807069991ae2fd921a78d42f429ae5f4463"}, {file = "tomli_w-1.0.0.tar.gz", hash = "sha256:f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9"}, ] -tomlkit = [ + +[[package]] +name = "tomlkit" +version = "0.12.1" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.7" +files = [ {file = "tomlkit-0.12.1-py3-none-any.whl", hash = "sha256:712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899"}, {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"}, ] -tqdm = [ + +[[package]] +name = "tqdm" +version = "4.66.1" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +files = [ {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, ] -typeapi = [ + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + +[[package]] +name = "typeapi" +version = "2.1.1" +description = "" +optional = false +python-versions = ">=3.6.3,<4.0.0" +files = [ {file = "typeapi-2.1.1-py3-none-any.whl", hash = "sha256:ef41577f316bfd362572e727ba349dab80a7362318a80fc72e6a807017d04c5c"}, {file = "typeapi-2.1.1.tar.gz", hash = "sha256:49b3c1d3382e27dccbb59132a3a823c61954f679a0c61f119fd6d8470073a298"}, ] -types-awscrt = [ + +[package.dependencies] +typing-extensions = ">=3.0.0" + +[[package]] +name = "types-awscrt" +version = "0.19.1" +description = "Type annotations and code completion for awscrt" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "types_awscrt-0.19.1-py3-none-any.whl", hash = "sha256:68fffeb75396e9e7614cd930b2d52295f680230774750907bcafb56f11514043"}, {file = "types_awscrt-0.19.1.tar.gz", hash = "sha256:61833aa140e724a9098025610f4b8cde3dcf65b842631d7447378f9f5db4e1fd"}, ] -types-cachetools = [ + +[[package]] +name = "types-cachetools" +version = "5.3.0.6" +description = "Typing stubs for cachetools" +optional = false +python-versions = "*" +files = [ {file = "types-cachetools-5.3.0.6.tar.gz", hash = "sha256:595f0342d246c8ba534f5a762cf4c2f60ecb61e8002b8b2277fd5cf791d4e851"}, {file = "types_cachetools-5.3.0.6-py3-none-any.whl", hash = "sha256:f7f8a25bfe306f2e6bc2ad0a2f949d9e72f2d91036d509c36d3810bf728bc6e1"}, ] -types-click = [ + +[[package]] +name = "types-click" +version = "7.1.8" +description = "Typing stubs for click" +optional = false +python-versions = "*" +files = [ {file = "types-click-7.1.8.tar.gz", hash = "sha256:b6604968be6401dc516311ca50708a0a28baa7a0cb840efd7412f0dbbff4e092"}, {file = "types_click-7.1.8-py3-none-any.whl", hash = "sha256:8cb030a669e2e927461be9827375f83c16b8178c365852c060a34e24871e7e81"}, ] -types-deprecated = [ + +[[package]] +name = "types-deprecated" +version = "1.2.9.3" +description = "Typing stubs for Deprecated" +optional = false +python-versions = "*" +files = [ {file = "types-Deprecated-1.2.9.3.tar.gz", hash = "sha256:ef87327adf3e3c4a4c7d8e06e58f6476710d3466ecfb53c49efb080804a70ef3"}, {file = "types_Deprecated-1.2.9.3-py3-none-any.whl", hash = "sha256:24da9210763e5e1b3d0d4f6f8bba9ad3bb6af3fe7f6815fc37e3ede4681704f5"}, ] -types-protobuf = [ + +[[package]] +name = "types-protobuf" +version = "4.24.0.1" +description = "Typing stubs for protobuf" +optional = false +python-versions = "*" +files = [ {file = "types-protobuf-4.24.0.1.tar.gz", hash = "sha256:90adea3b693d6a40d8ef075c58fe6b5cc6e01fe1496301a7e6fc70398dcff92e"}, {file = "types_protobuf-4.24.0.1-py3-none-any.whl", hash = "sha256:df203a204e4ae97d4cca4c9cf725262579dd7857a19f9e7fc74871ccfa073c01"}, ] -types-psutil = [ + +[[package]] +name = "types-psutil" +version = "5.9.5.16" +description = "Typing stubs for psutil" +optional = false +python-versions = "*" +files = [ {file = "types-psutil-5.9.5.16.tar.gz", hash = "sha256:4e9b219efb625d3d04f6bf106934f87cab49aa41a94b0a3b3089403f47a79228"}, {file = "types_psutil-5.9.5.16-py3-none-any.whl", hash = "sha256:fec713104d5d143afea7b976cfa691ca1840f5d19e8714a5d02a96ebd061363e"}, ] -types-psycopg2 = [ + +[[package]] +name = "types-psycopg2" +version = "2.9.21.14" +description = "Typing stubs for psycopg2" +optional = false +python-versions = "*" +files = [ {file = "types-psycopg2-2.9.21.14.tar.gz", hash = "sha256:bf73a0ac4da4e278c89bf1b01fc596d5a5ac7a356cfe6ac0249f47b9e259f868"}, {file = "types_psycopg2-2.9.21.14-py3-none-any.whl", hash = "sha256:cd9c5350631f3bc6184ec8d48f2ed31d4ea660f89d0fffe78239450782f383c5"}, ] -types-python-dateutil = [ + +[[package]] +name = "types-python-dateutil" +version = "2.8.19.14" +description = "Typing stubs for python-dateutil" +optional = false +python-versions = "*" +files = [ {file = "types-python-dateutil-2.8.19.14.tar.gz", hash = "sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b"}, {file = "types_python_dateutil-2.8.19.14-py3-none-any.whl", hash = "sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9"}, ] -types-pyyaml = [ + +[[package]] +name = "types-pyyaml" +version = "6.0.12.11" +description = "Typing stubs for PyYAML" +optional = false +python-versions = "*" +files = [ {file = "types-PyYAML-6.0.12.11.tar.gz", hash = "sha256:7d340b19ca28cddfdba438ee638cd4084bde213e501a3978738543e27094775b"}, {file = "types_PyYAML-6.0.12.11-py3-none-any.whl", hash = "sha256:a461508f3096d1d5810ec5ab95d7eeecb651f3a15b71959999988942063bf01d"}, ] -types-requests = [ + +[[package]] +name = "types-requests" +version = "2.31.0.2" +description = "Typing stubs for requests" +optional = false +python-versions = "*" +files = [ {file = "types-requests-2.31.0.2.tar.gz", hash = "sha256:6aa3f7faf0ea52d728bb18c0a0d1522d9bfd8c72d26ff6f61bfc3d06a411cf40"}, {file = "types_requests-2.31.0.2-py3-none-any.whl", hash = "sha256:56d181c85b5925cbc59f4489a57e72a8b2166f18273fd8ba7b6fe0c0b986f12a"}, ] -types-s3transfer = [ + +[package.dependencies] +types-urllib3 = "*" + +[[package]] +name = "types-s3transfer" +version = "0.6.2" +description = "Type annotations and code completion for s3transfer" +optional = false +python-versions = ">=3.7,<4.0" +files = [ {file = "types_s3transfer-0.6.2-py3-none-any.whl", hash = "sha256:1068877b6e59be5226fa3006ae64371ac9d5bc590dfdbd9c66fd0a075d3254ac"}, {file = "types_s3transfer-0.6.2.tar.gz", hash = "sha256:4ba9b483796fdcd026aa162ee03bdcedd2bf7d08e9387c820dcdd158b0102057"}, ] -types-setuptools = [ + +[[package]] +name = "types-setuptools" +version = "68.1.0.1" +description = "Typing stubs for setuptools" +optional = false +python-versions = "*" +files = [ {file = "types-setuptools-68.1.0.1.tar.gz", hash = "sha256:271ed8da44885cd9a701c86e48cc6d3cc988052260e72b3ce26c26b3028f86ed"}, {file = "types_setuptools-68.1.0.1-py3-none-any.whl", hash = "sha256:a9a0d2ca1da8a15924890d464adcee4004deb07b6a99bd0b1881eac5c73cb3a7"}, ] -types-simplejson = [ + +[[package]] +name = "types-simplejson" +version = "3.19.0.2" +description = "Typing stubs for simplejson" +optional = false +python-versions = "*" +files = [ {file = "types-simplejson-3.19.0.2.tar.gz", hash = "sha256:ebc81f886f89d99d6b80c726518aa2228bc77c26438f18fd81455e4f79f8ee1b"}, {file = "types_simplejson-3.19.0.2-py3-none-any.whl", hash = "sha256:8ba093dc7884f59b3e62aed217144085e675a269debc32678fd80e0b43b2b86f"}, ] -types-sqlalchemy = [ + +[[package]] +name = "types-sqlalchemy" +version = "1.4.53.38" +description = "Typing stubs for SQLAlchemy" +optional = false +python-versions = "*" +files = [ {file = "types-SQLAlchemy-1.4.53.38.tar.gz", hash = "sha256:5bb7463537e04e1aa5a3557eb725930df99226dcfd3c9bf93008025bfe5c169e"}, {file = "types_SQLAlchemy-1.4.53.38-py3-none-any.whl", hash = "sha256:7e60e74f823931cc9a9e8adb0a4c05e5533e6708b8a266807893a739faf4eaaa"}, ] -types-tqdm = [ + +[[package]] +name = "types-tqdm" +version = "4.66.0.2" +description = "Typing stubs for tqdm" +optional = false +python-versions = "*" +files = [ {file = "types-tqdm-4.66.0.2.tar.gz", hash = "sha256:9553a5e44c1d485fce19f505b8bd65c0c3e87e870678d1f2ed764ae59a55d45f"}, {file = "types_tqdm-4.66.0.2-py3-none-any.whl", hash = "sha256:13dddd38908834abdf0acdc2b70cab7ac4bcc5ad7356ced450471662e58a0ffc"}, ] -types-urllib3 = [ + +[[package]] +name = "types-urllib3" +version = "1.26.25.14" +description = "Typing stubs for urllib3" +optional = false +python-versions = "*" +files = [ {file = "types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f"}, {file = "types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e"}, ] -typing-extensions = [ + +[[package]] +name = "typing-extensions" +version = "4.7.1" +description = "Backported and Experimental Type Hints for Python 3.7+" +optional = false +python-versions = ">=3.7" +files = [ {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, ] -tzdata = [ + +[[package]] +name = "tzdata" +version = "2023.3" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ {file = "tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"}, {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, ] -uc-micro-py = [ + +[[package]] +name = "uc-micro-py" +version = "1.0.2" +description = "Micro subset of unicode data files for linkify-it-py projects." +optional = false +python-versions = ">=3.7" +files = [ {file = "uc-micro-py-1.0.2.tar.gz", hash = "sha256:30ae2ac9c49f39ac6dce743bd187fcd2b574b16ca095fa74cd9396795c954c54"}, {file = "uc_micro_py-1.0.2-py3-none-any.whl", hash = "sha256:8c9110c309db9d9e87302e2f4ad2c3152770930d88ab385cd544e7a7e75f3de0"}, ] -unicodecsv = [ + +[package.extras] +test = ["coverage", "pytest", "pytest-cov"] + +[[package]] +name = "unicodecsv" +version = "0.14.1" +description = "Python2's stdlib csv module is nice, but it doesn't support unicode. This module is a drop-in replacement which *does*." +optional = false +python-versions = "*" +files = [ {file = "unicodecsv-0.14.1.tar.gz", hash = "sha256:018c08037d48649a0412063ff4eda26eaa81eff1546dbffa51fa5293276ff7fc"}, ] -uritemplate = [ + +[[package]] +name = "uritemplate" +version = "4.1.1" +description = "Implementation of RFC 6570 URI Templates" +optional = false +python-versions = ">=3.6" +files = [ {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, ] -urllib3 = [ + +[[package]] +name = "urllib3" +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.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"}, {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, ] -validators = [ + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "validators" +version = "0.21.0" +description = "Python Data Validation for Humans™" +optional = true +python-versions = ">=3.8,<4.0" +files = [ {file = "validators-0.21.0-py3-none-any.whl", hash = "sha256:3470db6f2384c49727ee319afa2e97aec3f8fad736faa6067e0fd7f9eaf2c551"}, {file = "validators-0.21.0.tar.gz", hash = "sha256:245b98ab778ed9352a7269c6a8f6c2a839bed5b2a7e3e60273ce399d247dd4b3"}, ] -watchdog = [ + +[[package]] +name = "watchdog" +version = "3.0.0" +description = "Filesystem events monitoring" +optional = false +python-versions = ">=3.7" +files = [ {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, @@ -7905,23 +7898,79 @@ watchdog = [ {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, ] -wcwidth = [ + +[package.extras] +watchmedo = ["PyYAML (>=3.10)"] + +[[package]] +name = "wcwidth" +version = "0.2.6" +description = "Measures the displayed width of unicode strings in a terminal" +optional = false +python-versions = "*" +files = [ {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, ] -weaviate-client = [ + +[[package]] +name = "weaviate-client" +version = "3.23.2" +description = "A python native Weaviate client" +optional = true +python-versions = ">=3.8" +files = [ {file = "weaviate-client-3.23.2.tar.gz", hash = "sha256:1c8c94df032dd2fa5a4ea615fc69ccb983ffad5cc02974f78c793839e61ac150"}, {file = "weaviate_client-3.23.2-py3-none-any.whl", hash = "sha256:88ffc38cca07806d64726cc74bc194c7da50b222aa4e2cd129f4c1f5e53e9b61"}, ] -werkzeug = [ + +[package.dependencies] +authlib = ">=1.1.0" +requests = ">=2.28.0,<=2.31.0" +tqdm = ">=4.59.0,<5.0.0" +validators = ">=0.18.2,<=0.21.0" + +[package.extras] +grpc = ["grpcio", "grpcio-tools"] + +[[package]] +name = "werkzeug" +version = "2.3.7" +description = "The comprehensive WSGI web application library." +optional = false +python-versions = ">=3.8" +files = [ {file = "werkzeug-2.3.7-py3-none-any.whl", hash = "sha256:effc12dba7f3bd72e605ce49807bbe692bd729c3bb122a3b91747a6ae77df528"}, {file = "werkzeug-2.3.7.tar.gz", hash = "sha256:2b8c0e447b4b9dbcc85dd97b6eeb4dcbaf6c8b6c3be0bd654e25553e0a2157d8"}, ] -wheel = [ + +[package.dependencies] +MarkupSafe = ">=2.1.1" + +[package.extras] +watchdog = ["watchdog (>=2.3)"] + +[[package]] +name = "wheel" +version = "0.41.2" +description = "A built-package format for Python" +optional = false +python-versions = ">=3.7" +files = [ {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"}, {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"}, ] -wrapt = [ + +[package.extras] +test = ["pytest (>=6.0.0)", "setuptools (>=65)"] + +[[package]] +name = "wrapt" +version = "1.15.0" +description = "Module for decorators, wrappers and monkey patching." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +files = [ {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, @@ -7998,15 +8047,45 @@ wrapt = [ {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, ] -wtforms = [ + +[[package]] +name = "wtforms" +version = "3.0.1" +description = "Form validation and rendering for Python web development." +optional = false +python-versions = ">=3.7" +files = [ {file = "WTForms-3.0.1-py3-none-any.whl", hash = "sha256:837f2f0e0ca79481b92884962b914eba4e72b7a2daaf1f939c890ed0124b834b"}, {file = "WTForms-3.0.1.tar.gz", hash = "sha256:6b351bbb12dd58af57ffef05bc78425d08d1914e0fd68ee14143b7ade023c5bc"}, ] -yapf = [ + +[package.dependencies] +MarkupSafe = "*" + +[package.extras] +email = ["email-validator"] + +[[package]] +name = "yapf" +version = "0.33.0" +description = "A formatter for Python code." +optional = false +python-versions = "*" +files = [ {file = "yapf-0.33.0-py2.py3-none-any.whl", hash = "sha256:4c2b59bd5ffe46f3a7da48df87596877189148226ce267c16e8b44240e51578d"}, {file = "yapf-0.33.0.tar.gz", hash = "sha256:da62bdfea3df3673553351e6246abed26d9fe6780e548a5af9e70f6d2b4f5b9a"}, ] -yarl = [ + +[package.dependencies] +tomli = ">=2.0.1" + +[[package]] +name = "yarl" +version = "1.9.2" +description = "Yet another URL library" +optional = false +python-versions = ">=3.7" +files = [ {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c2ad583743d16ddbdf6bb14b5cd76bf43b0d0006e918809d5d4ddf7bde8dd82"}, {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82aa6264b36c50acfb2424ad5ca537a2060ab6de158a5bd2a72a032cc75b9eb8"}, {file = "yarl-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0c77533b5ed4bcc38e943178ccae29b9bcf48ffd1063f5821192f23a1bd27b9"}, @@ -8082,7 +8161,48 @@ yarl = [ {file = "yarl-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:61016e7d582bc46a5378ffdd02cd0314fb8ba52f40f9cf4d9a5e7dbef88dee18"}, {file = "yarl-1.9.2.tar.gz", hash = "sha256:04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"}, ] -zipp = [ + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + +[[package]] +name = "zipp" +version = "3.16.2" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, ] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + +[extras] +athena = ["botocore", "pyarrow", "pyathena", "s3fs"] +az = ["adlfs"] +bigquery = ["gcsfs", "google-cloud-bigquery", "grpcio", "pyarrow"] +cli = ["cron-descriptor", "pipdeptree"] +dbt = ["dbt-athena-community", "dbt-bigquery", "dbt-core", "dbt-duckdb", "dbt-redshift", "dbt-snowflake"] +duckdb = ["duckdb"] +filesystem = ["botocore", "s3fs"] +gcp = ["gcsfs", "google-cloud-bigquery", "grpcio"] +gs = ["gcsfs"] +motherduck = ["duckdb", "pyarrow"] +mssql = ["pyodbc"] +parquet = ["pyarrow"] +postgres = ["psycopg2-binary", "psycopg2cffi"] +pydantic = ["pydantic"] +qdrant = ["qdrant-client"] +redshift = ["psycopg2-binary", "psycopg2cffi"] +s3 = ["botocore", "s3fs"] +snowflake = ["snowflake-connector-python"] +weaviate = ["weaviate-client"] + +[metadata] +lock-version = "2.0" +python-versions = ">=3.8.1,<3.13" +content-hash = "2686fa0fe1e5f2e796b472f4be28af52e65b5d6bb0bcbbd8df784fd6bc63cf80" diff --git a/pyproject.toml b/pyproject.toml index 3795f0096b..dcfa51172b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ packages = [ ] [tool.poetry.dependencies] -python = ">=3.8.1,<4.0" +python = ">=3.8.1,<3.13" requests = ">=2.26.0" pendulum = ">=2.1.2" simplejson = ">=3.17.5" @@ -76,6 +76,7 @@ weaviate-client = {version = ">=3.22", optional = true} pydantic = {version = ">=1.10,<2.0", optional = true} adlfs = {version = ">=2022.4.0", optional = true} pyodbc = {version = "^4.0.39", optional = true} +qdrant-client = {version = "^1.6.4", optional = true, extras = ["fastembed"]} [tool.poetry.extras] @@ -98,6 +99,7 @@ athena = ["pyathena", "pyarrow", "s3fs", "botocore"] weaviate = ["weaviate-client"] pydantic = ["pydantic"] mssql = ["pyodbc"] +qdrant = ["qdrant-client"] [tool.poetry.scripts] dlt = "dlt.cli._dlt:_main" diff --git a/tests/load/qdrant/__init__.py b/tests/load/qdrant/__init__.py new file mode 100644 index 0000000000..ca034e3c52 --- /dev/null +++ b/tests/load/qdrant/__init__.py @@ -0,0 +1,3 @@ +from tests.utils import skip_if_not_active + +skip_if_not_active("qdrant") diff --git a/tests/load/qdrant/test_pipeline.py b/tests/load/qdrant/test_pipeline.py new file mode 100644 index 0000000000..303a5de69f --- /dev/null +++ b/tests/load/qdrant/test_pipeline.py @@ -0,0 +1,348 @@ +import pytest +from typing import Iterator + +import dlt +from dlt.common import json +from dlt.common.utils import uniq_id + +from dlt.destinations.qdrant.qdrant_adapter import qdrant_adapter, VECTORIZE_HINT +from dlt.destinations.qdrant.qdrant_client import QdrantClient +from tests.pipeline.utils import assert_load_info +from tests.load.qdrant.utils import drop_active_pipeline_data, assert_collection + +@pytest.fixture(autouse=True) +def drop_qdrant_data() -> Iterator[None]: + yield + drop_active_pipeline_data() + + +def sequence_generator(): + count = 1 + while True: + yield [{"content": str(count + i)} for i in range(3)] + count += 3 + + +def test_adapter_and_hints() -> None: + generator_instance1 = sequence_generator() + + @dlt.resource(columns=[{"name": "content", "data_type": "text"}]) + def some_data(): + yield from next(generator_instance1) + + assert some_data.columns["content"] == {"name": "content", "data_type": "text"} # type: ignore[index] + + qdrant_adapter( + some_data, + embed=["content"], + ) + + assert some_data.columns["content"] == {"name": "content", "data_type": "text", "x-qdrant-embed": True} # type: ignore[index] + + +def test_basic_state_and_schema() -> None: + generator_instance1 = sequence_generator() + + @dlt.resource + def some_data(): + yield from next(generator_instance1) + + qdrant_adapter( + some_data, + embed=["content"], + ) + + pipeline = dlt.pipeline( + pipeline_name="test_pipeline_append", + destination="qdrant", + dataset_name="test_pipeline_append_dataset" + uniq_id(), + ) + info = pipeline.run( + some_data(), + ) + assert_load_info(info) + + client: QdrantClient + with pipeline.destination_client() as client: # type: ignore[assignment] + # check if we can get a stored schema and state + schema = client.get_stored_schema() + print("Print dataset name", client.dataset_name) + assert schema + state = client.get_stored_state("test_pipeline_append") + assert state + + +def test_pipeline_append() -> None: + generator_instance1 = sequence_generator() + generator_instance2 = sequence_generator() + + @dlt.resource + def some_data(): + yield from next(generator_instance1) + + qdrant_adapter( + some_data, + embed=["content"], + ) + + pipeline = dlt.pipeline( + pipeline_name="test_pipeline_append", + destination="qdrant", + dataset_name="TestPipelineAppendDataset" + uniq_id(), + ) + info = pipeline.run( + some_data(), + ) + assert_load_info(info) + + data = next(generator_instance2) + assert_collection(pipeline, "some_data", items=data) + + info = pipeline.run( + some_data(), + ) + assert_load_info(info) + + data.extend(next(generator_instance2)) + assert_collection(pipeline, "some_data", items=data) + + +def test_explicit_append() -> None: + """Append should work even when primary key is specified.""" + data = [ + {"doc_id": 1, "content": "1"}, + {"doc_id": 2, "content": "2"}, + {"doc_id": 3, "content": "3"}, + ] + + @dlt.resource(primary_key="doc_id") + def some_data(): + yield data + + qdrant_adapter( + some_data, + embed=["content"], + ) + + pipeline = dlt.pipeline( + pipeline_name="test_pipeline_append", + destination="qdrant", + dataset_name="TestPipelineAppendDataset" + uniq_id(), + ) + info = pipeline.run( + some_data(), + ) + + assert_collection(pipeline, "some_data", items=data) + + info = pipeline.run( + some_data(), + write_disposition="append", + ) + assert_load_info(info) + + data.extend(data) + assert_collection(pipeline, "some_data", items=data) + + +def test_pipeline_replace() -> None: + + generator_instance1 = sequence_generator() + generator_instance2 = sequence_generator() + + @dlt.resource + def some_data(): + yield from next(generator_instance1) + + qdrant_adapter( + some_data, + embed=["content"], + ) + + uid = uniq_id() + + pipeline = dlt.pipeline( + pipeline_name="test_pipeline_replace", + destination="qdrant", + dataset_name="test_pipeline_replace_dataset" + uid, # Qdrant doesn't mandate any name normalization + ) + + info = pipeline.run( + some_data(), + write_disposition="replace", + ) + assert_load_info(info) + assert info.dataset_name == "test_pipeline_replace_dataset" + uid # Qdrant doesn't mandate any name normalization + + data = next(generator_instance2) + assert_collection(pipeline, "some_data", items=data) + + info = pipeline.run( + some_data(), + write_disposition="replace", + ) + assert_load_info(info) + + data = next(generator_instance2) + assert_collection(pipeline, "some_data", items=data) + + +def test_pipeline_merge() -> None: + data = [ + { + "doc_id": 1, + "title": "The Shawshank Redemption", + "description": ( + "Two imprisoned men find redemption through acts " + "of decency over the years." + ), + }, + { + "doc_id": 2, + "title": "The Godfather", + "description": ( + "A crime dynasty's aging patriarch transfers " + "control to his reluctant son." + ), + }, + { + "doc_id": 3, + "title": "The Dark Knight", + "description": ( + "The Joker wreaks havoc on Gotham, challenging " + "The Dark Knight's ability to fight injustice." + ), + }, + ] + + @dlt.resource(primary_key="doc_id") + def movies_data(): + yield data + + qdrant_adapter( + movies_data, + embed=["description"], + ) + + pipeline = dlt.pipeline( + pipeline_name="movies", + destination="qdrant", + dataset_name="TestPipelineAppendDataset" + uniq_id(), + ) + info = pipeline.run( + movies_data(), + write_disposition="merge", + dataset_name="MoviesDataset" + uniq_id() + ) + assert_load_info(info) + assert_collection(pipeline, "movies_data", items=data) + + # Change some data + data[0]["title"] = "The Shawshank Redemption 2" + + info = pipeline.run( + movies_data(), + write_disposition="merge", + ) + assert_load_info(info) + assert_collection(pipeline, "movies_data", items=data) + + +def test_pipeline_with_schema_evolution(): + data = [ + { + "doc_id": 1, + "content": "1", + }, + { + "doc_id": 2, + "content": "2", + }, + ] + + @dlt.resource() + def some_data(): + yield data + + qdrant_adapter(some_data, embed=["content"]) + + pipeline = dlt.pipeline( + pipeline_name="test_pipeline_append", + destination="qdrant", + dataset_name="TestSchemaEvolutionDataset" + uniq_id(), + ) + pipeline.run( + some_data(), + ) + + assert_collection(pipeline, "some_data", items=data) + + aggregated_data = data.copy() + + data = [ + { + "doc_id": 3, + "content": "3", + "new_column": "new", + }, + { + "doc_id": 4, + "content": "4", + "new_column": "new", + }, + ] + + pipeline.run( + some_data(), + ) + + table_schema = pipeline.default_schema.tables["some_data"] + assert "new_column" in table_schema["columns"] + + aggregated_data.extend(data) + + assert_collection(pipeline, "some_data", items=aggregated_data) + + +def test_merge_github_nested() -> None: + p = dlt.pipeline(destination="qdrant", dataset_name="github1", full_refresh=True) + assert p.dataset_name.startswith("github1_202") + + with open("tests/normalize/cases/github.issues.load_page_5_duck.json", "r", encoding="utf-8") as f: + data = json.load(f) + + info = p.run( + qdrant_adapter(data[:17], embed=["title", "body"]), + table_name="issues", + write_disposition="merge", + primary_key="id" + ) + assert_load_info(info) + # assert if schema contains tables with right names + print(p.default_schema.tables.keys()) + assert set(p.default_schema.tables.keys()) == {'_dlt_version', '_dlt_loads', 'issues', '_dlt_pipeline_state', 'issues__labels', 'issues__assignees'} + assert set([t["name"] for t in p.default_schema.data_tables()]) == {'issues', 'issues__labels', 'issues__assignees'} + assert set([t["name"] for t in p.default_schema.dlt_tables()]) == {'_dlt_version', '_dlt_loads', '_dlt_pipeline_state'} + issues = p.default_schema.tables["issues"] + assert issues["columns"]["id"]["primary_key"] is True + # make sure that vectorization is enabled for + assert issues["columns"]["title"][VECTORIZE_HINT] # type: ignore[literal-required] + assert issues["columns"]["body"][VECTORIZE_HINT] # type: ignore[literal-required] + assert VECTORIZE_HINT not in issues["columns"]["url"] + assert_collection(p, "issues", expected_items_count=17) + + +def test_empty_dataset_allowed() -> None: + # dataset_name is optional so dataset name won't be autogenerated when not explicitly passed + p = dlt.pipeline(destination="qdrant", full_refresh=True) + client: QdrantClient = p.destination_client() # type: ignore[assignment] + + assert p.dataset_name is None + info = p.run(qdrant_adapter(["context", "created", "not a stop word"], embed=["value"])) + # dataset in load info is empty + assert info.dataset_name is None + client = p.destination_client() # type: ignore[assignment] + assert client.dataset_name is None + assert client.sentinel_collection == "DltSentinelCollection" + assert_collection(p, "content", expected_items_count=3) + diff --git a/tests/load/qdrant/utils.py b/tests/load/qdrant/utils.py new file mode 100644 index 0000000000..96b582a28e --- /dev/null +++ b/tests/load/qdrant/utils.py @@ -0,0 +1,61 @@ +import dlt +from typing import Any, List + +import dlt +from dlt.common.pipeline import PipelineContext +from dlt.common.configuration.container import Container + +from dlt.destinations.qdrant.qdrant_client import QdrantClient + + +def assert_unordered_list_equal(list1: List[Any], list2: List[Any]) -> None: + assert len(list1) == len(list2), "Lists have different length" + for item in list1: + assert item in list2, f"Item {item} not found in list2" + + +def assert_collection( + pipeline: dlt.Pipeline, + collection_name: str, + expected_items_count: int = None, + items: List[Any] = None, +) -> None: + client: QdrantClient = pipeline.destination_client() # type: ignore[assignment] + + # Check if collection exists + exists = client._collection_exists(collection_name) + assert exists + + qualified_collection_name = client._make_qualified_collection_name(collection_name) + point_records, offset = client.db_client.scroll(qualified_collection_name, with_payload=True, limit=50) + + if expected_items_count is not None: + assert expected_items_count == len(point_records) + + if items is None: + return + + drop_keys = ["_dlt_id", "_dlt_load_id"] + objects_without_dlt_keys = [ + {k: v for k, v in point.payload.items() if k not in drop_keys} for point in point_records + ] + + assert_unordered_list_equal(objects_without_dlt_keys, items) + +def drop_active_pipeline_data() -> None: + print("Dropping active pipeline data for test") + def has_collections(client): + schema = client.db_client.get_collections().collections + return len(schema) > 0 + + if Container()[PipelineContext].is_active(): + # take existing pipeline + p = dlt.pipeline() + client: QdrantClient = p.destination_client() # type: ignore[assignment] + + if has_collections(client): + client.drop_storage() + + p._wipe_working_folder() + # deactivate context + Container()[PipelineContext].deactivate() diff --git a/tests/utils.py b/tests/utils.py index 2eba788542..823b1cca83 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -8,6 +8,8 @@ from typing import Iterator, List from unittest.mock import patch +from requests import Response + import dlt from dlt.common.configuration.container import Container from dlt.common.configuration.providers import DictionaryProvider @@ -27,8 +29,8 @@ # destination constants -IMPLEMENTED_DESTINATIONS = {"athena", "duckdb", "bigquery", "redshift", "postgres", "snowflake", "filesystem", "weaviate", "dummy", "motherduck", "mssql"} -NON_SQL_DESTINATIONS = {"filesystem", "weaviate", "dummy", "motherduck"} +IMPLEMENTED_DESTINATIONS = {"athena", "duckdb", "bigquery", "redshift", "postgres", "snowflake", "filesystem", "weaviate", "dummy", "motherduck", "mssql", "qdrant"} +NON_SQL_DESTINATIONS = {"filesystem", "weaviate", "dummy", "motherduck", "qdrant"} SQL_DESTINATIONS = IMPLEMENTED_DESTINATIONS - NON_SQL_DESTINATIONS # exclude destination configs (for now used for athena and athena iceberg separation) @@ -63,7 +65,7 @@ def TEST_DICT_CONFIG_PROVIDER(): providers_context.add_provider(provider) return provider -class MockHttpResponse(): +class MockHttpResponse(Response): def __init__(self, status_code: int) -> None: self.status_code = status_code From 46d65aece9879e0ff9c044f75b69110c809cfbf8 Mon Sep 17 00:00:00 2001 From: Marcin Rudolf Date: Wed, 8 Nov 2023 10:43:01 +0100 Subject: [PATCH 11/28] bumps to version 0.3.24 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index dcfa51172b..2c327ce3b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "dlt" -version = "0.3.23" +version = "0.3.24" description = "dlt is an open-source python-first scalable data loading library that does not require any backend to run." authors = ["dltHub Inc. "] maintainers = [ "Marcin Rudolf ", "Adrian Brudaru ", "Ty Dunn "] From 10ea7d84f73f8d9c98946973d670ab7629e712d6 Mon Sep 17 00:00:00 2001 From: Zaeem Athar Date: Wed, 8 Nov 2023 11:28:28 +0100 Subject: [PATCH 12/28] Fixing Formatiing. --- docs/website/blog/2023-11-01-dlt-dagster.md | 62 ++++++++++----------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/website/blog/2023-11-01-dlt-dagster.md b/docs/website/blog/2023-11-01-dlt-dagster.md index e631725bb4..68358fc07e 100644 --- a/docs/website/blog/2023-11-01-dlt-dagster.md +++ b/docs/website/blog/2023-11-01-dlt-dagster.md @@ -1,6 +1,6 @@ --- slug: dlt-dagster -title: "Orchestrating unstructured data pipeline with dagster and dlt." +title: "Orchestrating unstructured data pipeline with Dagster and dlt." image: https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_overview.jpg authors: name: Zaeem Athar @@ -10,7 +10,7 @@ authors: tags: [Dagster, dlt, Asset Factory, Unstructured Data] --- :::info -TL;DR: In this blog post, we'll build data piplines using dlt and orchestrate them using Dagster. +TL;DR: In this blog post, we'll build data piplines using [dlt](https://dlthub.com/) and orchestrate them using [Dagster](https://dagster.io/). ::: `dlt` is an open-source Python library that allows you to declaratively load messy data sources into well-structured tables or datasets, through automatic schema inference and evolution. It simplifies building data pipelines by providing functionality to support the entire extract and load process. @@ -19,11 +19,11 @@ It does so in a scalable way, enabling you to run it on both micro workers or in To start with `dlt`, you can install it using pip: `pip install dlt`. Afterward, import `dlt` in your Python script and start building your data pipeline. There's no need to start any backends or containers. -## **Project Overview:** +## Project Overview: -In this example, we will ingest GitHub issue data from a repository and store the data in BigQuery. We will use `dlt` to create a data pipeline and orchestrate it using dagster. +In this example, we will ingest GitHub issue data from a repository and store the data in BigQuery. We will use `dlt` to create a data pipeline and orchestrate it using Dagster. -Initially, we will start by creating a simple data pipeline using `dlt`. We will then orchestrate the pipeline using dagster. Finally, we will add more features to this pipeline by using the dlt schema evolution and dagster asset metadata to educate the users about their data pipeline. +Initially, we will start by creating a simple data pipeline using `dlt`. We will then orchestrate the pipeline using Dagster. Finally, we will add more features to this pipeline by using the dlt schema evolution and dagster asset metadata to educate the users about their data pipeline. The project code is available on [GitHub](https://github.com/dlt-hub/dlt-dagster-demo/tree/main). @@ -31,16 +31,16 @@ The project code is available on [GitHub](https://github.com/dlt-hub/dlt-dagster As we will be ingesting data into BigQuery we first need to create service account credentials for BigQuery. You can find more info on setting up a service account in the `dlt` [docs](https://dlthub.com/docs/dlt-ecosystem/destinations/bigquery). -Once we have the credentials we are ready to begin. Let’s first install dagster and `dlt`. The below commands should install both. +Once we have the credentials we are ready to begin. Let’s first install Dagster and `dlt`. The below commands should install both. ```python pip install dlt pip install dagster dagster-webserver ``` -## **Simple `dlt` Pipeline:** +## Simple dlt Pipeline: -As a first step, we will create the GitHub issues pipeline using dlt. +As a first step, we will create the GitHub issues pipeline using `dlt`. ```bash dlt init github_issues bigquery @@ -84,7 +84,7 @@ if __name__ == "__main__": print(load_info) ``` -The above code creates a simple github_issues pipeline that gets the issues data from the defined repository and loads it into BigQuery. The `dlt.resources` yields the data while the `dlt.pipeline` normalizes the nested data and loads it into the defined destination. To read more about the technical details refer to the `dlt` [docs](https://dlthub.com/docs/intro). +The above code creates a simple **github_issues** pipeline that gets the issues data from the defined repository and loads it into BigQuery. The `dlt.resources` yields the data while the `dlt.pipeline` normalizes the nested data and loads it into the defined destination. To read more about the technical details refer to the `dlt` [docs](https://dlthub.com/docs/intro). To run the pipeline execute the below commands: @@ -93,11 +93,11 @@ pip install -r requirements.txt python github_issues.py ``` -We now have a running pipeline and are ready to orchestrate it using dagster. +We now have a running pipeline and are ready to orchestrate it using Dagster. -## **Orchestrating using dagster:** +## Orchestrating using dagster: -We will need to adjust our pipeline a bit to orchestrate it using dagster. +We will need to adjust our pipeline a bit to orchestrate it using Dagster. ### Step 1: Create a dagster project @@ -109,9 +109,9 @@ cd dagster_github_issues dagster project scaffold --name github-issues ``` -This will generate the default files for dagster that we will use as a starting point for our data pipeline. +This will generate the default files for Dagster that we will use as a starting point for our data pipeline. -### Step 2: Set up the directory Structure +### Step 2: Set up the directory structure - Inside the `github-issues/github_issues` directory create the following folders: `assets`, `resources`, and `dlt`. @@ -136,12 +136,12 @@ This will generate the default files for dagster that we will use as a starting ### Step 3: Add dlt Resources and environment variables -- Copy the previously created **`github_issues_resource`** code into **`dlt/__init__.py`** under the **`dlt`** folder. Remove the **`dlt.secrets.value`** parameter, as we'll pass the credentials through a **`.env`** file. -- Create a `.env` file in the root directory. This is the directory where the `pyproject.toml` file exits. Copy the credentials into the `.env` and follow the correct naming convention. For more info on setting up the `.env` file have a look at the [docs](https://dlthub.com/docs/general-usage/credentials#reading-credentials-from-environment-variables). +- Copy the previously created **github_issues_resource** code into `dlt/__init__.py` under the `dlt` folder. Remove the `dlt.secrets.value` parameter, as we'll pass the credentials through a `.env` file. +- Create a `.env` file in the root directory. This is the directory where the `pyproject.toml` file exits. Copy the credentials into the `.env` and follow the correct naming convention. For more info on setting up the `.env` file have a look at the [docs](https://dlthub.com/docs/walkthroughs/add_credentials#reading-credentials-from-environment-variables). ### Step 4: Add configurable resources and define the asset -- Define a **`DltResource`** class in **`resources/__init__.py`** as a Dagster configurable resource. This class allows you to reuse pipeline code inside an asset. +- Define a `DltResource` class in `resources/__init__.py` as a Dagster configurable resource. This class allows you to reuse pipeline code inside an asset. ```python from dagster import ConfigurableResource @@ -165,7 +165,7 @@ class DltResource(ConfigurableResource): return load_info ``` -- Define the asset, **`issues_pipeline`**, in **`assets/__init__.py`**. This asset uses the configurable resource to create a dlt pipeline and ingests data into BigQuery. +- Define the asset, `issues_pipeline`, in `assets/__init__.py`. This asset uses the configurable resource to create a dlt pipeline and ingests data into BigQuery. ```python from dagster import asset, get_dagster_logger @@ -184,7 +184,7 @@ The defined asset (**issues_pipeline**) takes as input the configurable resource ### Step 5: Handle Schema Evolution -`dlt` provides the feature of schema evolution that monitors changes in the defined table schema. Suppose GitHub adds a new column or changes a datatype of a column this small change can break pipelines and transformations. The schema evolution feature works amazingly well with dagster. +`dlt` provides the feature of schema evolution that monitors changes in the defined table schema. Suppose GitHub adds a new column or changes a datatype of a column this small change can break pipelines and transformations. The schema evolution feature works amazingly well with Dagster. - Add the schema evolution code to the asset to make our pipelines more resilient to changes. @@ -225,13 +225,13 @@ defs = Definitions( ) ``` -### Step 7: Run the Web Server and Materialize the asset +### Step 7: Run the Web Server and materialize the asset -- In the root directory (**github-issues)** run the `dagster dev` command to run the web server and materialize the asset. +- In the root directory (**github-issues**) run the `dagster dev` command to run the web server and materialize the asset. ![GitHub Asset](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_asset.png) -### Step 8: View the populated Metadata and data in BigQuery +### Step 8: View the populated Metadata and ingested data in BigQuery Once the asset has been successfully materialized go to the Assets tab from the top and select the **Issues_pipeline**. In the Metadata you can see the Tables, Columns, and Data Types that have been updated. In this case, the changes are related to internal `dlt` tables. @@ -243,15 +243,15 @@ Let's finally have a look in BigQuery to view the ingested data. ![Data Loaded in Bigquery](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_bigquery_data.png) -The **github_issues** is the parent table that contains the data from the root level of the JSON returned by the GitHub API. The subsequent table **github_issues_assignees** is a child table that was nested in the original JSON. `dlt` normalizes nested data by populating them in separate tables and creates relationships between the tables. To learn more about how dlt created these relationships refer to the [docs](https://dlthub.com/docs/general-usage/destination-tables#child-and-parent-tables). +The **github_issues** is the parent table that contains the data from the root level of the JSON returned by the GitHub API. The subsequent table **github_issues_assignees** is a child table that was nested in the original JSON. `dlt` normalizes nested data by populating them in separate tables and creates relationships between the tables. To learn more about how `dlt` created these relationships refer to the [docs](https://dlthub.com/docs/general-usage/destination-tables#child-and-parent-tables). -## **Orchestrating verified `dlt` source using dagster:** +## Orchestrating verified dlt source using Dagster: `dlt` provides a list of verified sources that can be initialized to fast-track the pipeline-building process. You can find a list of sources provided in the `dlt` [docs](https://dlthub.com/docs/dlt-ecosystem/verified-sources/). One of the main strengths of `dlt` lies in its ability to extract, normalize, and ingest unstructured and semi-structured data from various sources. One of the most commonly used verified source is MongoDB. Let’s quickly look at how we can orchestrate MongoDB source using dagster. -### Step 1: Setting up a dagster project: +### Step 1: Setting up a Dagster project: - Start by creating a new Dagster project scaffold: @@ -301,7 +301,7 @@ Next, create a `.env` file and add the BigQuery and MongoDB credentials to the f ### Step 3: Adding the DltResource - Create a **`DltResouce`** under the **resources** directory. Add the following code to the **`__init__.py` :** + Create a `DltResouce` under the **resources** directory. Add the following code to the `__init__.py`: ```python from dagster import ConfigurableResource @@ -329,11 +329,11 @@ class DltResource(ConfigurableResource): The structure of data in MongoDB is such that under each database you will find multiple collections. When writing a data pipeline it is important to separate the data loading for each collection. -Dagster provides the feature of `**@multi_asset`** declaration that will allow us to convert each collection under a database into a separate asset. This will make our pipeline easy to debug in case of failure and the collections independent of each other. +Dagster provides the feature of `@multi_asset` declaration that will allow us to convert each collection under a database into a separate asset. This will make our pipeline easy to debug in case of failure and the collections independent of each other. -In the **`mongodb_pipeline.py`** file, locate the `**load_select_collection_hint_db**` function. We will use this function to create the asset factory. +In the `mongodb_pipeline.py` file, locate the `load_select_collection_hint_db` function. We will use this function to create the asset factory. - In the **`__init__.py`** file under the **assets** directory, define the **`dlt_asset_factory`**: + In the `__init__.py` file under the **assets** directory, define the `dlt_asset_factory`: ```python from ..mongodb import mongodb @@ -412,10 +412,10 @@ The resulting data in BigQuery: ![Data Ingestion in BigQuery from MongoDB](https://d1ice69yfovmhk.cloudfront.net/images/dlt-dagster_mongo_bigquery.png) -## **Conclusion:** +## Conclusion: In this demo, we looked at how to orchestrate dlt pipelines using dagster. We started off by creating a simple dlt pipeline and then converted the pipeline into an asset and resource before orchestrating. -We also looked at how we can orchestrate dlt MongoDB verified sources using Dagster. We utilized the Dagster `**@multi_asset`** feature to create a **`dlt_asset_factory` which** converts each collection under a database to a separate asset allowing us to create more robust data pipelines. +We also looked at how we can orchestrate dlt MongoDB verified sources using Dagster. We utilized the Dagster `@multi_asset` feature to create a `dlt_asset_factory` which converts each collection under a database to a separate asset allowing us to create more robust data pipelines. Both `dlt` and dagster can be easily run on local machines. By combining the two we can build data pipelines at great speed and rigorously test them before shipping to production. \ No newline at end of file From 9e31904ae3537678608d9c5f68a2550bf6b00314 Mon Sep 17 00:00:00 2001 From: Zaeem Athar Date: Wed, 8 Nov 2023 11:41:28 +0100 Subject: [PATCH 13/28] Fixing the headings and folllowing uniform formatting. --- docs/website/blog/2023-11-01-dlt-dagster.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/website/blog/2023-11-01-dlt-dagster.md b/docs/website/blog/2023-11-01-dlt-dagster.md index 68358fc07e..a53145ccc8 100644 --- a/docs/website/blog/2023-11-01-dlt-dagster.md +++ b/docs/website/blog/2023-11-01-dlt-dagster.md @@ -23,7 +23,7 @@ To start with `dlt`, you can install it using pip: `pip install dlt`. Afterwar In this example, we will ingest GitHub issue data from a repository and store the data in BigQuery. We will use `dlt` to create a data pipeline and orchestrate it using Dagster. -Initially, we will start by creating a simple data pipeline using `dlt`. We will then orchestrate the pipeline using Dagster. Finally, we will add more features to this pipeline by using the dlt schema evolution and dagster asset metadata to educate the users about their data pipeline. +Initially, we will start by creating a simple data pipeline using `dlt`. We will then orchestrate the pipeline using Dagster. Finally, we will add more features to this pipeline by using the `dlt` schema evolution and Dagster asset metadata to educate the users about their data pipeline. The project code is available on [GitHub](https://github.com/dlt-hub/dlt-dagster-demo/tree/main). @@ -95,11 +95,11 @@ python github_issues.py We now have a running pipeline and are ready to orchestrate it using Dagster. -## Orchestrating using dagster: +## Orchestrating using Dagster: We will need to adjust our pipeline a bit to orchestrate it using Dagster. -### Step 1: Create a dagster project +### Step 1: Create a Dagster project - Create a new directory for your Dagster project and scaffold the basic structure: @@ -165,7 +165,7 @@ class DltResource(ConfigurableResource): return load_info ``` -- Define the asset, `issues_pipeline`, in `assets/__init__.py`. This asset uses the configurable resource to create a dlt pipeline and ingests data into BigQuery. +- Define the asset, `issues_pipeline`, in `assets/__init__.py`. This asset uses the configurable resource to create a `dlt` pipeline and ingests data into BigQuery. ```python from dagster import asset, get_dagster_logger @@ -180,7 +180,7 @@ def issues_pipeline(pipeline: DltResource): logger.info(results) ``` -The defined asset (**issues_pipeline**) takes as input the configurable resource (**DltResource**). In the asset, we use the configurable resource to create a dlt pipeline by using an instance of the configurable resource (**DltResource**) to call the `create_pipeline` function. The `dlt.resource` (**github_issues_resource**) is passed to the `create_pipeline` function. The `create_pipeline` function normalizes the data and ingests it into BigQuery. +The defined asset (**issues_pipeline**) takes as input the configurable resource (**DltResource**). In the asset, we use the configurable resource to create a `dlt` pipeline by using an instance of the configurable resource (**DltResource**) to call the `create_pipeline` function. The `dlt.resource` (**github_issues_resource**) is passed to the `create_pipeline` function. The `create_pipeline` function normalizes the data and ingests it into BigQuery. ### Step 5: Handle Schema Evolution @@ -249,7 +249,7 @@ The **github_issues** is the parent table that contains the data from the root l `dlt` provides a list of verified sources that can be initialized to fast-track the pipeline-building process. You can find a list of sources provided in the `dlt` [docs](https://dlthub.com/docs/dlt-ecosystem/verified-sources/). -One of the main strengths of `dlt` lies in its ability to extract, normalize, and ingest unstructured and semi-structured data from various sources. One of the most commonly used verified source is MongoDB. Let’s quickly look at how we can orchestrate MongoDB source using dagster. +One of the main strengths of `dlt` lies in its ability to extract, normalize, and ingest unstructured and semi-structured data from various sources. One of the most commonly used verified source is MongoDB. Let’s quickly look at how we can orchestrate MongoDB source using Dagster. ### Step 1: Setting up a Dagster project: @@ -259,8 +259,8 @@ One of the main strengths of `dlt` lies in its ability to extract, normalize, an dagster project scaffold --name mongodb-dlt ``` -- Follow the steps mentioned earlier and create an **`assets`**, and **`resources`** directory under **`mongodb-dlt/mongodb_dlt`**. -- Initialize a **`dlt`** MongoDB pipeline in the same directory: +- Follow the steps mentioned earlier and create an `assets`, and `resources` directory under `mongodb-dlt/mongodb_dlt`. +- Initialize a `dlt` MongoDB pipeline in the same directory: ```python dlt init mongodb bigquery @@ -414,8 +414,8 @@ The resulting data in BigQuery: ## Conclusion: -In this demo, we looked at how to orchestrate dlt pipelines using dagster. We started off by creating a simple dlt pipeline and then converted the pipeline into an asset and resource before orchestrating. +In this demo, we looked at how to orchestrate `dlt` pipelines using Dagster. We started off by creating a simple dlt pipeline and then converted the pipeline into an asset and resource before orchestrating. We also looked at how we can orchestrate dlt MongoDB verified sources using Dagster. We utilized the Dagster `@multi_asset` feature to create a `dlt_asset_factory` which converts each collection under a database to a separate asset allowing us to create more robust data pipelines. -Both `dlt` and dagster can be easily run on local machines. By combining the two we can build data pipelines at great speed and rigorously test them before shipping to production. \ No newline at end of file +Both `dlt` and Dagster can be easily run on local machines. By combining the two we can build data pipelines at great speed and rigorously test them before shipping to production. \ No newline at end of file From a8c5b9281a56f8595e29e0664959fe903e5226eb Mon Sep 17 00:00:00 2001 From: Zaeem Athar Date: Wed, 8 Nov 2023 11:54:16 +0100 Subject: [PATCH 14/28] highlighting dlt where ever it appears alone. --- docs/website/blog/2023-11-01-dlt-dagster.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/website/blog/2023-11-01-dlt-dagster.md b/docs/website/blog/2023-11-01-dlt-dagster.md index a53145ccc8..78440fd954 100644 --- a/docs/website/blog/2023-11-01-dlt-dagster.md +++ b/docs/website/blog/2023-11-01-dlt-dagster.md @@ -15,7 +15,7 @@ TL;DR: In this blog post, we'll build data piplines using [dlt](https://dlthub.c `dlt` is an open-source Python library that allows you to declaratively load messy data sources into well-structured tables or datasets, through automatic schema inference and evolution. It simplifies building data pipelines by providing functionality to support the entire extract and load process. -It does so in a scalable way, enabling you to run it on both micro workers or in highly parallelized setups. dlt also offers robustness on extraction by providing state management for incremental extraction, drop-in requests replacement with retries, and many other helpers for common and uncommon extraction cases. +It does so in a scalable way, enabling you to run it on both micro workers or in highly parallelized setups. `dlt` also offers robustness on extraction by providing state management for incremental extraction, drop-in requests replacement with retries, and many other helpers for common and uncommon extraction cases. To start with `dlt`, you can install it using pip: `pip install dlt`. Afterward, import `dlt` in your Python script and start building your data pipeline. There's no need to start any backends or containers. @@ -23,7 +23,7 @@ To start with `dlt`, you can install it using pip: `pip install dlt`. Afterwar In this example, we will ingest GitHub issue data from a repository and store the data in BigQuery. We will use `dlt` to create a data pipeline and orchestrate it using Dagster. -Initially, we will start by creating a simple data pipeline using `dlt`. We will then orchestrate the pipeline using Dagster. Finally, we will add more features to this pipeline by using the `dlt` schema evolution and Dagster asset metadata to educate the users about their data pipeline. +Initially, we will start by creating a simple data pipeline using `dlt`. We will then orchestrate the pipeline using Dagster. Finally, we will add more features to this pipeline by using the dlt schema evolution and Dagster asset metadata to educate the users about their data pipeline. The project code is available on [GitHub](https://github.com/dlt-hub/dlt-dagster-demo/tree/main). @@ -165,7 +165,7 @@ class DltResource(ConfigurableResource): return load_info ``` -- Define the asset, `issues_pipeline`, in `assets/__init__.py`. This asset uses the configurable resource to create a `dlt` pipeline and ingests data into BigQuery. +- Define the asset, `issues_pipeline`, in `assets/__init__.py`. This asset uses the configurable resource to create a dlt pipeline and ingests data into BigQuery. ```python from dagster import asset, get_dagster_logger @@ -180,7 +180,7 @@ def issues_pipeline(pipeline: DltResource): logger.info(results) ``` -The defined asset (**issues_pipeline**) takes as input the configurable resource (**DltResource**). In the asset, we use the configurable resource to create a `dlt` pipeline by using an instance of the configurable resource (**DltResource**) to call the `create_pipeline` function. The `dlt.resource` (**github_issues_resource**) is passed to the `create_pipeline` function. The `create_pipeline` function normalizes the data and ingests it into BigQuery. +The defined asset (**issues_pipeline**) takes as input the configurable resource (**DltResource**). In the asset, we use the configurable resource to create a dlt pipeline by using an instance of the configurable resource (**DltResource**) to call the `create_pipeline` function. The `dlt.resource` (**github_issues_resource**) is passed to the `create_pipeline` function. The `create_pipeline` function normalizes the data and ingests it into BigQuery. ### Step 5: Handle Schema Evolution @@ -233,7 +233,7 @@ defs = Definitions( ### Step 8: View the populated Metadata and ingested data in BigQuery -Once the asset has been successfully materialized go to the Assets tab from the top and select the **Issues_pipeline**. In the Metadata you can see the Tables, Columns, and Data Types that have been updated. In this case, the changes are related to internal `dlt` tables. +Once the asset has been successfully materialized go to the Assets tab from the top and select the **Issues_pipeline**. In the Metadata you can see the Tables, Columns, and Data Types that have been updated. In this case, the changes are related to internal dlt tables. Any subsequent changes in the GitHub issues schema can be tracked from the metadata. You can set up [Slack notifications](https://dlthub.com/docs/running-in-production/running#using-slack-to-send-messages) to be alerted to schema changes. @@ -414,7 +414,7 @@ The resulting data in BigQuery: ## Conclusion: -In this demo, we looked at how to orchestrate `dlt` pipelines using Dagster. We started off by creating a simple dlt pipeline and then converted the pipeline into an asset and resource before orchestrating. +In this demo, we looked at how to orchestrate dlt pipelines using Dagster. We started off by creating a simple dlt pipeline and then converted the pipeline into an asset and resource before orchestrating. We also looked at how we can orchestrate dlt MongoDB verified sources using Dagster. We utilized the Dagster `@multi_asset` feature to create a `dlt_asset_factory` which converts each collection under a database to a separate asset allowing us to create more robust data pipelines. From cdae47e91cbf6f239a0e6c1d749cef967f8eae3b Mon Sep 17 00:00:00 2001 From: Zaeem Athar Date: Wed, 8 Nov 2023 12:04:01 +0100 Subject: [PATCH 15/28] Fixing typo. --- docs/website/blog/2023-11-01-dlt-dagster.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/website/blog/2023-11-01-dlt-dagster.md b/docs/website/blog/2023-11-01-dlt-dagster.md index 78440fd954..4da685be73 100644 --- a/docs/website/blog/2023-11-01-dlt-dagster.md +++ b/docs/website/blog/2023-11-01-dlt-dagster.md @@ -251,7 +251,7 @@ The **github_issues** is the parent table that contains the data from the root l One of the main strengths of `dlt` lies in its ability to extract, normalize, and ingest unstructured and semi-structured data from various sources. One of the most commonly used verified source is MongoDB. Let’s quickly look at how we can orchestrate MongoDB source using Dagster. -### Step 1: Setting up a Dagster project: +### Step 1: Setting up a Dagster project - Start by creating a new Dagster project scaffold: From d1128046aa2be362fd77b7e956637efd5efdd351 Mon Sep 17 00:00:00 2001 From: Gregory DeVincentis Date: Wed, 8 Nov 2023 06:49:07 -0500 Subject: [PATCH 16/28] Adds authenticator to SnowflakeCredentials class (#734) --- dlt/destinations/snowflake/configuration.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dlt/destinations/snowflake/configuration.py b/dlt/destinations/snowflake/configuration.py index 829b492127..66c2f82282 100644 --- a/dlt/destinations/snowflake/configuration.py +++ b/dlt/destinations/snowflake/configuration.py @@ -57,6 +57,7 @@ class SnowflakeCredentials(ConnectionStringCredentials): database: str = None warehouse: Optional[str] = None role: Optional[str] = None + authenticator: Optional[str] = None private_key: Optional[TSecretStrValue] = None private_key_passphrase: Optional[TSecretStrValue] = None @@ -96,6 +97,7 @@ def to_connector_params(self) -> Dict[str, Any]: warehouse=self.warehouse, role=self.role, private_key=private_key, + authenticator=self.authenticator, ) From 1f65adaa9d4451cd9ef8a932dbee03510d59e7fd Mon Sep 17 00:00:00 2001 From: Steinthor Palsson Date: Wed, 8 Nov 2023 06:51:21 -0500 Subject: [PATCH 17/28] Set port correctly in mssql connection string (#731) * Set port correctly in mssql connection string * Fix flaky sorting in arrow loading test --- dlt/destinations/mssql/configuration.py | 3 +-- tests/load/mssql/test_mssql_credentials.py | 24 ++++++++++++++++++++++ tests/load/pipeline/test_arrow_loading.py | 8 ++++++-- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 tests/load/mssql/test_mssql_credentials.py diff --git a/dlt/destinations/mssql/configuration.py b/dlt/destinations/mssql/configuration.py index 581da0f782..17f10ddff0 100644 --- a/dlt/destinations/mssql/configuration.py +++ b/dlt/destinations/mssql/configuration.py @@ -60,8 +60,7 @@ def _get_odbc_driver(self) -> str: def to_odbc_dsn(self) -> str: params = { "DRIVER": self.odbc_driver, - "SERVER": self.host, - "PORT": self.port, + "SERVER": f"{self.host},{self.port}", "DATABASE": self.database, "UID": self.username, "PWD": self.password, diff --git a/tests/load/mssql/test_mssql_credentials.py b/tests/load/mssql/test_mssql_credentials.py new file mode 100644 index 0000000000..9b57692bb2 --- /dev/null +++ b/tests/load/mssql/test_mssql_credentials.py @@ -0,0 +1,24 @@ +from dlt.common.configuration import resolve_configuration + +from dlt.destinations.mssql.configuration import MsSqlCredentials + + + +def test_to_odbc_dsn() -> None: + creds = resolve_configuration( + MsSqlCredentials("mssql://test_user:test_password@sql.example.com:12345/test_db?FOO=a&BAR=b") + ) + + dsn = creds.to_odbc_dsn() + + result = {k: v for k, v in (param.split('=') for param in dsn.split(";"))} + + assert result == { + 'DRIVER': 'ODBC Driver 18 for SQL Server', + 'SERVER': 'sql.example.com,12345', + 'DATABASE': 'test_db', + 'UID': 'test_user', + 'PWD': 'test_password', + 'FOO': 'a', + 'BAR': 'b' + } diff --git a/tests/load/pipeline/test_arrow_loading.py b/tests/load/pipeline/test_arrow_loading.py index b69ac5d2be..bd709e764d 100644 --- a/tests/load/pipeline/test_arrow_loading.py +++ b/tests/load/pipeline/test_arrow_loading.py @@ -46,7 +46,7 @@ def some_data(): assert some_table_columns["time"]["data_type"] == "time" qual_name = pipeline.sql_client().make_qualified_table_name("some_data") - rows = [list(row) for row in select_data(pipeline, f"SELECT * FROM {qual_name} ORDER BY 1")] + rows = [list(row) for row in select_data(pipeline, f"SELECT * FROM {qual_name}")] for row in rows: for i in range(len(row)): @@ -66,7 +66,7 @@ def some_data(): if isinstance(row[i], datetime): row[i] = pendulum.instance(row[i]) - expected = sorted([list(r.values()) for r in records], key=lambda x: x[0]) + expected = sorted([list(r.values()) for r in records]) for row in expected: for i in range(len(row)): @@ -75,6 +75,10 @@ def some_data(): load_id = load_info.loads_ids[0] + # Sort rows by all columns except _dlt_id/_dlt_load_id for deterministic comparison + rows = sorted(rows, key=lambda row: row[:-2]) + expected = sorted(expected) + for row, expected_row in zip(rows, expected): # Compare without _dlt_id/_dlt_load_id columns assert row[:-2] == expected_row From 517dc40196e6f9ad6495f68afa28879bc98e020a Mon Sep 17 00:00:00 2001 From: Adrian Date: Wed, 8 Nov 2023 16:05:08 +0100 Subject: [PATCH 18/28] fix canonical link --- docs/website/blog/2023-10-26-dlt-prefect.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/website/blog/2023-10-26-dlt-prefect.md b/docs/website/blog/2023-10-26-dlt-prefect.md index c78a47b7b5..8bd6321489 100644 --- a/docs/website/blog/2023-10-26-dlt-prefect.md +++ b/docs/website/blog/2023-10-26-dlt-prefect.md @@ -13,6 +13,10 @@ authors: tags: [dbt runner, dbt cloud runner, dbt core runner] --- + + + + This article is reposted from Prefect.io blog, and you can read the original [there](https://www.prefect.io/blog/building-resilient-data-pipelines-in-minutes-with-dlt-prefect). >The hardest part about writing a blog is getting started - writing the outline and filling out the first few key points. The same can be said for writing data pipelines: you need to inspect docs, determine data structures, write tests, etc. From ecd37605c177aae5be82f7aafd839c07c5f78c23 Mon Sep 17 00:00:00 2001 From: Alena Astrakhantseva Date: Wed, 8 Nov 2023 17:00:03 +0100 Subject: [PATCH 19/28] Example: nested mongo data (#737) * add mongodb example * add three examples how to control nested data --- .github/workflows/test_doc_snippets.yml | 2 + docs/examples/chess_production/chess.py | 3 +- docs/examples/nested_data/.dlt/config.toml | 0 docs/examples/nested_data/.dlt/secrets.toml | 2 + docs/examples/nested_data/__init__.py | 0 docs/examples/nested_data/nested_data.py | 138 ++++++++++++++++ .../docs/examples/chess_production/index.md | 1 - .../docs/examples/nested_data/__init__.py | 0 .../nested_data/code/.dlt/config.toml | 2 + .../nested_data/code/.dlt/secrets.toml | 4 + .../examples/nested_data/code/__init__.py | 0 .../nested_data/code/nested_data-snippets.py | 156 ++++++++++++++++++ .../docs/examples/nested_data/index.md | 140 ++++++++++++++++ docs/website/sidebars.js | 1 + poetry.lock | 128 +++++++++++--- pyproject.toml | 1 + 16 files changed, 550 insertions(+), 28 deletions(-) create mode 100644 docs/examples/nested_data/.dlt/config.toml create mode 100644 docs/examples/nested_data/.dlt/secrets.toml create mode 100644 docs/examples/nested_data/__init__.py create mode 100644 docs/examples/nested_data/nested_data.py create mode 100644 docs/website/docs/examples/nested_data/__init__.py create mode 100644 docs/website/docs/examples/nested_data/code/.dlt/config.toml create mode 100644 docs/website/docs/examples/nested_data/code/.dlt/secrets.toml create mode 100644 docs/website/docs/examples/nested_data/code/__init__.py create mode 100644 docs/website/docs/examples/nested_data/code/nested_data-snippets.py create mode 100644 docs/website/docs/examples/nested_data/index.md diff --git a/.github/workflows/test_doc_snippets.yml b/.github/workflows/test_doc_snippets.yml index 554c2efba2..ad7d544219 100644 --- a/.github/workflows/test_doc_snippets.yml +++ b/.github/workflows/test_doc_snippets.yml @@ -22,6 +22,8 @@ env: SOURCES__ZENDESK__CREDENTIALS: ${{ secrets.ZENDESK__CREDENTIALS }} # Slack hook for chess in production example RUNTIME__SLACK_INCOMING_HOOK: ${{ secrets.RUNTIME__SLACK_INCOMING_HOOK }} + # Mongodb url for nested data example + MONGODB_PIPELINE__SOURCES__CONNECTION_URL: ${{ secrets.MONGODB_PIPELINE__SOURCES__CONNECTION_URL }} jobs: run_lint: diff --git a/docs/examples/chess_production/chess.py b/docs/examples/chess_production/chess.py index 0ff5ce7c7f..79b573fe43 100644 --- a/docs/examples/chess_production/chess.py +++ b/docs/examples/chess_production/chess.py @@ -3,7 +3,6 @@ import dlt from dlt.common import sleep -from dlt.common.runtime.slack import send_slack_message from dlt.common.typing import StrAny, TDataItems from dlt.sources.helpers.requests import client @@ -161,4 +160,4 @@ def load_data_with_retry(pipeline, data): ) # get data for a few famous players data = chess(chess_url="https://api.chess.com/pub/", max_players=MAX_PLAYERS) - load_data_with_retry(pipeline, data) + load_data_with_retry(pipeline, data) \ No newline at end of file diff --git a/docs/examples/nested_data/.dlt/config.toml b/docs/examples/nested_data/.dlt/config.toml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/examples/nested_data/.dlt/secrets.toml b/docs/examples/nested_data/.dlt/secrets.toml new file mode 100644 index 0000000000..791942a3ed --- /dev/null +++ b/docs/examples/nested_data/.dlt/secrets.toml @@ -0,0 +1,2 @@ +[mongodb_pipeline.sources] +connection_url="" \ No newline at end of file diff --git a/docs/examples/nested_data/__init__.py b/docs/examples/nested_data/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/examples/nested_data/nested_data.py b/docs/examples/nested_data/nested_data.py new file mode 100644 index 0000000000..3e4a1295c3 --- /dev/null +++ b/docs/examples/nested_data/nested_data.py @@ -0,0 +1,138 @@ +from itertools import islice +from typing import Any, Dict, Iterator, Optional + +from bson.decimal128 import Decimal128 +from bson.objectid import ObjectId +from pendulum import _datetime +from pymongo import MongoClient + +import dlt +from dlt.common.time import ensure_pendulum_datetime +from dlt.common.typing import TDataItem +from dlt.common.utils import map_nested_in_place + +CHUNK_SIZE = 10000 + +# You can limit how deep dlt goes when generating child tables. +# By default, the library will descend and generate child tables +# for all nested lists, without a limit. +# In this example, we specify that we only want to generate child tables up to level 2, +# so there will be only one level of child tables within child tables. +@dlt.source(max_table_nesting=2) +def mongodb_collection( + connection_url: str = dlt.secrets.value, + database: Optional[str] = dlt.config.value, + collection: str = dlt.config.value, + incremental: Optional[dlt.sources.incremental] = None, # type: ignore[type-arg] + write_disposition: Optional[str] = dlt.config.value, +) -> Any: + # set up mongo client + client: Any = MongoClient(connection_url, uuidRepresentation="standard", tz_aware=True) + mongo_database = client.get_default_database() if not database else client[database] + collection_obj = mongo_database[collection] + + def collection_documents( + client: Any, + collection: Any, + incremental: Optional[dlt.sources.incremental[Any]] = None, + ) -> Iterator[TDataItem]: + LoaderClass = CollectionLoader + + loader = LoaderClass(client, collection, incremental=incremental) + yield from loader.load_documents() + + return dlt.resource( # type: ignore + collection_documents, + name=collection_obj.name, + primary_key="_id", + write_disposition=write_disposition, + )(client, collection_obj, incremental=incremental) + + +class CollectionLoader: + def __init__( + self, + client: Any, + collection: Any, + incremental: Optional[dlt.sources.incremental[Any]] = None, + ) -> None: + self.client = client + self.collection = collection + self.incremental = incremental + if incremental: + self.cursor_field = incremental.cursor_path + self.last_value = incremental.last_value + else: + self.cursor_column = None + self.last_value = None + + @property + def _filter_op(self) -> Dict[str, Any]: + if not self.incremental or not self.last_value: + return {} + if self.incremental.last_value_func is max: + return {self.cursor_field: {"$gte": self.last_value}} + elif self.incremental.last_value_func is min: + return {self.cursor_field: {"$lt": self.last_value}} + return {} + + def load_documents(self) -> Iterator[TDataItem]: + cursor = self.collection.find(self._filter_op) + while docs_slice := list(islice(cursor, CHUNK_SIZE)): + yield map_nested_in_place(convert_mongo_objs, docs_slice) + +def convert_mongo_objs(value: Any) -> Any: + if isinstance(value, (ObjectId, Decimal128)): + return str(value) + if isinstance(value, _datetime.datetime): + return ensure_pendulum_datetime(value) + return value + + +if __name__ == "__main__": + # When we created the source, we set max_table_nesting to 2. + # This ensures that the generated tables do not have more than two + # levels of nesting, even if the original data structure is more deeply nested. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="unpacked_data", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + load_info = pipeline.run(source_data) + print(load_info) + + # The second method involves setting the max_table_nesting attribute directly + # on the source data object. + # This allows for dynamic control over the maximum nesting + # level for a specific data source. + # Here the nesting level is adjusted before running the pipeline. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="not_unpacked_data", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + source_data.max_table_nesting = 0 + load_info = pipeline.run(source_data) + print(load_info) + + # The third method involves applying data type hints to specific columns in the data. + # In this case, we tell dlt that column 'cast' (containing a list of actors) + # in 'movies' table should have type complex which means + # that it will be loaded as JSON/struct and not as child table. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="unpacked_data_without_cast", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + source_data.movies.apply_hints(columns={"cast": {"data_type": "complex"}}) + load_info = pipeline.run(source_data) + print(load_info) diff --git a/docs/website/docs/examples/chess_production/index.md b/docs/website/docs/examples/chess_production/index.md index f821600c67..c8278f8676 100644 --- a/docs/website/docs/examples/chess_production/index.md +++ b/docs/website/docs/examples/chess_production/index.md @@ -32,7 +32,6 @@ from typing import Any, Iterator import dlt from dlt.common import sleep -from dlt.common.runtime.slack import send_slack_message from dlt.common.typing import StrAny, TDataItems from dlt.sources.helpers.requests import client diff --git a/docs/website/docs/examples/nested_data/__init__.py b/docs/website/docs/examples/nested_data/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/website/docs/examples/nested_data/code/.dlt/config.toml b/docs/website/docs/examples/nested_data/code/.dlt/config.toml new file mode 100644 index 0000000000..be627e6c11 --- /dev/null +++ b/docs/website/docs/examples/nested_data/code/.dlt/config.toml @@ -0,0 +1,2 @@ +# @@@DLT_SNIPPET_START example +# @@@DLT_SNIPPET_END example diff --git a/docs/website/docs/examples/nested_data/code/.dlt/secrets.toml b/docs/website/docs/examples/nested_data/code/.dlt/secrets.toml new file mode 100644 index 0000000000..e119d46d91 --- /dev/null +++ b/docs/website/docs/examples/nested_data/code/.dlt/secrets.toml @@ -0,0 +1,4 @@ +# @@@DLT_SNIPPET_START example +[mongodb_pipeline.sources] +connection_url="" +# @@@DLT_SNIPPET_END example diff --git a/docs/website/docs/examples/nested_data/code/__init__.py b/docs/website/docs/examples/nested_data/code/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/website/docs/examples/nested_data/code/nested_data-snippets.py b/docs/website/docs/examples/nested_data/code/nested_data-snippets.py new file mode 100644 index 0000000000..d6328fc2c5 --- /dev/null +++ b/docs/website/docs/examples/nested_data/code/nested_data-snippets.py @@ -0,0 +1,156 @@ +def nested_data_snippet() -> None: + # @@@DLT_SNIPPET_START example + # @@@DLT_SNIPPET_START nested_data + from itertools import islice + from typing import Any, Dict, Iterator, Optional + + from bson.decimal128 import Decimal128 + from bson.objectid import ObjectId + from pendulum import _datetime + from pymongo import MongoClient + + import dlt + from dlt.common.time import ensure_pendulum_datetime + from dlt.common.typing import TDataItem + from dlt.common.utils import map_nested_in_place + + CHUNK_SIZE = 10000 + + # You can limit how deep dlt goes when generating child tables. + # By default, the library will descend and generate child tables + # for all nested lists, without a limit. + # In this example, we specify that we only want to generate child tables up to level 2, + # so there will be only one level of child tables within child tables. + @dlt.source(max_table_nesting=2) + def mongodb_collection( + connection_url: str = dlt.secrets.value, + database: Optional[str] = dlt.config.value, + collection: str = dlt.config.value, + incremental: Optional[dlt.sources.incremental] = None, # type: ignore[type-arg] + write_disposition: Optional[str] = dlt.config.value, + ) -> Any: + # set up mongo client + client: Any = MongoClient(connection_url, uuidRepresentation="standard", tz_aware=True) + mongo_database = client.get_default_database() if not database else client[database] + collection_obj = mongo_database[collection] + + def collection_documents( + client: Any, + collection: Any, + incremental: Optional[dlt.sources.incremental[Any]] = None, + ) -> Iterator[TDataItem]: + LoaderClass = CollectionLoader + + loader = LoaderClass(client, collection, incremental=incremental) + yield from loader.load_documents() + + return dlt.resource( # type: ignore + collection_documents, + name=collection_obj.name, + primary_key="_id", + write_disposition=write_disposition, + )(client, collection_obj, incremental=incremental) + + # @@@DLT_SNIPPET_END nested_data + + class CollectionLoader: + def __init__( + self, + client: Any, + collection: Any, + incremental: Optional[dlt.sources.incremental[Any]] = None, + ) -> None: + self.client = client + self.collection = collection + self.incremental = incremental + if incremental: + self.cursor_field = incremental.cursor_path + self.last_value = incremental.last_value + else: + self.cursor_column = None + self.last_value = None + + @property + def _filter_op(self) -> Dict[str, Any]: + if not self.incremental or not self.last_value: + return {} + if self.incremental.last_value_func is max: + return {self.cursor_field: {"$gte": self.last_value}} + elif self.incremental.last_value_func is min: + return {self.cursor_field: {"$lt": self.last_value}} + return {} + + def load_documents(self) -> Iterator[TDataItem]: + cursor = self.collection.find(self._filter_op) + while docs_slice := list(islice(cursor, CHUNK_SIZE)): + yield map_nested_in_place(convert_mongo_objs, docs_slice) + + def convert_mongo_objs(value: Any) -> Any: + if isinstance(value, (ObjectId, Decimal128)): + return str(value) + if isinstance(value, _datetime.datetime): + return ensure_pendulum_datetime(value) + return value + + # @@@DLT_SNIPPET_START nested_data_run + + __name__ = "__main__" # @@@DLT_REMOVE + if __name__ == "__main__": + # When we created the source, we set max_table_nesting to 2. + # This ensures that the generated tables do not have more than two + # levels of nesting, even if the original data structure is more deeply nested. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="unpacked_data", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + load_info = pipeline.run(source_data) + print(load_info) + tables = pipeline.last_trace.last_normalize_info.row_counts # @@@DLT_REMOVE + tables.pop("_dlt_pipeline_state") # @@@DLT_REMOVE + assert (len(tables) == 7), pipeline.last_trace.last_normalize_info # @@@DLT_REMOVE + + # The second method involves setting the max_table_nesting attribute directly + # on the source data object. + # This allows for dynamic control over the maximum nesting + # level for a specific data source. + # Here the nesting level is adjusted before running the pipeline. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="not_unpacked_data", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + source_data.max_table_nesting = 0 + load_info = pipeline.run(source_data) + print(load_info) + tables = pipeline.last_trace.last_normalize_info.row_counts # @@@DLT_REMOVE + tables.pop("_dlt_pipeline_state") # @@@DLT_REMOVE + assert (len(tables) == 1), pipeline.last_trace.last_normalize_info # @@@DLT_REMOVE + + # The third method involves applying data type hints to specific columns in the data. + # In this case, we tell dlt that column 'cast' (containing a list of actors) + # in 'movies' table should have type complex which means + # that it will be loaded as JSON/struct and not as child table. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="unpacked_data_without_cast", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + source_data.movies.apply_hints(columns={"cast": {"data_type": "complex"}}) + load_info = pipeline.run(source_data) + print(load_info) + tables = pipeline.last_trace.last_normalize_info.row_counts # @@@DLT_REMOVE + tables.pop("_dlt_pipeline_state") # @@@DLT_REMOVE + assert (len(tables) == 6), pipeline.last_trace.last_normalize_info # @@@DLT_REMOVE + + # @@@DLT_SNIPPET_END nested_data_run + # @@@DLT_SNIPPET_END example diff --git a/docs/website/docs/examples/nested_data/index.md b/docs/website/docs/examples/nested_data/index.md new file mode 100644 index 0000000000..dd5db5009c --- /dev/null +++ b/docs/website/docs/examples/nested_data/index.md @@ -0,0 +1,140 @@ +--- +title: Control nested MongoDB data +description: Learn how control nested data +keywords: [incremental loading, example] +--- + +import Header from '../_examples-header.md'; + +

+ +## Control nested data + +In this example, you'll find a Python script that demonstrates how to control nested data using the `dlt` library. + +We'll learn how to: +- [Adjust maximum nesting level in three ways:](../../general-usage/source#reduce-the-nesting-level-of-generated-tables) + - Limit nesting levels with dlt decorator. + - Dynamic nesting level adjustment. + - Apply data type hints. +- Work with [MongoDB](../../dlt-ecosystem/verified-sources/mongodb) in Python and `dlt`. +- Enable [incremental loading](../../general-usage/incremental-loading) for efficient data extraction. + +### Install pymongo + +```shell + pip install pymongo>=4.3.3 +``` + +### Loading code + + +```py +from itertools import islice +from typing import Any, Dict, Iterator, Optional + +from bson.decimal128 import Decimal128 +from bson.objectid import ObjectId +from pendulum import _datetime +from pymongo import MongoClient + +import dlt +from dlt.common.time import ensure_pendulum_datetime +from dlt.common.typing import TDataItem +from dlt.common.utils import map_nested_in_place + +CHUNK_SIZE = 10000 + +# You can limit how deep dlt goes when generating child tables. +# By default, the library will descend and generate child tables +# for all nested lists, without a limit. +# In this example, we specify that we only want to generate child tables up to level 2, +# so there will be only one level of child tables within child tables. +@dlt.source(max_table_nesting=2) +def mongodb_collection( + connection_url: str = dlt.secrets.value, + database: Optional[str] = dlt.config.value, + collection: str = dlt.config.value, + incremental: Optional[dlt.sources.incremental] = None, # type: ignore[type-arg] + write_disposition: Optional[str] = dlt.config.value, +) -> Any: + # set up mongo client + client = MongoClient(connection_url, uuidRepresentation="standard", tz_aware=True) + mongo_database = client.get_default_database() if not database else client[database] + collection_obj = mongo_database[collection] + + def collection_documents( + client, + collection, + incremental: Optional[dlt.sources.incremental[Any]] = None, + ) -> Iterator[TDataItem]: + LoaderClass = CollectionLoader + + loader = LoaderClass(client, collection, incremental=incremental) + yield from loader.load_documents() + + return dlt.resource( # type: ignore + collection_documents, + name=collection_obj.name, + primary_key="_id", + write_disposition=write_disposition, + )(client, collection_obj, incremental=incremental) +``` + + +### Run the pipeline + + +```py +if __name__ == "__main__": + # When we created the source, we set max_table_nesting to 2. + # This ensures that the generated tables do not have more than two + # levels of nesting, even if the original data structure is more deeply nested. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="unpacked_data", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + load_info = pipeline.run(source_data) + print(load_info) + + # The second method involves setting the max_table_nesting attribute directly + # on the source data object. + # This allows for dynamic control over the maximum nesting + # level for a specific data source. + # Here the nesting level is adjusted before running the pipeline. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="not_unpacked_data", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + source_data.max_table_nesting = 0 + load_info = pipeline.run(source_data) + print(load_info) + + # The third method involves applying data type hints to specific columns in the data. + # In this case, we tell dlt that column 'cast' (containing a list of actors) + # in 'movies' table should have type complex which means + # that it will be loaded as JSON/struct and not as child table. + pipeline = dlt.pipeline( + pipeline_name="mongodb_pipeline", + destination="duckdb", + dataset_name="unpacked_data_without_cast", + ) + source_data = mongodb_collection( + collection="movies", write_disposition="replace" + ) + source_data.movies.apply_hints(columns={"cast": {"data_type": "complex"}}) + load_info = pipeline.run(source_data) + print(load_info) +``` + diff --git a/docs/website/sidebars.js b/docs/website/sidebars.js index 69fe9d2be6..1546a26029 100644 --- a/docs/website/sidebars.js +++ b/docs/website/sidebars.js @@ -241,6 +241,7 @@ const sidebars = { 'examples/incremental_loading/index', 'examples/connector_x_arrow/index', 'examples/chess_production/index', + 'examples/nested_data/index', ], }, { diff --git a/poetry.lock b/poetry.lock index 72c24349c6..fecaee1be3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3289,7 +3289,6 @@ files = [ {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, - {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"}, {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, @@ -3298,7 +3297,6 @@ files = [ {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, - {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, @@ -3328,7 +3326,6 @@ files = [ {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, - {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, @@ -3337,7 +3334,6 @@ files = [ {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, - {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"}, {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, @@ -4292,16 +4288,6 @@ files = [ {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-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {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"}, @@ -5951,6 +5937,108 @@ dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pyte docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] +[[package]] +name = "pymongo" +version = "4.6.0" +description = "Python driver for MongoDB " +optional = false +python-versions = ">=3.7" +files = [ + {file = "pymongo-4.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c011bd5ad03cc096f99ffcfdd18a1817354132c1331bed7a837a25226659845f"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux1_i686.whl", hash = "sha256:5e63146dbdb1eac207464f6e0cfcdb640c9c5ff0f57b754fa96fe252314a1dc6"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:2972dd1f1285866aba027eff2f4a2bbf8aa98563c2ced14cb34ee5602b36afdf"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_i686.whl", hash = "sha256:a0be99b599da95b7a90a918dd927b20c434bea5e1c9b3efc6a3c6cd67c23f813"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_ppc64le.whl", hash = "sha256:9b0f98481ad5dc4cb430a60bbb8869f05505283b9ae1c62bdb65eb5e020ee8e3"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_s390x.whl", hash = "sha256:256c503a75bd71cf7fb9ebf889e7e222d49c6036a48aad5a619f98a0adf0e0d7"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:b4ad70d7cac4ca0c7b31444a0148bd3af01a2662fa12b1ad6f57cd4a04e21766"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5717a308a703dda2886a5796a07489c698b442f5e409cf7dc2ac93de8d61d764"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f7f9feecae53fa18d6a3ea7c75f9e9a1d4d20e5c3f9ce3fba83f07bcc4eee2"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:128b1485753106c54af481789cdfea12b90a228afca0b11fb3828309a907e10e"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3077a31633beef77d057c6523f5de7271ddef7bde5e019285b00c0cc9cac1e3"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ebf02c32afa6b67e5861a27183dd98ed88419a94a2ab843cc145fb0bafcc5b28"}, + {file = "pymongo-4.6.0-cp310-cp310-win32.whl", hash = "sha256:b14dd73f595199f4275bed4fb509277470d9b9059310537e3b3daba12b30c157"}, + {file = "pymongo-4.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:8adf014f2779992eba3b513e060d06f075f0ab2fb3ad956f413a102312f65cdf"}, + {file = "pymongo-4.6.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ba51129fcc510824b6ca6e2ce1c27e3e4d048b6e35d3ae6f7e517bed1b8b25ce"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2973f113e079fb98515722cd728e1820282721ec9fd52830e4b73cabdbf1eb28"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af425f323fce1b07755edd783581e7283557296946212f5b1a934441718e7528"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ec71ac633b126c0775ed4604ca8f56c3540f5c21a1220639f299e7a544b55f9"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ec6c20385c5a58e16b1ea60c5e4993ea060540671d7d12664f385f2fb32fe79"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:85f2cdc400ee87f5952ebf2a117488f2525a3fb2e23863a8efe3e4ee9e54e4d1"}, + {file = "pymongo-4.6.0-cp311-cp311-win32.whl", hash = "sha256:7fc2bb8a74dcfcdd32f89528e38dcbf70a3a6594963d60dc9595e3b35b66e414"}, + {file = "pymongo-4.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6695d7136a435c1305b261a9ddb9b3ecec9863e05aab3935b96038145fd3a977"}, + {file = "pymongo-4.6.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d603edea1ff7408638b2504905c032193b7dcee7af269802dbb35bc8c3310ed5"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79f41576b3022c2fe9780ae3e44202b2438128a25284a8ddfa038f0785d87019"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49f2af6cf82509b15093ce3569229e0d53c90ad8ae2eef940652d4cf1f81e045"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ecd9e1fa97aa11bf67472220285775fa15e896da108f425e55d23d7540a712ce"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d2be5c9c3488fa8a70f83ed925940f488eac2837a996708d98a0e54a861f212"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ab6bcc8e424e07c1d4ba6df96f7fb963bcb48f590b9456de9ebd03b88084fe8"}, + {file = "pymongo-4.6.0-cp312-cp312-win32.whl", hash = "sha256:47aa128be2e66abd9d1a9b0437c62499d812d291f17b55185cb4aa33a5f710a4"}, + {file = "pymongo-4.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:014e7049dd019a6663747ca7dae328943e14f7261f7c1381045dfc26a04fa330"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:288c21ab9531b037f7efa4e467b33176bc73a0c27223c141b822ab4a0e66ff2a"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:747c84f4e690fbe6999c90ac97246c95d31460d890510e4a3fa61b7d2b87aa34"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:055f5c266e2767a88bb585d01137d9c7f778b0195d3dbf4a487ef0638be9b651"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:82e620842e12e8cb4050d2643a81c8149361cd82c0a920fa5a15dc4ca8a4000f"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:6b18276f14b4b6d92e707ab6db19b938e112bd2f1dc3f9f1a628df58e4fd3f0d"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:680fa0fc719e1a3dcb81130858368f51d83667d431924d0bcf249644bce8f303"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:3919708594b86d0f5cdc713eb6fccd3f9b9532af09ea7a5d843c933825ef56c4"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db082f728160369d9a6ed2e722438291558fc15ce06d0a7d696a8dad735c236b"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e4ed21029d80c4f62605ab16398fe1ce093fff4b5f22d114055e7d9fbc4adb0"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bea9138b0fc6e2218147e9c6ce1ff76ff8e29dc00bb1b64842bd1ca107aee9f"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a0269811661ba93c472c8a60ea82640e838c2eb148d252720a09b5123f2c2fe"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d6a1b1361f118e7fefa17ae3114e77f10ee1b228b20d50c47c9f351346180c8"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e3b0127b260d4abae7b62203c4c7ef0874c901b55155692353db19de4b18bc4"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a49aca4d961823b2846b739380c847e8964ff7ae0f0a683992b9d926054f0d6d"}, + {file = "pymongo-4.6.0-cp37-cp37m-win32.whl", hash = "sha256:09c7de516b08c57647176b9fc21d929d628e35bcebc7422220c89ae40b62126a"}, + {file = "pymongo-4.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:81dd1308bd5630d2bb5980f00aa163b986b133f1e9ed66c66ce2a5bc3572e891"}, + {file = "pymongo-4.6.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:2f8c04277d879146eacda920476e93d520eff8bec6c022ac108cfa6280d84348"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:5802acc012bbb4bce4dff92973dff76482f30ef35dd4cb8ab5b0e06aa8f08c80"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ccd785fafa1c931deff6a7116e9a0d402d59fabe51644b0d0c268295ff847b25"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fe03bf25fae4b95d8afe40004a321df644400fdcba4c8e5e1a19c1085b740888"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:2ca0ba501898b2ec31e6c3acf90c31910944f01d454ad8e489213a156ccf1bda"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:10a379fb60f1b2406ae57b8899bacfe20567918c8e9d2d545e1b93628fcf2050"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:a4dc1319d0c162919ee7f4ee6face076becae2abbd351cc14f1fe70af5fb20d9"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:ddef295aaf80cefb0c1606f1995899efcb17edc6b327eb6589e234e614b87756"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:518c90bdd6e842c446d01a766b9136fec5ec6cc94f3b8c3f8b4a332786ee6b64"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b80a4ee19b3442c57c38afa978adca546521a8822d663310b63ae2a7d7b13f3a"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb438a8bf6b695bf50d57e6a059ff09652a07968b2041178b3744ea785fcef9b"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3db7d833a7c38c317dc95b54e27f1d27012e031b45a7c24e360b53197d5f6e7"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3729b8db02063da50eeb3db88a27670d85953afb9a7f14c213ac9e3dca93034b"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:39a1cd5d383b37285641d5a7a86be85274466ae336a61b51117155936529f9b3"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7b0e6361754ac596cd16bfc6ed49f69ffcd9b60b7bc4bcd3ea65c6a83475e4ff"}, + {file = "pymongo-4.6.0-cp38-cp38-win32.whl", hash = "sha256:806e094e9e85d8badc978af8c95b69c556077f11844655cb8cd2d1758769e521"}, + {file = "pymongo-4.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1394c4737b325166a65ae7c145af1ebdb9fb153ebedd37cf91d676313e4a67b8"}, + {file = "pymongo-4.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a8273e1abbcff1d7d29cbbb1ea7e57d38be72f1af3c597c854168508b91516c2"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:e16ade71c93f6814d095d25cd6d28a90d63511ea396bd96e9ffcb886b278baaa"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:325701ae7b56daa5b0692305b7cb505ca50f80a1288abb32ff420a8a209b01ca"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:cc94f9fea17a5af8cf1a343597711a26b0117c0b812550d99934acb89d526ed2"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:21812453354b151200034750cd30b0140e82ec2a01fd4357390f67714a1bfbde"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:0634994b026336195778e5693583c060418d4ab453eff21530422690a97e1ee8"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:ad4f66fbb893b55f96f03020e67dcab49ffde0177c6565ccf9dec4fdf974eb61"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:2703a9f8f5767986b4f51c259ff452cc837c5a83c8ed5f5361f6e49933743b2f"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bafea6061d63059d8bc2ffc545e2f049221c8a4457d236c5cd6a66678673eab"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f28ae33dc5a0b9cee06e95fd420e42155d83271ab75964baf747ce959cac5f52"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16a534da0e39785687b7295e2fcf9a339f4a20689024983d11afaa4657f8507"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef67fedd863ffffd4adfd46d9d992b0f929c7f61a8307366d664d93517f2c78e"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05c30fd35cc97f14f354916b45feea535d59060ef867446b5c3c7f9b609dd5dc"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1c63e3a2e8fb815c4b1f738c284a4579897e37c3cfd95fdb199229a1ccfb638a"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e5e193f89f4f8c1fe273f9a6e6df915092c9f2af6db2d1afb8bd53855025c11f"}, + {file = "pymongo-4.6.0-cp39-cp39-win32.whl", hash = "sha256:a09bfb51953930e7e838972ddf646c5d5f984992a66d79da6ba7f6a8d8a890cd"}, + {file = "pymongo-4.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:107a234dc55affc5802acb3b6d83cbb8c87355b38a9457fcd8806bdeb8bce161"}, + {file = "pymongo-4.6.0.tar.gz", hash = "sha256:fb1c56d891f9e34303c451998ef62ba52659648bb0d75b03c5e4ac223a3342c2"}, +] + +[package.dependencies] +dnspython = ">=1.16.0,<3.0.0" + +[package.extras] +aws = ["pymongo-auth-aws (<2.0.0)"] +encryption = ["certifi", "pymongo[aws]", "pymongocrypt (>=1.6.0,<2.0.0)"] +gssapi = ["pykerberos", "winkerberos (>=0.5.0)"] +ocsp = ["certifi", "cryptography (>=2.5)", "pyopenssl (>=17.2.0)", "requests (<3.0.0)", "service-identity (>=18.1.0)"] +snappy = ["python-snappy"] +test = ["pytest (>=7)"] +zstd = ["zstandard"] + [[package]] name = "pymysql" version = "1.1.0" @@ -6318,7 +6406,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"}, @@ -6326,15 +6413,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"}, @@ -6351,7 +6431,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"}, @@ -6359,7 +6438,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"}, @@ -8205,4 +8283,4 @@ weaviate = ["weaviate-client"] [metadata] lock-version = "2.0" python-versions = ">=3.8.1,<3.13" -content-hash = "2686fa0fe1e5f2e796b472f4be28af52e65b5d6bb0bcbbd8df784fd6bc63cf80" +content-hash = "82acaeeda4bb9354378d8647e4f20ce05ebca324c7fb20a9902c97eac2121b7a" diff --git a/pyproject.toml b/pyproject.toml index 2c327ce3b9..47ffd3e9c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -162,6 +162,7 @@ pymysql = "^1.1.0" pypdf2 = "^3.0.1" pydoc-markdown = "^4.8.2" connectorx="0.3.1" +pymongo = ">=4.3.3" [build-system] requires = ["poetry-core>=1.0.8"] From 380cdaa0c63fbff4dc65cb7f548c71078fd56757 Mon Sep 17 00:00:00 2001 From: Alena Astrakhantseva Date: Wed, 8 Nov 2023 17:34:46 +0100 Subject: [PATCH 20/28] fix typo toml->yaml and add caution (#741) --- .../docs/walkthroughs/adjust-a-schema.md | 57 ++++++++++++------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/docs/website/docs/walkthroughs/adjust-a-schema.md b/docs/website/docs/walkthroughs/adjust-a-schema.md index d62dc215d9..c1c6189ac4 100644 --- a/docs/website/docs/walkthroughs/adjust-a-schema.md +++ b/docs/website/docs/walkthroughs/adjust-a-schema.md @@ -28,7 +28,7 @@ dlt.pipeline( ) ``` -Following folder structure in project root folder will be created: +The following folder structure in the project root folder will be created: ``` schemas @@ -46,11 +46,10 @@ import_schema_path="schemas/import" ## 2. Run the pipeline to see the schemas To see the schemas, you must run your pipeline again. The `schemas` and `import`/`export` -directories will be created. In each directory, you'll see a `yaml` file with a file -`chess.schema.toml`. +directories will be created. In each directory, you'll see a `yaml` file (e.g. `chess.schema.yaml`). Look at the export schema (in the export folder): this is the schema that got inferred from the data -and was used to load it into the destination (i.e `duckdb`). +and was used to load it into the destination (e.g. `duckdb`). ## 3. Make changes in import schema @@ -59,20 +58,36 @@ hints that were explicitly declared in the `chess` source. You'll use this schem modifications, typically by pasting relevant snippets from your export schema and modifying them. You should keep the import schema as simple as possible and let `dlt` do the rest. -> 💡 How importing a schema works: -> -> 1. When a new pipeline is created and the source function is extracted for the first time, a new -> schema is added to pipeline. This schema is created out of global hints and resource hints -> present in the source extractor function. -> 1. Every such new schema will be saved to the `import` folder (if it does not exist there already) -> and used as the initial version for all future pipeline runs. -> 1. Once a schema is present in `import` folder, **it is writable by the user only**. -> 1. Any change to the schemas in that folder are detected and propagated to the pipeline -> automatically on the next run. It means that after an user update, the schema in `import` -> folder reverts all the automatic updates from the data. - -In next steps we'll experiment a lot, you will be warned to set `full_refresh=True` in the -`dlt.pipeline` until we are done experimenting. +💡 How importing a schema works: + +1. When a new pipeline is created and the source function is extracted for the first time, a new + schema is added to the pipeline. This schema is created out of global hints and resource hints + present in the source extractor function. +1. Every such new schema will be saved to the `import` folder (if it does not exist there already) + and used as the initial version for all future pipeline runs. +1. Once a schema is present in `import` folder, **it is writable by the user only**. +1. Any changes to the schemas in that folder are detected and propagated to the pipeline + automatically on the next run. It means that after a user update, the schema in `import` + folder reverts all the automatic updates from the data. + +In next steps we'll experiment a lot, you will be warned to set `full_refresh=True` until we are done experimenting. + +:::caution +`dlt` will **not modify** tables after they are created. +So if you have a `yaml` file, and you change it (e.g. change a data type or add a hint), +then you need to **delete the dataset** +or set `full_refresh=True`: +```python +dlt.pipeline( + import_schema_path="schemas/import", + export_schema_path="schemas/export", + pipeline_name="chess_pipeline", + destination='duckdb', + dataset_name="games_data", + full_refresh=True, +) +``` +::: ### Change the data type @@ -97,7 +112,7 @@ players_games: data_type: timestamp ``` -Run the pipeline script again and make sure that the change is visible in export schema. Then, +Run the pipeline script again and make sure that the change is visible in the export schema. Then, [launch the Streamlit app](../dlt-ecosystem/visualizations/exploring-the-data.md) to see the changed data. :::note @@ -122,7 +137,7 @@ white__aid: data_type: text ``` -For some reason you'd rather deal with a single JSON (or struct) column. Just declare the `white` +For some reason, you'd rather deal with a single JSON (or struct) column. Just declare the `white` column as `complex`, which will instruct `dlt` not to flatten it (or not convert into child table in case of a list). Do the same with `black` column: @@ -166,5 +181,5 @@ players_games: ## 4. Keep your import schema -Just add and push the import folder to git. It will be used automatically when cloned. Alternatively +Just add and push the import folder to git. It will be used automatically when cloned. Alternatively, [bundle such schema with your source](../general-usage/schema.md#attaching-schemas-to-sources). From 0a674394e317d699a8e967ba90046843364b0642 Mon Sep 17 00:00:00 2001 From: rudolfix Date: Wed, 8 Nov 2023 17:35:52 +0100 Subject: [PATCH 21/28] Rfix/docs standalone dbt (#733) * documents create_runner * documents dbt standalone runner * adds dbt deps to docs --- dlt/helpers/dbt/runner.py | 30 +- docs/website/.gitignore | 1 + .../dlt-ecosystem/destinations/snowflake.md | 13 +- .../transformations/dbt/__init__.py | 0 .../transformations/dbt/dbt-snippets.py | 20 + .../dlt-ecosystem/transformations/dbt/dbt.md | 44 + .../transformations/dbt/profiles.yml | 14 + poetry.lock | 7504 +++++++++-------- pyproject.toml | 2 + 9 files changed, 4018 insertions(+), 3610 deletions(-) create mode 100644 docs/website/docs/dlt-ecosystem/transformations/dbt/__init__.py create mode 100644 docs/website/docs/dlt-ecosystem/transformations/dbt/dbt-snippets.py create mode 100644 docs/website/docs/dlt-ecosystem/transformations/dbt/profiles.yml diff --git a/dlt/helpers/dbt/runner.py b/dlt/helpers/dbt/runner.py index 2e857b2256..381260536c 100644 --- a/dlt/helpers/dbt/runner.py +++ b/dlt/helpers/dbt/runner.py @@ -271,5 +271,31 @@ def create_runner( package_profile_name: str = None, auto_full_refresh_when_out_of_sync: bool = None, config: DBTRunnerConfiguration = None - ) -> DBTPackageRunner: - return DBTPackageRunner(venv, credentials, working_dir, credentials.dataset_name, config) +) -> DBTPackageRunner: + """Creates a Python wrapper over `dbt` package present at specified location, that allows to control it (ie. run and test) from Python code. + + The created wrapper minimizes the required effort to run `dbt` packages. It clones the package repo and keeps it up to data, + optionally shares the `dlt` destination credentials with `dbt` and allows the isolated execution with `venv` parameter. + + Note that you can pass config and secrets in DBTRunnerConfiguration as configuration in section "dbt_package_runner" + + Args: + venv (Venv): A virtual environment with required dbt dependencies. Pass None to use current environment. + credentials (DestinationClientDwhConfiguration): Any configuration deriving from DestinationClientDwhConfiguration ie. ConnectionStringCredentials + working_dir (str): A working dir to which the package will be cloned + package_location (str): A git repository url to be cloned or a local path where dbt package is present + package_repository_branch (str, optional): A branch name, tag name or commit-id to check out. Defaults to None. + package_repository_ssh_key (TSecretValue, optional): SSH key to be used to clone private repositories. Defaults to TSecretValue(""). + package_profiles_dir (str, optional): Path to the folder where "profiles.yml" resides + package_profile_name (str, optional): Name of the profile in "profiles.yml" + auto_full_refresh_when_out_of_sync (bool, optional): If set to True (default), the wrapper will automatically fall back to full-refresh mode when schema is out of sync + See: https://docs.getdbt.com/docs/build/incremental-models#what-if-the-columns-of-my-incremental-model-change_description_. Defaults to None. + config (DBTRunnerConfiguration, optional): Explicit additional configuration for the runner. + + Returns: + DBTPackageRunner: A Python `dbt` wrapper + """ + dataset_name = credentials.dataset_name if credentials else "" + if venv is None: + venv = Venv.restore_current() + return DBTPackageRunner(venv, credentials, working_dir, dataset_name, config) diff --git a/docs/website/.gitignore b/docs/website/.gitignore index fe0be8784d..3e6e15d0c4 100644 --- a/docs/website/.gitignore +++ b/docs/website/.gitignore @@ -8,6 +8,7 @@ .docusaurus .cache-loader docs/api_reference +jaffle_shop # Misc .DS_Store diff --git a/docs/website/docs/dlt-ecosystem/destinations/snowflake.md b/docs/website/docs/dlt-ecosystem/destinations/snowflake.md index 16d579ee29..5efc31dde8 100644 --- a/docs/website/docs/dlt-ecosystem/destinations/snowflake.md +++ b/docs/website/docs/dlt-ecosystem/destinations/snowflake.md @@ -66,7 +66,7 @@ Now you can use the user named `LOADER` to access database `DLT_DATA` and log in You can also decrease the suspend time for your warehouse to 1 minute (**Admin**/**Warehouses** in Snowflake UI) ### Authentication types -Snowflake destination accepts two authentication type +Snowflake destination accepts three authentication types - password authentication - [key pair authentication](https://docs.snowflake.com/en/user-guide/key-pair-auth) @@ -95,6 +95,17 @@ If you pass a passphrase in the connection string, please url encode it. destination.snowflake.credentials="snowflake://loader:@kgiotue-wn98412/dlt_data?private_key=&private_key_passphrase=" ``` +In **external authentication** you can use oauth provider like Okta or external browser to authenticate. You pass your authenticator and refresh token as below: +```toml +[destination.snowflake.credentials] +database = "dlt_data" +username = "loader" +authenticator="..." +token="..." +``` +or in connection string as query parameters. +Refer to Snowflake [OAuth](https://docs.snowflake.com/en/user-guide/oauth-intro) for more details. + ## Write disposition All write dispositions are supported diff --git a/docs/website/docs/dlt-ecosystem/transformations/dbt/__init__.py b/docs/website/docs/dlt-ecosystem/transformations/dbt/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/website/docs/dlt-ecosystem/transformations/dbt/dbt-snippets.py b/docs/website/docs/dlt-ecosystem/transformations/dbt/dbt-snippets.py new file mode 100644 index 0000000000..beb1c862cc --- /dev/null +++ b/docs/website/docs/dlt-ecosystem/transformations/dbt/dbt-snippets.py @@ -0,0 +1,20 @@ +def run_dbt_standalone_snippet() -> None: + # @@@DLT_SNIPPET_START run_dbt_standalone + import os + + from dlt.helpers.dbt import create_runner + + runner = create_runner( + None, # use current virtual env to run dlt + None, # we do not need dataset name and we do not pass any credentials in environment to dlt + working_dir=".", # the package below will be cloned to current dir + package_location="https://github.com/dbt-labs/jaffle_shop.git", + package_profiles_dir=os.path.abspath("."), # profiles.yml must be placed in this dir + package_profile_name="duckdb_dlt_dbt_test" # name of the profile + ) + + models = runner.run_all() + # @@@DLT_SNIPPET_END run_dbt_standalone + + for m in models: + print(f"Model {m.model_name} materialized in {m.time} with status {m.status} and message {m.message}") diff --git a/docs/website/docs/dlt-ecosystem/transformations/dbt/dbt.md b/docs/website/docs/dlt-ecosystem/transformations/dbt/dbt.md index c2ebd9bc06..af2d5df469 100644 --- a/docs/website/docs/dlt-ecosystem/transformations/dbt/dbt.md +++ b/docs/website/docs/dlt-ecosystem/transformations/dbt/dbt.md @@ -55,6 +55,8 @@ pipeline = dlt.pipeline( ) # make or restore venv for dbt, using latest dbt version +# NOTE: if you have dbt installed in your current environment, just skip this line +# and the `venv` argument to dlt.dbt.package() venv = dlt.dbt.get_venv(pipeline) # get runner, optionally pass the venv @@ -78,6 +80,48 @@ for m in models: ) ``` +## How to run dbt runner without pipeline +You can use dbt runner without dlt pipeline. Example below will clone and run **jaffle shop** using a dbt profile that you supply. +It assumes that dbt is installed in the current Python environment and the `profile.yml` is in the same folder as the Python script. + +```py +import os + +from dlt.helpers.dbt import create_runner + +runner = create_runner( + None, # use current virtual env to run dlt + None, # we do not need dataset name and we do not pass any credentials in environment to dlt + working_dir=".", # the package below will be cloned to current dir + package_location="https://github.com/dbt-labs/jaffle_shop.git", + package_profiles_dir=os.path.abspath("."), # profiles.yml must be placed in this dir + package_profile_name="duckdb_dlt_dbt_test" # name of the profile +) + +models = runner.run_all() +``` + + +Here's example **duckdb** profile +```yaml +config: + # do not track usage, do not create .user.yml + send_anonymous_usage_stats: False + +duckdb_dlt_dbt_test: + target: analytics + outputs: + analytics: + type: duckdb + # schema: "{{ var('destination_dataset_name', var('source_dataset_name')) }}" + path: "duckdb_dlt_dbt_test.duckdb" + extensions: + - httpfs + - parquet +``` +You can run the example with dbt debug log: `RUNTIME__LOG_LEVEL=DEBUG python dbt_standalone.py` + + ## Other transforming tools If you want to transform the data before loading, you can use Python. If you want to transform the diff --git a/docs/website/docs/dlt-ecosystem/transformations/dbt/profiles.yml b/docs/website/docs/dlt-ecosystem/transformations/dbt/profiles.yml new file mode 100644 index 0000000000..99d66c958f --- /dev/null +++ b/docs/website/docs/dlt-ecosystem/transformations/dbt/profiles.yml @@ -0,0 +1,14 @@ +config: + # do not track usage, do not create .user.yml + send_anonymous_usage_stats: False + +duckdb_dlt_dbt_test: + target: analytics + outputs: + analytics: + type: duckdb + # schema: "{{ var('destination_dataset_name', var('source_dataset_name')) }}" + path: "duckdb_dlt_dbt_test.duckdb" + extensions: + - httpfs + - parquet \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index fecaee1be3..e925740fb7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,26 +1,18 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. - [[package]] name = "about-time" version = "4.2.1" description = "Easily measure timing and throughput of code blocks, with beautiful human friendly representations." +category = "dev" optional = false python-versions = ">=3.7, <4" -files = [ - {file = "about-time-4.2.1.tar.gz", hash = "sha256:6a538862d33ce67d997429d14998310e1dbfda6cb7d9bbfbf799c4709847fece"}, - {file = "about_time-4.2.1-py3-none-any.whl", hash = "sha256:8bbf4c75fe13cbd3d72f49a03b02c5c7dca32169b6d49117c257e7eb3eaee341"}, -] [[package]] name = "adlfs" version = "2023.8.0" description = "Access Azure Datalake Gen1 with fsspec and dask" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "adlfs-2023.8.0-py3-none-any.whl", hash = "sha256:3eb248a3c2a30b419f1147bd7676d156b5219f96ef7f11d47166afd2a3bdb07e"}, - {file = "adlfs-2023.8.0.tar.gz", hash = "sha256:07e804f6df4593acfcaf01025b162e30ac13e523d3570279c98b2d91a18026d9"}, -] [package.dependencies] aiohttp = ">=3.7.0" @@ -37,12 +29,9 @@ docs = ["furo", "myst-parser", "numpydoc", "sphinx"] name = "agate" version = "1.6.3" description = "A data analysis library that is optimized for humans instead of machines." -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "agate-1.6.3-py2.py3-none-any.whl", hash = "sha256:2d568fd68a8eb8b56c805a1299ba4bc30ca0434563be1bea309c9d1c1c8401f4"}, - {file = "agate-1.6.3.tar.gz", hash = "sha256:e0f2f813f7e12311a4cdccc97d6ba0a6781e9c1aa8eca0ab00d5931c0113a308"}, -] [package.dependencies] Babel = ">=2.0" @@ -61,12 +50,9 @@ test = ["PyICU (>=2.4.2)", "coverage (>=3.7.1)", "cssselect (>=0.9.1)", "lxml (> name = "aiobotocore" version = "2.5.2" description = "Async client for aws services using botocore and aiohttp" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "aiobotocore-2.5.2-py3-none-any.whl", hash = "sha256:337429ffd3cc367532572d40be809a84c7b5335f3f8eca2f23e09dfaa9a9ef90"}, - {file = "aiobotocore-2.5.2.tar.gz", hash = "sha256:e7399f21570db1c287f1c0c814dd3475dfe1c8166722e2c77ce67f172cbcfa89"}, -] [package.dependencies] aiohttp = ">=3.3.1,<4.0.0" @@ -82,97 +68,9 @@ boto3 = ["boto3 (>=1.26.161,<1.26.162)"] name = "aiohttp" version = "3.8.5" description = "Async http client/server framework (asyncio)" +category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, - {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, - {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, - {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, - {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, - {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, - {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, - {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, - {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, - {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, - {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, -] [package.dependencies] aiosignal = ">=1.1.2" @@ -190,12 +88,9 @@ speedups = ["Brotli", "aiodns", "cchardet"] name = "aioitertools" version = "0.11.0" description = "itertools and builtins for AsyncIO and mixed iterables" +category = "main" optional = true python-versions = ">=3.6" -files = [ - {file = "aioitertools-0.11.0-py3-none-any.whl", hash = "sha256:04b95e3dab25b449def24d7df809411c10e62aab0cbe31a50ca4e68748c43394"}, - {file = "aioitertools-0.11.0.tar.gz", hash = "sha256:42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831"}, -] [package.dependencies] typing_extensions = {version = ">=4.0", markers = "python_version < \"3.10\""} @@ -204,12 +99,9 @@ typing_extensions = {version = ">=4.0", markers = "python_version < \"3.10\""} name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, - {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, -] [package.dependencies] frozenlist = ">=1.1.0" @@ -218,12 +110,9 @@ frozenlist = ">=1.1.0" name = "alembic" version = "1.12.0" description = "A database migration tool for SQLAlchemy." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "alembic-1.12.0-py3-none-any.whl", hash = "sha256:03226222f1cf943deee6c85d9464261a6c710cd19b4fe867a3ad1f25afda610f"}, - {file = "alembic-1.12.0.tar.gz", hash = "sha256:8e7645c32e4f200675e69f0745415335eb59a3663f5feb487abfa0b30c45888b"}, -] [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.9\""} @@ -239,12 +128,9 @@ tz = ["python-dateutil"] name = "alive-progress" version = "3.1.4" description = "A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!" +category = "dev" optional = false python-versions = ">=3.7, <4" -files = [ - {file = "alive-progress-3.1.4.tar.gz", hash = "sha256:74a95d8d0d42bc99d3a3725dbd06ebb852245f1b64e301a7c375b92b22663f7b"}, - {file = "alive_progress-3.1.4-py3-none-any.whl", hash = "sha256:c80ad87ce9c1054b01135a87fae69ecebbfc2107497ae87cbe6aec7e534903db"}, -] [package.dependencies] about-time = "4.2.1" @@ -254,23 +140,17 @@ grapheme = "0.6.0" name = "ansicon" version = "1.89.0" description = "Python wrapper for loading Jason Hood's ANSICON" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "ansicon-1.89.0-py2.py3-none-any.whl", hash = "sha256:f1def52d17f65c2c9682cf8370c03f541f410c1752d6a14029f97318e4b9dfec"}, - {file = "ansicon-1.89.0.tar.gz", hash = "sha256:e4d039def5768a47e4afec8e89e83ec3ae5a26bf00ad851f914d1240b444d2b1"}, -] [[package]] name = "anyio" version = "4.0.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"}, - {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"}, -] [package.dependencies] exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} @@ -286,12 +166,9 @@ trio = ["trio (>=0.22)"] name = "apache-airflow" version = "2.7.0" description = "Programmatically author, schedule and monitor data pipelines" +category = "dev" optional = false python-versions = "~=3.8" -files = [ - {file = "apache-airflow-2.7.0.tar.gz", hash = "sha256:06fba3df5943b6eda5e2f033e7e45b6ea557d89909ca36e61614ea61075f9722"}, - {file = "apache_airflow-2.7.0-py3-none-any.whl", hash = "sha256:8e3cf4b3cd8583a2e76bd04827af8d34747e0cf30a28cf0e70f4f4f39ce61f6d"}, -] [package.dependencies] alembic = ">=1.6.3,<2.0" @@ -495,12 +372,9 @@ zendesk = ["apache-airflow-providers-zendesk"] name = "apache-airflow-providers-common-sql" version = "1.7.1" description = "Provider for Apache Airflow. Implements apache-airflow-providers-common-sql package" +category = "dev" optional = false python-versions = "~=3.8" -files = [ - {file = "apache-airflow-providers-common-sql-1.7.1.tar.gz", hash = "sha256:ba37f795d9656a87cf4661edc381b8ecfe930272c59324b59f8a158fd0971aeb"}, - {file = "apache_airflow_providers_common_sql-1.7.1-py3-none-any.whl", hash = "sha256:36da2f51b51a64765b0ed5e6a5fece8eaa3ca173dfbff803e2fe2a0afbb90944"}, -] [package.dependencies] apache-airflow = ">=2.4.0" @@ -514,12 +388,9 @@ pandas = ["pandas (>=0.17.1)"] name = "apache-airflow-providers-ftp" version = "3.5.1" description = "Provider for Apache Airflow. Implements apache-airflow-providers-ftp package" +category = "dev" optional = false python-versions = "~=3.8" -files = [ - {file = "apache-airflow-providers-ftp-3.5.1.tar.gz", hash = "sha256:dc6dc524dc7454857a0812154d7540172e36db3a87e48a4a91918ebf80898bbf"}, - {file = "apache_airflow_providers_ftp-3.5.1-py3-none-any.whl", hash = "sha256:e4ea77d6276355acfe2392c12155db7b9d51be460b7673b616dc1d8bee03c1d7"}, -] [package.dependencies] apache-airflow = ">=2.4.0" @@ -531,12 +402,9 @@ openlineage = ["apache-airflow-providers-openlineage"] name = "apache-airflow-providers-http" version = "4.5.1" description = "Provider for Apache Airflow. Implements apache-airflow-providers-http package" +category = "dev" optional = false python-versions = "~=3.8" -files = [ - {file = "apache-airflow-providers-http-4.5.1.tar.gz", hash = "sha256:ec90920ff980fc264af9811dc72c37ef272bcdb3d007c7114e12366559426460"}, - {file = "apache_airflow_providers_http-4.5.1-py3-none-any.whl", hash = "sha256:702f26938bc22684eefecd297c2b0809793f9e43b8d911d807a29f21e69da179"}, -] [package.dependencies] aiohttp = "*" @@ -549,12 +417,9 @@ requests-toolbelt = "*" name = "apache-airflow-providers-imap" version = "3.3.1" description = "Provider for Apache Airflow. Implements apache-airflow-providers-imap package" +category = "dev" optional = false python-versions = "~=3.8" -files = [ - {file = "apache-airflow-providers-imap-3.3.1.tar.gz", hash = "sha256:40bac2a75e4dfbcd7d397776d90d03938facaf2707acc6cc119a8db684e53f77"}, - {file = "apache_airflow_providers_imap-3.3.1-py3-none-any.whl", hash = "sha256:adb6ef7864a5a8e245fbbd555bb4ef1eecf5b094d6d23ca0edc5f0aded50490d"}, -] [package.dependencies] apache-airflow = ">=2.4.0" @@ -563,12 +428,9 @@ apache-airflow = ">=2.4.0" name = "apache-airflow-providers-sqlite" version = "3.4.3" description = "Provider for Apache Airflow. Implements apache-airflow-providers-sqlite package" +category = "dev" optional = false python-versions = "~=3.8" -files = [ - {file = "apache-airflow-providers-sqlite-3.4.3.tar.gz", hash = "sha256:347d2db03eaa5ea9fef414666565ffa5e849935cbc30e37237edcaa822b5ced8"}, - {file = "apache_airflow_providers_sqlite-3.4.3-py3-none-any.whl", hash = "sha256:4ffa6a50f0ea1b4e51240b657dfec3fb026c87bdfa71af908a56461df6a6f2e0"}, -] [package.dependencies] apache-airflow = ">=2.4.0" @@ -581,12 +443,9 @@ common-sql = ["apache-airflow-providers-common-sql"] name = "apispec" version = "6.3.0" description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "apispec-6.3.0-py3-none-any.whl", hash = "sha256:95a0b9355785df998bb0e9b939237a30ee4c7428fd6ef97305eae3da06b9b339"}, - {file = "apispec-6.3.0.tar.gz", hash = "sha256:6cb08d92ce73ff0b3bf46cb2ea5c00d57289b0f279fb0256a3df468182ba5344"}, -] [package.dependencies] packaging = ">=21.3" @@ -605,23 +464,17 @@ yaml = ["PyYAML (>=3.10)"] name = "appdirs" version = "1.4.4" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" optional = false python-versions = "*" -files = [ - {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, - {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, -] [[package]] name = "argcomplete" version = "3.1.1" description = "Bash tab completion for argparse" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "argcomplete-3.1.1-py3-none-any.whl", hash = "sha256:35fa893a88deea85ea7b20d241100e64516d6af6d7b0ae2bed1d263d26f70948"}, - {file = "argcomplete-3.1.1.tar.gz", hash = "sha256:6c4c563f14f01440aaffa3eae13441c5db2357b5eec639abe7c0b15334627dff"}, -] [package.extras] test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] @@ -630,12 +483,9 @@ test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] name = "asgiref" version = "3.7.2" description = "ASGI specs, helper code, and adapters" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"}, - {file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"}, -] [package.dependencies] typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} @@ -647,23 +497,17 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "asn1crypto" version = "1.5.1" description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" +category = "main" optional = true python-versions = "*" -files = [ - {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, - {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, -] [[package]] name = "astatine" version = "0.3.3" description = "Some handy helper functions for Python's AST module." +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "astatine-0.3.3-py3-none-any.whl", hash = "sha256:6d8c914f01fbea252cb8f31563f2e766a9ab03c02b9bcc37d18f7d9138828401"}, - {file = "astatine-0.3.3.tar.gz", hash = "sha256:0c58a7844b5890ff16da07dbfeb187341d8324cb4378940f89d795cbebebce08"}, -] [package.dependencies] asttokens = ">=1.1" @@ -673,12 +517,9 @@ domdf-python-tools = ">=2.7.0" name = "asttokens" version = "2.3.0" description = "Annotate AST trees with source code positions" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "asttokens-2.3.0-py2.py3-none-any.whl", hash = "sha256:bef1a51bc256d349e9f94e7e40e44b705ed1162f55294220dd561d24583d9877"}, - {file = "asttokens-2.3.0.tar.gz", hash = "sha256:2552a88626aaa7f0f299f871479fc755bd4e7c11e89078965e928fb7bb9a6afe"}, -] [package.dependencies] six = ">=1.12.0" @@ -690,12 +531,9 @@ test = ["astroid", "pytest"] name = "astunparse" version = "1.6.3" description = "An AST unparser for Python" +category = "main" optional = false python-versions = "*" -files = [ - {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"}, - {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"}, -] [package.dependencies] six = ">=1.6.1,<2.0" @@ -705,33 +543,25 @@ wheel = ">=0.23.0,<1.0" name = "async-timeout" version = "4.0.3" description = "Timeout context manager for asyncio programs" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] [[package]] name = "atomicwrites" version = "1.4.1" description = "Atomic file writes." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, -] [[package]] name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, -] [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] @@ -744,12 +574,9 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte name = "authlib" version = "1.2.1" description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients." +category = "main" optional = true python-versions = "*" -files = [ - {file = "Authlib-1.2.1-py2.py3-none-any.whl", hash = "sha256:c88984ea00149a90e3537c964327da930779afa4564e354edfd98410bea01911"}, - {file = "Authlib-1.2.1.tar.gz", hash = "sha256:421f7c6b468d907ca2d9afede256f068f87e34d23dd221c07d13d4c234726afb"}, -] [package.dependencies] cryptography = ">=3.2" @@ -758,12 +585,9 @@ cryptography = ">=3.2" name = "azure-core" version = "1.29.3" description = "Microsoft Azure Core Library for Python" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "azure-core-1.29.3.tar.gz", hash = "sha256:c92700af982e71c8c73de9f4c20da8b3f03ce2c22d13066e4d416b4629c87903"}, - {file = "azure_core-1.29.3-py3-none-any.whl", hash = "sha256:f8b2910f92b66293d93bd00564924ad20ad48f4a1e150577cf18d1e7d4f9263c"}, -] [package.dependencies] requests = ">=2.18.4" @@ -777,12 +601,9 @@ aio = ["aiohttp (>=3.0)"] name = "azure-datalake-store" version = "0.0.53" description = "Azure Data Lake Store Filesystem Client Library for Python" +category = "main" optional = true python-versions = "*" -files = [ - {file = "azure-datalake-store-0.0.53.tar.gz", hash = "sha256:05b6de62ee3f2a0a6e6941e6933b792b800c3e7f6ffce2fc324bc19875757393"}, - {file = "azure_datalake_store-0.0.53-py2.py3-none-any.whl", hash = "sha256:a30c902a6e360aa47d7f69f086b426729784e71c536f330b691647a51dc42b2b"}, -] [package.dependencies] cffi = "*" @@ -793,12 +614,9 @@ requests = ">=2.20.0" name = "azure-identity" version = "1.14.0" description = "Microsoft Azure Identity Library for Python" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "azure-identity-1.14.0.zip", hash = "sha256:72441799f8c5c89bfe21026965e266672a7c5d050c2c65119ef899dd5362e2b1"}, - {file = "azure_identity-1.14.0-py3-none-any.whl", hash = "sha256:edabf0e010eb85760e1dd19424d5e8f97ba2c9caff73a16e7b30ccbdbcce369b"}, -] [package.dependencies] azure-core = ">=1.11.0,<2.0.0" @@ -810,12 +628,9 @@ msal-extensions = ">=0.3.0,<2.0.0" name = "azure-storage-blob" version = "12.17.0" description = "Microsoft Azure Blob Storage Client Library for Python" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "azure-storage-blob-12.17.0.zip", hash = "sha256:c14b785a17050b30fc326a315bdae6bc4a078855f4f94a4c303ad74a48dc8c63"}, - {file = "azure_storage_blob-12.17.0-py3-none-any.whl", hash = "sha256:0016e0c549a80282d7b4920c03f2f4ba35c53e6e3c7dbcd2a4a8c8eb3882c1e7"}, -] [package.dependencies] azure-core = ">=1.28.0,<2.0.0" @@ -830,12 +645,9 @@ aio = ["azure-core[aio] (>=1.28.0,<2.0.0)"] name = "babel" version = "2.12.1" description = "Internationalization utilities" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, - {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, -] [package.dependencies] pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} @@ -844,23 +656,17 @@ pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} name = "backoff" version = "2.2.1" description = "Function decoration for backoff and retry" +category = "dev" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, - {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, -] [[package]] name = "bandit" version = "1.7.5" description = "Security oriented static analyser for python code." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, - {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, -] [package.dependencies] colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""} @@ -878,12 +684,9 @@ yaml = ["PyYAML"] name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" +category = "main" optional = true python-versions = ">=3.6.0" -files = [ - {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, - {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, -] [package.dependencies] soupsieve = ">1.2" @@ -896,32 +699,9 @@ lxml = ["lxml"] name = "black" version = "23.9.1" description = "The uncompromising code formatter." +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"}, - {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"}, - {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"}, - {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"}, - {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"}, - {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"}, - {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"}, - {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"}, - {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"}, - {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"}, - {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"}, - {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"}, - {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"}, -] [package.dependencies] click = ">=8.0.0" @@ -942,12 +722,9 @@ uvloop = ["uvloop (>=0.15.2)"] name = "blessed" version = "1.20.0" description = "Easy, practical library for making terminal apps, by providing an elegant, well-documented interface to Colors, Keyboard input, and screen Positioning capabilities." +category = "dev" optional = false python-versions = ">=2.7" -files = [ - {file = "blessed-1.20.0-py2.py3-none-any.whl", hash = "sha256:0c542922586a265e699188e52d5f5ac5ec0dd517e5a1041d90d2bbf23f906058"}, - {file = "blessed-1.20.0.tar.gz", hash = "sha256:2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680"}, -] [package.dependencies] jinxed = {version = ">=1.1.0", markers = "platform_system == \"Windows\""} @@ -958,23 +735,17 @@ wcwidth = ">=0.1.4" name = "blinker" version = "1.6.2" description = "Fast, simple object-to-object and broadcast signaling" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "blinker-1.6.2-py3-none-any.whl", hash = "sha256:c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0"}, - {file = "blinker-1.6.2.tar.gz", hash = "sha256:4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"}, -] [[package]] name = "boto3" version = "1.26.161" description = "The AWS SDK for Python" +category = "main" optional = true python-versions = ">= 3.7" -files = [ - {file = "boto3-1.26.161-py3-none-any.whl", hash = "sha256:f66e5c9dbe7f34383bcf64fa6070771355c11a44dd75c7f1279f2f37e1c89183"}, - {file = "boto3-1.26.161.tar.gz", hash = "sha256:662731e464d14af1035f44fc6a46b0e3112ee011ac0a5ed416d205daa3e15f25"}, -] [package.dependencies] botocore = ">=1.29.161,<1.30.0" @@ -988,12 +759,9 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] name = "boto3-stubs" version = "1.28.40" description = "Type annotations for boto3 1.28.40 generated with mypy-boto3-builder 7.18.2" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "boto3-stubs-1.28.40.tar.gz", hash = "sha256:76079a82f199087319762c931f13506e02129132e80257dab0888d3da7dc11c7"}, - {file = "boto3_stubs-1.28.40-py3-none-any.whl", hash = "sha256:bd1d1cbdcbf18902a090d4a746cdecef2a7ebe31cf9a474bbe407d57eaa79a6a"}, -] [package.dependencies] botocore-stubs = "*" @@ -1368,12 +1136,9 @@ xray = ["mypy-boto3-xray (>=1.28.0,<1.29.0)"] name = "botocore" version = "1.29.161" description = "Low-level, data-driven core of boto 3." +category = "main" optional = true python-versions = ">= 3.7" -files = [ - {file = "botocore-1.29.161-py3-none-any.whl", hash = "sha256:b906999dd53dda2ef0ef6f7f55fcc81a4b06b9f1c8a9f65c546e0b981f959f5f"}, - {file = "botocore-1.29.161.tar.gz", hash = "sha256:a50edd715eb510343e27849f36483804aae4b871590db4d4996aa53368dcac40"}, -] [package.dependencies] jmespath = ">=0.7.1,<2.0.0" @@ -1387,12 +1152,9 @@ crt = ["awscrt (==0.16.9)"] name = "botocore-stubs" version = "1.31.40" description = "Type annotations and code completion for botocore" +category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "botocore_stubs-1.31.40-py3-none-any.whl", hash = "sha256:aab534d7e7949cd543bc9b2fadc1a36712033cb00e6f31e2475eefe8486d19ae"}, - {file = "botocore_stubs-1.31.40.tar.gz", hash = "sha256:2001a253daf4ae2e171e6137b9982a00a7fbfc7a53449a16856dc049e7cd5214"}, -] [package.dependencies] types-awscrt = "*" @@ -1402,34 +1164,25 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.9\""} name = "cachelib" version = "0.9.0" description = "A collection of cache libraries in the same API interface." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "cachelib-0.9.0-py3-none-any.whl", hash = "sha256:811ceeb1209d2fe51cd2b62810bd1eccf70feba5c52641532498be5c675493b3"}, - {file = "cachelib-0.9.0.tar.gz", hash = "sha256:38222cc7c1b79a23606de5c2607f4925779e37cdcea1c2ad21b8bae94b5425a5"}, -] [[package]] name = "cachetools" version = "5.3.1" description = "Extensible memoizing collections and decorators" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, - {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, -] [[package]] name = "cattrs" version = "23.1.2" description = "Composable complex class support for attrs and dataclasses." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "cattrs-23.1.2-py3-none-any.whl", hash = "sha256:b2bb14311ac17bed0d58785e5a60f022e5431aca3932e3fc5cc8ed8639de50a4"}, - {file = "cattrs-23.1.2.tar.gz", hash = "sha256:db1c821b8c537382b2c7c66678c3790091ca0275ac486c76f3c8f3920e83c657"}, -] [package.dependencies] attrs = ">=20" @@ -1449,85 +1202,17 @@ ujson = ["ujson (>=5.4.0,<6.0.0)"] name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." +category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, -] [[package]] name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." +category = "main" optional = false python-versions = "*" -files = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, -] [package.dependencies] pycparser = "*" @@ -1536,107 +1221,25 @@ pycparser = "*" name = "chardet" version = "5.2.0" description = "Universal encoding detector for Python 3" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, - {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, -] [[package]] name = "charset-normalizer" version = "3.2.0" 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 = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, -] [[package]] name = "click" version = "8.1.7" description = "Composable command line interface toolkit" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -1645,12 +1248,9 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "clickclick" version = "20.10.2" description = "Click utility functions" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "clickclick-20.10.2-py2.py3-none-any.whl", hash = "sha256:c8f33e6d9ec83f68416dd2136a7950125bd256ec39ccc9a85c6e280a16be2bb5"}, - {file = "clickclick-20.10.2.tar.gz", hash = "sha256:4efb13e62353e34c5eef7ed6582c4920b418d7dedc86d819e22ee089ba01802c"}, -] [package.dependencies] click = ">=4.0" @@ -1660,23 +1260,17 @@ PyYAML = ">=3.11" 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 = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] [[package]] name = "coloredlogs" version = "15.0.1" description = "Colored terminal output for Python's logging module" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, - {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, -] [package.dependencies] humanfriendly = ">=9.1" @@ -1688,12 +1282,9 @@ cron = ["capturer (>=2.4)"] name = "colorlog" version = "4.8.0" description = "Log formatting with colors!" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "colorlog-4.8.0-py2.py3-none-any.whl", hash = "sha256:3dd15cb27e8119a24c1a7b5c93f9f3b455855e0f73993b1c25921b2f646f1dcd"}, - {file = "colorlog-4.8.0.tar.gz", hash = "sha256:59b53160c60902c405cdec28d38356e09d40686659048893e026ecbd589516b1"}, -] [package.dependencies] colorama = {version = "*", markers = "sys_platform == \"win32\""} @@ -1702,12 +1293,9 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} name = "configupdater" version = "3.1.1" description = "Parser like ConfigParser but for updating configuration files" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "ConfigUpdater-3.1.1-py2.py3-none-any.whl", hash = "sha256:805986dbeba317886c7a8d348b2e34986dc9e3128cd3761ecc35decbd372b286"}, - {file = "ConfigUpdater-3.1.1.tar.gz", hash = "sha256:46f0c74d73efa723776764b43c9739f68052495dd3d734319c1d0eb58511f15b"}, -] [package.extras] testing = ["flake8", "pytest", "pytest-cov", "pytest-virtualenv", "pytest-xdist", "sphinx"] @@ -1716,37 +1304,17 @@ testing = ["flake8", "pytest", "pytest-cov", "pytest-virtualenv", "pytest-xdist" name = "connectorx" version = "0.3.1" description = "" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "connectorx-0.3.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:719750045e7c3b94c199271fbfe6aef47944768e711f27bcc606b498707e0054"}, - {file = "connectorx-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aed31b08acebeb3ebbe53c0df846c686e7c27c4242bff3a75b72cf517d070257"}, - {file = "connectorx-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71d2c2678339fb01f89469bbe22e66e75cabcf727a52ed72d576fef5744ebc58"}, - {file = "connectorx-0.3.1-cp310-none-win_amd64.whl", hash = "sha256:92e576ef9610b59f8e5456c12d22e5b0752d0207f586df82701987657909888b"}, - {file = "connectorx-0.3.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:36c28cc59220998928e7b283eecf404e17e077dc3e525570096d0968b192cc64"}, - {file = "connectorx-0.3.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:c5173e7252f593c46787627a46561b0d949eb80ab23321e045bbf6bd5131945c"}, - {file = "connectorx-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c8411631750d24c12e5e296720637909b8515d5faa3b5eaf7bb86c582d02667"}, - {file = "connectorx-0.3.1-cp37-none-win_amd64.whl", hash = "sha256:0674b6389f8f2ba62155ac2f718df18f76f9de5c50d9911a5fefe7485e1c598e"}, - {file = "connectorx-0.3.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:324c5075e8aa6698db8c877cb847f0d86172784db88ac0f3e6762aa9852330f3"}, - {file = "connectorx-0.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:027a3880629a7b33ae0c7a80ab4fa53286957a253af2dfe34f19adfea6b79b91"}, - {file = "connectorx-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a666b967958fcf9fc0444a7b3603483ee23a2fe39f0da3d545ff199f376f7e4b"}, - {file = "connectorx-0.3.1-cp38-none-win_amd64.whl", hash = "sha256:3c5dedfd75cf44898c17cc84a1dd0ab6ed0fa54de0461f2d6aa4bcb2c2b0dc1d"}, - {file = "connectorx-0.3.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:354c4126bcd7a9efbb8879feac92e1e7b0d0712f7e98665c392af663805491f8"}, - {file = "connectorx-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3011e1f9a27fd2a7b12c6a45bc29f6e7577a27418a3f607adaf54b301ff09068"}, - {file = "connectorx-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1efb6ed547acc5837c2211e3d65d22948019d1653e7b30e522a4a4bd6d25fa8"}, - {file = "connectorx-0.3.1-cp39-none-win_amd64.whl", hash = "sha256:001b473e600b6d25af83b32674f98dccf49705a59bd6df724b5ba9beb236a0e0"}, -] [[package]] name = "connexion" version = "2.14.1" description = "Connexion - API first applications with OpenAPI/Swagger and Flask" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "connexion-2.14.1-py2.py3-none-any.whl", hash = "sha256:f343717241b4c4802a694c38fee66fb1693c897fe4ea5a957fa9b3b07caf6394"}, - {file = "connexion-2.14.1.tar.gz", hash = "sha256:99aa5781e70a7b94f8ffae8cf89f309d49cdb811bbd65a8e2f2546f3b19a01e6"}, -] [package.dependencies] clickclick = ">=1.2,<21" @@ -1770,11 +1338,9 @@ tests = ["MarkupSafe (>=0.23)", "aiohttp (>=2.3.10,<4)", "aiohttp-jinja2 (>=0.14 name = "cron-descriptor" version = "1.4.0" description = "A Python library that converts cron expressions into human readable strings." +category = "main" optional = false python-versions = "*" -files = [ - {file = "cron_descriptor-1.4.0.tar.gz", hash = "sha256:b6ff4e3a988d7ca04a4ab150248e9f166fb7a5c828a85090e75bcc25aa93b4dd"}, -] [package.extras] dev = ["polib"] @@ -1783,12 +1349,9 @@ dev = ["polib"] name = "croniter" version = "1.4.1" description = "croniter provides iteration for datetime object with cron like format" +category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "croniter-1.4.1-py2.py3-none-any.whl", hash = "sha256:9595da48af37ea06ec3a9f899738f1b2c1c13da3c38cea606ef7cd03ea421128"}, - {file = "croniter-1.4.1.tar.gz", hash = "sha256:1a6df60eacec3b7a0aa52a8f2ef251ae3dd2a7c7c8b9874e73e791636d55a361"}, -] [package.dependencies] python-dateutil = "*" @@ -1797,33 +1360,9 @@ python-dateutil = "*" name = "cryptography" version = "41.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, - {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, - {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, - {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, -] [package.dependencies] cffi = ">=1.12" @@ -1842,12 +1381,9 @@ test-randomorder = ["pytest-randomly"] name = "databind-core" version = "4.4.0" description = "Databind is a library inspired by jackson-databind to de-/serialize Python dataclasses. Compatible with Python 3.7 and newer." +category = "dev" optional = false python-versions = ">=3.6.3,<4.0.0" -files = [ - {file = "databind.core-4.4.0-py3-none-any.whl", hash = "sha256:3c8a4d9abc93e158af9931d8cec389ddfc0514e02aec03b397948d243db11881"}, - {file = "databind.core-4.4.0.tar.gz", hash = "sha256:715d485e934c073f819f0250bbfcaf59c1319f83427365bc7cfd4c347f87576d"}, -] [package.dependencies] Deprecated = ">=1.2.12,<2.0.0" @@ -1860,12 +1396,9 @@ typing-extensions = ">=3.10.0" name = "databind-json" version = "4.4.0" description = "De-/serialize Python dataclasses to or from JSON payloads. Compatible with Python 3.7 and newer." +category = "dev" optional = false python-versions = ">=3.6.3,<4.0.0" -files = [ - {file = "databind.json-4.4.0-py3-none-any.whl", hash = "sha256:df8874118cfba6fd0e77ec3d41a87e04e26034bd545230cab0db1fe904bf1b09"}, - {file = "databind.json-4.4.0.tar.gz", hash = "sha256:4356afdf0aeefcc053eda0888650c59cc558be2686f08a58324d675ccd023586"}, -] [package.dependencies] "databind.core" = ">=4.4.0,<5.0.0" @@ -1877,12 +1410,9 @@ typing-extensions = ">=3.10.0" name = "dbt-athena-community" version = "1.5.2" description = "The athena adapter plugin for dbt (data build tool)" +category = "main" optional = true python-versions = "*" -files = [ - {file = "dbt-athena-community-1.5.2.tar.gz", hash = "sha256:9acd333ddf33514769189a7a0b6219e13966d370098211cb1d022fa32e64671a"}, - {file = "dbt_athena_community-1.5.2-py3-none-any.whl", hash = "sha256:c9f0f8425500211a1c1deddce5aff5ed24fe08530f0ffad38e63de9c9b9f3ee6"}, -] [package.dependencies] boto3 = ">=1.26,<2.0" @@ -1896,12 +1426,9 @@ tenacity = ">=8.2,<9.0" name = "dbt-bigquery" version = "1.5.6" description = "The Bigquery adapter plugin for dbt" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "dbt-bigquery-1.5.6.tar.gz", hash = "sha256:4655cf2ee0acda986b80e6c5d55cae57871bef22d868dfe29d8d4a5bca98a1ba"}, - {file = "dbt_bigquery-1.5.6-py3-none-any.whl", hash = "sha256:3f37544716880cbd17b32bc0c9728a0407b5615b2cd08e1bb904a7a83c46eb6c"}, -] [package.dependencies] agate = ">=1.6.3,<1.7.0" @@ -1914,12 +1441,9 @@ google-cloud-storage = ">=2.4,<3.0" name = "dbt-core" version = "1.5.6" description = "With dbt, data analysts and engineers can build analytics the way engineers build applications." -optional = true +category = "main" +optional = false python-versions = ">=3.7.2" -files = [ - {file = "dbt-core-1.5.6.tar.gz", hash = "sha256:af3c03cd4a1fc92481362888014ca1ffed2ffef0b0e0d98463ad0f26c49ef458"}, - {file = "dbt_core-1.5.6-py3-none-any.whl", hash = "sha256:030d2179f9efbf8ccea079296d0c79278d963bb2475c0bcce9ca4bbb0d8c393c"}, -] [package.dependencies] agate = ">=1.6,<1.7.1" @@ -1949,12 +1473,9 @@ werkzeug = ">=1,<3" name = "dbt-duckdb" version = "1.5.2" description = "The duckdb adapter plugin for dbt (data build tool)" -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "dbt-duckdb-1.5.2.tar.gz", hash = "sha256:3407216c21bf78fd128dccfcff3ec4bf260fb145e633432015bc7d0f123e8e4b"}, - {file = "dbt_duckdb-1.5.2-py3-none-any.whl", hash = "sha256:5d18254807bbc3e61daf4f360208ad886adf44b8525e1998168290fbe73a5cbb"}, -] [package.dependencies] dbt-core = ">=1.5.0,<1.6.0" @@ -1967,37 +1488,17 @@ glue = ["boto3", "mypy-boto3-glue"] name = "dbt-extractor" version = "0.4.1" description = "A tool to analyze and extract information from Jinja used in dbt projects." -optional = true +category = "main" +optional = false python-versions = ">=3.6.1" -files = [ - {file = "dbt_extractor-0.4.1-cp36-abi3-macosx_10_7_x86_64.whl", hash = "sha256:4dc715bd740e418d8dc1dd418fea508e79208a24cf5ab110b0092a3cbe96bf71"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:bc9e0050e3a2f4ea9fe58e8794bc808e6709a0c688ed710fc7c5b6ef3e5623ec"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76872cdee659075d6ce2df92dc62e59a74ba571be62acab2e297ca478b49d766"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81435841610be1b07806d72cd89b1956c6e2a84c360b9ceb3f949c62a546d569"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7c291f9f483eae4f60dd5859097d7ba51d5cb6c4725f08973ebd18cdea89d758"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:822b1e911db230e1b9701c99896578e711232001027b518c44c32f79a46fa3f9"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:554d27741a54599c39e5c0b7dbcab77400d83f908caba284a3e960db812e5814"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a805d51a25317f53cbff951c79b9cf75421cf48e4b3e1dfb3e9e8de6d824b76c"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cad90ddc708cb4182dc16fe2c87b1f088a1679877b93e641af068eb68a25d582"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:34783d788b133f223844e280e37b3f5244f2fb60acc457aa75c2667e418d5442"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:9da211869a1220ea55c5552c1567a3ea5233a6c52fa89ca87a22465481c37bc9"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_i686.whl", hash = "sha256:7d7c47774dc051b8c18690281a55e2e3d3320e823b17e04b06bc3ff81b1874ba"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:037907a7c7ae0391045d81338ca77ddaef899a91d80f09958f09fe374594e19b"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-win32.whl", hash = "sha256:3fe8d8e28a7bd3e0884896147269ca0202ca432d8733113386bdc84c824561bf"}, - {file = "dbt_extractor-0.4.1-cp36-abi3-win_amd64.whl", hash = "sha256:35265a0ae0a250623b0c2e3308b2738dc8212e40e0aa88407849e9ea090bb312"}, - {file = "dbt_extractor-0.4.1.tar.gz", hash = "sha256:75b1c665699ec0f1ffce1ba3d776f7dfce802156f22e70a7b9c8f0b4d7e80f42"}, -] [[package]] name = "dbt-postgres" version = "1.5.6" description = "The postgres adapter plugin for dbt (data build tool)" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "dbt-postgres-1.5.6.tar.gz", hash = "sha256:b74e471dc661819a3d4bda2d11497935661ac2e25786c8a5b7314d8241b18582"}, - {file = "dbt_postgres-1.5.6-py3-none-any.whl", hash = "sha256:bc5711c9ab0ec4b57ab814b2c4e4c973554c8374b7da94b06814ac81c91f67ef"}, -] [package.dependencies] dbt-core = "1.5.6" @@ -2007,12 +1508,9 @@ psycopg2-binary = ">=2.8,<3.0" name = "dbt-redshift" version = "1.5.10" description = "The Redshift adapter plugin for dbt" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "dbt-redshift-1.5.10.tar.gz", hash = "sha256:2b9ae1a7d05349e208b0937cd7cc920ea427341ef96096021b18e4070e927f5c"}, - {file = "dbt_redshift-1.5.10-py3-none-any.whl", hash = "sha256:b7689b043535b6b0d217c2abfe924db2336beaae71f3f36ab9aa1e920d2bb2e0"}, -] [package.dependencies] agate = "*" @@ -2025,12 +1523,9 @@ redshift-connector = "2.0.913" name = "dbt-snowflake" version = "1.5.3" description = "The Snowflake adapter plugin for dbt" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "dbt-snowflake-1.5.3.tar.gz", hash = "sha256:cf42772d2c2f1e29a2a64b039c66d80a8593f52a2dd711a144d43b4175802f9a"}, - {file = "dbt_snowflake-1.5.3-py3-none-any.whl", hash = "sha256:8aaa939d834798e5bb10a3ba4f52fc32a53e6e5568d6c0e8b3ac644f099972ff"}, -] [package.dependencies] dbt-core = ">=1.5.0,<1.6.0" @@ -2040,12 +1535,9 @@ snowflake-connector-python = {version = ">=3.0,<4.0", extras = ["secure-local-st name = "decopatch" version = "1.4.10" description = "Create decorators easily in python." +category = "dev" optional = false python-versions = "*" -files = [ - {file = "decopatch-1.4.10-py2.py3-none-any.whl", hash = "sha256:e151f7f93de2b1b3fd3f3272dcc7cefd1a69f68ec1c2d8e288ecd9deb36dc5f7"}, - {file = "decopatch-1.4.10.tar.gz", hash = "sha256:957f49c93f4150182c23f8fb51d13bb3213e0f17a79e09c8cca7057598b55720"}, -] [package.dependencies] makefun = ">=1.5.0" @@ -2054,23 +1546,17 @@ makefun = ">=1.5.0" name = "decorator" version = "5.1.1" description = "Decorators for Humans" +category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, -] [[package]] name = "deprecated" version = "1.2.14" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {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" @@ -2082,12 +1568,9 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] name = "diff-cover" version = "7.7.0" description = "Run coverage and linting reports on diffs" +category = "dev" optional = false python-versions = ">=3.7.2,<4.0.0" -files = [ - {file = "diff_cover-7.7.0-py3-none-any.whl", hash = "sha256:bf86f32ec999f9a9e79bf24969f7127ea7b4e55c3ef3cd9300feb13188c89736"}, - {file = "diff_cover-7.7.0.tar.gz", hash = "sha256:60614cf7e722cf7fb1bde497afac0b514294e1e26534449622dac4da296123fb"}, -] [package.dependencies] chardet = ">=3.0.0" @@ -2102,12 +1585,9 @@ toml = ["tomli (>=1.2.1)"] name = "dill" version = "0.3.7" description = "serialize all of Python" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, - {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, -] [package.extras] graph = ["objgraph (>=1.7.2)"] @@ -2116,12 +1596,9 @@ graph = ["objgraph (>=1.7.2)"] name = "dnspython" version = "2.4.2" description = "DNS toolkit" +category = "dev" optional = false python-versions = ">=3.8,<4.0" -files = [ - {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"}, - {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"}, -] [package.extras] dnssec = ["cryptography (>=2.6,<42.0)"] @@ -2135,12 +1612,9 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"] name = "docspec" version = "2.2.1" description = "Docspec is a JSON object specification for representing API documentation of programming languages." +category = "dev" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "docspec-2.2.1-py3-none-any.whl", hash = "sha256:7538f750095a9688c6980ff9a4e029a823a500f64bd00b6b4bdb27951feb31cb"}, - {file = "docspec-2.2.1.tar.gz", hash = "sha256:4854e77edc0e2de40e785e57e95880f7095a05fe978f8b54cef7a269586e15ff"}, -] [package.dependencies] "databind.core" = ">=4.2.6,<5.0.0" @@ -2151,12 +1625,9 @@ Deprecated = ">=1.2.12,<2.0.0" name = "docspec-python" version = "2.2.1" description = "A parser based on lib2to3 producing docspec data from Python source code." +category = "dev" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "docspec_python-2.2.1-py3-none-any.whl", hash = "sha256:76ac41d35a8face35b2d766c2e8a416fb8832359785d396f0d53bcb00f178e54"}, - {file = "docspec_python-2.2.1.tar.gz", hash = "sha256:c41b850b4d6f4de30999ea6f82c9cdb9183d9bcba45559ee9173d3dab7281559"}, -] [package.dependencies] black = ">=23.1.0,<24.0.0" @@ -2167,11 +1638,9 @@ docspec = ">=2.2.1,<3.0.0" name = "docstring-parser" version = "0.11" description = "\"Parse Python docstrings in reST, Google and Numpydoc format\"" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "docstring_parser-0.11.tar.gz", hash = "sha256:93b3f8f481c7d24e37c5d9f30293c89e2933fa209421c8abd731dd3ef0715ecb"}, -] [package.extras] test = ["black", "pytest"] @@ -2180,23 +1649,17 @@ test = ["black", "pytest"] name = "docutils" version = "0.20.1" description = "Docutils -- Python Documentation Utilities" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, - {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, -] [[package]] name = "domdf-python-tools" version = "3.6.1" description = "Helpful functions for Python 🐍 🛠️" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "domdf_python_tools-3.6.1-py3-none-any.whl", hash = "sha256:e18158460850957f18e740eb94ede56f580ddb0cb162ab9d9834ed8bbb1b6431"}, - {file = "domdf_python_tools-3.6.1.tar.gz", hash = "sha256:acc04563d23bce4d437dd08af6b9bea788328c412772a044d8ca428a7ad861be"}, -] [package.dependencies] importlib-metadata = {version = ">=3.6.0", markers = "python_version < \"3.9\""} @@ -2211,60 +1674,17 @@ dates = ["pytz (>=2019.1)"] name = "duckdb" version = "0.9.1" description = "DuckDB embedded database" -optional = true +category = "main" +optional = false python-versions = ">=3.7.0" -files = [ - {file = "duckdb-0.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6c724e105ecd78c8d86b3c03639b24e1df982392fc836705eb007e4b1b488864"}, - {file = "duckdb-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:75f12c5a3086079fb6440122565f1762ef1a610a954f2d8081014c1dd0646e1a"}, - {file = "duckdb-0.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:151f5410c32f8f8fe03bf23462b9604349bc0b4bd3a51049bbf5e6a482a435e8"}, - {file = "duckdb-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c1d066fdae22b9b711b1603541651a378017645f9fbc4adc9764b2f3c9e9e4a"}, - {file = "duckdb-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1de56d8b7bd7a7653428c1bd4b8948316df488626d27e9c388194f2e0d1428d4"}, - {file = "duckdb-0.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1fb6cd590b1bb4e31fde8efd25fedfbfa19a86fa72789fa5b31a71da0d95bce4"}, - {file = "duckdb-0.9.1-cp310-cp310-win32.whl", hash = "sha256:1039e073714d668cef9069bb02c2a6756c7969cedda0bff1332520c4462951c8"}, - {file = "duckdb-0.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:7e6ac4c28918e1d278a89ff26fd528882aa823868ed530df69d6c8a193ae4e41"}, - {file = "duckdb-0.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5eb750f2ee44397a61343f32ee9d9e8c8b5d053fa27ba4185d0e31507157f130"}, - {file = "duckdb-0.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aea2a46881d75dc069a242cb164642d7a4f792889010fb98210953ab7ff48849"}, - {file = "duckdb-0.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed3dcedfc7a9449b6d73f9a2715c730180056e0ba837123e7967be1cd3935081"}, - {file = "duckdb-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c55397bed0087ec4445b96f8d55f924680f6d40fbaa7f2e35468c54367214a5"}, - {file = "duckdb-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3261696130f1cfb955735647c93297b4a6241753fb0de26c05d96d50986c6347"}, - {file = "duckdb-0.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:64c04b1728e3e37cf93748829b5d1e028227deea75115bb5ead01c608ece44b1"}, - {file = "duckdb-0.9.1-cp311-cp311-win32.whl", hash = "sha256:12cf9fb441a32702e31534330a7b4d569083d46a91bf185e0c9415000a978789"}, - {file = "duckdb-0.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:fdfd85575ce9540e593d5d25c9d32050bd636c27786afd7b776aae0f6432b55e"}, - {file = "duckdb-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:704700a4b469e3bb1a7e85ac12e58037daaf2b555ef64a3fe2913ffef7bd585b"}, - {file = "duckdb-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf55b303b7b1a8c2165a96e609eb30484bc47481d94a5fb1e23123e728df0a74"}, - {file = "duckdb-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b70e23c14746904ca5de316436e43a685eb769c67fe3dbfaacbd3cce996c5045"}, - {file = "duckdb-0.9.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:77379f7f1f8b4dc98e01f8f6f8f15a0858cf456e2385e22507f3cb93348a88f9"}, - {file = "duckdb-0.9.1-cp37-cp37m-win32.whl", hash = "sha256:92c8f738489838666cae9ef41703f8b16f660bb146970d1eba8b2c06cb3afa39"}, - {file = "duckdb-0.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08c5484ac06ab714f745526d791141f547e2f5ac92f97a0a1b37dfbb3ea1bd13"}, - {file = "duckdb-0.9.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f66d3c07c7f6938d3277294677eb7dad75165e7c57c8dd505503fc5ef10f67ad"}, - {file = "duckdb-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c38044e5f78c0c7b58e9f937dcc6c34de17e9ca6be42f9f8f1a5a239f7a847a5"}, - {file = "duckdb-0.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73bc0d715b79566b3ede00c367235cfcce67be0eddda06e17665c7a233d6854a"}, - {file = "duckdb-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d26622c3b4ea6a8328d95882059e3cc646cdc62d267d48d09e55988a3bba0165"}, - {file = "duckdb-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3367d10096ff2b7919cedddcf60d308d22d6e53e72ee2702f6e6ca03d361004a"}, - {file = "duckdb-0.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d88a119f1cb41911a22f08a6f084d061a8c864e28b9433435beb50a56b0d06bb"}, - {file = "duckdb-0.9.1-cp38-cp38-win32.whl", hash = "sha256:99567496e45b55c67427133dc916013e8eb20a811fc7079213f5f03b2a4f5fc0"}, - {file = "duckdb-0.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:5b3da4da73422a3235c3500b3fb541ac546adb3e35642ef1119dbcd9cc7f68b8"}, - {file = "duckdb-0.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eca00c0c2062c0265c6c0e78ca2f6a30611b28f3afef062036610e9fc9d4a67d"}, - {file = "duckdb-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eb5af8e89d40fc4baab1515787ea1520a6c6cf6aa40ab9f107df6c3a75686ce1"}, - {file = "duckdb-0.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fae3d4f83ebcb47995f6acad7c6d57d003a9b6f0e1b31f79a3edd6feb377443"}, - {file = "duckdb-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16b9a7efc745bc3c5d1018c3a2f58d9e6ce49c0446819a9600fdba5f78e54c47"}, - {file = "duckdb-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b0b60167f5537772e9f5af940e69dcf50e66f5247732b8bb84a493a9af6055"}, - {file = "duckdb-0.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4f27f5e94c47df6c4ccddf18e3277b7464eea3db07356d2c4bf033b5c88359b8"}, - {file = "duckdb-0.9.1-cp39-cp39-win32.whl", hash = "sha256:d43cd7e6f783006b59dcc5e40fcf157d21ee3d0c8dfced35278091209e9974d7"}, - {file = "duckdb-0.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:e666795887d9cf1d6b6f6cbb9d487270680e5ff6205ebc54b2308151f13b8cff"}, - {file = "duckdb-0.9.1.tar.gz", hash = "sha256:603a878746015a3f2363a65eb48bcbec816261b6ee8d71eee53061117f6eef9d"}, -] [[package]] name = "email-validator" version = "1.3.1" description = "A robust email address syntax and deliverability validation library." +category = "dev" optional = false python-versions = ">=3.5" -files = [ - {file = "email_validator-1.3.1-py2.py3-none-any.whl", hash = "sha256:49a72f5fa6ed26be1c964f0567d931d10bf3fdeeacdf97bc26ef1cd2a44e0bda"}, - {file = "email_validator-1.3.1.tar.gz", hash = "sha256:d178c5c6fa6c6824e9b04f199cf23e79ac15756786573c190d2ad13089411ad2"}, -] [package.dependencies] dnspython = ">=1.15.0" @@ -2274,12 +1694,9 @@ idna = ">=2.0.0" name = "enlighten" version = "1.11.2" description = "Enlighten Progress Bar" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "enlighten-1.11.2-py2.py3-none-any.whl", hash = "sha256:98c9eb20e022b6a57f1c8d4f17e16760780b6881e6d658c40f52d21255ea45f3"}, - {file = "enlighten-1.11.2.tar.gz", hash = "sha256:9284861dee5a272e0e1a3758cd3f3b7180b1bd1754875da76876f2a7f46ccb61"}, -] [package.dependencies] blessed = ">=1.17.7" @@ -2289,12 +1706,9 @@ prefixed = ">=0.3.2" name = "exceptiongroup" version = "1.1.3" description = "Backport of PEP 654 (exception groups)" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, - {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, -] [package.extras] test = ["pytest (>=6)"] @@ -2303,12 +1717,9 @@ test = ["pytest (>=6)"] name = "fastembed" version = "0.1.1" description = "Fast, light, accurate library built for retrieval embedding generation" +category = "main" optional = true python-versions = ">=3.8.0,<3.12" -files = [ - {file = "fastembed-0.1.1-py3-none-any.whl", hash = "sha256:131413ae52cd72f4c8cced7a675f8269dbfd1a852abade3c815e265114bcc05a"}, - {file = "fastembed-0.1.1.tar.gz", hash = "sha256:f7e524ee4f74bb8aad16be5b687d1f77f608d40e96e292c87881dc36baf8f4c7"}, -] [package.dependencies] onnx = ">=1.11,<2.0" @@ -2321,12 +1732,9 @@ tqdm = ">=4.65,<5.0" name = "filelock" version = "3.12.3" description = "A platform independent file lock." +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "filelock-3.12.3-py3-none-any.whl", hash = "sha256:f067e40ccc40f2b48395a80fcbd4728262fab54e232e090a4063ab804179efeb"}, - {file = "filelock-3.12.3.tar.gz", hash = "sha256:0ecc1dd2ec4672a10c8550a8182f1bd0c0a5088470ecd5a125e45f49472fac3d"}, -] [package.dependencies] typing-extensions = {version = ">=4.7.1", markers = "python_version < \"3.11\""} @@ -2339,12 +1747,9 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pyt name = "flake8" version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" +category = "dev" optional = false python-versions = ">=3.6.1" -files = [ - {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"}, - {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"}, -] [package.dependencies] mccabe = ">=0.7.0,<0.8.0" @@ -2355,12 +1760,9 @@ pyflakes = ">=2.5.0,<2.6.0" name = "flake8-bugbear" version = "22.12.6" description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "flake8-bugbear-22.12.6.tar.gz", hash = "sha256:4cdb2c06e229971104443ae293e75e64c6107798229202fbe4f4091427a30ac0"}, - {file = "flake8_bugbear-22.12.6-py3-none-any.whl", hash = "sha256:b69a510634f8a9c298dfda2b18a8036455e6b19ecac4fe582e4d7a0abfa50a30"}, -] [package.dependencies] attrs = ">=19.2.0" @@ -2373,12 +1775,9 @@ dev = ["coverage", "hypothesis", "hypothesmith (>=0.2)", "pre-commit", "tox"] name = "flake8-builtins" version = "1.5.3" description = "Check for python builtins being used as variables or parameters." +category = "dev" optional = false python-versions = "*" -files = [ - {file = "flake8-builtins-1.5.3.tar.gz", hash = "sha256:09998853b2405e98e61d2ff3027c47033adbdc17f9fe44ca58443d876eb00f3b"}, - {file = "flake8_builtins-1.5.3-py2.py3-none-any.whl", hash = "sha256:7706babee43879320376861897e5d1468e396a40b8918ed7bccf70e5f90b8687"}, -] [package.dependencies] flake8 = "*" @@ -2390,12 +1789,9 @@ test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"] name = "flake8-encodings" version = "0.5.0.post1" description = "A Flake8 plugin to identify incorrect use of encodings." +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "flake8_encodings-0.5.0.post1-py3-none-any.whl", hash = "sha256:d2fecca0e89ba09c86e5d61cf6bdb1b337f0d74746aac67bbcf0c517b4cb6cba"}, - {file = "flake8_encodings-0.5.0.post1.tar.gz", hash = "sha256:082c0163325c85b438a8106e876283b5ed3cbfc53e68d89130d70be8be4c9977"}, -] [package.dependencies] astatine = ">=0.3.1" @@ -2411,12 +1807,9 @@ classes = ["jedi (>=0.18.0)"] name = "flake8-helper" version = "0.2.1" description = "A helper library for Flake8 plugins." +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "flake8_helper-0.2.1-py3-none-any.whl", hash = "sha256:9123cdf351ad32ee8a51b85036052302c478122d62fb512c0773e111b3d05241"}, - {file = "flake8_helper-0.2.1.tar.gz", hash = "sha256:479f86d1c52df8e49ff876ecd3873242699f93eeece7e6675cdca9c37c9b0a16"}, -] [package.dependencies] flake8 = ">=3.8.4" @@ -2425,12 +1818,9 @@ flake8 = ">=3.8.4" name = "flake8-tidy-imports" version = "4.10.0" description = "A flake8 plugin that helps you write tidier imports." +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "flake8_tidy_imports-4.10.0-py3-none-any.whl", hash = "sha256:b0387fb2ea200441bd142309e716fb7b8f4b0937bdf5f8b7c0c118a5f5e2b8ed"}, - {file = "flake8_tidy_imports-4.10.0.tar.gz", hash = "sha256:bd6cf86465402d2b86903009b748d85a628e599e17b76e810c9857e3a2815173"}, -] [package.dependencies] flake8 = ">=3.8.0" @@ -2439,12 +1829,9 @@ flake8 = ">=3.8.0" name = "flask" version = "2.2.5" description = "A simple framework for building complex web applications." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Flask-2.2.5-py3-none-any.whl", hash = "sha256:58107ed83443e86067e41eff4631b058178191a355886f8e479e347fa1285fdf"}, - {file = "Flask-2.2.5.tar.gz", hash = "sha256:edee9b0a7ff26621bd5a8c10ff484ae28737a2410d99b0bb9a6850c7fb977aa0"}, -] [package.dependencies] click = ">=8.0" @@ -2461,12 +1848,9 @@ dotenv = ["python-dotenv"] name = "flask-appbuilder" version = "4.3.3" description = "Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more." +category = "dev" optional = false python-versions = "~=3.7" -files = [ - {file = "Flask-AppBuilder-4.3.3.tar.gz", hash = "sha256:b420379f74788e431a2763f8d3749cc37712df682dc00a45538d85d989340768"}, - {file = "Flask_AppBuilder-4.3.3-py3-none-any.whl", hash = "sha256:7eb1904d8f61297778ebf0d0b83f1d74b154534c9e84af3bb9198cfc0f51ff05"}, -] [package.dependencies] apispec = {version = ">=6.0.0,<7", extras = ["yaml"]} @@ -2499,12 +1883,9 @@ openid = ["Flask-OpenID (>=1.2.5,<2)"] name = "flask-babel" version = "2.0.0" description = "Adds i18n/l10n support to Flask applications" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "Flask-Babel-2.0.0.tar.gz", hash = "sha256:f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d"}, - {file = "Flask_Babel-2.0.0-py3-none-any.whl", hash = "sha256:e6820a052a8d344e178cdd36dd4bb8aea09b4bda3d5f9fa9f008df2c7f2f5468"}, -] [package.dependencies] Babel = ">=2.3" @@ -2519,12 +1900,9 @@ dev = ["Pallets-Sphinx-Themes", "bumpversion", "ghp-import", "pytest", "pytest-m name = "flask-caching" version = "2.0.2" description = "Adds caching support to Flask applications." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Flask-Caching-2.0.2.tar.gz", hash = "sha256:24b60c552d59a9605cc1b6a42c56cdb39a82a28dab4532bbedb9222ae54ecb4e"}, - {file = "Flask_Caching-2.0.2-py3-none-any.whl", hash = "sha256:19571f2570e9b8dd9dd9d2f49d7cbee69c14ebe8cc001100b1eb98c379dd80ad"}, -] [package.dependencies] cachelib = ">=0.9.0,<0.10.0" @@ -2534,12 +1912,9 @@ Flask = "<3" name = "flask-jwt-extended" version = "4.5.2" description = "Extended JWT integration with Flask" +category = "dev" optional = false python-versions = ">=3.7,<4" -files = [ - {file = "Flask-JWT-Extended-4.5.2.tar.gz", hash = "sha256:ba56245ba43b71c8ae936784b867625dce8b9956faeedec2953222e57942fb0b"}, - {file = "Flask_JWT_Extended-4.5.2-py2.py3-none-any.whl", hash = "sha256:e0ef23d8c863746bd141046167073699e1a7b03c97169cbba70f05b8d9cd6b9e"}, -] [package.dependencies] Flask = ">=2.0,<3.0" @@ -2553,12 +1928,9 @@ asymmetric-crypto = ["cryptography (>=3.3.1)"] name = "flask-limiter" version = "3.5.0" description = "Rate limiting for flask applications" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Flask-Limiter-3.5.0.tar.gz", hash = "sha256:13a3491b994c49f7cb4706587a38ca47e8162b576530472df38be68104f299c0"}, - {file = "Flask_Limiter-3.5.0-py3-none-any.whl", hash = "sha256:dbda4174f44e6cb858c6eb75e7488186f2977dd5d33d7028ba1aabf179de1bee"}, -] [package.dependencies] Flask = ">=2" @@ -2576,12 +1948,9 @@ redis = ["limits[redis]"] name = "flask-login" version = "0.6.2" description = "User authentication and session management for Flask." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Flask-Login-0.6.2.tar.gz", hash = "sha256:c0a7baa9fdc448cdd3dd6f0939df72eec5177b2f7abe6cb82fc934d29caac9c3"}, - {file = "Flask_Login-0.6.2-py3-none-any.whl", hash = "sha256:1ef79843f5eddd0f143c2cd994c1b05ac83c0401dc6234c143495af9a939613f"}, -] [package.dependencies] Flask = ">=1.0.4" @@ -2591,12 +1960,9 @@ Werkzeug = ">=1.0.1" name = "flask-session" version = "0.5.0" description = "Server-side session support for Flask" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Flask-Session-0.5.0.tar.gz", hash = "sha256:190875e6aebf2953c6803d42379ef3b934bc209ef8ef006f97aecb08f5aaeb86"}, - {file = "flask_session-0.5.0-py3-none-any.whl", hash = "sha256:1619bcbc16f04f64e90f8e0b17145ba5c9700090bb1294e889956c1282d58631"}, -] [package.dependencies] cachelib = "*" @@ -2606,12 +1972,9 @@ flask = ">=2.2" name = "flask-sqlalchemy" version = "2.5.1" description = "Adds SQLAlchemy support to your Flask application." +category = "dev" optional = false python-versions = ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*, != 3.3.*" -files = [ - {file = "Flask-SQLAlchemy-2.5.1.tar.gz", hash = "sha256:2bda44b43e7cacb15d4e05ff3cc1f8bc97936cc464623424102bfc2c35e95912"}, - {file = "Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl", hash = "sha256:f12c3d4cc5cc7fdcc148b9527ea05671718c3ea45d50c7e732cceb33f574b390"}, -] [package.dependencies] Flask = ">=0.10" @@ -2621,12 +1984,9 @@ SQLAlchemy = ">=0.8.0" name = "flask-wtf" version = "1.1.1" description = "Form rendering, validation, and CSRF protection for Flask with WTForms." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Flask-WTF-1.1.1.tar.gz", hash = "sha256:41c4244e9ae626d63bed42ae4785b90667b885b1535d5a4095e1f63060d12aa9"}, - {file = "Flask_WTF-1.1.1-py3-none-any.whl", hash = "sha256:7887d6f1ebb3e17bf648647422f0944c9a469d0fcf63e3b66fb9a83037e38b2c"}, -] [package.dependencies] Flask = "*" @@ -2640,93 +2000,25 @@ email = ["email-validator"] name = "flatbuffers" version = "23.5.26" description = "The FlatBuffers serialization format for Python" +category = "main" optional = true python-versions = "*" -files = [ - {file = "flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1"}, - {file = "flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89"}, -] [[package]] name = "frozenlist" version = "1.4.0" description = "A list-like structure which implements collections.abc.MutableSequence" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, - {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, - {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, - {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, - {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, - {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, - {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, - {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, - {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, - {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, -] [[package]] name = "fsspec" version = "2023.6.0" description = "File-system specification" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "fsspec-2023.6.0-py3-none-any.whl", hash = "sha256:1cbad1faef3e391fba6dc005ae9b5bdcbf43005c9167ce78c915549c352c869a"}, - {file = "fsspec-2023.6.0.tar.gz", hash = "sha256:d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af"}, -] [package.extras] abfs = ["adlfs"] @@ -2756,22 +2048,17 @@ tqdm = ["tqdm"] name = "future" version = "0.18.3" description = "Clean single-source support for Python 3 and 2" -optional = true +category = "main" +optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, -] [[package]] name = "gcsfs" version = "2023.6.0" description = "Convenient Filesystem interface over GCS" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "gcsfs-2023.6.0-py2.py3-none-any.whl", hash = "sha256:3b3c7d8eddd4ec1380f3b49fbb861ee1e974adb223564401f10884b6260d406f"}, - {file = "gcsfs-2023.6.0.tar.gz", hash = "sha256:30b14fccadb3b7f0d99b2cd03bd8507c40f3a9a7d05847edca571f642bedbdff"}, -] [package.dependencies] aiohttp = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1" @@ -2790,12 +2077,9 @@ gcsfuse = ["fusepy"] name = "gitdb" version = "4.0.10" description = "Git Object Database" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, - {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, -] [package.dependencies] smmap = ">=3.0.1,<6" @@ -2804,12 +2088,9 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.34" description = "GitPython is a Python library used to interact with Git repositories" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "GitPython-3.1.34-py3-none-any.whl", hash = "sha256:5d3802b98a3bae1c2b8ae0e1ff2e4aa16bcdf02c145da34d092324f599f01395"}, - {file = "GitPython-3.1.34.tar.gz", hash = "sha256:85f7d365d1f6bf677ae51039c1ef67ca59091c7ebd5a3509aa399d4eda02d6dd"}, -] [package.dependencies] gitdb = ">=4.0.1,<5" @@ -2818,34 +2099,28 @@ gitdb = ">=4.0.1,<5" name = "giturlparse" version = "0.11.1" description = "A Git URL parsing module (supports parsing and rewriting)" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "giturlparse-0.11.1-py2.py3-none-any.whl", hash = "sha256:6422f25c8ca563e1a3cb6b85862e48614be804cd1334e6d84be5630eb26b343f"}, - {file = "giturlparse-0.11.1.tar.gz", hash = "sha256:cdbe0c062096c69e00f08397826dddebc1f73bc15b793994579c13aafc70c990"}, -] [[package]] name = "google-api-core" version = "2.11.1" description = "Google API client core library" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "google-api-core-2.11.1.tar.gz", hash = "sha256:25d29e05a0058ed5f19c61c0a78b1b53adea4d9364b464d014fbda941f6d1c9a"}, - {file = "google_api_core-2.11.1-py3-none-any.whl", hash = "sha256:d92a5a92dc36dd4f4b9ee4e55528a90e432b059f93aee6ad857f9de8cc7ae94a"}, -] [package.dependencies] google-auth = ">=2.14.1,<3.0.dev0" googleapis-common-protos = ">=1.56.2,<2.0.dev0" grpcio = [ - {version = ">=1.33.2,<2.0dev", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, - {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, + {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""}, + {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\""}, ] grpcio-status = [ - {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, - {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, + {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "extra == \"grpc\""}, + {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\""}, ] protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0.dev0" requests = ">=2.18.0,<3.0.0.dev0" @@ -2859,15 +2134,12 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] name = "google-api-python-client" version = "2.97.0" description = "Google API Client Library for Python" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "google-api-python-client-2.97.0.tar.gz", hash = "sha256:48277291894876a1ca7ed4127e055e81f81e6343ced1b544a7200ae2c119dcd7"}, - {file = "google_api_python_client-2.97.0-py2.py3-none-any.whl", hash = "sha256:5215f4cd577753fc4192ccfbe0bb8b55d4bb5fd68fa6268ac5cf271b6305de31"}, -] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0.dev0" +google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0.dev0" google-auth = ">=1.19.0,<3.0.0.dev0" google-auth-httplib2 = ">=0.1.0" httplib2 = ">=0.15.0,<1.dev0" @@ -2877,12 +2149,9 @@ uritemplate = ">=3.0.1,<5" name = "google-auth" version = "2.22.0" description = "Google Authentication Library" +category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "google-auth-2.22.0.tar.gz", hash = "sha256:164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce"}, - {file = "google_auth-2.22.0-py2.py3-none-any.whl", hash = "sha256:d61d1b40897407b574da67da1a833bdc10d5a11642566e506565d1b1a46ba873"}, -] [package.dependencies] cachetools = ">=2.0.0,<6.0" @@ -2902,12 +2171,9 @@ requests = ["requests (>=2.20.0,<3.0.0.dev0)"] name = "google-auth-httplib2" version = "0.1.0" description = "Google Authentication Library: httplib2 transport" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "google-auth-httplib2-0.1.0.tar.gz", hash = "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac"}, - {file = "google_auth_httplib2-0.1.0-py2.py3-none-any.whl", hash = "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10"}, -] [package.dependencies] google-auth = "*" @@ -2918,12 +2184,9 @@ six = "*" name = "google-auth-oauthlib" version = "1.0.0" description = "Google Authentication Library" +category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "google-auth-oauthlib-1.0.0.tar.gz", hash = "sha256:e375064964820b47221a7e1b7ee1fd77051b6323c3f9e3e19785f78ab67ecfc5"}, - {file = "google_auth_oauthlib-1.0.0-py2.py3-none-any.whl", hash = "sha256:95880ca704928c300f48194d1770cf5b1462835b6e49db61445a520f793fd5fb"}, -] [package.dependencies] google-auth = ">=2.15.0" @@ -2936,15 +2199,12 @@ tool = ["click (>=6.0.0)"] name = "google-cloud-bigquery" version = "3.11.4" description = "Google BigQuery API client library" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "google-cloud-bigquery-3.11.4.tar.gz", hash = "sha256:697df117241a2283bcbb93b21e10badc14e51c9a90800d2a7e1a3e1c7d842974"}, - {file = "google_cloud_bigquery-3.11.4-py2.py3-none-any.whl", hash = "sha256:5fa7897743a0ed949ade25a0942fc9e7557d8fce307c6f8a76d1b604cf27f1b1"}, -] [package.dependencies] -google-api-core = {version = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev", extras = ["grpc"]} +google-api-core = {version = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev", extras = ["grpc"]} google-cloud-core = ">=1.6.0,<3.0.0dev" google-resumable-media = ">=0.6.0,<3.0dev" grpcio = [ @@ -2971,15 +2231,12 @@ tqdm = ["tqdm (>=4.7.4,<5.0.0dev)"] name = "google-cloud-core" version = "2.3.3" description = "Google Cloud API client core library" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "google-cloud-core-2.3.3.tar.gz", hash = "sha256:37b80273c8d7eee1ae816b3a20ae43585ea50506cb0e60f3cf5be5f87f1373cb"}, - {file = "google_cloud_core-2.3.3-py2.py3-none-any.whl", hash = "sha256:fbd11cad3e98a7e5b0343dc07cb1039a5ffd7a5bb96e1f1e27cee4bda4a90863"}, -] [package.dependencies] -google-api-core = ">=1.31.6,<2.0.dev0 || >2.3.0,<3.0.0dev" +google-api-core = ">=1.31.6,<2.0.0 || >2.3.0,<3.0.0dev" google-auth = ">=1.25.0,<3.0dev" [package.extras] @@ -2989,15 +2246,12 @@ grpc = ["grpcio (>=1.38.0,<2.0dev)"] name = "google-cloud-dataproc" version = "5.4.3" description = "Google Cloud Dataproc API client library" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "google-cloud-dataproc-5.4.3.tar.gz", hash = "sha256:d9c77c52aa5ddf52ae657736dbfb5312402933f72bab8480fc2d2afe98697402"}, - {file = "google_cloud_dataproc-5.4.3-py2.py3-none-any.whl", hash = "sha256:9cfff56cb53621cdffd0a3d6b10701e886e0a8ad54891e6c223eb67c0ff753ad"}, -] [package.dependencies] -google-api-core = {version = ">=1.34.0,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]} +google-api-core = {version = ">=1.34.0,<2.0.0 || >=2.11.0,<3.0.0dev", extras = ["grpc"]} grpc-google-iam-v1 = ">=0.12.4,<1.0.0dev" proto-plus = [ {version = ">=1.22.0,<2.0.0dev", markers = "python_version < \"3.11\""}, @@ -3009,15 +2263,12 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4 name = "google-cloud-storage" version = "2.10.0" description = "Google Cloud Storage API client library" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "google-cloud-storage-2.10.0.tar.gz", hash = "sha256:934b31ead5f3994e5360f9ff5750982c5b6b11604dc072bc452c25965e076dc7"}, - {file = "google_cloud_storage-2.10.0-py2.py3-none-any.whl", hash = "sha256:9433cf28801671de1c80434238fb1e7e4a1ba3087470e90f70c928ea77c2b9d7"}, -] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev" +google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev" google-auth = ">=1.25.0,<3.0dev" google-cloud-core = ">=2.3.0,<3.0dev" google-resumable-media = ">=2.3.2" @@ -3030,78 +2281,9 @@ protobuf = ["protobuf (<5.0.0dev)"] name = "google-crc32c" version = "1.5.0" description = "A python wrapper of the C library 'Google CRC32C'" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "google-crc32c-1.5.0.tar.gz", hash = "sha256:89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7"}, - {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13"}, - {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:be82c3c8cfb15b30f36768797a640e800513793d6ae1724aaaafe5bf86f8f346"}, - {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:461665ff58895f508e2866824a47bdee72497b091c730071f2b7575d5762ab65"}, - {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2096eddb4e7c7bdae4bd69ad364e55e07b8316653234a56552d9c988bd2d61b"}, - {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:116a7c3c616dd14a3de8c64a965828b197e5f2d121fedd2f8c5585c547e87b02"}, - {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5829b792bf5822fd0a6f6eb34c5f81dd074f01d570ed7f36aa101d6fc7a0a6e4"}, - {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:64e52e2b3970bd891309c113b54cf0e4384762c934d5ae56e283f9a0afcd953e"}, - {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:02ebb8bf46c13e36998aeaad1de9b48f4caf545e91d14041270d9dca767b780c"}, - {file = "google_crc32c-1.5.0-cp310-cp310-win32.whl", hash = "sha256:2e920d506ec85eb4ba50cd4228c2bec05642894d4c73c59b3a2fe20346bd00ee"}, - {file = "google_crc32c-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:07eb3c611ce363c51a933bf6bd7f8e3878a51d124acfc89452a75120bc436289"}, - {file = "google_crc32c-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cae0274952c079886567f3f4f685bcaf5708f0a23a5f5216fdab71f81a6c0273"}, - {file = "google_crc32c-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1034d91442ead5a95b5aaef90dbfaca8633b0247d1e41621d1e9f9db88c36298"}, - {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c42c70cd1d362284289c6273adda4c6af8039a8ae12dc451dcd61cdabb8ab57"}, - {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8485b340a6a9e76c62a7dce3c98e5f102c9219f4cfbf896a00cf48caf078d438"}, - {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77e2fd3057c9d78e225fa0a2160f96b64a824de17840351b26825b0848022906"}, - {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f583edb943cf2e09c60441b910d6a20b4d9d626c75a36c8fcac01a6c96c01183"}, - {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a1fd716e7a01f8e717490fbe2e431d2905ab8aa598b9b12f8d10abebb36b04dd"}, - {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:72218785ce41b9cfd2fc1d6a017dc1ff7acfc4c17d01053265c41a2c0cc39b8c"}, - {file = "google_crc32c-1.5.0-cp311-cp311-win32.whl", hash = "sha256:66741ef4ee08ea0b2cc3c86916ab66b6aef03768525627fd6a1b34968b4e3709"}, - {file = "google_crc32c-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:ba1eb1843304b1e5537e1fca632fa894d6f6deca8d6389636ee5b4797affb968"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:98cb4d057f285bd80d8778ebc4fde6b4d509ac3f331758fb1528b733215443ae"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd8536e902db7e365f49e7d9029283403974ccf29b13fc7028b97e2295b33556"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19e0a019d2c4dcc5e598cd4a4bc7b008546b0358bd322537c74ad47a5386884f"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c65b9817512edc6a4ae7c7e987fea799d2e0ee40c53ec573a692bee24de876"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6ac08d24c1f16bd2bf5eca8eaf8304812f44af5cfe5062006ec676e7e1d50afc"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3359fc442a743e870f4588fcf5dcbc1bf929df1fad8fb9905cd94e5edb02e84c"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e986b206dae4476f41bcec1faa057851f3889503a70e1bdb2378d406223994a"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:de06adc872bcd8c2a4e0dc51250e9e65ef2ca91be023b9d13ebd67c2ba552e1e"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-win32.whl", hash = "sha256:d3515f198eaa2f0ed49f8819d5732d70698c3fa37384146079b3799b97667a94"}, - {file = "google_crc32c-1.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:67b741654b851abafb7bc625b6d1cdd520a379074e64b6a128e3b688c3c04740"}, - {file = "google_crc32c-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c02ec1c5856179f171e032a31d6f8bf84e5a75c45c33b2e20a3de353b266ebd8"}, - {file = "google_crc32c-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:edfedb64740750e1a3b16152620220f51d58ff1b4abceb339ca92e934775c27a"}, - {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84e6e8cd997930fc66d5bb4fde61e2b62ba19d62b7abd7a69920406f9ecca946"}, - {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a"}, - {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:998679bf62b7fb599d2878aa3ed06b9ce688b8974893e7223c60db155f26bd8d"}, - {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:83c681c526a3439b5cf94f7420471705bbf96262f49a6fe546a6db5f687a3d4a"}, - {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4c6fdd4fccbec90cc8a01fc00773fcd5fa28db683c116ee3cb35cd5da9ef6c37"}, - {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5ae44e10a8e3407dbe138984f21e536583f2bba1be9491239f942c2464ac0894"}, - {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37933ec6e693e51a5b07505bd05de57eee12f3e8c32b07da7e73669398e6630a"}, - {file = "google_crc32c-1.5.0-cp38-cp38-win32.whl", hash = "sha256:fe70e325aa68fa4b5edf7d1a4b6f691eb04bbccac0ace68e34820d283b5f80d4"}, - {file = "google_crc32c-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:74dea7751d98034887dbd821b7aae3e1d36eda111d6ca36c206c44478035709c"}, - {file = "google_crc32c-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c6c777a480337ac14f38564ac88ae82d4cd238bf293f0a22295b66eb89ffced7"}, - {file = "google_crc32c-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:759ce4851a4bb15ecabae28f4d2e18983c244eddd767f560165563bf9aefbc8d"}, - {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f13cae8cc389a440def0c8c52057f37359014ccbc9dc1f0827936bcd367c6100"}, - {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e560628513ed34759456a416bf86b54b2476c59144a9138165c9a1575801d0d9"}, - {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1674e4307fa3024fc897ca774e9c7562c957af85df55efe2988ed9056dc4e57"}, - {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:278d2ed7c16cfc075c91378c4f47924c0625f5fc84b2d50d921b18b7975bd210"}, - {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d5280312b9af0976231f9e317c20e4a61cd2f9629b7bfea6a693d1878a264ebd"}, - {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8b87e1a59c38f275c0e3676fc2ab6d59eccecfd460be267ac360cc31f7bcde96"}, - {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7c074fece789b5034b9b1404a1f8208fc2d4c6ce9decdd16e8220c5a793e6f61"}, - {file = "google_crc32c-1.5.0-cp39-cp39-win32.whl", hash = "sha256:7f57f14606cd1dd0f0de396e1e53824c371e9544a822648cd76c034d209b559c"}, - {file = "google_crc32c-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2355cba1f4ad8b6988a4ca3feed5bff33f6af2d7f134852cf279c2aebfde541"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f314013e7dcd5cf45ab1945d92e713eec788166262ae8deb2cfacd53def27325"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b747a674c20a67343cb61d43fdd9207ce5da6a99f629c6e2541aa0e89215bcd"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f24ed114432de109aa9fd317278518a5af2d31ac2ea6b952b2f7782b43da091"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8667b48e7a7ef66afba2c81e1094ef526388d35b873966d8a9a447974ed9178"}, - {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:1c7abdac90433b09bad6c43a43af253e688c9cfc1c86d332aed13f9a7c7f65e2"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6f998db4e71b645350b9ac28a2167e6632c239963ca9da411523bb439c5c514d"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c99616c853bb585301df6de07ca2cadad344fd1ada6d62bb30aec05219c45d2"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ad40e31093a4af319dadf503b2467ccdc8f67c72e4bcba97f8c10cb078207b5"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd67cf24a553339d5062eff51013780a00d6f97a39ca062781d06b3a73b15462"}, - {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:398af5e3ba9cf768787eef45c803ff9614cc3e22a5b2f7d7ae116df8b11e3314"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b1f8133c9a275df5613a451e73f36c2aea4fe13c5c8997e22cf355ebd7bd0728"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ba053c5f50430a3fcfd36f75aff9caeba0440b2d076afdb79a318d6ca245f88"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:272d3892a1e1a2dbc39cc5cde96834c236d5327e2122d3aaa19f6614531bb6eb"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:635f5d4dd18758a1fbd1049a8e8d2fee4ffed124462d837d1a02a0e009c3ab31"}, - {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c672d99a345849301784604bfeaeba4db0c7aae50b95be04dd651fd2a7310b93"}, -] [package.extras] testing = ["pytest"] @@ -3110,118 +2292,17 @@ testing = ["pytest"] name = "google-re2" version = "1.1" description = "RE2 Python bindings" +category = "dev" optional = false python-versions = "~=3.8" -files = [ - {file = "google-re2-1.1.tar.gz", hash = "sha256:d3a9467ee52b46ac77ca928f6d0cbeaccfd92f03ca0f0f65b9df6a95184f3a1c"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:874d2e36dfa506b03d4f9c4aef1701a65304f4004c96c7edac7d8aea08fe193e"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b66eb84850afdce09aabca40bcd6f2a0e96178a1b4990d555678edb1f59bf255"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c461640a07db26dc2b51f43de607b7520e7debaf4f6a000f796a3c0196ca52af"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7f9ba69eaee6e7a9f5ddfb919bf1a866af14a18b26a179e3fb1a6fe3d0cbf349"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:f95cf16739cc3ea63728366881221b119f2322b4b739b7da6522d45a68792cea"}, - {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:9fb56a41250191298e6a2859b0fdea1e83330c9870fe8d84e5836c506ae46e96"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fb22ea995564d87baf4a4bfbb3ca024be913683a710f4f0dc9c94dc663afab20"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:19b3f0bfbb2a2ca58ed0aaa9356d07a5c0921383a6dbeca086b2b74472f5ee08"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34fd7f97b84af7453cf05b25adfe2491ba3cef1ca548ac2907efa63d3510954d"}, - {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e029664192d8d30f7c977706183ef483e82ca239302272df74e01d2e22897ca"}, - {file = "google_re2-1.1-1-cp310-cp310-win32.whl", hash = "sha256:41a8f222f9839d059d37efd28e4deec203502d7e39c3759d83d6a33deadf1d2e"}, - {file = "google_re2-1.1-1-cp310-cp310-win_amd64.whl", hash = "sha256:6141d569fdf72aa693f040ba05c469036587395af07ff419b9a3c009d6ffefd3"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2d03f6aaf22788ba13a770f0d183b8eebe55545bcbb6e4c41dcccac7ded014d"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:a98f15fd9c31bf80d368698447191a2e9703880b305dbf34d9a63ce634b8a557"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:42128916cc2966623832aabbd224c88e862d1c531d6bc49ab141f565e6321a90"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:6e27986a166903ad7000635f6faed8ab5072d687f822ac9f692c40b2470aebcf"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:5e9edcd743a830d0c0b2729201e42ab86fceef8f4086df65563f482e4544359e"}, - {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:d33145bbfd32e916f1c911cd9225be5364a36c3959742a0cc4dfc0692d6a2a5e"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8b27cc2544b69a357ab2a749dc0c13a1b9055198c56f4c2c3b0f61d693f8e203"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3cdf8982b6def987e95b37984d0c1c878de32635dd78acde3273f730b69708c9"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71ac661a7365e134741fe5542f13d7ce1e6187446b96ddee4c8b7d153fc8f05a"}, - {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:35a902ba31a71a3e9e114e44473624d9aa9f9b85ec981bfa91671aefe0ef1a6c"}, - {file = "google_re2-1.1-1-cp311-cp311-win32.whl", hash = "sha256:9469f26b485da2784c658e687a766c72e1a17b1e63b3ed24b5f64c3d19fbae3d"}, - {file = "google_re2-1.1-1-cp311-cp311-win_amd64.whl", hash = "sha256:07dd0780240ee431781119b46c3bbf76f5cef24a2cbb542f6a08c643e0a68d98"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9857dc4d69b8025057c8129e98406a24d51bdaf1b96e481dbba7e69e0ec85104"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a6eaaa5f200022eb0bdded5949c91454fc96e1edd6f9e9a96dd1dc32c821c00e"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a32bb2afe128d90b8edc20d4f7d297f7e2753206eba92937a57e5280736eac74"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:4f2754616c61b76ab4e5a4f39892a52a00897203b859c5abd7e3c630dd883cda"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:b110f3d657e8f67a43a699d327ce47095b80180ea1118e2de44cb5c7002503d9"}, - {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:fd62ba2853eef65e249a9c4437a9ecac568222062bc956f0c61a3d1151a6271b"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:23b50eb74dc3e1d480b04b987c61242df5dade50d08bc16e25eb3582b83fca80"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e1bde89855dd5ab0811187d21eec149975510c80e865c771c883524a452445e7"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10c6cddc720151a509beb98ab310fa0cc8bcb265f83518ebf831de2c9ff73af0"}, - {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9bea09c5e8401ec50b8f211bc820ec2f0ca5e744ac67431a1b39bdacbd266553"}, - {file = "google_re2-1.1-1-cp38-cp38-win32.whl", hash = "sha256:ffa51b118037518bcdf63c7649d0b4be7071982b83f48ee3bbabf24a9cb48f8a"}, - {file = "google_re2-1.1-1-cp38-cp38-win_amd64.whl", hash = "sha256:3b47715b6d43c9351957eb5092ad0fa625d04106d81f34cb8a726c53395ad474"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:998f31bf7efbc9bb603d0c356c1c77e5331f689c71783df8e21e67bb025fc66a"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0b5f0eaab859d3ba5f462c82bf37ab56e9d37e19b40b5898c731dbe4213a85f7"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:f6d591d9c4cbc7142b729ddcc3f654d059d8ebc3bc95891198808a4785a6b4d8"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:3c325c2eae197b423330a04ab62e2e1cf942676cd5560907db4d63e23ce0648a"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:1e019e8f57955806ee843254ce454249b58800a6e872b2c8e9df2ef3459de0d5"}, - {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:58ebbcc7ad2b639768a6bca586357291660ea40dfac83039208e5055c357513b"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:723f8553e7fc022294071f14fb7dfc7958c365dc7d4a71d4938ccd2df8c6eca4"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d81512b08e6787fc8ef29fea365d3fdbf957553a625550e1d96c36877ae30355"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c58601b155651cc572a23ee2860788c77581aad85d3567a55b89b0674702f34d"}, - {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c6c9f64b9724ec38da8e514f404ac64e9a6a5e8b1d7031c2dadd05c1f4c16fd"}, - {file = "google_re2-1.1-1-cp39-cp39-win32.whl", hash = "sha256:d1b751b9ab9f8e2ab2a36d72b909281ce65f328c9115a1685acae1a2d1afd7a4"}, - {file = "google_re2-1.1-1-cp39-cp39-win_amd64.whl", hash = "sha256:ac775c75cec7069351d201da4e0fb0cae4c1c5ebecd08fa34e1be89740c1d80b"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5eaefe4705b75ca5f78178a50104b689e9282f868e12f119b26b4cffc0c7ee6e"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:e35f2c8aabfaaa4ce6420b3cae86c0c29042b1b4f9937254347e9b985694a171"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:35fd189cbaaaa39c9a6a8a00164c8d9c709bacd0c231c694936879609beff516"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:60475d222cebd066c80414831c8a42aa2449aab252084102ee05440896586e6a"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:871cb85b9b0e1784c983b5c148156b3c5314cb29ca70432dff0d163c5c08d7e5"}, - {file = "google_re2-1.1-2-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:94f4e66e34bdb8de91ec6cdf20ba4fa9fea1dfdcfb77ff1f59700d01a0243664"}, - {file = "google_re2-1.1-2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1563577e2b720d267c4cffacc0f6a2b5c8480ea966ebdb1844fbea6602c7496f"}, - {file = "google_re2-1.1-2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:49b7964532a801b96062d78c0222d155873968f823a546a3dbe63d73f25bb56f"}, - {file = "google_re2-1.1-2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2362fd70eb639a75fd0187d28b4ba7b20b3088833d8ad7ffd8693d0ba159e1c2"}, - {file = "google_re2-1.1-2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:86b80719636a4e21391e20a9adf18173ee6ae2ec956726fe2ff587417b5e8ba6"}, - {file = "google_re2-1.1-2-cp310-cp310-win32.whl", hash = "sha256:5456fba09df951fe8d1714474ed1ecda102a68ddffab0113e6c117d2e64e6f2b"}, - {file = "google_re2-1.1-2-cp310-cp310-win_amd64.whl", hash = "sha256:2ac6936a3a60d8d9de9563e90227b3aea27068f597274ca192c999a12d8baa8f"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5a87b436028ec9b0f02fe19d4cbc19ef30441085cdfcdf1cce8fbe5c4bd5e9a"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:fc0d4163de9ed2155a77e7a2d59d94c348a6bbab3cff88922fab9e0d3d24faec"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:48b12d953bc796736e7831d67b36892fb6419a4cc44cb16521fe291e594bfe23"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:62c780c927cff98c1538439f0ff616f48a9b2e8837c676f53170d8ae5b9e83cb"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:04b2aefd768aa4edeef8b273327806c9cb0b82e90ff52eacf5d11003ac7a0db2"}, - {file = "google_re2-1.1-2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:9c90175992346519ee7546d9af9a64541c05b6b70346b0ddc54a48aa0d3b6554"}, - {file = "google_re2-1.1-2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22ad9ad9d125249d6386a2e80efb9de7af8260b703b6be7fa0ab069c1cf56ced"}, - {file = "google_re2-1.1-2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f70971f6ffe5254e476e71d449089917f50ebf9cf60f9cec80975ab1693777e2"}, - {file = "google_re2-1.1-2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f267499529e64a4abed24c588f355ebe4700189d434d84a7367725f5a186e48d"}, - {file = "google_re2-1.1-2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b632eff5e4cd44545a9c0e52f2e1becd55831e25f4dd4e0d7ec8ee6ca50858c1"}, - {file = "google_re2-1.1-2-cp311-cp311-win32.whl", hash = "sha256:a42c733036e8f242ee4e5f0e27153ad4ca44ced9e4ce82f3972938ddee528db0"}, - {file = "google_re2-1.1-2-cp311-cp311-win_amd64.whl", hash = "sha256:64f8eed4ca96905d99b5286b3d14b5ca4f6a025ff3c1351626a7df2f93ad1ddd"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5541efcca5b5faf7e0d882334a04fa479bad4e7433f94870f46272eec0672c4a"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:92309af35b6eb2d3b3dc57045cdd83a76370958ab3e0edd2cc4638f6d23f5b32"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:197cd9bcaba96d18c5bf84d0c32fca7a26c234ea83b1d3083366f4392cb99f78"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:1b896f171d29b541256cf26e10dccc9103ac1894683914ed88828ca6facf8dca"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:e022d3239b945014e916ca7120fee659b246ec26c301f9e0542f1a19b38a8744"}, - {file = "google_re2-1.1-2-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:2c73f8a9440873b68bee1198094377501065e85aaf6fcc0d2512c7589ffa06ca"}, - {file = "google_re2-1.1-2-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:901d86555bd7725506d651afaba7d71cd4abd13260aed6cfd7c641a45f76d4f6"}, - {file = "google_re2-1.1-2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ce4710ff636701cfb56eb91c19b775d53b03749a23b7d2a5071bbbf4342a9067"}, - {file = "google_re2-1.1-2-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76a20e5ebdf5bc5d430530197e42a2eeb562f729d3a3fb51f39168283d676e66"}, - {file = "google_re2-1.1-2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:77c9f4d4bb1c8de9d2642d3c4b8b615858ba764df025b3b4f1310266f8def269"}, - {file = "google_re2-1.1-2-cp38-cp38-win32.whl", hash = "sha256:94bd60785bf37ef130a1613738e3c39465a67eae3f3be44bb918540d39b68da3"}, - {file = "google_re2-1.1-2-cp38-cp38-win_amd64.whl", hash = "sha256:59efeb77c0dcdbe37794c61f29c5b1f34bc06e8ec309a111ccdd29d380644d70"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:221e38c27e1dd9ccb8e911e9c7aed6439f68ce81e7bb74001076830b0d6e931d"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:d9145879e6c2e1b814445300b31f88a675e1f06c57564670d95a1442e8370c27"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:c8a12f0740e2a52826bdbf95569a4b0abdf413b4012fa71e94ad25dd4715c6e5"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:9c9998f71466f4db7bda752aa7c348b2881ff688e361108fe500caad1d8b9cb2"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:0c39f69b702005963a3d3bf78743e1733ad73efd7e6e8465d76e3009e4694ceb"}, - {file = "google_re2-1.1-2-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:6d0ce762dee8d6617d0b1788a9653e805e83a23046c441d0ea65f1e27bf84114"}, - {file = "google_re2-1.1-2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ecf3619d98c9b4a7844ab52552ad32597cdbc9a5bdbc7e3435391c653600d1e2"}, - {file = "google_re2-1.1-2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a1426a8cbd1fa004974574708d496005bd379310c4b1c7012be4bc75efde7a8"}, - {file = "google_re2-1.1-2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1a30626ba48b4070f3eab272d860ef1952e710b088792c4d68dddb155be6bfc"}, - {file = "google_re2-1.1-2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1b9c1ffcfbc3095b6ff601ec2d2bf662988f6ea6763bc1c9d52bec55881f8fde"}, - {file = "google_re2-1.1-2-cp39-cp39-win32.whl", hash = "sha256:32ecf995a252c0548404c1065ba4b36f1e524f1f4a86b6367a1a6c3da3801e30"}, - {file = "google_re2-1.1-2-cp39-cp39-win_amd64.whl", hash = "sha256:e7865410f3b112a3609739283ec3f4f6f25aae827ff59c6bfdf806fd394d753e"}, -] [[package]] name = "google-resumable-media" version = "2.5.0" description = "Utilities for Google Media Downloads and Resumable Uploads" +category = "main" optional = true python-versions = ">= 3.7" -files = [ - {file = "google-resumable-media-2.5.0.tar.gz", hash = "sha256:218931e8e2b2a73a58eb354a288e03a0fd5fb1c4583261ac6e4c078666468c93"}, - {file = "google_resumable_media-2.5.0-py2.py3-none-any.whl", hash = "sha256:da1bd943e2e114a56d85d6848497ebf9be6a14d3db23e9fc57581e7c3e8170ec"}, -] [package.dependencies] google-crc32c = ">=1.0,<2.0dev" @@ -3234,12 +2315,9 @@ requests = ["requests (>=2.18.0,<3.0.0dev)"] name = "googleapis-common-protos" version = "1.60.0" description = "Common protobufs used in Google APIs" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "googleapis-common-protos-1.60.0.tar.gz", hash = "sha256:e73ebb404098db405ba95d1e1ae0aa91c3e15a71da031a2eeb6b2e23e7bc3708"}, - {file = "googleapis_common_protos-1.60.0-py2.py3-none-any.whl", hash = "sha256:69f9bbcc6acde92cab2db95ce30a70bd2b81d20b12eff3f1aabaffcbe8a93918"}, -] [package.dependencies] grpcio = {version = ">=1.44.0,<2.0.0.dev0", optional = true, markers = "extra == \"grpc\""} @@ -3252,11 +2330,9 @@ grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] name = "grapheme" version = "0.6.0" description = "Unicode grapheme helpers" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "grapheme-0.6.0.tar.gz", hash = "sha256:44c2b9f21bbe77cfb05835fec230bd435954275267fea1858013b102f8603cca"}, -] [package.extras] test = ["pytest", "sphinx", "sphinx-autobuild", "twine", "wheel"] @@ -3265,12 +2341,9 @@ test = ["pytest", "sphinx", "sphinx-autobuild", "twine", "wheel"] name = "graphviz" version = "0.20.1" description = "Simple Python interface for Graphviz" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "graphviz-0.20.1-py3-none-any.whl", hash = "sha256:587c58a223b51611c0cf461132da386edd896a029524ca61a1462b880bf97977"}, - {file = "graphviz-0.20.1.zip", hash = "sha256:8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8"}, -] [package.extras] dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"] @@ -3281,70 +2354,9 @@ test = ["coverage", "mock (>=4)", "pytest (>=7)", "pytest-cov", "pytest-mock (>= name = "greenlet" version = "2.0.2" description = "Lightweight in-process concurrent programming" +category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" -files = [ - {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"}, - {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"}, - {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, - {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, - {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, - {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"}, - {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"}, - {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, - {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, - {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, - {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"}, - {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"}, - {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"}, - {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"}, - {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"}, - {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"}, - {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"}, - {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"}, - {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"}, - {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"}, - {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"}, - {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"}, - {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"}, - {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"}, - {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"}, - {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, - {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, - {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"}, - {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"}, - {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, - {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, - {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, - {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"}, - {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"}, - {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"}, - {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"}, - {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"}, - {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"}, -] [package.extras] docs = ["Sphinx", "docutils (<0.18)"] @@ -3354,12 +2366,9 @@ test = ["objgraph", "psutil"] name = "grpc-google-iam-v1" version = "0.12.6" description = "IAM API client library" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "grpc-google-iam-v1-0.12.6.tar.gz", hash = "sha256:2bc4b8fdf22115a65d751c9317329322602c39b7c86a289c9b72d228d960ef5f"}, - {file = "grpc_google_iam_v1-0.12.6-py2.py3-none-any.whl", hash = "sha256:5c10f3d8dc2d88678ab1a9b0cb5482735c5efee71e6c0cd59f872eef22913f5c"}, -] [package.dependencies] googleapis-common-protos = {version = ">=1.56.0,<2.0.0dev", extras = ["grpc"]} @@ -3370,55 +2379,9 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4 name = "grpcio" version = "1.57.0" description = "HTTP/2-based RPC framework" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "grpcio-1.57.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:092fa155b945015754bdf988be47793c377b52b88d546e45c6a9f9579ac7f7b6"}, - {file = "grpcio-1.57.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:2f7349786da979a94690cc5c2b804cab4e8774a3cf59be40d037c4342c906649"}, - {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:82640e57fb86ea1d71ea9ab54f7e942502cf98a429a200b2e743d8672171734f"}, - {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40b72effd4c789de94ce1be2b5f88d7b9b5f7379fe9645f198854112a6567d9a"}, - {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f708a6a17868ad8bf586598bee69abded4996b18adf26fd2d91191383b79019"}, - {file = "grpcio-1.57.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:60fe15288a0a65d5c1cb5b4a62b1850d07336e3ba728257a810317be14f0c527"}, - {file = "grpcio-1.57.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6907b1cf8bb29b058081d2aad677b15757a44ef2d4d8d9130271d2ad5e33efca"}, - {file = "grpcio-1.57.0-cp310-cp310-win32.whl", hash = "sha256:57b183e8b252825c4dd29114d6c13559be95387aafc10a7be645462a0fc98bbb"}, - {file = "grpcio-1.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:7b400807fa749a9eb286e2cd893e501b110b4d356a218426cb9c825a0474ca56"}, - {file = "grpcio-1.57.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:c6ebecfb7a31385393203eb04ed8b6a08f5002f53df3d59e5e795edb80999652"}, - {file = "grpcio-1.57.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:00258cbe3f5188629828363ae8ff78477ce976a6f63fb2bb5e90088396faa82e"}, - {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:23e7d8849a0e58b806253fd206ac105b328171e01b8f18c7d5922274958cc87e"}, - {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5371bcd861e679d63b8274f73ac281751d34bd54eccdbfcd6aa00e692a82cd7b"}, - {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aed90d93b731929e742967e236f842a4a2174dc5db077c8f9ad2c5996f89f63e"}, - {file = "grpcio-1.57.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fe752639919aad9ffb0dee0d87f29a6467d1ef764f13c4644d212a9a853a078d"}, - {file = "grpcio-1.57.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fada6b07ec4f0befe05218181f4b85176f11d531911b64c715d1875c4736d73a"}, - {file = "grpcio-1.57.0-cp311-cp311-win32.whl", hash = "sha256:bb396952cfa7ad2f01061fbc7dc1ad91dd9d69243bcb8110cf4e36924785a0fe"}, - {file = "grpcio-1.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:e503cb45ed12b924b5b988ba9576dc9949b2f5283b8e33b21dcb6be74a7c58d0"}, - {file = "grpcio-1.57.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:fd173b4cf02b20f60860dc2ffe30115c18972d7d6d2d69df97ac38dee03be5bf"}, - {file = "grpcio-1.57.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:d7f8df114d6b4cf5a916b98389aeaf1e3132035420a88beea4e3d977e5f267a5"}, - {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:76c44efa4ede1f42a9d5b2fed1fe9377e73a109bef8675fb0728eb80b0b8e8f2"}, - {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4faea2cfdf762a664ab90589b66f416274887641ae17817de510b8178356bf73"}, - {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c60b83c43faeb6d0a9831f0351d7787a0753f5087cc6fa218d78fdf38e5acef0"}, - {file = "grpcio-1.57.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b363bbb5253e5f9c23d8a0a034dfdf1b7c9e7f12e602fc788c435171e96daccc"}, - {file = "grpcio-1.57.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f1fb0fd4a1e9b11ac21c30c169d169ef434c6e9344ee0ab27cfa6f605f6387b2"}, - {file = "grpcio-1.57.0-cp37-cp37m-win_amd64.whl", hash = "sha256:34950353539e7d93f61c6796a007c705d663f3be41166358e3d88c45760c7d98"}, - {file = "grpcio-1.57.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:871f9999e0211f9551f368612460442a5436d9444606184652117d6a688c9f51"}, - {file = "grpcio-1.57.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:a8a8e560e8dbbdf29288872e91efd22af71e88b0e5736b0daf7773c1fecd99f0"}, - {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2313b124e475aa9017a9844bdc5eafb2d5abdda9d456af16fc4535408c7d6da6"}, - {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4098b6b638d9e0ca839a81656a2fd4bc26c9486ea707e8b1437d6f9d61c3941"}, - {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e5b58e32ae14658085c16986d11e99abd002ddbf51c8daae8a0671fffb3467f"}, - {file = "grpcio-1.57.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0f80bf37f09e1caba6a8063e56e2b87fa335add314cf2b78ebf7cb45aa7e3d06"}, - {file = "grpcio-1.57.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5b7a4ce8f862fe32b2a10b57752cf3169f5fe2915acfe7e6a1e155db3da99e79"}, - {file = "grpcio-1.57.0-cp38-cp38-win32.whl", hash = "sha256:9338bacf172e942e62e5889b6364e56657fbf8ac68062e8b25c48843e7b202bb"}, - {file = "grpcio-1.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:e1cb52fa2d67d7f7fab310b600f22ce1ff04d562d46e9e0ac3e3403c2bb4cc16"}, - {file = "grpcio-1.57.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fee387d2fab144e8a34e0e9c5ca0f45c9376b99de45628265cfa9886b1dbe62b"}, - {file = "grpcio-1.57.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:b53333627283e7241fcc217323f225c37783b5f0472316edcaa4479a213abfa6"}, - {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:f19ac6ac0a256cf77d3cc926ef0b4e64a9725cc612f97228cd5dc4bd9dbab03b"}, - {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fdf04e402f12e1de8074458549337febb3b45f21076cc02ef4ff786aff687e"}, - {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5613a2fecc82f95d6c51d15b9a72705553aa0d7c932fad7aed7afb51dc982ee5"}, - {file = "grpcio-1.57.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b670c2faa92124b7397b42303e4d8eb64a4cd0b7a77e35a9e865a55d61c57ef9"}, - {file = "grpcio-1.57.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7a635589201b18510ff988161b7b573f50c6a48fae9cb567657920ca82022b37"}, - {file = "grpcio-1.57.0-cp39-cp39-win32.whl", hash = "sha256:d78d8b86fcdfa1e4c21f8896614b6cc7ee01a2a758ec0c4382d662f2a62cf766"}, - {file = "grpcio-1.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:20ec6fc4ad47d1b6e12deec5045ec3cd5402d9a1597f738263e98f490fe07056"}, - {file = "grpcio-1.57.0.tar.gz", hash = "sha256:4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613"}, -] [package.extras] protobuf = ["grpcio-tools (>=1.57.0)"] @@ -3427,12 +2390,9 @@ protobuf = ["grpcio-tools (>=1.57.0)"] name = "grpcio-status" version = "1.57.0" description = "Status proto mapping for gRPC" +category = "main" optional = true python-versions = ">=3.6" -files = [ - {file = "grpcio-status-1.57.0.tar.gz", hash = "sha256:b098da99df1eebe58337f8f78e50df990273ccacc1226fddeb47c590e3df9e02"}, - {file = "grpcio_status-1.57.0-py3-none-any.whl", hash = "sha256:15d6af055914ebbc4ed17e55ebfb8e6bb17a45a57fea32e6af19978fb7844690"}, -] [package.dependencies] googleapis-common-protos = ">=1.5.5" @@ -3443,55 +2403,9 @@ protobuf = ">=4.21.6" name = "grpcio-tools" version = "1.57.0" description = "Protobuf code generator for gRPC" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "grpcio-tools-1.57.0.tar.gz", hash = "sha256:2f16130d869ce27ecd623194547b649dd657333ec7e8644cc571c645781a9b85"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:4fb8a8468031f858381a576078924af364a08833d8f8f3237018252c4573a802"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:35bf0dad8a3562043345236c26d0053a856fb06c04d7da652f2ded914e508ae7"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:ec9aab2fb6783c7fc54bc28f58eb75f1ca77594e6b0fd5e5e7a8114a95169fe0"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0cf5fc0a1c23f8ea34b408b72fb0e90eec0f404ad4dba98e8f6da3c9ce34e2ed"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26e69d08a515554e0cfe1ec4d31568836f4b17f0ff82294f957f629388629eb9"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c39a3656576b6fdaaf28abe0467f7a7231df4230c1bee132322dbc3209419e7f"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f64f8ab22d27d4a5693310748d35a696061c3b5c7b8c4fb4ab3b4bc1068b6b56"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-win32.whl", hash = "sha256:d2a134756f4db34759a5cc7f7e43f7eb87540b68d1cca62925593c6fb93924f7"}, - {file = "grpcio_tools-1.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:9a3d60fb8d46ede26c1907c146561b3a9caa20a7aff961bc661ef8226f85a2e9"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:aac98ecad8f7bd4301855669d42a5d97ef7bb34bec2b1e74c7a0641d47e313cf"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:cdd020cb68b51462983b7c2dfbc3eb6ede032b8bf438d4554df0c3f08ce35c76"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:f54081b08419a39221cd646363b5708857c696b3ad4784f1dcf310891e33a5f7"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed85a0291fff45b67f2557fe7f117d3bc7af8b54b8619d27bf374b5c8b7e3ca2"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e868cd6feb3ef07d4b35be104fe1fd0657db05259ff8f8ec5e08f4f89ca1191d"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:dfb6f6120587b8e228a3cae5ee4985b5bdc18501bad05c49df61965dfc9d70a9"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4a7ad7f328e28fc97c356d0f10fb10d8b5151bb65aa7cf14bf8084513f0b7306"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-win32.whl", hash = "sha256:9867f2817b1a0c93c523f89ac6c9d8625548af4620a7ce438bf5a76e23327284"}, - {file = "grpcio_tools-1.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:1f9e917a9f18087f6c14b4d4508fb94fca5c2f96852363a89232fb9b2124ac1f"}, - {file = "grpcio_tools-1.57.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:9f2aefa8a37bd2c4db1a3f1aca11377e2766214520fb70e67071f4ff8d8b0fa5"}, - {file = "grpcio_tools-1.57.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:850cbda0ec5d24c39e7215ede410276040692ca45d105fbbeada407fa03f0ac0"}, - {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:6fa52972c9647876ea35f6dc2b51002a74ed900ec7894586cbb2fe76f64f99de"}, - {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0eea89d7542719594e50e2283f51a072978b953e8b3e9fd7c59a2c762d4c1"}, - {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3da5240211252fc70a6451fe00c143e2ab2f7bfc2445695ad2ed056b8e48d96"}, - {file = "grpcio_tools-1.57.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a0256f8786ac9e4db618a1aa492bb3472569a0946fd3ee862ffe23196323da55"}, - {file = "grpcio_tools-1.57.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c026bdf5c1366ce88b7bbe2d8207374d675afd3fd911f60752103de3da4a41d2"}, - {file = "grpcio_tools-1.57.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9053c2f655589545be08b9d6a673e92970173a4bf11a4b9f18cd6e9af626b587"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:81ec4dbb696e095057b2528d11a8da04be6bbe2b967fa07d4ea9ba6354338cbf"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:495e2946406963e0b9f063f76d5af0f2a19517dac2b367b5b044432ac9194296"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:7b46fc6aa8eb7edd18cafcd21fd98703cb6c09e46b507de335fca7f0161dfccb"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb81ff861692111fa81bd85f64584e624cb4013bd66fbce8a209b8893f5ce398"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a42dc220eb5305f470855c9284f4c8e85ae59d6d742cd07946b0cbe5e9ca186"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:90d10d9038ba46a595a223a34f136c9230e3d6d7abc2433dbf0e1c31939d3a8b"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5bc3e6d338aefb052e19cedabe00452be46d0c10a4ed29ee77abb00402e438fe"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-win32.whl", hash = "sha256:34b36217b17b5bea674a414229913e1fd80ede328be51e1b531fcc62abd393b0"}, - {file = "grpcio_tools-1.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:dbde4004a0688400036342ff73e3706e8940483e2871547b1354d59e93a38277"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:784574709b9690dc28696617ea69352e2132352fdfc9bc89afa8e39f99ae538e"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:85ac4e62eb44428cde025fd9ab7554002315fc7880f791c553fc5a0015cc9931"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:dc771d4db5701f280957bbcee91745e0686d00ed1c6aa7e05ba30a58b02d70a1"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3ac06703c412f8167a9062eaf6099409967e33bf98fa5b02be4b4689b6bdf39"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02d78c034109f46032c7217260066d49d41e6bcaf588fa28fa40fe2f83445347"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2db25f15ed44327f2e02d0c4fe741ac966f9500e407047d8a7c7fccf2df65616"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b417c97936d94874a3ce7ed8deab910f2233e3612134507cfee4af8735c38a6"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-win32.whl", hash = "sha256:f717cce5093e6b6049d9ea6d12fdf3658efdb1a80772f7737db1f8510b876df6"}, - {file = "grpcio_tools-1.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:1c0e8a1a32973a5d59fbcc19232f925e5c48116e9411f788033a31c5ca5130b4"}, -] [package.dependencies] grpcio = ">=1.57.0" @@ -3502,12 +2416,9 @@ setuptools = "*" name = "gunicorn" version = "21.2.0" description = "WSGI HTTP Server for UNIX" +category = "dev" optional = false python-versions = ">=3.5" -files = [ - {file = "gunicorn-21.2.0-py3-none-any.whl", hash = "sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0"}, - {file = "gunicorn-21.2.0.tar.gz", hash = "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"}, -] [package.dependencies] packaging = "*" @@ -3522,23 +2433,17 @@ tornado = ["tornado (>=0.2)"] name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] [[package]] name = "h2" version = "4.1.0" description = "HTTP/2 State-Machine based protocol implementation" +category = "main" optional = true python-versions = ">=3.6.1" -files = [ - {file = "h2-4.1.0-py3-none-any.whl", hash = "sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d"}, - {file = "h2-4.1.0.tar.gz", hash = "sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb"}, -] [package.dependencies] hpack = ">=4.0,<5" @@ -3548,12 +2453,9 @@ hyperframe = ">=6.0,<7" name = "hexbytes" version = "0.3.1" description = "hexbytes: Python `bytes` subclass that decodes hex, with a readable console output" +category = "main" optional = false python-versions = ">=3.7, <4" -files = [ - {file = "hexbytes-0.3.1-py3-none-any.whl", hash = "sha256:383595ad75026cf00abd570f44b368c6cdac0c6becfae5c39ff88829877f8a59"}, - {file = "hexbytes-0.3.1.tar.gz", hash = "sha256:a3fe35c6831ee8fafd048c4c086b986075fc14fd46258fa24ecb8d65745f9a9d"}, -] [package.extras] dev = ["black (>=22)", "bumpversion (>=0.5.3)", "eth-utils (>=1.0.1,<3)", "flake8 (==6.0.0)", "flake8-bugbear (==23.3.23)", "hypothesis (>=3.44.24,<=6.31.6)", "ipython", "isort (>=5.10.1)", "mypy (==0.971)", "pydocstyle (>=5.0.0)", "pytest (>=7.0.0)", "pytest-watch (>=4.1.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=5.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] @@ -3565,12 +2467,9 @@ test = ["eth-utils (>=1.0.1,<3)", "hypothesis (>=3.44.24,<=6.31.6)", "pytest (>= name = "hologram" version = "0.0.16" description = "JSON schema generation from dataclasses" -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "hologram-0.0.16-py3-none-any.whl", hash = "sha256:4e56bd525336bb64a18916f871977a4125b64be8aaa750233583003333cda361"}, - {file = "hologram-0.0.16.tar.gz", hash = "sha256:1c2c921b4e575361623ea0e0d0aa5aee377b1a333cc6c6a879e213ed34583e55"}, -] [package.dependencies] jsonschema = ">=3.0" @@ -3580,44 +2479,35 @@ python-dateutil = ">=2.8,<2.9" name = "hpack" version = "4.0.0" description = "Pure-Python HPACK header compression" +category = "main" optional = true python-versions = ">=3.6.1" -files = [ - {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, - {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, -] [[package]] name = "httpcore" version = "0.17.3" description = "A minimal low-level HTTP client." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "httpcore-0.17.3-py3-none-any.whl", hash = "sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87"}, - {file = "httpcore-0.17.3.tar.gz", hash = "sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888"}, -] [package.dependencies] anyio = ">=3.0,<5.0" certifi = "*" h11 = ">=0.13,<0.15" -sniffio = "==1.*" +sniffio = ">=1.0.0,<2.0.0" [package.extras] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] [[package]] name = "httplib2" version = "0.22.0" description = "A comprehensive HTTP client library." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, - {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, -] [package.dependencies] pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} @@ -3626,12 +2516,9 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 name = "httpx" version = "0.24.1" description = "The next generation HTTP client." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "httpx-0.24.1-py3-none-any.whl", hash = "sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"}, - {file = "httpx-0.24.1.tar.gz", hash = "sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd"}, -] [package.dependencies] certifi = "*" @@ -3642,20 +2529,17 @@ sniffio = "*" [package.extras] brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] [[package]] name = "humanfriendly" version = "10.0" description = "Human friendly output for text interfaces using Python" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, - {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, -] [package.dependencies] pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} @@ -3664,12 +2548,9 @@ pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_ve name = "humanize" version = "4.8.0" description = "Python humanize utilities" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "humanize-4.8.0-py3-none-any.whl", hash = "sha256:8bc9e2bb9315e61ec06bf690151ae35aeb65651ab091266941edf97c90836404"}, - {file = "humanize-4.8.0.tar.gz", hash = "sha256:9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8"}, -] [package.extras] tests = ["freezegun", "pytest", "pytest-cov"] @@ -3678,34 +2559,25 @@ tests = ["freezegun", "pytest", "pytest-cov"] name = "hyperframe" version = "6.0.1" description = "HTTP/2 framing layer for Python" +category = "main" optional = true python-versions = ">=3.6.1" -files = [ - {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, - {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, -] [[package]] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, -] [[package]] name = "importlib-metadata" version = "4.13.0" description = "Read metadata from Python packages" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, - {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, -] [package.dependencies] zipp = ">=0.5" @@ -3719,12 +2591,9 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag name = "importlib-resources" version = "6.0.1" description = "Read resources from Python packages" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "importlib_resources-6.0.1-py3-none-any.whl", hash = "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf"}, - {file = "importlib_resources-6.0.1.tar.gz", hash = "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4"}, -] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} @@ -3737,34 +2606,25 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" +category = "dev" optional = false python-versions = ">=3.5" -files = [ - {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, - {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, -] [[package]] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] [[package]] name = "isodate" version = "0.6.1" description = "An ISO 8601 date/time/duration parser and formatter" -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, - {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, -] [package.dependencies] six = "*" @@ -3773,23 +2633,17 @@ six = "*" name = "itsdangerous" version = "2.1.2" description = "Safely pass data to untrusted environments and back." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, - {file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"}, -] [[package]] name = "jaraco-classes" version = "3.3.0" description = "Utility functions for Python class constructs" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "jaraco.classes-3.3.0-py3-none-any.whl", hash = "sha256:10afa92b6743f25c0cf5f37c6bb6e18e2c5bb84a16527ccfc0040ea377e7aaeb"}, - {file = "jaraco.classes-3.3.0.tar.gz", hash = "sha256:c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621"}, -] [package.dependencies] more-itertools = "*" @@ -3802,12 +2656,9 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", name = "jeepney" version = "0.8.0" description = "Low-level, pure Python DBus protocol wrapper." +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, - {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, -] [package.extras] test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] @@ -3817,12 +2668,9 @@ trio = ["async_generator", "trio"] name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, -] [package.dependencies] MarkupSafe = ">=2.0" @@ -3834,12 +2682,9 @@ i18n = ["Babel (>=2.7)"] name = "jinxed" version = "1.2.0" description = "Jinxed Terminal Library" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "jinxed-1.2.0-py2.py3-none-any.whl", hash = "sha256:cfc2b2e4e3b4326954d546ba6d6b9a7a796ddcb0aef8d03161d005177eb0d48b"}, - {file = "jinxed-1.2.0.tar.gz", hash = "sha256:032acda92d5c57cd216033cbbd53de731e6ed50deb63eb4781336ca55f72cda5"}, -] [package.dependencies] ansicon = {version = "*", markers = "platform_system == \"Windows\""} @@ -3848,24 +2693,17 @@ ansicon = {version = "*", markers = "platform_system == \"Windows\""} name = "jmespath" version = "1.0.1" description = "JSON Matching Expressions" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, - {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, -] [[package]] name = "jsonpath-ng" version = "1.5.3" description = "A final implementation of JSONPath for Python that aims to be standard compliant, including arithmetic and binary comparison operators and providing clear AST for metaprogramming." +category = "main" optional = false python-versions = "*" -files = [ - {file = "jsonpath-ng-1.5.3.tar.gz", hash = "sha256:a273b182a82c1256daab86a313b937059261b5c5f8c4fa3fc38b882b344dd567"}, - {file = "jsonpath_ng-1.5.3-py2-none-any.whl", hash = "sha256:f75b95dbecb8a0f3b86fd2ead21c2b022c3f5770957492b9b6196ecccfeb10aa"}, - {file = "jsonpath_ng-1.5.3-py3-none-any.whl", hash = "sha256:292a93569d74029ba75ac2dc3d3630fc0e17b2df26119a165fa1d498ca47bf65"}, -] [package.dependencies] decorator = "*" @@ -3876,12 +2714,9 @@ six = "*" name = "jsonschema" version = "4.19.0" description = "An implementation of JSON Schema validation for Python" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, - {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, -] [package.dependencies] attrs = ">=22.2.0" @@ -3899,12 +2734,9 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jsonschema-specifications" version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, - {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, -] [package.dependencies] importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} @@ -3914,12 +2746,9 @@ referencing = ">=0.28.0" name = "keyring" version = "24.2.0" description = "Store and access your passwords safely." +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "keyring-24.2.0-py3-none-any.whl", hash = "sha256:4901caaf597bfd3bbd78c9a0c7c4c29fcd8310dab2cffefe749e916b6527acd6"}, - {file = "keyring-24.2.0.tar.gz", hash = "sha256:ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509"}, -] [package.dependencies] importlib-metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""} @@ -3938,57 +2767,17 @@ testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", name = "lazy-object-proxy" version = "1.9.0" description = "A fast and thorough lazy object proxy." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, -] [[package]] name = "leather" version = "0.3.4" description = "Python charting for 80% of humans." -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "leather-0.3.4-py2.py3-none-any.whl", hash = "sha256:5e741daee96e9f1e9e06081b8c8a10c4ac199301a0564cdd99b09df15b4603d2"}, - {file = "leather-0.3.4.tar.gz", hash = "sha256:b43e21c8fa46b2679de8449f4d953c06418666dc058ce41055ee8a8d3bb40918"}, -] [package.dependencies] six = ">=1.6.1" @@ -3997,12 +2786,9 @@ six = ">=1.6.1" name = "limits" version = "3.6.0" description = "Rate limiting utilities" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "limits-3.6.0-py3-none-any.whl", hash = "sha256:32fe29a398352c71bc43d53773117d47e22c5ea4200aef28d3f5fdee10334cd7"}, - {file = "limits-3.6.0.tar.gz", hash = "sha256:57a9c69fd37ad1e4fa3886dff8d035227e1f6af87f47e9118627e72cf1ced3bf"}, -] [package.dependencies] deprecated = ">=1.2" @@ -4026,12 +2812,9 @@ rediscluster = ["redis (>=4.2.0,!=4.5.2,!=4.5.3)"] name = "linkify-it-py" version = "2.0.2" description = "Links recognition library with FULL unicode support." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "linkify-it-py-2.0.2.tar.gz", hash = "sha256:19f3060727842c254c808e99d465c80c49d2c7306788140987a1a7a29b0d6ad2"}, - {file = "linkify_it_py-2.0.2-py3-none-any.whl", hash = "sha256:a3a24428f6c96f27370d7fe61d2ac0be09017be5190d68d8658233171f1b6541"}, -] [package.dependencies] uc-micro-py = "*" @@ -4046,142 +2829,36 @@ test = ["coverage", "pytest", "pytest-cov"] name = "lockfile" version = "0.12.2" description = "Platform-independent file locking module" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, - {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"}, -] [[package]] name = "logbook" version = "1.5.3" description = "A logging replacement for Python" -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "Logbook-1.5.3-cp27-cp27m-win32.whl", hash = "sha256:56ee54c11df3377314cedcd6507638f015b4b88c0238c2e01b5eb44fd3a6ad1b"}, - {file = "Logbook-1.5.3-cp27-cp27m-win_amd64.whl", hash = "sha256:2dc85f1510533fddb481e97677bb7bca913560862734c0b3b289bfed04f78c92"}, - {file = "Logbook-1.5.3-cp35-cp35m-win32.whl", hash = "sha256:94e2e11ff3c2304b0d09a36c6208e5ae756eb948b210e5cbd63cd8d27f911542"}, - {file = "Logbook-1.5.3-cp35-cp35m-win_amd64.whl", hash = "sha256:97fee1bd9605f76335b169430ed65e15e457a844b2121bd1d90a08cf7e30aba0"}, - {file = "Logbook-1.5.3-cp36-cp36m-win32.whl", hash = "sha256:7c533eb728b3d220b1b5414ba4635292d149d79f74f6973b4aa744c850ca944a"}, - {file = "Logbook-1.5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:e18f7422214b1cf0240c56f884fd9c9b4ff9d0da2eabca9abccba56df7222f66"}, - {file = "Logbook-1.5.3-cp37-cp37m-win32.whl", hash = "sha256:8f76a2e7b1f72595f753228732f81ce342caf03babc3fed6bbdcf366f2f20f18"}, - {file = "Logbook-1.5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0cf2cdbfb65a03b5987d19109dacad13417809dcf697f66e1a7084fb21744ea9"}, - {file = "Logbook-1.5.3.tar.gz", hash = "sha256:66f454ada0f56eae43066f604a222b09893f98c1adc18df169710761b8f32fe8"}, -] [package.extras] -all = ["Jinja2", "brotli", "cython", "execnet (>=1.0.9)", "mock", "pytest", "pytest-cov (<2.6)", "pyzmq", "redis", "sqlalchemy"] +all = ["Jinja2", "brotli", "cython", "execnet (>=1.0.9)", "pytest (>4.0)", "pytest-cov (>=2.6)", "pyzmq", "redis", "sqlalchemy"] compression = ["brotli"] -dev = ["cython", "mock", "pytest", "pytest-cov (<2.6)"] +dev = ["cython", "pytest (>4.0)", "pytest-cov (>=2.6)"] execnet = ["execnet (>=1.0.9)"] jinja = ["Jinja2"] redis = ["redis"] sqlalchemy = ["sqlalchemy"] -test = ["mock", "pytest", "pytest-cov (<2.6)"] +test = ["pytest (>4.0)", "pytest-cov (>=2.6)"] zmq = ["pyzmq"] [[package]] name = "lxml" version = "4.9.3" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" -files = [ - {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, - {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, - {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, - {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae8b9c6deb1e634ba4f1930eb67ef6e6bf6a44b6eb5ad605642b2d6d5ed9ce3c"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f"}, - {file = "lxml-4.9.3-cp310-cp310-win32.whl", hash = "sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85"}, - {file = "lxml-4.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d"}, - {file = "lxml-4.9.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:9767e79108424fb6c3edf8f81e6730666a50feb01a328f4a016464a5893f835a"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6"}, - {file = "lxml-4.9.3-cp311-cp311-win32.whl", hash = "sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305"}, - {file = "lxml-4.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc"}, - {file = "lxml-4.9.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5"}, - {file = "lxml-4.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2"}, - {file = "lxml-4.9.3-cp35-cp35m-win32.whl", hash = "sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d"}, - {file = "lxml-4.9.3-cp35-cp35m-win_amd64.whl", hash = "sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833"}, - {file = "lxml-4.9.3-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e3cd95e10c2610c360154afdc2f1480aea394f4a4f1ea0a5eacce49640c9b190"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458"}, - {file = "lxml-4.9.3-cp36-cp36m-win32.whl", hash = "sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477"}, - {file = "lxml-4.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:141f1d1a9b663c679dc524af3ea1773e618907e96075262726c7612c02b149a4"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02"}, - {file = "lxml-4.9.3-cp37-cp37m-win32.whl", hash = "sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f"}, - {file = "lxml-4.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:71d66ee82e7417828af6ecd7db817913cb0cf9d4e61aa0ac1fde0583d84358db"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7"}, - {file = "lxml-4.9.3-cp38-cp38-win32.whl", hash = "sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574"}, - {file = "lxml-4.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96"}, - {file = "lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50"}, - {file = "lxml-4.9.3-cp39-cp39-win32.whl", hash = "sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2"}, - {file = "lxml-4.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2"}, - {file = "lxml-4.9.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:05186a0f1346ae12553d66df1cfce6f251589fea3ad3da4f3ef4e34b2d58c6a3"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:50670615eaf97227d5dc60de2dc99fb134a7130d310d783314e7724bf163f75d"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9"}, - {file = "lxml-4.9.3.tar.gz", hash = "sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c"}, -] [package.extras] cssselect = ["cssselect (>=0.7)"] @@ -4193,23 +2870,17 @@ source = ["Cython (>=0.29.35)"] name = "makefun" version = "1.15.1" description = "Small library to dynamically create python functions." +category = "main" optional = false python-versions = "*" -files = [ - {file = "makefun-1.15.1-py2.py3-none-any.whl", hash = "sha256:a63cfc7b47a539c76d97bd4fdb833c7d0461e759fd1225f580cb4be6200294d4"}, - {file = "makefun-1.15.1.tar.gz", hash = "sha256:40b0f118b6ded0d8d78c78f1eb679b8b6b2462e3c1b3e05fb1b2da8cd46b48a5"}, -] [[package]] name = "mako" version = "1.2.4" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Mako-1.2.4-py3-none-any.whl", hash = "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818"}, - {file = "Mako-1.2.4.tar.gz", hash = "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34"}, -] [package.dependencies] MarkupSafe = ">=0.9.2" @@ -4223,12 +2894,9 @@ testing = ["pytest"] name = "markdown" version = "3.4.4" description = "Python implementation of John Gruber's Markdown." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Markdown-3.4.4-py3-none-any.whl", hash = "sha256:a4c1b65c0957b4bd9e7d86ddc7b3c9868fb9670660f6f99f6d1bca8954d5a941"}, - {file = "Markdown-3.4.4.tar.gz", hash = "sha256:225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6"}, -] [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} @@ -4241,12 +2909,9 @@ testing = ["coverage", "pyyaml"] name = "markdown-it-py" version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, - {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, -] [package.dependencies] mdurl = ">=0.1,<1.0" @@ -4265,71 +2930,17 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {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]] name = "marshmallow" version = "3.20.1" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "marshmallow-3.20.1-py3-none-any.whl", hash = "sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c"}, - {file = "marshmallow-3.20.1.tar.gz", hash = "sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889"}, -] [package.dependencies] packaging = ">=17.0" @@ -4344,12 +2955,9 @@ tests = ["pytest", "pytz", "simplejson"] name = "marshmallow-oneofschema" version = "3.0.1" description = "marshmallow multiplexing schema" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "marshmallow-oneofschema-3.0.1.tar.gz", hash = "sha256:62cd2099b29188c92493c2940ee79d1bf2f2619a71721664e5a98ec2faa58237"}, - {file = "marshmallow_oneofschema-3.0.1-py2.py3-none-any.whl", hash = "sha256:bd29410a9f2f7457a2b428286e2a80ef76b8ddc3701527dc1f935a88914b02f2"}, -] [package.dependencies] marshmallow = ">=3.0.0,<4.0.0" @@ -4363,12 +2971,9 @@ tests = ["mock", "pytest"] name = "marshmallow-sqlalchemy" version = "0.26.1" description = "SQLAlchemy integration with the marshmallow (de)serialization library" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "marshmallow-sqlalchemy-0.26.1.tar.gz", hash = "sha256:d8525f74de51554b5c8491effe036f60629a426229befa33ff614c8569a16a73"}, - {file = "marshmallow_sqlalchemy-0.26.1-py2.py3-none-any.whl", hash = "sha256:ba7493eeb8669a3bf00d8f906b657feaa87a740ae9e4ecf829cfd6ddf763d276"}, -] [package.dependencies] marshmallow = ">=3.0.0" @@ -4384,12 +2989,9 @@ tests = ["pytest", "pytest-lazy-fixture"] name = "mashumaro" version = "3.6" description = "Fast serialization library on top of dataclasses" -optional = true +category = "main" +optional = false python-versions = ">=3.7" -files = [ - {file = "mashumaro-3.6-py3-none-any.whl", hash = "sha256:77403e3e2ecd0a7d0e22d472c08e33282460e48726eabe356c5163efbdf9c7ee"}, - {file = "mashumaro-3.6.tar.gz", hash = "sha256:ceb3de53029219bbbb0385ca600b59348dcd14e0c68523986c6d51889ad338f5"}, -] [package.dependencies] msgpack = {version = ">=0.5.6", optional = true, markers = "extra == \"msgpack\""} @@ -4405,23 +3007,17 @@ yaml = ["pyyaml (>=3.13)"] name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] [[package]] name = "mdit-py-plugins" version = "0.4.0" description = "Collection of plugins for markdown-it-py" +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "mdit_py_plugins-0.4.0-py3-none-any.whl", hash = "sha256:b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9"}, - {file = "mdit_py_plugins-0.4.0.tar.gz", hash = "sha256:d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b"}, -] [package.dependencies] markdown-it-py = ">=1.0.0,<4.0.0" @@ -4435,22 +3031,17 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, - {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, -] [[package]] name = "minimal-snowplow-tracker" version = "0.0.2" description = "A minimal snowplow event tracker for Python. Add analytics to your Python and Django apps, webapps and games" -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "minimal-snowplow-tracker-0.0.2.tar.gz", hash = "sha256:acabf7572db0e7f5cbf6983d495eef54081f71be392330eb3aadb9ccb39daaa4"}, -] [package.dependencies] requests = ">=2.2.1,<3.0" @@ -4460,23 +3051,17 @@ six = ">=1.9.0,<2.0" name = "more-itertools" version = "10.1.0" description = "More routines for operating on iterables, beyond itertools" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "more-itertools-10.1.0.tar.gz", hash = "sha256:626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a"}, - {file = "more_itertools-10.1.0-py3-none-any.whl", hash = "sha256:64e0735fcfdc6f3464ea133afe8ea4483b1c5fe3a3d69852e6503b43a0b222e6"}, -] [[package]] name = "mpmath" version = "1.3.0" description = "Python library for arbitrary-precision floating-point arithmetic" +category = "main" optional = true python-versions = "*" -files = [ - {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, - {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, -] [package.extras] develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] @@ -4488,12 +3073,9 @@ tests = ["pytest (>=4.6)"] name = "msal" version = "1.23.0" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." +category = "main" optional = true python-versions = "*" -files = [ - {file = "msal-1.23.0-py2.py3-none-any.whl", hash = "sha256:3342e0837a047007f9d479e814b559c3219767453d57920dc40a31986862048b"}, - {file = "msal-1.23.0.tar.gz", hash = "sha256:25c9a33acf84301f93d1fdbe9f1a9c60cd38af0d5fffdbfa378138fc7bc1e86b"}, -] [package.dependencies] cryptography = ">=0.6,<44" @@ -4507,12 +3089,9 @@ broker = ["pymsalruntime (>=0.13.2,<0.14)"] name = "msal-extensions" version = "1.0.0" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." +category = "main" optional = true python-versions = "*" -files = [ - {file = "msal-extensions-1.0.0.tar.gz", hash = "sha256:c676aba56b0cce3783de1b5c5ecfe828db998167875126ca4b47dc6436451354"}, - {file = "msal_extensions-1.0.0-py2.py3-none-any.whl", hash = "sha256:91e3db9620b822d0ed2b4d1850056a0f133cba04455e62f11612e40f5502f2ee"}, -] [package.dependencies] msal = ">=0.4.1,<2.0.0" @@ -4525,192 +3104,25 @@ portalocker = [ name = "msgpack" version = "1.0.5" description = "MessagePack serializer" -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:525228efd79bb831cf6830a732e2e80bc1b05436b086d4264814b4b2955b2fa9"}, - {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f8d8b3bf1ff2672567d6b5c725a1b347fe838b912772aa8ae2bf70338d5a198"}, - {file = "msgpack-1.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdc793c50be3f01106245a61b739328f7dccc2c648b501e237f0699fe1395b81"}, - {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cb47c21a8a65b165ce29f2bec852790cbc04936f502966768e4aae9fa763cb7"}, - {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e42b9594cc3bf4d838d67d6ed62b9e59e201862a25e9a157019e171fbe672dd3"}, - {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:55b56a24893105dc52c1253649b60f475f36b3aa0fc66115bffafb624d7cb30b"}, - {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1967f6129fc50a43bfe0951c35acbb729be89a55d849fab7686004da85103f1c"}, - {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20a97bf595a232c3ee6d57ddaadd5453d174a52594bf9c21d10407e2a2d9b3bd"}, - {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d25dd59bbbbb996eacf7be6b4ad082ed7eacc4e8f3d2df1ba43822da9bfa122a"}, - {file = "msgpack-1.0.5-cp310-cp310-win32.whl", hash = "sha256:382b2c77589331f2cb80b67cc058c00f225e19827dbc818d700f61513ab47bea"}, - {file = "msgpack-1.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:4867aa2df9e2a5fa5f76d7d5565d25ec76e84c106b55509e78c1ede0f152659a"}, - {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9f5ae84c5c8a857ec44dc180a8b0cc08238e021f57abdf51a8182e915e6299f0"}, - {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9e6ca5d5699bcd89ae605c150aee83b5321f2115695e741b99618f4856c50898"}, - {file = "msgpack-1.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5494ea30d517a3576749cad32fa27f7585c65f5f38309c88c6d137877fa28a5a"}, - {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ab2f3331cb1b54165976a9d976cb251a83183631c88076613c6c780f0d6e45a"}, - {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28592e20bbb1620848256ebc105fc420436af59515793ed27d5c77a217477705"}, - {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe5c63197c55bce6385d9aee16c4d0641684628f63ace85f73571e65ad1c1e8d"}, - {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ed40e926fa2f297e8a653c954b732f125ef97bdd4c889f243182299de27e2aa9"}, - {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b2de4c1c0538dcb7010902a2b97f4e00fc4ddf2c8cda9749af0e594d3b7fa3d7"}, - {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf22a83f973b50f9d38e55c6aade04c41ddda19b00c4ebc558930d78eecc64ed"}, - {file = "msgpack-1.0.5-cp311-cp311-win32.whl", hash = "sha256:c396e2cc213d12ce017b686e0f53497f94f8ba2b24799c25d913d46c08ec422c"}, - {file = "msgpack-1.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c4c68d87497f66f96d50142a2b73b97972130d93677ce930718f68828b382e2"}, - {file = "msgpack-1.0.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a2b031c2e9b9af485d5e3c4520f4220d74f4d222a5b8dc8c1a3ab9448ca79c57"}, - {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f837b93669ce4336e24d08286c38761132bc7ab29782727f8557e1eb21b2080"}, - {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1d46dfe3832660f53b13b925d4e0fa1432b00f5f7210eb3ad3bb9a13c6204a6"}, - {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:366c9a7b9057e1547f4ad51d8facad8b406bab69c7d72c0eb6f529cf76d4b85f"}, - {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:4c075728a1095efd0634a7dccb06204919a2f67d1893b6aa8e00497258bf926c"}, - {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:f933bbda5a3ee63b8834179096923b094b76f0c7a73c1cfe8f07ad608c58844b"}, - {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:36961b0568c36027c76e2ae3ca1132e35123dcec0706c4b7992683cc26c1320c"}, - {file = "msgpack-1.0.5-cp36-cp36m-win32.whl", hash = "sha256:b5ef2f015b95f912c2fcab19c36814963b5463f1fb9049846994b007962743e9"}, - {file = "msgpack-1.0.5-cp36-cp36m-win_amd64.whl", hash = "sha256:288e32b47e67f7b171f86b030e527e302c91bd3f40fd9033483f2cacc37f327a"}, - {file = "msgpack-1.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:137850656634abddfb88236008339fdaba3178f4751b28f270d2ebe77a563b6c"}, - {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c05a4a96585525916b109bb85f8cb6511db1c6f5b9d9cbcbc940dc6b4be944b"}, - {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56a62ec00b636583e5cb6ad313bbed36bb7ead5fa3a3e38938503142c72cba4f"}, - {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef8108f8dedf204bb7b42994abf93882da1159728a2d4c5e82012edd92c9da9f"}, - {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1835c84d65f46900920b3708f5ba829fb19b1096c1800ad60bae8418652a951d"}, - {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e57916ef1bd0fee4f21c4600e9d1da352d8816b52a599c46460e93a6e9f17086"}, - {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:17358523b85973e5f242ad74aa4712b7ee560715562554aa2134d96e7aa4cbbf"}, - {file = "msgpack-1.0.5-cp37-cp37m-win32.whl", hash = "sha256:cb5aaa8c17760909ec6cb15e744c3ebc2ca8918e727216e79607b7bbce9c8f77"}, - {file = "msgpack-1.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:ab31e908d8424d55601ad7075e471b7d0140d4d3dd3272daf39c5c19d936bd82"}, - {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b72d0698f86e8d9ddf9442bdedec15b71df3598199ba33322d9711a19f08145c"}, - {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:379026812e49258016dd84ad79ac8446922234d498058ae1d415f04b522d5b2d"}, - {file = "msgpack-1.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:332360ff25469c346a1c5e47cbe2a725517919892eda5cfaffe6046656f0b7bb"}, - {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:476a8fe8fae289fdf273d6d2a6cb6e35b5a58541693e8f9f019bfe990a51e4ba"}, - {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9985b214f33311df47e274eb788a5893a761d025e2b92c723ba4c63936b69b1"}, - {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48296af57cdb1d885843afd73c4656be5c76c0c6328db3440c9601a98f303d87"}, - {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:addab7e2e1fcc04bd08e4eb631c2a90960c340e40dfc4a5e24d2ff0d5a3b3edb"}, - {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:916723458c25dfb77ff07f4c66aed34e47503b2eb3188b3adbec8d8aa6e00f48"}, - {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:821c7e677cc6acf0fd3f7ac664c98803827ae6de594a9f99563e48c5a2f27eb0"}, - {file = "msgpack-1.0.5-cp38-cp38-win32.whl", hash = "sha256:1c0f7c47f0087ffda62961d425e4407961a7ffd2aa004c81b9c07d9269512f6e"}, - {file = "msgpack-1.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:bae7de2026cbfe3782c8b78b0db9cbfc5455e079f1937cb0ab8d133496ac55e1"}, - {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:20c784e66b613c7f16f632e7b5e8a1651aa5702463d61394671ba07b2fc9e025"}, - {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:266fa4202c0eb94d26822d9bfd7af25d1e2c088927fe8de9033d929dd5ba24c5"}, - {file = "msgpack-1.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18334484eafc2b1aa47a6d42427da7fa8f2ab3d60b674120bce7a895a0a85bdd"}, - {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57e1f3528bd95cc44684beda696f74d3aaa8a5e58c816214b9046512240ef437"}, - {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:586d0d636f9a628ddc6a17bfd45aa5b5efaf1606d2b60fa5d87b8986326e933f"}, - {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a740fa0e4087a734455f0fc3abf5e746004c9da72fbd541e9b113013c8dc3282"}, - {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3055b0455e45810820db1f29d900bf39466df96ddca11dfa6d074fa47054376d"}, - {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a61215eac016f391129a013c9e46f3ab308db5f5ec9f25811e811f96962599a8"}, - {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:362d9655cd369b08fda06b6657a303eb7172d5279997abe094512e919cf74b11"}, - {file = "msgpack-1.0.5-cp39-cp39-win32.whl", hash = "sha256:ac9dd47af78cae935901a9a500104e2dea2e253207c924cc95de149606dc43cc"}, - {file = "msgpack-1.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:06f5174b5f8ed0ed919da0e62cbd4ffde676a374aba4020034da05fab67b9164"}, - {file = "msgpack-1.0.5.tar.gz", hash = "sha256:c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c"}, -] [[package]] name = "multidict" version = "6.0.4" description = "multidict implementation" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, -] [[package]] name = "mypy" version = "1.6.1" description = "Optional static typing for Python" +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "mypy-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e5012e5cc2ac628177eaac0e83d622b2dd499e28253d4107a08ecc59ede3fc2c"}, - {file = "mypy-1.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d8fbb68711905f8912e5af474ca8b78d077447d8f3918997fecbf26943ff3cbb"}, - {file = "mypy-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a1ad938fee7d2d96ca666c77b7c494c3c5bd88dff792220e1afbebb2925b5e"}, - {file = "mypy-1.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b96ae2c1279d1065413965c607712006205a9ac541895004a1e0d4f281f2ff9f"}, - {file = "mypy-1.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:40b1844d2e8b232ed92e50a4bd11c48d2daa351f9deee6c194b83bf03e418b0c"}, - {file = "mypy-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:81af8adaa5e3099469e7623436881eff6b3b06db5ef75e6f5b6d4871263547e5"}, - {file = "mypy-1.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8c223fa57cb154c7eab5156856c231c3f5eace1e0bed9b32a24696b7ba3c3245"}, - {file = "mypy-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8032e00ce71c3ceb93eeba63963b864bf635a18f6c0c12da6c13c450eedb183"}, - {file = "mypy-1.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4c46b51de523817a0045b150ed11b56f9fff55f12b9edd0f3ed35b15a2809de0"}, - {file = "mypy-1.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:19f905bcfd9e167159b3d63ecd8cb5e696151c3e59a1742e79bc3bcb540c42c7"}, - {file = "mypy-1.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:82e469518d3e9a321912955cc702d418773a2fd1e91c651280a1bda10622f02f"}, - {file = "mypy-1.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d4473c22cc296425bbbce7e9429588e76e05bc7342da359d6520b6427bf76660"}, - {file = "mypy-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59a0d7d24dfb26729e0a068639a6ce3500e31d6655df8557156c51c1cb874ce7"}, - {file = "mypy-1.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cfd13d47b29ed3bbaafaff7d8b21e90d827631afda134836962011acb5904b71"}, - {file = "mypy-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:eb4f18589d196a4cbe5290b435d135dee96567e07c2b2d43b5c4621b6501531a"}, - {file = "mypy-1.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:41697773aa0bf53ff917aa077e2cde7aa50254f28750f9b88884acea38a16169"}, - {file = "mypy-1.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7274b0c57737bd3476d2229c6389b2ec9eefeb090bbaf77777e9d6b1b5a9d143"}, - {file = "mypy-1.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbaf4662e498c8c2e352da5f5bca5ab29d378895fa2d980630656178bd607c46"}, - {file = "mypy-1.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bb8ccb4724f7d8601938571bf3f24da0da791fe2db7be3d9e79849cb64e0ae85"}, - {file = "mypy-1.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:68351911e85145f582b5aa6cd9ad666c8958bcae897a1bfda8f4940472463c45"}, - {file = "mypy-1.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:49ae115da099dcc0922a7a895c1eec82c1518109ea5c162ed50e3b3594c71208"}, - {file = "mypy-1.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b27958f8c76bed8edaa63da0739d76e4e9ad4ed325c814f9b3851425582a3cd"}, - {file = "mypy-1.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:925cd6a3b7b55dfba252b7c4561892311c5358c6b5a601847015a1ad4eb7d332"}, - {file = "mypy-1.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8f57e6b6927a49550da3d122f0cb983d400f843a8a82e65b3b380d3d7259468f"}, - {file = "mypy-1.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a43ef1c8ddfdb9575691720b6352761f3f53d85f1b57d7745701041053deff30"}, - {file = "mypy-1.6.1-py3-none-any.whl", hash = "sha256:4cbe68ef919c28ea561165206a2dcb68591c50f3bcf777932323bc208d949cf1"}, - {file = "mypy-1.6.1.tar.gz", hash = "sha256:4d01c00d09a0be62a4ca3f933e315455bde83f37f892ba4b08ce92f3cf44bcc1"}, -] [package.dependencies] mypy-extensions = ">=1.0.0" @@ -4726,12 +3138,9 @@ reports = ["lxml"] name = "mypy-boto3-athena" version = "1.28.36" description = "Type annotations for boto3.Athena 1.28.36 service generated with mypy-boto3-builder 7.18.0" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "mypy-boto3-athena-1.28.36.tar.gz", hash = "sha256:a76df6aace3dc1d91b3f74640d617cd1b4802e5f348a22db2f16dfce0b01ee26"}, - {file = "mypy_boto3_athena-1.28.36-py3-none-any.whl", hash = "sha256:b79b77df6ba30c55ff2f1f8b36de410f537c8c978d892e958b4c5e165797915a"}, -] [package.dependencies] typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} @@ -4740,12 +3149,9 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} name = "mypy-boto3-glue" version = "1.28.36" description = "Type annotations for boto3.Glue 1.28.36 service generated with mypy-boto3-builder 7.18.0" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "mypy-boto3-glue-1.28.36.tar.gz", hash = "sha256:161771252bb6a220a0bfd8e6ad71da8548599c611f95fe8a94846f4a3386d2ae"}, - {file = "mypy_boto3_glue-1.28.36-py3-none-any.whl", hash = "sha256:73bc14616ac65a5c02adea5efba7bbbcf8207cd0c0e3237c13d351ebc916338d"}, -] [package.dependencies] typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} @@ -4754,12 +3160,9 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} name = "mypy-boto3-lakeformation" version = "1.28.36" description = "Type annotations for boto3.LakeFormation 1.28.36 service generated with mypy-boto3-builder 7.18.0" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "mypy-boto3-lakeformation-1.28.36.tar.gz", hash = "sha256:9327cf0d28a09abf5bd90ae946ce7420b32a3b979a1a3554ac93716c3dceacb0"}, - {file = "mypy_boto3_lakeformation-1.28.36-py3-none-any.whl", hash = "sha256:9525a8ab3d69632d4ec83eb565ff7fdfa1181fbdf032bcff4a20d4f8a0350688"}, -] [package.dependencies] typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} @@ -4768,12 +3171,9 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} name = "mypy-boto3-sts" version = "1.28.37" description = "Type annotations for boto3.STS 1.28.37 service generated with mypy-boto3-builder 7.18.2" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "mypy-boto3-sts-1.28.37.tar.gz", hash = "sha256:54d64ca695ab90a51c68ac1e67ff9eae7ec69f926649e320a3b90ed1ec841a95"}, - {file = "mypy_boto3_sts-1.28.37-py3-none-any.whl", hash = "sha256:24106ff30ecfe7ad0538657bbd00b6009418a5382b323cac46e0e26c1f5d50fb"}, -] [package.dependencies] typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} @@ -4782,23 +3182,17 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} 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 = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] [[package]] name = "natsort" version = "8.4.0" description = "Simple yet flexible natural sorting in Python." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "natsort-8.4.0-py3-none-any.whl", hash = "sha256:4732914fb471f56b5cce04d7bae6f164a592c7712e1c85f9ef585e197299521c"}, - {file = "natsort-8.4.0.tar.gz", hash = "sha256:45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581"}, -] [package.extras] fast = ["fastnumbers (>=2.0.0)"] @@ -4808,12 +3202,9 @@ icu = ["PyICU (>=1.0.0)"] name = "networkx" version = "2.8.8" description = "Python package for creating and manipulating graphs and networks" -optional = true +category = "main" +optional = false python-versions = ">=3.8" -files = [ - {file = "networkx-2.8.8-py3-none-any.whl", hash = "sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524"}, - {file = "networkx-2.8.8.tar.gz", hash = "sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e"}, -] [package.extras] default = ["matplotlib (>=3.4)", "numpy (>=1.19)", "pandas (>=1.3)", "scipy (>=1.8)"] @@ -4826,34 +3217,25 @@ test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] name = "nr-date" version = "2.1.0" description = "" +category = "dev" optional = false python-versions = ">=3.6,<4.0" -files = [ - {file = "nr_date-2.1.0-py3-none-any.whl", hash = "sha256:bd672a9dfbdcf7c4b9289fea6750c42490eaee08036a72059dcc78cb236ed568"}, - {file = "nr_date-2.1.0.tar.gz", hash = "sha256:0643aea13bcdc2a8bc56af9d5e6a89ef244c9744a1ef00cdc735902ba7f7d2e6"}, -] [[package]] name = "nr-stream" version = "1.1.5" description = "" +category = "dev" optional = false python-versions = ">=3.6,<4.0" -files = [ - {file = "nr_stream-1.1.5-py3-none-any.whl", hash = "sha256:47e12150b331ad2cb729cfd9d2abd281c9949809729ba461c6aa87dd9927b2d4"}, - {file = "nr_stream-1.1.5.tar.gz", hash = "sha256:eb0216c6bfc61a46d4568dba3b588502c610ec8ddef4ac98f3932a2bd7264f65"}, -] [[package]] name = "nr-util" version = "0.8.12" description = "General purpose Python utility library." +category = "dev" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "nr.util-0.8.12-py3-none-any.whl", hash = "sha256:91da02ac9795eb8e015372275c1efe54bac9051231ee9b0e7e6f96b0b4e7d2bb"}, - {file = "nr.util-0.8.12.tar.gz", hash = "sha256:a4549c2033d99d2f0379b3f3d233fd2a8ade286bbf0b3ad0cc7cea16022214f4"}, -] [package.dependencies] deprecated = ">=1.2.0,<2.0.0" @@ -4863,90 +3245,25 @@ typing-extensions = ">=3.0.0" name = "numpy" version = "1.24.4" description = "Fundamental package for array computing in Python" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, - {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, - {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, - {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, - {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, - {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, - {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, - {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, - {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, - {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, - {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, -] [[package]] name = "numpy" version = "1.26.1" description = "Fundamental package for array computing in Python" +category = "main" optional = false python-versions = "<3.13,>=3.9" -files = [ - {file = "numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af"}, - {file = "numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575"}, - {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244"}, - {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67"}, - {file = "numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2"}, - {file = "numpy-1.26.1-cp310-cp310-win32.whl", hash = "sha256:d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297"}, - {file = "numpy-1.26.1-cp310-cp310-win_amd64.whl", hash = "sha256:d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab"}, - {file = "numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a"}, - {file = "numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9"}, - {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3"}, - {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974"}, - {file = "numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c"}, - {file = "numpy-1.26.1-cp311-cp311-win32.whl", hash = "sha256:b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b"}, - {file = "numpy-1.26.1-cp311-cp311-win_amd64.whl", hash = "sha256:3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53"}, - {file = "numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f"}, - {file = "numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24"}, - {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e"}, - {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124"}, - {file = "numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c"}, - {file = "numpy-1.26.1-cp312-cp312-win32.whl", hash = "sha256:af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66"}, - {file = "numpy-1.26.1-cp312-cp312-win_amd64.whl", hash = "sha256:9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7"}, - {file = "numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e"}, - {file = "numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617"}, - {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e"}, - {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908"}, - {file = "numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5"}, - {file = "numpy-1.26.1-cp39-cp39-win32.whl", hash = "sha256:d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104"}, - {file = "numpy-1.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2"}, - {file = "numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668"}, - {file = "numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76ff661a867d9272cd2a99eed002470f46dbe0943a5ffd140f49be84f68ffc42"}, - {file = "numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6965888d65d2848e8768824ca8288db0a81263c1efccec881cb35a0d805fcd2f"}, - {file = "numpy-1.26.1.tar.gz", hash = "sha256:c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe"}, -] [[package]] name = "oauthlib" version = "3.2.2" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, - {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, -] [package.extras] rsa = ["cryptography (>=3.0.0)"] @@ -4957,35 +3274,9 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] name = "onnx" version = "1.15.0" description = "Open Neural Network Exchange" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "onnx-1.15.0-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:51cacb6aafba308aaf462252ced562111f6991cdc7bc57a6c554c3519453a8ff"}, - {file = "onnx-1.15.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:0aee26b6f7f7da7e840de75ad9195a77a147d0662c94eaa6483be13ba468ffc1"}, - {file = "onnx-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baf6ef6c93b3b843edb97a8d5b3d229a1301984f3f8dee859c29634d2083e6f9"}, - {file = "onnx-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ed899fe6000edc05bb2828863d3841cfddd5a7cf04c1a771f112e94de75d9f"}, - {file = "onnx-1.15.0-cp310-cp310-win32.whl", hash = "sha256:f1ad3d77fc2f4b4296f0ac2c8cadd8c1dcf765fc586b737462d3a0fe8f7c696a"}, - {file = "onnx-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:ca4ebc4f47109bfb12c8c9e83dd99ec5c9f07d2e5f05976356c6ccdce3552010"}, - {file = "onnx-1.15.0-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:233ffdb5ca8cc2d960b10965a763910c0830b64b450376da59207f454701f343"}, - {file = "onnx-1.15.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:51fa79c9ea9af033638ec51f9177b8e76c55fad65bb83ea96ee88fafade18ee7"}, - {file = "onnx-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f277d4861729f5253a51fa41ce91bfec1c4574ee41b5637056b43500917295ce"}, - {file = "onnx-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8a7c94d2ebead8f739fdb70d1ce5a71726f4e17b3e5b8ad64455ea1b2801a85"}, - {file = "onnx-1.15.0-cp311-cp311-win32.whl", hash = "sha256:17dcfb86a8c6bdc3971443c29b023dd9c90ff1d15d8baecee0747a6b7f74e650"}, - {file = "onnx-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:60a3e28747e305cd2e766e6a53a0a6d952cf9e72005ec6023ce5e07666676a4e"}, - {file = "onnx-1.15.0-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:6b5c798d9e0907eaf319e3d3e7c89a2ed9a854bcb83da5fefb6d4c12d5e90721"}, - {file = "onnx-1.15.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:a4f774ff50092fe19bd8f46b2c9b27b1d30fbd700c22abde48a478142d464322"}, - {file = "onnx-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2b0e7f3938f2d994c34616bfb8b4b1cebbc4a0398483344fe5e9f2fe95175e6"}, - {file = "onnx-1.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49cebebd0020a4b12c1dd0909d426631212ef28606d7e4d49463d36abe7639ad"}, - {file = "onnx-1.15.0-cp38-cp38-win32.whl", hash = "sha256:1fdf8a3ff75abc2b32c83bf27fb7c18d6b976c9c537263fadd82b9560fe186fa"}, - {file = "onnx-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:763e55c26e8de3a2dce008d55ae81b27fa8fb4acbb01a29b9f3c01f200c4d676"}, - {file = "onnx-1.15.0-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:b2d5e802837629fc9c86f19448d19dd04d206578328bce202aeb3d4bedab43c4"}, - {file = "onnx-1.15.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9a9cfbb5e5d5d88f89d0dfc9df5fb858899db874e1d5ed21e76c481f3cafc90d"}, - {file = "onnx-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f472bbe5cb670a0a4a4db08f41fde69b187a009d0cb628f964840d3f83524e9"}, - {file = "onnx-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bf2de9bef64792e5b8080c678023ac7d2b9e05d79a3e17e92cf6a4a624831d2"}, - {file = "onnx-1.15.0-cp39-cp39-win32.whl", hash = "sha256:ef4d9eb44b111e69e4534f3233fc2c13d1e26920d24ae4359d513bd54694bc6d"}, - {file = "onnx-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:95d7a3e2d79d371e272e39ae3f7547e0b116d0c7f774a4004e97febe6c93507f"}, - {file = "onnx-1.15.0.tar.gz", hash = "sha256:b18461a7d38f286618ca2a6e78062a2a9c634ce498e631e708a8041b00094825"}, -] [package.dependencies] numpy = "*" @@ -4998,34 +3289,9 @@ reference = ["Pillow", "google-re2"] name = "onnxruntime" version = "1.16.1" description = "ONNX Runtime is a runtime accelerator for Machine Learning models" +category = "main" optional = true python-versions = "*" -files = [ - {file = "onnxruntime-1.16.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:28b2c7f444b4119950b69370801cd66067f403d19cbaf2a444735d7c269cce4a"}, - {file = "onnxruntime-1.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c24e04f33e7899f6aebb03ed51e51d346c1f906b05c5569d58ac9a12d38a2f58"}, - {file = "onnxruntime-1.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fa93b166f2d97063dc9f33c5118c5729a4a5dd5617296b6dbef42f9047b3e81"}, - {file = "onnxruntime-1.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:042dd9201b3016ee18f8f8bc4609baf11ff34ca1ff489c0a46bcd30919bf883d"}, - {file = "onnxruntime-1.16.1-cp310-cp310-win32.whl", hash = "sha256:c20aa0591f305012f1b21aad607ed96917c86ae7aede4a4dd95824b3d124ceb7"}, - {file = "onnxruntime-1.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:5581873e578917bea76d6434ee7337e28195d03488dcf72d161d08e9398c6249"}, - {file = "onnxruntime-1.16.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:ef8c0c8abf5f309aa1caf35941380839dc5f7a2fa53da533be4a3f254993f120"}, - {file = "onnxruntime-1.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e680380bea35a137cbc3efd67a17486e96972901192ad3026ee79c8d8fe264f7"}, - {file = "onnxruntime-1.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e62cc38ce1a669013d0a596d984762dc9c67c56f60ecfeee0d5ad36da5863f6"}, - {file = "onnxruntime-1.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:025c7a4d57bd2e63b8a0f84ad3df53e419e3df1cc72d63184f2aae807b17c13c"}, - {file = "onnxruntime-1.16.1-cp311-cp311-win32.whl", hash = "sha256:9ad074057fa8d028df248b5668514088cb0937b6ac5954073b7fb9b2891ffc8c"}, - {file = "onnxruntime-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:d5e43a3478bffc01f817ecf826de7b25a2ca1bca8547d70888594ab80a77ad24"}, - {file = "onnxruntime-1.16.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:3aef4d70b0930e29a8943eab248cd1565664458d3a62b2276bd11181f28fd0a3"}, - {file = "onnxruntime-1.16.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:55a7b843a57c8ca0c8ff169428137958146081d5d76f1a6dd444c4ffcd37c3c2"}, - {file = "onnxruntime-1.16.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62c631af1941bf3b5f7d063d24c04aacce8cff0794e157c497e315e89ac5ad7b"}, - {file = "onnxruntime-1.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671f296c3d5c233f601e97a10ab5a1dd8e65ba35c7b7b0c253332aba9dff330"}, - {file = "onnxruntime-1.16.1-cp38-cp38-win32.whl", hash = "sha256:eb3802305023dd05e16848d4e22b41f8147247894309c0c27122aaa08793b3d2"}, - {file = "onnxruntime-1.16.1-cp38-cp38-win_amd64.whl", hash = "sha256:fecfb07443d09d271b1487f401fbdf1ba0c829af6fd4fe8f6af25f71190e7eb9"}, - {file = "onnxruntime-1.16.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:de3e12094234db6545c67adbf801874b4eb91e9f299bda34c62967ef0050960f"}, - {file = "onnxruntime-1.16.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff723c2a5621b5e7103f3be84d5aae1e03a20621e72219dddceae81f65f240af"}, - {file = "onnxruntime-1.16.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14a7fb3073aaf6b462e3d7fb433320f7700558a8892e5021780522dc4574292a"}, - {file = "onnxruntime-1.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:963159f1f699b0454cd72fcef3276c8a1aab9389a7b301bcd8e320fb9d9e8597"}, - {file = "onnxruntime-1.16.1-cp39-cp39-win32.whl", hash = "sha256:85771adb75190db9364b25ddec353ebf07635b83eb94b64ed014f1f6d57a3857"}, - {file = "onnxruntime-1.16.1-cp39-cp39-win_amd64.whl", hash = "sha256:d32d2b30799c1f950123c60ae8390818381fd5f88bdf3627eeca10071c155dc5"}, -] [package.dependencies] coloredlogs = "*" @@ -5039,12 +3305,9 @@ sympy = "*" name = "opentelemetry-api" version = "1.15.0" description = "OpenTelemetry Python API" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "opentelemetry_api-1.15.0-py3-none-any.whl", hash = "sha256:e6c2d2e42140fd396e96edf75a7ceb11073f4efb4db87565a431cc9d0f93f2e0"}, - {file = "opentelemetry_api-1.15.0.tar.gz", hash = "sha256:79ab791b4aaad27acc3dc3ba01596db5b5aac2ef75c70622c6038051d6c2cded"}, -] [package.dependencies] deprecated = ">=1.2.6" @@ -5054,12 +3317,9 @@ setuptools = ">=16.0" name = "opentelemetry-exporter-otlp" version = "1.15.0" description = "OpenTelemetry Collector Exporters" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "opentelemetry_exporter_otlp-1.15.0-py3-none-any.whl", hash = "sha256:79f22748b6a54808a0448093dfa189c8490e729f67c134d4c992533d9393b33e"}, - {file = "opentelemetry_exporter_otlp-1.15.0.tar.gz", hash = "sha256:4f7c49751d9720e2e726e13b0bb958ccade4e29122c305d92c033da432c8d2c5"}, -] [package.dependencies] opentelemetry-exporter-otlp-proto-grpc = "1.15.0" @@ -5069,12 +3329,9 @@ opentelemetry-exporter-otlp-proto-http = "1.15.0" name = "opentelemetry-exporter-otlp-proto-grpc" version = "1.15.0" description = "OpenTelemetry Collector Protobuf over gRPC Exporter" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "opentelemetry_exporter_otlp_proto_grpc-1.15.0-py3-none-any.whl", hash = "sha256:c2a5492ba7d140109968135d641d06ce3c5bd73c50665f787526065d57d7fd1d"}, - {file = "opentelemetry_exporter_otlp_proto_grpc-1.15.0.tar.gz", hash = "sha256:844f2a4bb9bcda34e4eb6fe36765e5031aacb36dc60ed88c90fc246942ea26e7"}, -] [package.dependencies] backoff = {version = ">=1.10.0,<3.0.0", markers = "python_version >= \"3.7\""} @@ -5091,12 +3348,9 @@ test = ["pytest-grpc"] name = "opentelemetry-exporter-otlp-proto-http" version = "1.15.0" description = "OpenTelemetry Collector Protobuf over HTTP Exporter" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "opentelemetry_exporter_otlp_proto_http-1.15.0-py3-none-any.whl", hash = "sha256:3ec2a02196c8a54bf5cbf7fe623a5238625638e83b6047a983bdf96e2bbb74c0"}, - {file = "opentelemetry_exporter_otlp_proto_http-1.15.0.tar.gz", hash = "sha256:11b2c814249a49b22f6cca7a06b05701f561d577b747f3660dfd67b6eb9daf9c"}, -] [package.dependencies] backoff = {version = ">=1.10.0,<3.0.0", markers = "python_version >= \"3.7\""} @@ -5113,12 +3367,9 @@ test = ["responses (==0.22.0)"] name = "opentelemetry-proto" version = "1.15.0" description = "OpenTelemetry Python Proto" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "opentelemetry_proto-1.15.0-py3-none-any.whl", hash = "sha256:044b6d044b4d10530f250856f933442b8753a17f94ae37c207607f733fb9a844"}, - {file = "opentelemetry_proto-1.15.0.tar.gz", hash = "sha256:9c4008e40ac8cab359daac283fbe7002c5c29c77ea2674ad5626a249e64e0101"}, -] [package.dependencies] protobuf = ">=3.19,<5.0" @@ -5127,12 +3378,9 @@ protobuf = ">=3.19,<5.0" name = "opentelemetry-sdk" version = "1.15.0" description = "OpenTelemetry Python SDK" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "opentelemetry_sdk-1.15.0-py3-none-any.whl", hash = "sha256:555c533e9837766119bbccc7a80458c9971d853a6f1da683a2246cd5e53b4645"}, - {file = "opentelemetry_sdk-1.15.0.tar.gz", hash = "sha256:98dbffcfeebcbff12c0c974292d6ea603180a145904cf838b1fe4d5c99078425"}, -] [package.dependencies] opentelemetry-api = "1.15.0" @@ -5144,23 +3392,17 @@ typing-extensions = ">=3.7.4" name = "opentelemetry-semantic-conventions" version = "0.36b0" description = "OpenTelemetry Semantic Conventions" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "opentelemetry_semantic_conventions-0.36b0-py3-none-any.whl", hash = "sha256:adc05635e87b9d3e007c9f530eed487fc3ef2177d02f82f674f28ebf9aff8243"}, - {file = "opentelemetry_semantic_conventions-0.36b0.tar.gz", hash = "sha256:829dc221795467d98b773c04096e29be038d77526dc8d6ac76f546fb6279bf01"}, -] [[package]] name = "ordered-set" version = "4.1.0" description = "An OrderedSet is a custom MutableSet that remembers its order, so that every" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8"}, - {file = "ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562"}, -] [package.extras] dev = ["black", "mypy", "pytest"] @@ -5169,81 +3411,17 @@ dev = ["black", "mypy", "pytest"] name = "orjson" version = "3.9.5" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "orjson-3.9.5-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ad6845912a71adcc65df7c8a7f2155eba2096cf03ad2c061c93857de70d699ad"}, - {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e298e0aacfcc14ef4476c3f409e85475031de24e5b23605a465e9bf4b2156273"}, - {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:83c9939073281ef7dd7c5ca7f54cceccb840b440cec4b8a326bda507ff88a0a6"}, - {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e174cc579904a48ee1ea3acb7045e8a6c5d52c17688dfcb00e0e842ec378cabf"}, - {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f8d51702f42c785b115401e1d64a27a2ea767ae7cf1fb8edaa09c7cf1571c660"}, - {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f13d61c0c7414ddee1ef4d0f303e2222f8cced5a2e26d9774751aecd72324c9e"}, - {file = "orjson-3.9.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d748cc48caf5a91c883d306ab648df1b29e16b488c9316852844dd0fd000d1c2"}, - {file = "orjson-3.9.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bd19bc08fa023e4c2cbf8294ad3f2b8922f4de9ba088dbc71e6b268fdf54591c"}, - {file = "orjson-3.9.5-cp310-none-win32.whl", hash = "sha256:5793a21a21bf34e1767e3d61a778a25feea8476dcc0bdf0ae1bc506dc34561ea"}, - {file = "orjson-3.9.5-cp310-none-win_amd64.whl", hash = "sha256:2bcec0b1024d0031ab3eab7a8cb260c8a4e4a5e35993878a2da639d69cdf6a65"}, - {file = "orjson-3.9.5-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8547b95ca0e2abd17e1471973e6d676f1d8acedd5f8fb4f739e0612651602d66"}, - {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87ce174d6a38d12b3327f76145acbd26f7bc808b2b458f61e94d83cd0ebb4d76"}, - {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a960bb1bc9a964d16fcc2d4af5a04ce5e4dfddca84e3060c35720d0a062064fe"}, - {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a7aa5573a949760d6161d826d34dc36db6011926f836851fe9ccb55b5a7d8e8"}, - {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b2852afca17d7eea85f8e200d324e38c851c96598ac7b227e4f6c4e59fbd3df"}, - {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa185959c082475288da90f996a82e05e0c437216b96f2a8111caeb1d54ef926"}, - {file = "orjson-3.9.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:89c9332695b838438ea4b9a482bce8ffbfddde4df92750522d928fb00b7b8dce"}, - {file = "orjson-3.9.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2493f1351a8f0611bc26e2d3d407efb873032b4f6b8926fed8cfed39210ca4ba"}, - {file = "orjson-3.9.5-cp311-none-win32.whl", hash = "sha256:ffc544e0e24e9ae69301b9a79df87a971fa5d1c20a6b18dca885699709d01be0"}, - {file = "orjson-3.9.5-cp311-none-win_amd64.whl", hash = "sha256:89670fe2732e3c0c54406f77cad1765c4c582f67b915c74fda742286809a0cdc"}, - {file = "orjson-3.9.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:15df211469625fa27eced4aa08dc03e35f99c57d45a33855cc35f218ea4071b8"}, - {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9f17c59fe6c02bc5f89ad29edb0253d3059fe8ba64806d789af89a45c35269a"}, - {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ca6b96659c7690773d8cebb6115c631f4a259a611788463e9c41e74fa53bf33f"}, - {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a26fafe966e9195b149950334bdbe9026eca17fe8ffe2d8fa87fdc30ca925d30"}, - {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9006b1eb645ecf460da067e2dd17768ccbb8f39b01815a571bfcfab7e8da5e52"}, - {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebfdbf695734b1785e792a1315e41835ddf2a3e907ca0e1c87a53f23006ce01d"}, - {file = "orjson-3.9.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4a3943234342ab37d9ed78fb0a8f81cd4b9532f67bf2ac0d3aa45fa3f0a339f3"}, - {file = "orjson-3.9.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e6762755470b5c82f07b96b934af32e4d77395a11768b964aaa5eb092817bc31"}, - {file = "orjson-3.9.5-cp312-none-win_amd64.whl", hash = "sha256:c74df28749c076fd6e2157190df23d43d42b2c83e09d79b51694ee7315374ad5"}, - {file = "orjson-3.9.5-cp37-cp37m-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:88e18a74d916b74f00d0978d84e365c6bf0e7ab846792efa15756b5fb2f7d49d"}, - {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d28514b5b6dfaf69097be70d0cf4f1407ec29d0f93e0b4131bf9cc8fd3f3e374"}, - {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25b81aca8c7be61e2566246b6a0ca49f8aece70dd3f38c7f5c837f398c4cb142"}, - {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:385c1c713b1e47fd92e96cf55fd88650ac6dfa0b997e8aa7ecffd8b5865078b1"}, - {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9850c03a8e42fba1a508466e6a0f99472fd2b4a5f30235ea49b2a1b32c04c11"}, - {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4449f84bbb13bcef493d8aa669feadfced0f7c5eea2d0d88b5cc21f812183af8"}, - {file = "orjson-3.9.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:86127bf194f3b873135e44ce5dc9212cb152b7e06798d5667a898a00f0519be4"}, - {file = "orjson-3.9.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0abcd039f05ae9ab5b0ff11624d0b9e54376253b7d3217a358d09c3edf1d36f7"}, - {file = "orjson-3.9.5-cp37-none-win32.whl", hash = "sha256:10cc8ad5ff7188efcb4bec196009d61ce525a4e09488e6d5db41218c7fe4f001"}, - {file = "orjson-3.9.5-cp37-none-win_amd64.whl", hash = "sha256:ff27e98532cb87379d1a585837d59b187907228268e7b0a87abe122b2be6968e"}, - {file = "orjson-3.9.5-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:5bfa79916ef5fef75ad1f377e54a167f0de334c1fa4ebb8d0224075f3ec3d8c0"}, - {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87dfa6ac0dae764371ab19b35eaaa46dfcb6ef2545dfca03064f21f5d08239f"}, - {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50ced24a7b23058b469ecdb96e36607fc611cbaee38b58e62a55c80d1b3ad4e1"}, - {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b1b74ea2a3064e1375da87788897935832e806cc784de3e789fd3c4ab8eb3fa5"}, - {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7cb961efe013606913d05609f014ad43edfaced82a576e8b520a5574ce3b2b9"}, - {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1225d2d5ee76a786bda02f8c5e15017462f8432bb960de13d7c2619dba6f0275"}, - {file = "orjson-3.9.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f39f4b99199df05c7ecdd006086259ed25886cdbd7b14c8cdb10c7675cfcca7d"}, - {file = "orjson-3.9.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a461dc9fb60cac44f2d3218c36a0c1c01132314839a0e229d7fb1bba69b810d8"}, - {file = "orjson-3.9.5-cp38-none-win32.whl", hash = "sha256:dedf1a6173748202df223aea29de814b5836732a176b33501375c66f6ab7d822"}, - {file = "orjson-3.9.5-cp38-none-win_amd64.whl", hash = "sha256:fa504082f53efcbacb9087cc8676c163237beb6e999d43e72acb4bb6f0db11e6"}, - {file = "orjson-3.9.5-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6900f0248edc1bec2a2a3095a78a7e3ef4e63f60f8ddc583687eed162eedfd69"}, - {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17404333c40047888ac40bd8c4d49752a787e0a946e728a4e5723f111b6e55a5"}, - {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0eefb7cfdd9c2bc65f19f974a5d1dfecbac711dae91ed635820c6b12da7a3c11"}, - {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68c78b2a3718892dc018adbc62e8bab6ef3c0d811816d21e6973dee0ca30c152"}, - {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:591ad7d9e4a9f9b104486ad5d88658c79ba29b66c5557ef9edf8ca877a3f8d11"}, - {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cc2cbf302fbb2d0b2c3c142a663d028873232a434d89ce1b2604ebe5cc93ce8"}, - {file = "orjson-3.9.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b26b5aa5e9ee1bad2795b925b3adb1b1b34122cb977f30d89e0a1b3f24d18450"}, - {file = "orjson-3.9.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ef84724f7d29dcfe3aafb1fc5fc7788dca63e8ae626bb9298022866146091a3e"}, - {file = "orjson-3.9.5-cp39-none-win32.whl", hash = "sha256:664cff27f85939059472afd39acff152fbac9a091b7137092cb651cf5f7747b5"}, - {file = "orjson-3.9.5-cp39-none-win_amd64.whl", hash = "sha256:91dda66755795ac6100e303e206b636568d42ac83c156547634256a2e68de694"}, - {file = "orjson-3.9.5.tar.gz", hash = "sha256:6daf5ee0b3cf530b9978cdbf71024f1c16ed4a67d05f6ec435c6e7fe7a52724c"}, -] [[package]] name = "oscrypto" version = "1.3.0" description = "TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not require a compiler, and relies on the OS for patching. Works on Windows, OS X and Linux/BSD." +category = "main" optional = true python-versions = "*" -files = [ - {file = "oscrypto-1.3.0-py2.py3-none-any.whl", hash = "sha256:2b2f1d2d42ec152ca90ccb5682f3e051fb55986e1b170ebde472b133713e7085"}, - {file = "oscrypto-1.3.0.tar.gz", hash = "sha256:6f5fef59cb5b3708321db7cca56aed8ad7e662853351e7991fcf60ec606d47a4"}, -] [package.dependencies] asn1crypto = ">=1.5.1" @@ -5252,54 +3430,23 @@ asn1crypto = ">=1.5.1" name = "packaging" version = "23.1" description = "Core utilities for Python packages" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, -] [[package]] name = "pandas" version = "1.5.3" description = "Powerful data structures for data analysis, time series, and statistics" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3749077d86e3a2f0ed51367f30bf5b82e131cc0f14260c4d3e499186fccc4406"}, - {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:972d8a45395f2a2d26733eb8d0f629b2f90bebe8e8eddbb8829b180c09639572"}, - {file = "pandas-1.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50869a35cbb0f2e0cd5ec04b191e7b12ed688874bd05dd777c19b28cbea90996"}, - {file = "pandas-1.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3ac844a0fe00bfaeb2c9b51ab1424e5c8744f89860b138434a363b1f620f354"}, - {file = "pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a0a56cef15fd1586726dace5616db75ebcfec9179a3a55e78f72c5639fa2a23"}, - {file = "pandas-1.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:478ff646ca42b20376e4ed3fa2e8d7341e8a63105586efe54fa2508ee087f328"}, - {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6973549c01ca91ec96199e940495219c887ea815b2083722821f1d7abfa2b4dc"}, - {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c39a8da13cede5adcd3be1182883aea1c925476f4e84b2807a46e2775306305d"}, - {file = "pandas-1.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f76d097d12c82a535fda9dfe5e8dd4127952b45fea9b0276cb30cca5ea313fbc"}, - {file = "pandas-1.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e474390e60ed609cec869b0da796ad94f420bb057d86784191eefc62b65819ae"}, - {file = "pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f2b952406a1588ad4cad5b3f55f520e82e902388a6d5a4a91baa8d38d23c7f6"}, - {file = "pandas-1.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:bc4c368f42b551bf72fac35c5128963a171b40dce866fb066540eeaf46faa003"}, - {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:14e45300521902689a81f3f41386dc86f19b8ba8dd5ac5a3c7010ef8d2932813"}, - {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9842b6f4b8479e41968eced654487258ed81df7d1c9b7b870ceea24ed9459b31"}, - {file = "pandas-1.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:26d9c71772c7afb9d5046e6e9cf42d83dd147b5cf5bcb9d97252077118543792"}, - {file = "pandas-1.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fbcb19d6fceb9e946b3e23258757c7b225ba450990d9ed63ccceeb8cae609f7"}, - {file = "pandas-1.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:565fa34a5434d38e9d250af3c12ff931abaf88050551d9fbcdfafca50d62babf"}, - {file = "pandas-1.5.3-cp38-cp38-win32.whl", hash = "sha256:87bd9c03da1ac870a6d2c8902a0e1fd4267ca00f13bc494c9e5a9020920e1d51"}, - {file = "pandas-1.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:41179ce559943d83a9b4bbacb736b04c928b095b5f25dd2b7389eda08f46f373"}, - {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c74a62747864ed568f5a82a49a23a8d7fe171d0c69038b38cedf0976831296fa"}, - {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c4c00e0b0597c8e4f59e8d461f797e5d70b4d025880516a8261b2817c47759ee"}, - {file = "pandas-1.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a50d9a4336a9621cab7b8eb3fb11adb82de58f9b91d84c2cd526576b881a0c5a"}, - {file = "pandas-1.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd05f7783b3274aa206a1af06f0ceed3f9b412cf665b7247eacd83be41cf7bf0"}, - {file = "pandas-1.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f69c4029613de47816b1bb30ff5ac778686688751a5e9c99ad8c7031f6508e5"}, - {file = "pandas-1.5.3-cp39-cp39-win32.whl", hash = "sha256:7cec0bee9f294e5de5bbfc14d0573f65526071029d036b753ee6507d2a21480a"}, - {file = "pandas-1.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:dfd681c5dc216037e0b0a2c821f5ed99ba9f03ebcf119c7dac0e9a7b960b9ec9"}, - {file = "pandas-1.5.3.tar.gz", hash = "sha256:74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1"}, -] [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\""}, {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] python-dateutil = ">=2.8.1" pytz = ">=2020.1" @@ -5311,12 +3458,9 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] name = "parsedatetime" version = "2.4" description = "Parse human-readable date/time text." -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "parsedatetime-2.4-py2-none-any.whl", hash = "sha256:9ee3529454bf35c40a77115f5a596771e59e1aee8c53306f346c461b8e913094"}, - {file = "parsedatetime-2.4.tar.gz", hash = "sha256:3d817c58fb9570d1eec1dd46fa9448cd644eeed4fb612684b02dfda3a79cb84b"}, -] [package.dependencies] future = "*" @@ -5325,23 +3469,17 @@ future = "*" name = "pathspec" version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, -] [[package]] name = "pathvalidate" version = "3.1.0" description = "pathvalidate is a Python library to sanitize/validate a string such as filenames/file-paths/etc." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "pathvalidate-3.1.0-py3-none-any.whl", hash = "sha256:912fd1d2e1a2a6a6f98da36a91f21ed86746473810ff625b9c34f3d06c0caa1d"}, - {file = "pathvalidate-3.1.0.tar.gz", hash = "sha256:426970226e24199fd90d93995d223c1e28bda967cdf4370755a14cdf72a2a8ee"}, -] [package.extras] docs = ["Sphinx (>=2.4)", "sphinx-rtd-theme (>=1.2.2)", "urllib3 (<2)"] @@ -5351,42 +3489,17 @@ test = ["Faker (>=1.0.8)", "allpairspy (>=2)", "click (>=6.2)", "pytest (>=6.0.1 name = "pbr" version = "5.11.1" description = "Python Build Reasonableness" +category = "dev" optional = false python-versions = ">=2.6" -files = [ - {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"}, - {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"}, -] [[package]] name = "pendulum" version = "2.1.2" description = "Python datetimes made easy" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, - {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, - {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, - {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"}, - {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"}, - {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"}, - {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"}, - {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"}, - {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"}, - {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"}, - {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"}, - {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"}, - {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"}, - {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"}, - {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"}, - {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"}, - {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"}, - {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"}, - {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"}, - {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, - {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, -] [package.dependencies] python-dateutil = ">=2.6,<3.0" @@ -5396,12 +3509,9 @@ pytzdata = ">=2020.1" name = "pipdeptree" version = "2.9.6" description = "Command line utility to show dependency tree of packages." +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "pipdeptree-2.9.6-py3-none-any.whl", hash = "sha256:de93f990d21224297c9f03e057da5a3dc65ff732a0147945dd9421671f13626b"}, - {file = "pipdeptree-2.9.6.tar.gz", hash = "sha256:f815caf165e89c576ce659b866c7a82ae4590420c2d020a92d32e45097f8bc73"}, -] [package.extras] graphviz = ["graphviz (>=0.20.1)"] @@ -5411,23 +3521,17 @@ test = ["covdefaults (>=2.3)", "diff-cover (>=7.6)", "pip (>=23.1.2)", "pytest ( name = "pkgutil-resolve-name" version = "1.3.10" description = "Resolve a name to an object." +category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, - {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, -] [[package]] name = "platformdirs" version = "3.8.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "platformdirs-3.8.1-py3-none-any.whl", hash = "sha256:cec7b889196b9144d088e4c57d9ceef7374f6c39694ad1577a0aab50d27ea28c"}, - {file = "platformdirs-3.8.1.tar.gz", hash = "sha256:f87ca4fcff7d2b0f81c6a748a77973d7af0f4d526f98f308477c3c436c74d528"}, -] [package.extras] docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] @@ -5437,12 +3541,9 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pluggy" version = "1.3.0" description = "plugin and hook calling mechanisms for python" +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, - {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, -] [package.extras] dev = ["pre-commit", "tox"] @@ -5452,23 +3553,17 @@ testing = ["pytest", "pytest-benchmark"] name = "ply" version = "3.11" description = "Python Lex & Yacc" +category = "main" optional = false python-versions = "*" -files = [ - {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, - {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, -] [[package]] name = "portalocker" version = "2.7.0" description = "Wraps the portalocker recipe for easy usage" +category = "main" optional = true python-versions = ">=3.5" -files = [ - {file = "portalocker-2.7.0-py2.py3-none-any.whl", hash = "sha256:a07c5b4f3985c3cf4798369631fb7011adb498e2a46d8440efc75a8f29a0f983"}, - {file = "portalocker-2.7.0.tar.gz", hash = "sha256:032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51"}, -] [package.dependencies] pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} @@ -5482,23 +3577,17 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p name = "prefixed" version = "0.7.0" description = "Prefixed alternative numeric library" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "prefixed-0.7.0-py2.py3-none-any.whl", hash = "sha256:537b0e4ff4516c4578f277a41d7104f769d6935ae9cdb0f88fed82ec7b3c0ca5"}, - {file = "prefixed-0.7.0.tar.gz", hash = "sha256:0b54d15e602eb8af4ac31b1db21a37ea95ce5890e0741bb0dd9ded493cefbbe9"}, -] [[package]] name = "prison" version = "0.2.1" description = "Rison encoder/decoder" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "prison-0.2.1-py2.py3-none-any.whl", hash = "sha256:f90bab63fca497aa0819a852f64fb21a4e181ed9f6114deaa5dc04001a7555c5"}, - {file = "prison-0.2.1.tar.gz", hash = "sha256:e6cd724044afcb1a8a69340cad2f1e3151a5839fd3a8027fd1357571e797c599"}, -] [package.dependencies] six = "*" @@ -5510,12 +3599,9 @@ dev = ["nose", "pipreqs", "twine"] name = "proto-plus" version = "1.22.3" description = "Beautiful, Pythonic protocol buffers." +category = "main" optional = true python-versions = ">=3.6" -files = [ - {file = "proto-plus-1.22.3.tar.gz", hash = "sha256:fdcd09713cbd42480740d2fe29c990f7fbd885a67efc328aa8be6ee3e9f76a6b"}, - {file = "proto_plus-1.22.3-py3-none-any.whl", hash = "sha256:a49cd903bc0b6ab41f76bf65510439d56ca76f868adf0274e738bfdd096894df"}, -] [package.dependencies] protobuf = ">=3.19.0,<5.0.0dev" @@ -5527,46 +3613,17 @@ testing = ["google-api-core[grpc] (>=1.31.5)"] name = "protobuf" version = "4.24.2" description = "" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "protobuf-4.24.2-cp310-abi3-win32.whl", hash = "sha256:58e12d2c1aa428ece2281cef09bbaa6938b083bcda606db3da4e02e991a0d924"}, - {file = "protobuf-4.24.2-cp310-abi3-win_amd64.whl", hash = "sha256:77700b55ba41144fc64828e02afb41901b42497b8217b558e4a001f18a85f2e3"}, - {file = "protobuf-4.24.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:237b9a50bd3b7307d0d834c1b0eb1a6cd47d3f4c2da840802cd03ea288ae8880"}, - {file = "protobuf-4.24.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:25ae91d21e3ce8d874211110c2f7edd6384816fb44e06b2867afe35139e1fd1c"}, - {file = "protobuf-4.24.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:c00c3c7eb9ad3833806e21e86dca448f46035242a680f81c3fe068ff65e79c74"}, - {file = "protobuf-4.24.2-cp37-cp37m-win32.whl", hash = "sha256:4e69965e7e54de4db989289a9b971a099e626f6167a9351e9d112221fc691bc1"}, - {file = "protobuf-4.24.2-cp37-cp37m-win_amd64.whl", hash = "sha256:c5cdd486af081bf752225b26809d2d0a85e575b80a84cde5172a05bbb1990099"}, - {file = "protobuf-4.24.2-cp38-cp38-win32.whl", hash = "sha256:6bd26c1fa9038b26c5c044ee77e0ecb18463e957fefbaeb81a3feb419313a54e"}, - {file = "protobuf-4.24.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb7aa97c252279da65584af0456f802bd4b2de429eb945bbc9b3d61a42a8cd16"}, - {file = "protobuf-4.24.2-cp39-cp39-win32.whl", hash = "sha256:2b23bd6e06445699b12f525f3e92a916f2dcf45ffba441026357dea7fa46f42b"}, - {file = "protobuf-4.24.2-cp39-cp39-win_amd64.whl", hash = "sha256:839952e759fc40b5d46be319a265cf94920174d88de31657d5622b5d8d6be5cd"}, - {file = "protobuf-4.24.2-py3-none-any.whl", hash = "sha256:3b7b170d3491ceed33f723bbf2d5a260f8a4e23843799a3906f16ef736ef251e"}, - {file = "protobuf-4.24.2.tar.gz", hash = "sha256:7fda70797ddec31ddfa3576cbdcc3ddbb6b3078b737a1a87ab9136af0570cd6e"}, -] [[package]] name = "psutil" version = "5.9.5" description = "Cross-platform lib for process and system monitoring in Python." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"}, - {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"}, - {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"}, - {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"}, - {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"}, - {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"}, - {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"}, - {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"}, - {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"}, - {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"}, - {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"}, - {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"}, - {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"}, - {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"}, -] [package.extras] test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] @@ -5575,80 +3632,17 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "psycopg2-binary" version = "2.9.7" description = "psycopg2 - Python-PostgreSQL Database Adapter" +category = "main" optional = true python-versions = ">=3.6" -files = [ - {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-win32.whl", hash = "sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-win32.whl", hash = "sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-win32.whl", hash = "sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-win_amd64.whl", hash = "sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-win32.whl", hash = "sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, -] [[package]] name = "psycopg2cffi" version = "2.9.0" description = ".. image:: https://travis-ci.org/chtd/psycopg2cffi.svg?branch=master" +category = "main" optional = true python-versions = "*" -files = [ - {file = "psycopg2cffi-2.9.0.tar.gz", hash = "sha256:7e272edcd837de3a1d12b62185eb85c45a19feda9e62fa1b120c54f9e8d35c52"}, -] [package.dependencies] cffi = ">=1.0" @@ -5658,46 +3652,17 @@ six = "*" name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] [[package]] name = "pyarrow" version = "10.0.1" description = "Python library for Apache Arrow" +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "pyarrow-10.0.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:e00174764a8b4e9d8d5909b6d19ee0c217a6cf0232c5682e31fdfbd5a9f0ae52"}, - {file = "pyarrow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f7a7dbe2f7f65ac1d0bd3163f756deb478a9e9afc2269557ed75b1b25ab3610"}, - {file = "pyarrow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb627673cb98708ef00864e2e243f51ba7b4c1b9f07a1d821f98043eccd3f585"}, - {file = "pyarrow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba71e6fc348c92477586424566110d332f60d9a35cb85278f42e3473bc1373da"}, - {file = "pyarrow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b4ede715c004b6fc535de63ef79fa29740b4080639a5ff1ea9ca84e9282f349"}, - {file = "pyarrow-10.0.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:e3fe5049d2e9ca661d8e43fab6ad5a4c571af12d20a57dffc392a014caebef65"}, - {file = "pyarrow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:254017ca43c45c5098b7f2a00e995e1f8346b0fb0be225f042838323bb55283c"}, - {file = "pyarrow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70acca1ece4322705652f48db65145b5028f2c01c7e426c5d16a30ba5d739c24"}, - {file = "pyarrow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abb57334f2c57979a49b7be2792c31c23430ca02d24becd0b511cbe7b6b08649"}, - {file = "pyarrow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:1765a18205eb1e02ccdedb66049b0ec148c2a0cb52ed1fb3aac322dfc086a6ee"}, - {file = "pyarrow-10.0.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:61f4c37d82fe00d855d0ab522c685262bdeafd3fbcb5fe596fe15025fbc7341b"}, - {file = "pyarrow-10.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e141a65705ac98fa52a9113fe574fdaf87fe0316cde2dffe6b94841d3c61544c"}, - {file = "pyarrow-10.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf26f809926a9d74e02d76593026f0aaeac48a65b64f1bb17eed9964bfe7ae1a"}, - {file = "pyarrow-10.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:443eb9409b0cf78df10ced326490e1a300205a458fbeb0767b6b31ab3ebae6b2"}, - {file = "pyarrow-10.0.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:f2d00aa481becf57098e85d99e34a25dba5a9ade2f44eb0b7d80c80f2984fc03"}, - {file = "pyarrow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b1fc226d28c7783b52a84d03a66573d5a22e63f8a24b841d5fc68caeed6784d4"}, - {file = "pyarrow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efa59933b20183c1c13efc34bd91efc6b2997377c4c6ad9272da92d224e3beb1"}, - {file = "pyarrow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:668e00e3b19f183394388a687d29c443eb000fb3fe25599c9b4762a0afd37775"}, - {file = "pyarrow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1bc6e4d5d6f69e0861d5d7f6cf4d061cf1069cb9d490040129877acf16d4c2a"}, - {file = "pyarrow-10.0.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:42ba7c5347ce665338f2bc64685d74855900200dac81a972d49fe127e8132f75"}, - {file = "pyarrow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b069602eb1fc09f1adec0a7bdd7897f4d25575611dfa43543c8b8a75d99d6874"}, - {file = "pyarrow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94fb4a0c12a2ac1ed8e7e2aa52aade833772cf2d3de9dde685401b22cec30002"}, - {file = "pyarrow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db0c5986bf0808927f49640582d2032a07aa49828f14e51f362075f03747d198"}, - {file = "pyarrow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:0ec7587d759153f452d5263dbc8b1af318c4609b607be2bd5127dcda6708cdb1"}, - {file = "pyarrow-10.0.1.tar.gz", hash = "sha256:1a14f57a5f472ce8234f2964cd5184cccaa8df7e04568c64edc33b23eb285dd5"}, -] [package.dependencies] numpy = ">=1.16.6" @@ -5706,23 +3671,17 @@ numpy = ">=1.16.6" name = "pyasn1" version = "0.5.0" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "pyasn1-0.5.0-py2.py3-none-any.whl", hash = "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57"}, - {file = "pyasn1-0.5.0.tar.gz", hash = "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde"}, -] [[package]] name = "pyasn1-modules" version = "0.3.0" description = "A collection of ASN.1-based protocols modules" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "pyasn1_modules-0.3.0-py2.py3-none-any.whl", hash = "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d"}, - {file = "pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"}, -] [package.dependencies] pyasn1 = ">=0.4.6,<0.6.0" @@ -5731,12 +3690,9 @@ pyasn1 = ">=0.4.6,<0.6.0" name = "pyathena" version = "3.0.6" description = "Python DB API 2.0 (PEP 249) client for Amazon Athena" +category = "main" optional = true python-versions = ">=3.8.1" -files = [ - {file = "pyathena-3.0.6-py3-none-any.whl", hash = "sha256:27fb606a73644e62be8ef9b86cdf583ab3cb9f8cac9c2ad8f05b7ad6d4eaaa87"}, - {file = "pyathena-3.0.6.tar.gz", hash = "sha256:ee6ea175134894209af2c6be1859b7be4371f7741faa7a58f9f97905ff6a73a4"}, -] [package.dependencies] boto3 = ">=1.26.4" @@ -5754,109 +3710,33 @@ sqlalchemy = ["sqlalchemy (>=1.0.0)"] name = "pycodestyle" version = "2.9.1" description = "Python style guide checker" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"}, - {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"}, -] [[package]] 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 = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, -] [[package]] name = "pycryptodomex" version = "3.18.0" description = "Cryptographic library for Python" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "pycryptodomex-3.18.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:160a39a708c36fa0b168ab79386dede588e62aec06eb505add870739329aecc6"}, - {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c2953afebf282a444c51bf4effe751706b4d0d63d7ca2cc51db21f902aa5b84e"}, - {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:ba95abd563b0d1b88401658665a260852a8e6c647026ee6a0a65589287681df8"}, - {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:192306cf881fe3467dda0e174a4f47bb3a8bb24b90c9cdfbdc248eec5fc0578c"}, - {file = "pycryptodomex-3.18.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:f9ab5ef0718f6a8716695dea16d83b671b22c45e9c0c78fd807c32c0192e54b5"}, - {file = "pycryptodomex-3.18.0-cp27-cp27m-win32.whl", hash = "sha256:50308fcdbf8345e5ec224a5502b4215178bdb5e95456ead8ab1a69ffd94779cb"}, - {file = "pycryptodomex-3.18.0-cp27-cp27m-win_amd64.whl", hash = "sha256:4d9379c684efea80fdab02a3eb0169372bca7db13f9332cb67483b8dc8b67c37"}, - {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5594a125dae30d60e94f37797fc67ce3c744522de7992c7c360d02fdb34918f8"}, - {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:8ff129a5a0eb5ff16e45ca4fa70a6051da7f3de303c33b259063c19be0c43d35"}, - {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:3d9314ac785a5b75d5aaf924c5f21d6ca7e8df442e5cf4f0fefad4f6e284d422"}, - {file = "pycryptodomex-3.18.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:f237278836dda412a325e9340ba2e6a84cb0f56b9244781e5b61f10b3905de88"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac614363a86cc53d8ba44b6c469831d1555947e69ab3276ae8d6edc219f570f7"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:302a8f37c224e7b5d72017d462a2be058e28f7be627bdd854066e16722d0fc0c"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:6421d23d6a648e83ba2670a352bcd978542dad86829209f59d17a3f087f4afef"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84e105787f5e5d36ec6a581ff37a1048d12e638688074b2a00bcf402f9aa1c2"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6875eb8666f68ddbd39097867325bd22771f595b4e2b0149739b5623c8bf899b"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:27072a494ce621cc7a9096bbf60ed66826bb94db24b49b7359509e7951033e74"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:1949e09ea49b09c36d11a951b16ff2a05a0ffe969dda1846e4686ee342fe8646"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6ed3606832987018615f68e8ed716a7065c09a0fe94afd7c9ca1b6777f0ac6eb"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-win32.whl", hash = "sha256:d56c9ec41258fd3734db9f5e4d2faeabe48644ba9ca23b18e1839b3bdf093222"}, - {file = "pycryptodomex-3.18.0-cp35-abi3-win_amd64.whl", hash = "sha256:e00a4bacb83a2627e8210cb353a2e31f04befc1155db2976e5e239dd66482278"}, - {file = "pycryptodomex-3.18.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:2dc4eab20f4f04a2d00220fdc9258717b82d31913552e766d5f00282c031b70a"}, - {file = "pycryptodomex-3.18.0-pp27-pypy_73-win32.whl", hash = "sha256:75672205148bdea34669173366df005dbd52be05115e919551ee97171083423d"}, - {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bec6c80994d4e7a38312072f89458903b65ec99bed2d65aa4de96d997a53ea7a"}, - {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d35a8ffdc8b05e4b353ba281217c8437f02c57d7233363824e9d794cf753c419"}, - {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76f0a46bee539dae4b3dfe37216f678769349576b0080fdbe431d19a02da42ff"}, - {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:71687eed47df7e965f6e0bf3cadef98f368d5221f0fb89d2132effe1a3e6a194"}, - {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:73d64b32d84cf48d9ec62106aa277dbe99ab5fbfd38c5100bc7bddd3beb569f7"}, - {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbdcce0a226d9205560a5936b05208c709b01d493ed8307792075dedfaaffa5f"}, - {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58fc0aceb9c961b9897facec9da24c6a94c5db04597ec832060f53d4d6a07196"}, - {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:215be2980a6b70704c10796dd7003eb4390e7be138ac6fb8344bf47e71a8d470"}, - {file = "pycryptodomex-3.18.0.tar.gz", hash = "sha256:3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e"}, -] [[package]] name = "pydantic" version = "1.10.12" description = "Data validation and settings management using python type hints" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "pydantic-1.10.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a1fcb59f2f355ec350073af41d927bf83a63b50e640f4dbaa01053a28b7a7718"}, - {file = "pydantic-1.10.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7ccf02d7eb340b216ec33e53a3a629856afe1c6e0ef91d84a4e6f2fb2ca70fe"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fb2aa3ab3728d950bcc885a2e9eff6c8fc40bc0b7bb434e555c215491bcf48b"}, - {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:771735dc43cf8383959dc9b90aa281f0b6092321ca98677c5fb6125a6f56d58d"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca48477862372ac3770969b9d75f1bf66131d386dba79506c46d75e6b48c1e09"}, - {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a5e7add47a5b5a40c49b3036d464e3c7802f8ae0d1e66035ea16aa5b7a3923ed"}, - {file = "pydantic-1.10.12-cp310-cp310-win_amd64.whl", hash = "sha256:e4129b528c6baa99a429f97ce733fff478ec955513630e61b49804b6cf9b224a"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0d191db0f92dfcb1dec210ca244fdae5cbe918c6050b342d619c09d31eea0cc"}, - {file = "pydantic-1.10.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:795e34e6cc065f8f498c89b894a3c6da294a936ee71e644e4bd44de048af1405"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69328e15cfda2c392da4e713443c7dbffa1505bc9d566e71e55abe14c97ddc62"}, - {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2031de0967c279df0d8a1c72b4ffc411ecd06bac607a212892757db7462fc494"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ba5b2e6fe6ca2b7e013398bc7d7b170e21cce322d266ffcd57cca313e54fb246"}, - {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2a7bac939fa326db1ab741c9d7f44c565a1d1e80908b3797f7f81a4f86bc8d33"}, - {file = "pydantic-1.10.12-cp311-cp311-win_amd64.whl", hash = "sha256:87afda5539d5140cb8ba9e8b8c8865cb5b1463924d38490d73d3ccfd80896b3f"}, - {file = "pydantic-1.10.12-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:549a8e3d81df0a85226963611950b12d2d334f214436a19537b2efed61b7639a"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:598da88dfa127b666852bef6d0d796573a8cf5009ffd62104094a4fe39599565"}, - {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba5c4a8552bff16c61882db58544116d021d0b31ee7c66958d14cf386a5b5350"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c79e6a11a07da7374f46970410b41d5e266f7f38f6a17a9c4823db80dadf4303"}, - {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab26038b8375581dc832a63c948f261ae0aa21f1d34c1293469f135fa92972a5"}, - {file = "pydantic-1.10.12-cp37-cp37m-win_amd64.whl", hash = "sha256:e0a16d274b588767602b7646fa05af2782576a6cf1022f4ba74cbb4db66f6ca8"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6a9dfa722316f4acf4460afdf5d41d5246a80e249c7ff475c43a3a1e9d75cf62"}, - {file = "pydantic-1.10.12-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a73f489aebd0c2121ed974054cb2759af8a9f747de120acd2c3394cf84176ccb"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b30bcb8cbfccfcf02acb8f1a261143fab622831d9c0989707e0e659f77a18e0"}, - {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fcfb5296d7877af406ba1547dfde9943b1256d8928732267e2653c26938cd9c"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2f9a6fab5f82ada41d56b0602606a5506aab165ca54e52bc4545028382ef1c5d"}, - {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dea7adcc33d5d105896401a1f37d56b47d443a2b2605ff8a969a0ed5543f7e33"}, - {file = "pydantic-1.10.12-cp38-cp38-win_amd64.whl", hash = "sha256:1eb2085c13bce1612da8537b2d90f549c8cbb05c67e8f22854e201bde5d98a47"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ef6c96b2baa2100ec91a4b428f80d8f28a3c9e53568219b6c298c1125572ebc6"}, - {file = "pydantic-1.10.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c076be61cd0177a8433c0adcb03475baf4ee91edf5a4e550161ad57fc90f523"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d5a58feb9a39f481eda4d5ca220aa8b9d4f21a41274760b9bc66bfd72595b86"}, - {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5f805d2d5d0a41633651a73fa4ecdd0b3d7a49de4ec3fadf062fe16501ddbf1"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1289c180abd4bd4555bb927c42ee42abc3aee02b0fb2d1223fb7c6e5bef87dbe"}, - {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d1197e462e0364906cbc19681605cb7c036f2475c899b6f296104ad42b9f5fb"}, - {file = "pydantic-1.10.12-cp39-cp39-win_amd64.whl", hash = "sha256:fdbdd1d630195689f325c9ef1a12900524dceb503b00a987663ff4f58669b93d"}, - {file = "pydantic-1.10.12-py3-none-any.whl", hash = "sha256:b749a43aa51e32839c9d71dc67eb1e4221bb04af1033a32e3923d46f9effa942"}, - {file = "pydantic-1.10.12.tar.gz", hash = "sha256:0fe8a415cea8f340e7a9af9c54fc71a649b43e8ca3cc732986116b3cb135d303"}, -] [package.dependencies] typing-extensions = ">=4.2.0" @@ -5869,12 +3749,9 @@ email = ["email-validator (>=1.0.3)"] name = "pydoc-markdown" version = "4.8.2" description = "Create Python API documentation in Markdown format." +category = "dev" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "pydoc_markdown-4.8.2-py3-none-any.whl", hash = "sha256:203f74119e6bb2f9deba43d452422de7c8ec31955b61e0620fa4dd8c2611715f"}, - {file = "pydoc_markdown-4.8.2.tar.gz", hash = "sha256:fb6c927e31386de17472d42f9bd3d3be2905977d026f6216881c65145aa67f0b"}, -] [package.dependencies] click = ">=7.1,<9.0" @@ -5896,23 +3773,17 @@ yapf = ">=0.30.0" name = "pyflakes" version = "2.5.0" description = "passive checker of Python programs" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"}, - {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, -] [[package]] name = "pygments" version = "2.16.1" description = "Pygments is a syntax highlighting package written in Python." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, - {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, -] [package.extras] plugins = ["importlib-metadata"] @@ -5921,12 +3792,9 @@ plugins = ["importlib-metadata"] name = "pyjwt" version = "2.8.0" description = "JSON Web Token implementation in Python" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, - {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, -] [package.dependencies] cryptography = {version = ">=3.4.0", optional = true, markers = "extra == \"crypto\""} @@ -5941,91 +3809,9 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pymongo" version = "4.6.0" description = "Python driver for MongoDB " +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "pymongo-4.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c011bd5ad03cc096f99ffcfdd18a1817354132c1331bed7a837a25226659845f"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux1_i686.whl", hash = "sha256:5e63146dbdb1eac207464f6e0cfcdb640c9c5ff0f57b754fa96fe252314a1dc6"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:2972dd1f1285866aba027eff2f4a2bbf8aa98563c2ced14cb34ee5602b36afdf"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_i686.whl", hash = "sha256:a0be99b599da95b7a90a918dd927b20c434bea5e1c9b3efc6a3c6cd67c23f813"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_ppc64le.whl", hash = "sha256:9b0f98481ad5dc4cb430a60bbb8869f05505283b9ae1c62bdb65eb5e020ee8e3"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_s390x.whl", hash = "sha256:256c503a75bd71cf7fb9ebf889e7e222d49c6036a48aad5a619f98a0adf0e0d7"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:b4ad70d7cac4ca0c7b31444a0148bd3af01a2662fa12b1ad6f57cd4a04e21766"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5717a308a703dda2886a5796a07489c698b442f5e409cf7dc2ac93de8d61d764"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f7f9feecae53fa18d6a3ea7c75f9e9a1d4d20e5c3f9ce3fba83f07bcc4eee2"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:128b1485753106c54af481789cdfea12b90a228afca0b11fb3828309a907e10e"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3077a31633beef77d057c6523f5de7271ddef7bde5e019285b00c0cc9cac1e3"}, - {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ebf02c32afa6b67e5861a27183dd98ed88419a94a2ab843cc145fb0bafcc5b28"}, - {file = "pymongo-4.6.0-cp310-cp310-win32.whl", hash = "sha256:b14dd73f595199f4275bed4fb509277470d9b9059310537e3b3daba12b30c157"}, - {file = "pymongo-4.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:8adf014f2779992eba3b513e060d06f075f0ab2fb3ad956f413a102312f65cdf"}, - {file = "pymongo-4.6.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ba51129fcc510824b6ca6e2ce1c27e3e4d048b6e35d3ae6f7e517bed1b8b25ce"}, - {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2973f113e079fb98515722cd728e1820282721ec9fd52830e4b73cabdbf1eb28"}, - {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af425f323fce1b07755edd783581e7283557296946212f5b1a934441718e7528"}, - {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ec71ac633b126c0775ed4604ca8f56c3540f5c21a1220639f299e7a544b55f9"}, - {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ec6c20385c5a58e16b1ea60c5e4993ea060540671d7d12664f385f2fb32fe79"}, - {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:85f2cdc400ee87f5952ebf2a117488f2525a3fb2e23863a8efe3e4ee9e54e4d1"}, - {file = "pymongo-4.6.0-cp311-cp311-win32.whl", hash = "sha256:7fc2bb8a74dcfcdd32f89528e38dcbf70a3a6594963d60dc9595e3b35b66e414"}, - {file = "pymongo-4.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6695d7136a435c1305b261a9ddb9b3ecec9863e05aab3935b96038145fd3a977"}, - {file = "pymongo-4.6.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d603edea1ff7408638b2504905c032193b7dcee7af269802dbb35bc8c3310ed5"}, - {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79f41576b3022c2fe9780ae3e44202b2438128a25284a8ddfa038f0785d87019"}, - {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49f2af6cf82509b15093ce3569229e0d53c90ad8ae2eef940652d4cf1f81e045"}, - {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ecd9e1fa97aa11bf67472220285775fa15e896da108f425e55d23d7540a712ce"}, - {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d2be5c9c3488fa8a70f83ed925940f488eac2837a996708d98a0e54a861f212"}, - {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ab6bcc8e424e07c1d4ba6df96f7fb963bcb48f590b9456de9ebd03b88084fe8"}, - {file = "pymongo-4.6.0-cp312-cp312-win32.whl", hash = "sha256:47aa128be2e66abd9d1a9b0437c62499d812d291f17b55185cb4aa33a5f710a4"}, - {file = "pymongo-4.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:014e7049dd019a6663747ca7dae328943e14f7261f7c1381045dfc26a04fa330"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:288c21ab9531b037f7efa4e467b33176bc73a0c27223c141b822ab4a0e66ff2a"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:747c84f4e690fbe6999c90ac97246c95d31460d890510e4a3fa61b7d2b87aa34"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:055f5c266e2767a88bb585d01137d9c7f778b0195d3dbf4a487ef0638be9b651"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:82e620842e12e8cb4050d2643a81c8149361cd82c0a920fa5a15dc4ca8a4000f"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:6b18276f14b4b6d92e707ab6db19b938e112bd2f1dc3f9f1a628df58e4fd3f0d"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:680fa0fc719e1a3dcb81130858368f51d83667d431924d0bcf249644bce8f303"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:3919708594b86d0f5cdc713eb6fccd3f9b9532af09ea7a5d843c933825ef56c4"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db082f728160369d9a6ed2e722438291558fc15ce06d0a7d696a8dad735c236b"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e4ed21029d80c4f62605ab16398fe1ce093fff4b5f22d114055e7d9fbc4adb0"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bea9138b0fc6e2218147e9c6ce1ff76ff8e29dc00bb1b64842bd1ca107aee9f"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a0269811661ba93c472c8a60ea82640e838c2eb148d252720a09b5123f2c2fe"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d6a1b1361f118e7fefa17ae3114e77f10ee1b228b20d50c47c9f351346180c8"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e3b0127b260d4abae7b62203c4c7ef0874c901b55155692353db19de4b18bc4"}, - {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a49aca4d961823b2846b739380c847e8964ff7ae0f0a683992b9d926054f0d6d"}, - {file = "pymongo-4.6.0-cp37-cp37m-win32.whl", hash = "sha256:09c7de516b08c57647176b9fc21d929d628e35bcebc7422220c89ae40b62126a"}, - {file = "pymongo-4.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:81dd1308bd5630d2bb5980f00aa163b986b133f1e9ed66c66ce2a5bc3572e891"}, - {file = "pymongo-4.6.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:2f8c04277d879146eacda920476e93d520eff8bec6c022ac108cfa6280d84348"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:5802acc012bbb4bce4dff92973dff76482f30ef35dd4cb8ab5b0e06aa8f08c80"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ccd785fafa1c931deff6a7116e9a0d402d59fabe51644b0d0c268295ff847b25"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fe03bf25fae4b95d8afe40004a321df644400fdcba4c8e5e1a19c1085b740888"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:2ca0ba501898b2ec31e6c3acf90c31910944f01d454ad8e489213a156ccf1bda"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:10a379fb60f1b2406ae57b8899bacfe20567918c8e9d2d545e1b93628fcf2050"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:a4dc1319d0c162919ee7f4ee6face076becae2abbd351cc14f1fe70af5fb20d9"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:ddef295aaf80cefb0c1606f1995899efcb17edc6b327eb6589e234e614b87756"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:518c90bdd6e842c446d01a766b9136fec5ec6cc94f3b8c3f8b4a332786ee6b64"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b80a4ee19b3442c57c38afa978adca546521a8822d663310b63ae2a7d7b13f3a"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb438a8bf6b695bf50d57e6a059ff09652a07968b2041178b3744ea785fcef9b"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3db7d833a7c38c317dc95b54e27f1d27012e031b45a7c24e360b53197d5f6e7"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3729b8db02063da50eeb3db88a27670d85953afb9a7f14c213ac9e3dca93034b"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:39a1cd5d383b37285641d5a7a86be85274466ae336a61b51117155936529f9b3"}, - {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7b0e6361754ac596cd16bfc6ed49f69ffcd9b60b7bc4bcd3ea65c6a83475e4ff"}, - {file = "pymongo-4.6.0-cp38-cp38-win32.whl", hash = "sha256:806e094e9e85d8badc978af8c95b69c556077f11844655cb8cd2d1758769e521"}, - {file = "pymongo-4.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1394c4737b325166a65ae7c145af1ebdb9fb153ebedd37cf91d676313e4a67b8"}, - {file = "pymongo-4.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a8273e1abbcff1d7d29cbbb1ea7e57d38be72f1af3c597c854168508b91516c2"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:e16ade71c93f6814d095d25cd6d28a90d63511ea396bd96e9ffcb886b278baaa"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:325701ae7b56daa5b0692305b7cb505ca50f80a1288abb32ff420a8a209b01ca"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:cc94f9fea17a5af8cf1a343597711a26b0117c0b812550d99934acb89d526ed2"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:21812453354b151200034750cd30b0140e82ec2a01fd4357390f67714a1bfbde"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:0634994b026336195778e5693583c060418d4ab453eff21530422690a97e1ee8"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:ad4f66fbb893b55f96f03020e67dcab49ffde0177c6565ccf9dec4fdf974eb61"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:2703a9f8f5767986b4f51c259ff452cc837c5a83c8ed5f5361f6e49933743b2f"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bafea6061d63059d8bc2ffc545e2f049221c8a4457d236c5cd6a66678673eab"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f28ae33dc5a0b9cee06e95fd420e42155d83271ab75964baf747ce959cac5f52"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16a534da0e39785687b7295e2fcf9a339f4a20689024983d11afaa4657f8507"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef67fedd863ffffd4adfd46d9d992b0f929c7f61a8307366d664d93517f2c78e"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05c30fd35cc97f14f354916b45feea535d59060ef867446b5c3c7f9b609dd5dc"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1c63e3a2e8fb815c4b1f738c284a4579897e37c3cfd95fdb199229a1ccfb638a"}, - {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e5e193f89f4f8c1fe273f9a6e6df915092c9f2af6db2d1afb8bd53855025c11f"}, - {file = "pymongo-4.6.0-cp39-cp39-win32.whl", hash = "sha256:a09bfb51953930e7e838972ddf646c5d5f984992a66d79da6ba7f6a8d8a890cd"}, - {file = "pymongo-4.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:107a234dc55affc5802acb3b6d83cbb8c87355b38a9457fcd8806bdeb8bce161"}, - {file = "pymongo-4.6.0.tar.gz", hash = "sha256:fb1c56d891f9e34303c451998ef62ba52659648bb0d75b03c5e4ac223a3342c2"}, -] [package.dependencies] dnspython = ">=1.16.0,<3.0.0" @@ -6043,12 +3829,9 @@ zstd = ["zstandard"] name = "pymysql" version = "1.1.0" description = "Pure Python MySQL Driver" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "PyMySQL-1.1.0-py3-none-any.whl", hash = "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7"}, - {file = "PyMySQL-1.1.0.tar.gz", hash = "sha256:4f13a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96"}, -] [package.extras] ed25519 = ["PyNaCl (>=1.4.0)"] @@ -6058,56 +3841,17 @@ rsa = ["cryptography"] name = "pyodbc" version = "4.0.39" description = "DB API Module for ODBC" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" -files = [ - {file = "pyodbc-4.0.39-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74af348dbaee4885998858daf50c8964e767629ecf6c195868b016367b0bb861"}, - {file = "pyodbc-4.0.39-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f5901b57eaef0761f4cf02bca8e7c63f589fd0fd723a79f6ccf1ea1275372e5"}, - {file = "pyodbc-4.0.39-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0db69478d00fcd8d0b9bdde8aca0b0eada341fd6ed8c2da84b594b928c84106"}, - {file = "pyodbc-4.0.39-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5faf2870e9d434c6a85c6adc1cdff55c0e376273baf480f06d9848025405688"}, - {file = "pyodbc-4.0.39-cp310-cp310-win32.whl", hash = "sha256:62bb6d7d0d25dc75d1445e539f946461c9c5a3643ae14676b240f71794ea004f"}, - {file = "pyodbc-4.0.39-cp310-cp310-win_amd64.whl", hash = "sha256:8eb5547282dc73a7784ce7b99584f68687dd85543538ca6f70cffaa6310676e7"}, - {file = "pyodbc-4.0.39-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:530c1ac37ead782803b44fb1934ba4c68ed4a6969f7475cb8bc04ae1da14486e"}, - {file = "pyodbc-4.0.39-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1f7fb65191926308f09ce75ae7ccecf89310232ee50cdea74edf17ee04a9b068"}, - {file = "pyodbc-4.0.39-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ec009180fcd7c8197f45d083e6670623d8dfe198a457ca2a50ebb1bafe4107f"}, - {file = "pyodbc-4.0.39-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:400e911d54980098c6badadecc82385fc0d6a9057db525d63d2652317df43efe"}, - {file = "pyodbc-4.0.39-cp311-cp311-win32.whl", hash = "sha256:f792677b88e1dde12dab46de8647620fc8171742c02780d51744f7b1b2135dbc"}, - {file = "pyodbc-4.0.39-cp311-cp311-win_amd64.whl", hash = "sha256:3d9d70e1635d35ba3aee3df216ec8e35f2824909f43331c0112b17f460a93923"}, - {file = "pyodbc-4.0.39-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c1a59096f1784d0cda3d0b8f393849f05515c46a10016edb6da1b1960d039800"}, - {file = "pyodbc-4.0.39-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3467157661615d5c30893efa1069b55c9ffa434097fc3ae3739e740d83d2ec"}, - {file = "pyodbc-4.0.39-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af027a60e84274ea08fad1c75991d37a5f1f6e8bcd30f6bda20db99f0cdfbc7d"}, - {file = "pyodbc-4.0.39-cp36-cp36m-win32.whl", hash = "sha256:64c1de1263281de7b5ce585b0352746ab1a483453017a8589f838a79cbe3d6d9"}, - {file = "pyodbc-4.0.39-cp36-cp36m-win_amd64.whl", hash = "sha256:27d1b3c3159673b44c97c878f9d8056901d45f747ce2e0b4d5d99f0fb6949dc7"}, - {file = "pyodbc-4.0.39-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:efccc11dff6fba684a74ae1030c92ff8b82429d7f00e0a50aa2ac6f56621cd9f"}, - {file = "pyodbc-4.0.39-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea08e9379c08663d7260e2b8a6c451f56d36c17291af735191089f8e29ad9578"}, - {file = "pyodbc-4.0.39-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b36fe804d367d01ad81077fa524a36e667aabc3945e32564c7ef9595b28edfa9"}, - {file = "pyodbc-4.0.39-cp37-cp37m-win32.whl", hash = "sha256:72d364e52f6ca2417881a23834b3a36733c09e0dcd4760f49a6b864218d98d92"}, - {file = "pyodbc-4.0.39-cp37-cp37m-win_amd64.whl", hash = "sha256:39f6c56022c764309aa7552c0eb2c58fbb5902ab5d2010d42b021c0b205aa609"}, - {file = "pyodbc-4.0.39-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ebcb900fcaf19ca2bc38632218c5d48c666fcc19fe38b08cde001917f4581456"}, - {file = "pyodbc-4.0.39-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a3e133621ac2dad22d0870a8521c7e82d4270e24ce02451d64e7eb6a40ad0941"}, - {file = "pyodbc-4.0.39-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05a0912e852ebddaffa8f235b0f3974475021dd8eb604eb46ea67af06efe1239"}, - {file = "pyodbc-4.0.39-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6353044b99c763aeec7ca1760b4340298504d8ee544fdcab3c380a2abec15b78"}, - {file = "pyodbc-4.0.39-cp38-cp38-win32.whl", hash = "sha256:a591a1cf3c251a9c7c1642cfb3774119bf3512f3be56151247238f8a7b22b336"}, - {file = "pyodbc-4.0.39-cp38-cp38-win_amd64.whl", hash = "sha256:8553eaef9f8ec333bbddff6eadf0d322dda34b37f4bab19f0658eb532037840c"}, - {file = "pyodbc-4.0.39-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9253e746c5c94bf61e3e9adb08fb7688d413cb68c06ebb287ec233387534760a"}, - {file = "pyodbc-4.0.39-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a6f4067f46aaa78e77e8a15ade81eb21fb344563d245fb2d9a0aaa553c367cbd"}, - {file = "pyodbc-4.0.39-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdf5a27e6587d1762f7f0e35d6f0309f09019bf3e19ca9177a4b765121f3f106"}, - {file = "pyodbc-4.0.39-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe4ee87b88867867f582dd0c1236cd982508db359a6cbb5e91623ceb6c83e60a"}, - {file = "pyodbc-4.0.39-cp39-cp39-win32.whl", hash = "sha256:42649ed57d09c04aa197bdd4fe0aa9ca319790b7aa86d0b0784cc70e78c426e5"}, - {file = "pyodbc-4.0.39-cp39-cp39-win_amd64.whl", hash = "sha256:305c7d6337e2d4c8350677cc641b343fc0197b7b9bc167815c66b64545c67a53"}, - {file = "pyodbc-4.0.39.tar.gz", hash = "sha256:e528bb70dd6d6299ee429868925df0866e3e919c772b9eff79c8e17920d8f116"}, -] [[package]] name = "pyopenssl" version = "23.2.0" description = "Python wrapper module around the OpenSSL library" +category = "main" optional = true python-versions = ">=3.6" -files = [ - {file = "pyOpenSSL-23.2.0-py3-none-any.whl", hash = "sha256:24f0dc5227396b3e831f4c7f602b950a5e9833d292c8e4a2e06b709292806ae2"}, - {file = "pyOpenSSL-23.2.0.tar.gz", hash = "sha256:276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac"}, -] [package.dependencies] cryptography = ">=38.0.0,<40.0.0 || >40.0.0,<40.0.1 || >40.0.1,<42" @@ -6120,12 +3864,9 @@ test = ["flaky", "pretend", "pytest (>=3.0.1)"] name = "pyparsing" version = "3.1.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "dev" optional = false python-versions = ">=3.6.8" -files = [ - {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, - {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, -] [package.extras] diagrams = ["jinja2", "railroad-diagrams"] @@ -6134,12 +3875,9 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pypdf2" version = "3.0.1" description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "PyPDF2-3.0.1.tar.gz", hash = "sha256:a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440"}, - {file = "pypdf2-3.0.1-py3-none-any.whl", hash = "sha256:d16e4205cfee272fbdc0568b68d82be796540b1537508cef59388f839c191928"}, -] [package.dependencies] typing_extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} @@ -6155,23 +3893,17 @@ image = ["Pillow"] name = "pyreadline3" version = "3.4.1" description = "A python implementation of GNU readline." +category = "main" optional = true python-versions = "*" -files = [ - {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, - {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, -] [[package]] name = "pytest" version = "6.2.5" description = "pytest: simple powerful testing with Python" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, - {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, -] [package.dependencies] atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} @@ -6190,12 +3922,9 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm name = "pytest-cases" version = "3.6.14" description = "Separate test code from test cases in pytest." +category = "dev" optional = false python-versions = "*" -files = [ - {file = "pytest-cases-3.6.14.tar.gz", hash = "sha256:7455e6ca57a544c1bfdd8b56ace08c1c1ce4c6572a8aab8f1bd351dc25a10b6b"}, - {file = "pytest_cases-3.6.14-py2.py3-none-any.whl", hash = "sha256:a087f3d019efd8942d0f0dc3fb526bedf9f83d742c40289e9623f6788aff7257"}, -] [package.dependencies] decopatch = "*" @@ -6205,12 +3934,9 @@ makefun = ">=1.9.5" name = "pytest-console-scripts" version = "1.4.1" description = "Pytest plugin for testing console scripts" +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "pytest-console-scripts-1.4.1.tar.gz", hash = "sha256:5a826ed84cc0afa202eb9e44381d7d762f7bdda8e0c23f9f79a7f1f44cf4a895"}, - {file = "pytest_console_scripts-1.4.1-py3-none-any.whl", hash = "sha256:ad860a951a90eca4bd3bd1159b8f5428633ba4ea01abd5c9526b67a95f65437a"}, -] [package.dependencies] importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} @@ -6220,12 +3946,9 @@ pytest = ">=4.0.0" name = "pytest-forked" version = "1.6.0" description = "run tests in isolated forked subprocesses" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "pytest-forked-1.6.0.tar.gz", hash = "sha256:4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f"}, - {file = "pytest_forked-1.6.0-py3-none-any.whl", hash = "sha256:810958f66a91afb1a1e2ae83089d8dc1cd2437ac96b12963042fbb9fb4d16af0"}, -] [package.dependencies] py = "*" @@ -6235,12 +3958,9 @@ pytest = ">=3.10" name = "pytest-order" version = "1.1.0" description = "pytest plugin to run your tests in a specific order" +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "pytest-order-1.1.0.tar.gz", hash = "sha256:139d25b30826b78eebb42722f747eab14c44b88059d7a71d4f79d14a057269a5"}, - {file = "pytest_order-1.1.0-py3-none-any.whl", hash = "sha256:3b3730969c97900fa5cd31ecff80847680ed56b2490954565c14949ba60d9371"}, -] [package.dependencies] pytest = [ @@ -6252,12 +3972,9 @@ pytest = [ name = "pytest-pythonpath" version = "0.7.4" description = "pytest plugin for adding to the PYTHONPATH from command line or configs." +category = "dev" optional = false python-versions = ">=2.6, <4" -files = [ - {file = "pytest-pythonpath-0.7.4.tar.gz", hash = "sha256:64e195b23a8f8c0c631fb16882d9ad6fa4137ed1f2961ddd15d52065cd435db6"}, - {file = "pytest_pythonpath-0.7.4-py3-none-any.whl", hash = "sha256:e73e11dab2f0b83e73229e261242b251f0a369d7f527dbfec068822fd26a6ce5"}, -] [package.dependencies] pytest = ">=2.5.2,<7" @@ -6266,12 +3983,9 @@ pytest = ">=2.5.2,<7" name = "python-daemon" version = "3.0.1" description = "Library to implement a well-behaved Unix daemon process." +category = "dev" optional = false python-versions = ">=3" -files = [ - {file = "python-daemon-3.0.1.tar.gz", hash = "sha256:6c57452372f7eaff40934a1c03ad1826bf5e793558e87fef49131e6464b4dae5"}, - {file = "python_daemon-3.0.1-py3-none-any.whl", hash = "sha256:42bb848a3260a027fa71ad47ecd959e471327cb34da5965962edd5926229f341"}, -] [package.dependencies] docutils = "*" @@ -6286,12 +4000,9 @@ test = ["coverage", "docutils", "testscenarios (>=0.4)", "testtools"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, -] [package.dependencies] six = ">=1.5" @@ -6300,11 +4011,9 @@ six = ">=1.5" name = "python-nvd3" version = "0.15.0" description = "Python NVD3 - Chart Library for d3.js" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "python-nvd3-0.15.0.tar.gz", hash = "sha256:fbd75ff47e0ef255b4aa4f3a8b10dc8b4024aa5a9a7abed5b2406bd3cb817715"}, -] [package.dependencies] Jinja2 = ">=2.8" @@ -6314,12 +4023,9 @@ python-slugify = ">=1.2.5" name = "python-slugify" version = "8.0.1" description = "A Python slugify application that also handles Unicode" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "python-slugify-8.0.1.tar.gz", hash = "sha256:ce0d46ddb668b3be82f4ed5e503dbc33dd815d83e2eb6824211310d3fb172a27"}, - {file = "python_slugify-8.0.1-py2.py3-none-any.whl", hash = "sha256:70ca6ea68fe63ecc8fa4fcf00ae651fc8a5d02d93dcd12ae6d4fc7ca46c4d395"}, -] [package.dependencies] text-unidecode = ">=1.3" @@ -6331,128 +4037,57 @@ unidecode = ["Unidecode (>=1.1.1)"] name = "pytimeparse" version = "1.1.8" description = "Time expression parser" -optional = true +category = "main" +optional = false python-versions = "*" -files = [ - {file = "pytimeparse-1.1.8-py2.py3-none-any.whl", hash = "sha256:04b7be6cc8bd9f5647a6325444926c3ac34ee6bc7e69da4367ba282f076036bd"}, - {file = "pytimeparse-1.1.8.tar.gz", hash = "sha256:e86136477be924d7e670646a98561957e8ca7308d44841e21f5ddea757556a0a"}, -] [[package]] name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" +category = "main" optional = false python-versions = "*" -files = [ - {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, - {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, -] [[package]] name = "pytzdata" version = "2020.1" description = "The Olson timezone database for Python." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, - {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, -] [[package]] name = "pywin32" version = "306" description = "Python for Window Extensions" +category = "main" optional = true python-versions = "*" -files = [ - {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, - {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, - {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, - {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"}, - {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"}, - {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"}, - {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"}, - {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"}, - {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"}, - {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"}, - {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"}, - {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"}, - {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, - {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, -] [[package]] name = "pywin32-ctypes" version = "0.2.2" description = "A (partial) reimplementation of pywin32 using ctypes/cffi" +category = "main" optional = true python-versions = ">=3.6" -files = [ - {file = "pywin32-ctypes-0.2.2.tar.gz", hash = "sha256:3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60"}, - {file = "pywin32_ctypes-0.2.2-py3-none-any.whl", hash = "sha256:bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7"}, -] [[package]] name = "pyyaml" version = "6.0.1" description = "YAML parser and emitter for Python" +category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-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"}, -] [[package]] name = "qdrant-client" version = "1.6.4" description = "Client library for the Qdrant vector search engine" +category = "main" optional = true python-versions = ">=3.8,<3.13" -files = [ - {file = "qdrant_client-1.6.4-py3-none-any.whl", hash = "sha256:db4696978d6a62d78ff60f70b912383f1e467bda3053f732b01ddb5f93281b10"}, - {file = "qdrant_client-1.6.4.tar.gz", hash = "sha256:bbd65f383b6a55a9ccf4e301250fa925179340dd90cfde9b93ce4230fd68867b"}, -] [package.dependencies] fastembed = {version = "0.1.1", optional = true, markers = "python_version < \"3.12\" and extra == \"fastembed\""} @@ -6474,11 +4109,9 @@ fastembed = ["fastembed (==0.1.1)"] name = "redshift-connector" version = "2.0.913" description = "Redshift interface library" +category = "main" optional = true python-versions = ">=3.6" -files = [ - {file = "redshift_connector-2.0.913-py3-none-any.whl", hash = "sha256:bd70395c5b7ec9fcae9565daff6bcb88c7d3ea6182dafba2bac6138f68d00582"}, -] [package.dependencies] beautifulsoup4 = ">=4.7.0,<5.0.0" @@ -6498,12 +4131,9 @@ full = ["numpy", "pandas"] name = "referencing" version = "0.30.2" description = "JSON Referencing + Python" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"}, - {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"}, -] [package.dependencies] attrs = ">=22.2.0" @@ -6513,109 +4143,17 @@ rpds-py = ">=0.7.0" name = "regex" version = "2023.8.8" description = "Alternative regular expression module, to replace re." +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "regex-2023.8.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:88900f521c645f784260a8d346e12a1590f79e96403971241e64c3a265c8ecdb"}, - {file = "regex-2023.8.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3611576aff55918af2697410ff0293d6071b7e00f4b09e005d614686ac4cd57c"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8a0ccc8f2698f120e9e5742f4b38dc944c38744d4bdfc427616f3a163dd9de5"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c662a4cbdd6280ee56f841f14620787215a171c4e2d1744c9528bed8f5816c96"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf0633e4a1b667bfe0bb10b5e53fe0d5f34a6243ea2530eb342491f1adf4f739"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:551ad543fa19e94943c5b2cebc54c73353ffff08228ee5f3376bd27b3d5b9800"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54de2619f5ea58474f2ac211ceea6b615af2d7e4306220d4f3fe690c91988a61"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5ec4b3f0aebbbe2fc0134ee30a791af522a92ad9f164858805a77442d7d18570"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ae646c35cb9f820491760ac62c25b6d6b496757fda2d51be429e0e7b67ae0ab"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca339088839582d01654e6f83a637a4b8194d0960477b9769d2ff2cfa0fa36d2"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:d9b6627408021452dcd0d2cdf8da0534e19d93d070bfa8b6b4176f99711e7f90"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:bd3366aceedf274f765a3a4bc95d6cd97b130d1dda524d8f25225d14123c01db"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7aed90a72fc3654fba9bc4b7f851571dcc368120432ad68b226bd593f3f6c0b7"}, - {file = "regex-2023.8.8-cp310-cp310-win32.whl", hash = "sha256:80b80b889cb767cc47f31d2b2f3dec2db8126fbcd0cff31b3925b4dc6609dcdb"}, - {file = "regex-2023.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:b82edc98d107cbc7357da7a5a695901b47d6eb0420e587256ba3ad24b80b7d0b"}, - {file = "regex-2023.8.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1e7d84d64c84ad97bf06f3c8cb5e48941f135ace28f450d86af6b6512f1c9a71"}, - {file = "regex-2023.8.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce0f9fbe7d295f9922c0424a3637b88c6c472b75eafeaff6f910494a1fa719ef"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06c57e14ac723b04458df5956cfb7e2d9caa6e9d353c0b4c7d5d54fcb1325c46"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e7a9aaa5a1267125eef22cef3b63484c3241aaec6f48949b366d26c7250e0357"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b7408511fca48a82a119d78a77c2f5eb1b22fe88b0d2450ed0756d194fe7a9a"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14dc6f2d88192a67d708341f3085df6a4f5a0c7b03dec08d763ca2cd86e9f559"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48c640b99213643d141550326f34f0502fedb1798adb3c9eb79650b1ecb2f177"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0085da0f6c6393428bf0d9c08d8b1874d805bb55e17cb1dfa5ddb7cfb11140bf"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:964b16dcc10c79a4a2be9f1273fcc2684a9eedb3906439720598029a797b46e6"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7ce606c14bb195b0e5108544b540e2c5faed6843367e4ab3deb5c6aa5e681208"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:40f029d73b10fac448c73d6eb33d57b34607f40116e9f6e9f0d32e9229b147d7"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3b8e6ea6be6d64104d8e9afc34c151926f8182f84e7ac290a93925c0db004bfd"}, - {file = "regex-2023.8.8-cp311-cp311-win32.whl", hash = "sha256:942f8b1f3b223638b02df7df79140646c03938d488fbfb771824f3d05fc083a8"}, - {file = "regex-2023.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:51d8ea2a3a1a8fe4f67de21b8b93757005213e8ac3917567872f2865185fa7fb"}, - {file = "regex-2023.8.8-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e951d1a8e9963ea51efd7f150450803e3b95db5939f994ad3d5edac2b6f6e2b4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704f63b774218207b8ccc6c47fcef5340741e5d839d11d606f70af93ee78e4d4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22283c769a7b01c8ac355d5be0715bf6929b6267619505e289f792b01304d898"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91129ff1bb0619bc1f4ad19485718cc623a2dc433dff95baadbf89405c7f6b57"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de35342190deb7b866ad6ba5cbcccb2d22c0487ee0cbb251efef0843d705f0d4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b993b6f524d1e274a5062488a43e3f9f8764ee9745ccd8e8193df743dbe5ee61"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3026cbcf11d79095a32d9a13bbc572a458727bd5b1ca332df4a79faecd45281c"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:293352710172239bf579c90a9864d0df57340b6fd21272345222fb6371bf82b3"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d909b5a3fff619dc7e48b6b1bedc2f30ec43033ba7af32f936c10839e81b9217"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:3d370ff652323c5307d9c8e4c62efd1956fb08051b0e9210212bc51168b4ff56"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:b076da1ed19dc37788f6a934c60adf97bd02c7eea461b73730513921a85d4235"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e9941a4ada58f6218694f382e43fdd256e97615db9da135e77359da257a7168b"}, - {file = "regex-2023.8.8-cp36-cp36m-win32.whl", hash = "sha256:a8c65c17aed7e15a0c824cdc63a6b104dfc530f6fa8cb6ac51c437af52b481c7"}, - {file = "regex-2023.8.8-cp36-cp36m-win_amd64.whl", hash = "sha256:aadf28046e77a72f30dcc1ab185639e8de7f4104b8cb5c6dfa5d8ed860e57236"}, - {file = "regex-2023.8.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:423adfa872b4908843ac3e7a30f957f5d5282944b81ca0a3b8a7ccbbfaa06103"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ae594c66f4a7e1ea67232a0846649a7c94c188d6c071ac0210c3e86a5f92109"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e51c80c168074faa793685656c38eb7a06cbad7774c8cbc3ea05552d615393d8"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09b7f4c66aa9d1522b06e31a54f15581c37286237208df1345108fcf4e050c18"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e73e5243af12d9cd6a9d6a45a43570dbe2e5b1cdfc862f5ae2b031e44dd95a8"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:941460db8fe3bd613db52f05259c9336f5a47ccae7d7def44cc277184030a116"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f0ccf3e01afeb412a1a9993049cb160d0352dba635bbca7762b2dc722aa5742a"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2e9216e0d2cdce7dbc9be48cb3eacb962740a09b011a116fd7af8c832ab116ca"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:5cd9cd7170459b9223c5e592ac036e0704bee765706445c353d96f2890e816c8"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4873ef92e03a4309b3ccd8281454801b291b689f6ad45ef8c3658b6fa761d7ac"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:239c3c2a339d3b3ddd51c2daef10874410917cd2b998f043c13e2084cb191684"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1005c60ed7037be0d9dea1f9c53cc42f836188227366370867222bda4c3c6bd7"}, - {file = "regex-2023.8.8-cp37-cp37m-win32.whl", hash = "sha256:e6bd1e9b95bc5614a7a9c9c44fde9539cba1c823b43a9f7bc11266446dd568e3"}, - {file = "regex-2023.8.8-cp37-cp37m-win_amd64.whl", hash = "sha256:9a96edd79661e93327cfeac4edec72a4046e14550a1d22aa0dd2e3ca52aec921"}, - {file = "regex-2023.8.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f2181c20ef18747d5f4a7ea513e09ea03bdd50884a11ce46066bb90fe4213675"}, - {file = "regex-2023.8.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a2ad5add903eb7cdde2b7c64aaca405f3957ab34f16594d2b78d53b8b1a6a7d6"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9233ac249b354c54146e392e8a451e465dd2d967fc773690811d3a8c240ac601"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:920974009fb37b20d32afcdf0227a2e707eb83fe418713f7a8b7de038b870d0b"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2b6c5dfe0929b6c23dde9624483380b170b6e34ed79054ad131b20203a1a63"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96979d753b1dc3b2169003e1854dc67bfc86edf93c01e84757927f810b8c3c93"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ae54a338191e1356253e7883d9d19f8679b6143703086245fb14d1f20196be9"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2162ae2eb8b079622176a81b65d486ba50b888271302190870b8cc488587d280"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c884d1a59e69e03b93cf0dfee8794c63d7de0ee8f7ffb76e5f75be8131b6400a"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cf9273e96f3ee2ac89ffcb17627a78f78e7516b08f94dc435844ae72576a276e"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:83215147121e15d5f3a45d99abeed9cf1fe16869d5c233b08c56cdf75f43a504"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f7454aa427b8ab9101f3787eb178057c5250478e39b99540cfc2b889c7d0586"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0640913d2c1044d97e30d7c41728195fc37e54d190c5385eacb52115127b882"}, - {file = "regex-2023.8.8-cp38-cp38-win32.whl", hash = "sha256:0c59122ceccb905a941fb23b087b8eafc5290bf983ebcb14d2301febcbe199c7"}, - {file = "regex-2023.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:c12f6f67495ea05c3d542d119d270007090bad5b843f642d418eb601ec0fa7be"}, - {file = "regex-2023.8.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:82cd0a69cd28f6cc3789cc6adeb1027f79526b1ab50b1f6062bbc3a0ccb2dbc3"}, - {file = "regex-2023.8.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bb34d1605f96a245fc39790a117ac1bac8de84ab7691637b26ab2c5efb8f228c"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:987b9ac04d0b38ef4f89fbc035e84a7efad9cdd5f1e29024f9289182c8d99e09"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dd6082f4e2aec9b6a0927202c85bc1b09dcab113f97265127c1dc20e2e32495"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7eb95fe8222932c10d4436e7a6f7c99991e3fdd9f36c949eff16a69246dee2dc"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7098c524ba9f20717a56a8d551d2ed491ea89cbf37e540759ed3b776a4f8d6eb"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b694430b3f00eb02c594ff5a16db30e054c1b9589a043fe9174584c6efa8033"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2aeab3895d778155054abea5238d0eb9a72e9242bd4b43f42fd911ef9a13470"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:988631b9d78b546e284478c2ec15c8a85960e262e247b35ca5eaf7ee22f6050a"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:67ecd894e56a0c6108ec5ab1d8fa8418ec0cff45844a855966b875d1039a2e34"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:14898830f0a0eb67cae2bbbc787c1a7d6e34ecc06fbd39d3af5fe29a4468e2c9"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:f2200e00b62568cfd920127782c61bc1c546062a879cdc741cfcc6976668dfcf"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9691a549c19c22d26a4f3b948071e93517bdf86e41b81d8c6ac8a964bb71e5a6"}, - {file = "regex-2023.8.8-cp39-cp39-win32.whl", hash = "sha256:6ab2ed84bf0137927846b37e882745a827458689eb969028af8032b1b3dac78e"}, - {file = "regex-2023.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5543c055d8ec7801901e1193a51570643d6a6ab8751b1f7dd9af71af467538bb"}, - {file = "regex-2023.8.8.tar.gz", hash = "sha256:fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"}, -] [[package]] name = "requests" version = "2.31.0" description = "Python HTTP for Humans." +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, -] [package.dependencies] certifi = ">=2017.4.17" @@ -6631,12 +4169,9 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "requests-mock" version = "1.11.0" description = "Mock out responses from the requests package" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "requests-mock-1.11.0.tar.gz", hash = "sha256:ef10b572b489a5f28e09b708697208c4a3b2b89ef80a9f01584340ea357ec3c4"}, - {file = "requests_mock-1.11.0-py2.py3-none-any.whl", hash = "sha256:f7fae383f228633f6bececebdab236c478ace2284d6292c6e7e2867b9ab74d15"}, -] [package.dependencies] requests = ">=2.3,<3" @@ -6650,12 +4185,9 @@ test = ["fixtures", "mock", "purl", "pytest", "requests-futures", "sphinx", "tes name = "requests-oauthlib" version = "1.3.1" description = "OAuthlib authentication support for Requests." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, - {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, -] [package.dependencies] oauthlib = ">=3.0.0" @@ -6668,12 +4200,9 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"] 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 = [ - {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, - {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, -] [package.dependencies] requests = ">=2.0.1,<3.0.0" @@ -6682,12 +4211,9 @@ requests = ">=2.0.1,<3.0.0" name = "requirements-parser" version = "0.5.0" description = "This is a small Python module for parsing Pip requirement files." +category = "main" optional = false python-versions = ">=3.6,<4.0" -files = [ - {file = "requirements-parser-0.5.0.tar.gz", hash = "sha256:3336f3a3ae23e06d3f0f88595e4052396e3adf91688787f637e5d2ca1a904069"}, - {file = "requirements_parser-0.5.0-py3-none-any.whl", hash = "sha256:e7fcdcd04f2049e73a9fb150d8a0f9d51ce4108f5f7cbeac74c484e17b12bcd9"}, -] [package.dependencies] types-setuptools = ">=57.0.0" @@ -6696,12 +4222,9 @@ types-setuptools = ">=57.0.0" name = "rfc3339-validator" version = "0.1.4" description = "A pure python RFC3339 validator" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, - {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, -] [package.dependencies] six = "*" @@ -6710,12 +4233,9 @@ six = "*" name = "rich" version = "13.5.2" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "dev" optional = false python-versions = ">=3.7.0" -files = [ - {file = "rich-13.5.2-py3-none-any.whl", hash = "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808"}, - {file = "rich-13.5.2.tar.gz", hash = "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"}, -] [package.dependencies] markdown-it-py = ">=2.2.0" @@ -6729,12 +4249,9 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "rich-argparse" version = "1.3.0" description = "Rich help formatters for argparse and optparse" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "rich_argparse-1.3.0-py3-none-any.whl", hash = "sha256:1a5eda1659c0a215862fe3630fcbe68d7792f18a8106baaf4e005b9896acc6f6"}, - {file = "rich_argparse-1.3.0.tar.gz", hash = "sha256:974cc1ba0aaa0d6aabc09ab1b78f9ba928670e08590f9551121bcbc60c75b74a"}, -] [package.dependencies] rich = ">=11.0.0" @@ -6743,118 +4260,17 @@ rich = ">=11.0.0" name = "rpds-py" version = "0.10.0" description = "Python bindings to Rust's persistent data structures (rpds)" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "rpds_py-0.10.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:c1e0e9916301e3b3d970814b1439ca59487f0616d30f36a44cead66ee1748c31"}, - {file = "rpds_py-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ce8caa29ebbdcde67e5fd652c811d34bc01f249dbc0d61e5cc4db05ae79a83b"}, - {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad277f74b1c164f7248afa968700e410651eb858d7c160d109fb451dc45a2f09"}, - {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e1c68303ccf7fceb50fbab79064a2636119fd9aca121f28453709283dbca727"}, - {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:780fcb855be29153901c67fc9c5633d48aebef21b90aa72812fa181d731c6b00"}, - {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bbd7b24d108509a1b9b6679fcc1166a7dd031dbef1f3c2c73788f42e3ebb3beb"}, - {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0700c2133ba203c4068aaecd6a59bda22e06a5e46255c9da23cbf68c6942215d"}, - {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:576da63eae7809f375932bfcbca2cf20620a1915bf2fedce4b9cc8491eceefe3"}, - {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23750a9b8a329844ba1fe267ca456bb3184984da2880ed17ae641c5af8de3fef"}, - {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d08395595c42bcd82c3608762ce734504c6d025eef1c06f42326a6023a584186"}, - {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1d7b7b71bcb82d8713c7c2e9c5f061415598af5938666beded20d81fa23e7640"}, - {file = "rpds_py-0.10.0-cp310-none-win32.whl", hash = "sha256:97f5811df21703446b42303475b8b855ee07d6ab6cdf8565eff115540624f25d"}, - {file = "rpds_py-0.10.0-cp310-none-win_amd64.whl", hash = "sha256:cdbed8f21204398f47de39b0a9b180d7e571f02dfb18bf5f1b618e238454b685"}, - {file = "rpds_py-0.10.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:7a3a3d3e4f1e3cd2a67b93a0b6ed0f2499e33f47cc568e3a0023e405abdc0ff1"}, - {file = "rpds_py-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fc72ae476732cdb7b2c1acb5af23b478b8a0d4b6fcf19b90dd150291e0d5b26b"}, - {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0583f69522732bdd79dca4cd3873e63a29acf4a299769c7541f2ca1e4dd4bc6"}, - {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f8b9a7cd381970e64849070aca7c32d53ab7d96c66db6c2ef7aa23c6e803f514"}, - {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d292cabd7c8335bdd3237ded442480a249dbcdb4ddfac5218799364a01a0f5c"}, - {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6903cdca64f1e301af9be424798328c1fe3b4b14aede35f04510989fc72f012"}, - {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bed57543c99249ab3a4586ddc8786529fbc33309e5e8a1351802a06ca2baf4c2"}, - {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15932ec5f224b0e35764dc156514533a4fca52dcfda0dfbe462a1a22b37efd59"}, - {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eb2d59bc196e6d3b1827c7db06c1a898bfa0787c0574af398e65ccf2e97c0fbe"}, - {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f99d74ddf9d3b6126b509e81865f89bd1283e3fc1b568b68cd7bd9dfa15583d7"}, - {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f70bec8a14a692be6dbe7ce8aab303e88df891cbd4a39af091f90b6702e28055"}, - {file = "rpds_py-0.10.0-cp311-none-win32.whl", hash = "sha256:5f7487be65b9c2c510819e744e375bd41b929a97e5915c4852a82fbb085df62c"}, - {file = "rpds_py-0.10.0-cp311-none-win_amd64.whl", hash = "sha256:748e472345c3a82cfb462d0dff998a7bf43e621eed73374cb19f307e97e08a83"}, - {file = "rpds_py-0.10.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:d4639111e73997567343df6551da9dd90d66aece1b9fc26c786d328439488103"}, - {file = "rpds_py-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f4760e1b02173f4155203054f77a5dc0b4078de7645c922b208d28e7eb99f3e2"}, - {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a6420a36975e0073acaeee44ead260c1f6ea56812cfc6c31ec00c1c48197173"}, - {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:58fc4d66ee349a23dbf08c7e964120dc9027059566e29cf0ce6205d590ed7eca"}, - {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:063411228b852fb2ed7485cf91f8e7d30893e69b0acb207ec349db04cccc8225"}, - {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65af12f70355de29e1092f319f85a3467f4005e959ab65129cb697169ce94b86"}, - {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298e8b5d8087e0330aac211c85428c8761230ef46a1f2c516d6a2f67fb8803c5"}, - {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5b9bf77008f2c55dabbd099fd3ac87009471d223a1c7ebea36873d39511b780a"}, - {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c7853f27195598e550fe089f78f0732c66ee1d1f0eaae8ad081589a5a2f5d4af"}, - {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:75dbfd41a61bc1fb0536bf7b1abf272dc115c53d4d77db770cd65d46d4520882"}, - {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b25136212a3d064a8f0b9ebbb6c57094c5229e0de76d15c79b76feff26aeb7b8"}, - {file = "rpds_py-0.10.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:9affee8cb1ec453382c27eb9043378ab32f49cd4bc24a24275f5c39bf186c279"}, - {file = "rpds_py-0.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4d55528ef13af4b4e074d067977b1f61408602f53ae4537dccf42ba665c2c7bd"}, - {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7865df1fb564092bcf46dac61b5def25342faf6352e4bc0e61a286e3fa26a3d"}, - {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3f5cc8c7bc99d2bbcd704cef165ca7d155cd6464c86cbda8339026a42d219397"}, - {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cbae50d352e4717ffc22c566afc2d0da744380e87ed44a144508e3fb9114a3f4"}, - {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fccbf0cd3411719e4c9426755df90bf3449d9fc5a89f077f4a7f1abd4f70c910"}, - {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d10c431073dc6ebceed35ab22948a016cc2b5120963c13a41e38bdde4a7212"}, - {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1b401e8b9aece651512e62c431181e6e83048a651698a727ea0eb0699e9f9b74"}, - {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7618a082c55cf038eede4a918c1001cc8a4411dfe508dc762659bcd48d8f4c6e"}, - {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:b3226b246facae14909b465061ddcfa2dfeadb6a64f407f24300d42d69bcb1a1"}, - {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a8edd467551c1102dc0f5754ab55cd0703431cd3044edf8c8e7d9208d63fa453"}, - {file = "rpds_py-0.10.0-cp38-none-win32.whl", hash = "sha256:71333c22f7cf5f0480b59a0aef21f652cf9bbaa9679ad261b405b65a57511d1e"}, - {file = "rpds_py-0.10.0-cp38-none-win_amd64.whl", hash = "sha256:a8ab1adf04ae2d6d65835995218fd3f3eb644fe20655ca8ee233e2c7270ff53b"}, - {file = "rpds_py-0.10.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:87c93b25d538c433fb053da6228c6290117ba53ff6a537c133b0f2087948a582"}, - {file = "rpds_py-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7996aed3f65667c6dcc8302a69368435a87c2364079a066750a2eac75ea01e"}, - {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8856aa76839dc234d3469f1e270918ce6bec1d6a601eba928f45d68a15f04fc3"}, - {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00215f6a9058fbf84f9d47536902558eb61f180a6b2a0fa35338d06ceb9a2e5a"}, - {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23a059143c1393015c68936370cce11690f7294731904bdae47cc3e16d0b2474"}, - {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e5c26905aa651cc8c0ddc45e0e5dea2a1296f70bdc96af17aee9d0493280a17"}, - {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c651847545422c8131660704c58606d841e228ed576c8f1666d98b3d318f89da"}, - {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:80992eb20755701753e30a6952a96aa58f353d12a65ad3c9d48a8da5ec4690cf"}, - {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ffcf18ad3edf1c170e27e88b10282a2c449aa0358659592462448d71b2000cfc"}, - {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08e08ccf5b10badb7d0a5c84829b914c6e1e1f3a716fdb2bf294e2bd01562775"}, - {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7150b83b3e3ddaac81a8bb6a9b5f93117674a0e7a2b5a5b32ab31fdfea6df27f"}, - {file = "rpds_py-0.10.0-cp39-none-win32.whl", hash = "sha256:3455ecc46ea443b5f7d9c2f946ce4017745e017b0d0f8b99c92564eff97e97f5"}, - {file = "rpds_py-0.10.0-cp39-none-win_amd64.whl", hash = "sha256:afe6b5a04b2ab1aa89bad32ca47bf71358e7302a06fdfdad857389dca8fb5f04"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:b1cb078f54af0abd835ca76f93a3152565b73be0f056264da45117d0adf5e99c"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8e7e2b3577e97fa43c2c2b12a16139b2cedbd0770235d5179c0412b4794efd9b"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae46a50d235f1631d9ec4670503f7b30405103034830bc13df29fd947207f795"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f869e34d2326e417baee430ae998e91412cc8e7fdd83d979277a90a0e79a5b47"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d544a614055b131111bed6edfa1cb0fb082a7265761bcb03321f2dd7b5c6c48"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ee9c2f6ca9774c2c24bbf7b23086264e6b5fa178201450535ec0859739e6f78d"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2da4a8c6d465fde36cea7d54bf47b5cf089073452f0e47c8632ecb9dec23c07"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac00c41dd315d147b129976204839ca9de699d83519ff1272afbe4fb9d362d12"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:0155c33af0676fc38e1107679be882077680ad1abb6303956b97259c3177e85e"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:db6585b600b2e76e98131e0ac0e5195759082b51687ad0c94505970c90718f4a"}, - {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:7b6975d3763d0952c111700c0634968419268e6bbc0b55fe71138987fa66f309"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:6388e4e95a26717b94a05ced084e19da4d92aca883f392dffcf8e48c8e221a24"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:18f87baa20e02e9277ad8960cd89b63c79c05caf106f4c959a9595c43f2a34a5"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f05fc7d832e970047662b3440b190d24ea04f8d3c760e33e7163b67308c878"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:291c9ce3929a75b45ce8ddde2aa7694fc8449f2bc8f5bd93adf021efaae2d10b"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:861d25ae0985a1dd5297fee35f476b60c6029e2e6e19847d5b4d0a43a390b696"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:668d2b45d62c68c7a370ac3dce108ffda482b0a0f50abd8b4c604a813a59e08f"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:344b89384c250ba6a4ce1786e04d01500e4dac0f4137ceebcaad12973c0ac0b3"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:885e023e73ce09b11b89ab91fc60f35d80878d2c19d6213a32b42ff36543c291"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:841128a22e6ac04070a0f84776d07e9c38c4dcce8e28792a95e45fc621605517"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:899b5e7e2d5a8bc92aa533c2d4e55e5ebba095c485568a5e4bedbc163421259a"}, - {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e7947d9a6264c727a556541b1630296bbd5d0a05068d21c38dde8e7a1c703ef0"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4992266817169997854f81df7f6db7bdcda1609972d8ffd6919252f09ec3c0f6"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:26d9fd624649a10e4610fab2bc820e215a184d193e47d0be7fe53c1c8f67f370"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0028eb0967942d0d2891eae700ae1a27b7fd18604cfcb16a1ef486a790fee99e"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9e7e493ded7042712a374471203dd43ae3fff5b81e3de1a0513fa241af9fd41"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d68a8e8a3a816629283faf82358d8c93fe5bd974dd2704152394a3de4cec22a"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6d5f061f6a2aa55790b9e64a23dfd87b6664ab56e24cd06c78eb43986cb260b"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c7c4266c1b61eb429e8aeb7d8ed6a3bfe6c890a1788b18dbec090c35c6b93fa"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:80772e3bda6787510d9620bc0c7572be404a922f8ccdfd436bf6c3778119464c"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:b98e75b21fc2ba5285aef8efaf34131d16af1c38df36bdca2f50634bea2d3060"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:d63787f289944cc4bde518ad2b5e70a4f0d6e2ce76324635359c74c113fd188f"}, - {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:872f3dcaa8bf2245944861d7311179d2c0c9b2aaa7d3b464d99a7c2e401f01fa"}, - {file = "rpds_py-0.10.0.tar.gz", hash = "sha256:e36d7369363d2707d5f68950a64c4e025991eb0177db01ccb6aa6facae48b69f"}, -] [[package]] name = "rsa" version = "4.9" description = "Pure-Python RSA implementation" +category = "main" optional = false python-versions = ">=3.6,<4" -files = [ - {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, - {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, -] [package.dependencies] pyasn1 = ">=0.1.3" @@ -6863,12 +4279,9 @@ pyasn1 = ">=0.1.3" name = "s3fs" version = "2023.6.0" description = "Convenient Filesystem interface over S3" +category = "main" optional = true python-versions = ">= 3.8" -files = [ - {file = "s3fs-2023.6.0-py3-none-any.whl", hash = "sha256:d1a0a423d0d2e17fb2a193d9531935dc3f45ba742693448a461b6b34f6a92a24"}, - {file = "s3fs-2023.6.0.tar.gz", hash = "sha256:63fd8ddf05eb722de784b7b503196107f2a518061298cf005a8a4715b4d49117"}, -] [package.dependencies] aiobotocore = ">=2.5.0,<2.6.0" @@ -6883,12 +4296,9 @@ boto3 = ["aiobotocore[boto3] (>=2.5.0,<2.6.0)"] name = "s3transfer" version = "0.6.2" description = "An Amazon S3 Transfer Manager" +category = "main" optional = true python-versions = ">= 3.7" -files = [ - {file = "s3transfer-0.6.2-py3-none-any.whl", hash = "sha256:b014be3a8a2aab98cfe1abc7229cc5a9a0cf05eb9c1f2b86b230fd8df3f78084"}, - {file = "s3transfer-0.6.2.tar.gz", hash = "sha256:cab66d3380cca3e70939ef2255d01cd8aece6a4907a9528740f668c4b0611861"}, -] [package.dependencies] botocore = ">=1.12.36,<2.0a.0" @@ -6900,12 +4310,9 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] name = "scramp" version = "1.4.4" description = "An implementation of the SCRAM protocol." +category = "main" optional = true python-versions = ">=3.7" -files = [ - {file = "scramp-1.4.4-py3-none-any.whl", hash = "sha256:b142312df7c2977241d951318b7ee923d6b7a4f75ba0f05b621ece1ed616faa3"}, - {file = "scramp-1.4.4.tar.gz", hash = "sha256:b7022a140040f33cf863ab2657917ed05287a807b917950489b89b9f685d59bc"}, -] [package.dependencies] asn1crypto = ">=1.5.1" @@ -6914,12 +4321,9 @@ asn1crypto = ">=1.5.1" name = "secretstorage" version = "3.3.3" description = "Python bindings to FreeDesktop.org Secret Service API" +category = "main" optional = true python-versions = ">=3.6" -files = [ - {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, - {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, -] [package.dependencies] cryptography = ">=2.0" @@ -6929,23 +4333,17 @@ jeepney = ">=0.6" name = "semver" version = "3.0.1" description = "Python helper for Semantic Versioning (https://semver.org)" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "semver-3.0.1-py3-none-any.whl", hash = "sha256:2a23844ba1647362c7490fe3995a86e097bb590d16f0f32dfc383008f19e4cdf"}, - {file = "semver-3.0.1.tar.gz", hash = "sha256:9ec78c5447883c67b97f98c3b6212796708191d22e4ad30f4570f840171cbce1"}, -] [[package]] name = "sentry-sdk" version = "1.30.0" description = "Python client for Sentry (https://sentry.io)" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "sentry-sdk-1.30.0.tar.gz", hash = "sha256:7dc873b87e1faf4d00614afd1058bfa1522942f33daef8a59f90de8ed75cd10c"}, - {file = "sentry_sdk-1.30.0-py2.py3-none-any.whl", hash = "sha256:2e53ad63f96bb9da6570ba2e755c267e529edcf58580a2c0d2a11ef26e1e678b"}, -] [package.dependencies] certifi = "*" @@ -6983,82 +4381,9 @@ tornado = ["tornado (>=5)"] name = "setproctitle" version = "1.3.2" description = "A Python module to customize the process title" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "setproctitle-1.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:288943dec88e178bb2fd868adf491197cc0fc8b6810416b1c6775e686bab87fe"}, - {file = "setproctitle-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:630f6fe5e24a619ccf970c78e084319ee8be5be253ecc9b5b216b0f474f5ef18"}, - {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c877691b90026670e5a70adfbcc735460a9f4c274d35ec5e8a43ce3f8443005"}, - {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7a55fe05f15c10e8c705038777656fe45e3bd676d49ad9ac8370b75c66dd7cd7"}, - {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab45146c71ca6592c9cc8b354a2cc9cc4843c33efcbe1d245d7d37ce9696552d"}, - {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e00c9d5c541a2713ba0e657e0303bf96ddddc412ef4761676adc35df35d7c246"}, - {file = "setproctitle-1.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:265ecbe2c6eafe82e104f994ddd7c811520acdd0647b73f65c24f51374cf9494"}, - {file = "setproctitle-1.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c2c46200656280a064073447ebd363937562debef329482fd7e570c8d498f806"}, - {file = "setproctitle-1.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:fa2f50678f04fda7a75d0fe5dd02bbdd3b13cbe6ed4cf626e4472a7ccf47ae94"}, - {file = "setproctitle-1.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7f2719a398e1a2c01c2a63bf30377a34d0b6ef61946ab9cf4d550733af8f1ef1"}, - {file = "setproctitle-1.3.2-cp310-cp310-win32.whl", hash = "sha256:e425be62524dc0c593985da794ee73eb8a17abb10fe692ee43bb39e201d7a099"}, - {file = "setproctitle-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:e85e50b9c67854f89635a86247412f3ad66b132a4d8534ac017547197c88f27d"}, - {file = "setproctitle-1.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2a97d51c17d438cf5be284775a322d57b7ca9505bb7e118c28b1824ecaf8aeaa"}, - {file = "setproctitle-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:587c7d6780109fbd8a627758063d08ab0421377c0853780e5c356873cdf0f077"}, - {file = "setproctitle-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d17c8bd073cbf8d141993db45145a70b307385b69171d6b54bcf23e5d644de"}, - {file = "setproctitle-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e932089c35a396dc31a5a1fc49889dd559548d14cb2237adae260382a090382e"}, - {file = "setproctitle-1.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e4f8f12258a8739c565292a551c3db62cca4ed4f6b6126664e2381acb4931bf"}, - {file = "setproctitle-1.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:570d255fd99c7f14d8f91363c3ea96bd54f8742275796bca67e1414aeca7d8c3"}, - {file = "setproctitle-1.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a8e0881568c5e6beff91ef73c0ec8ac2a9d3ecc9edd6bd83c31ca34f770910c4"}, - {file = "setproctitle-1.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4bba3be4c1fabf170595b71f3af46c6d482fbe7d9e0563999b49999a31876f77"}, - {file = "setproctitle-1.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:37ece938110cab2bb3957e3910af8152ca15f2b6efdf4f2612e3f6b7e5459b80"}, - {file = "setproctitle-1.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db684d6bbb735a80bcbc3737856385b55d53f8a44ce9b46e9a5682c5133a9bf7"}, - {file = "setproctitle-1.3.2-cp311-cp311-win32.whl", hash = "sha256:ca58cd260ea02759238d994cfae844fc8b1e206c684beb8f38877dcab8451dfc"}, - {file = "setproctitle-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:88486e6cce2a18a033013d17b30a594f1c5cb42520c49c19e6ade40b864bb7ff"}, - {file = "setproctitle-1.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:92c626edc66169a1b09e9541b9c0c9f10488447d8a2b1d87c8f0672e771bc927"}, - {file = "setproctitle-1.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:710e16fa3bade3b026907e4a5e841124983620046166f355bbb84be364bf2a02"}, - {file = "setproctitle-1.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f29b75e86260b0ab59adb12661ef9f113d2f93a59951373eb6d68a852b13e83"}, - {file = "setproctitle-1.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c8d9650154afaa86a44ff195b7b10d683c73509d085339d174e394a22cccbb9"}, - {file = "setproctitle-1.3.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0452282258dfcc01697026a8841258dd2057c4438b43914b611bccbcd048f10"}, - {file = "setproctitle-1.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:e49ae693306d7624015f31cb3e82708916759d592c2e5f72a35c8f4cc8aef258"}, - {file = "setproctitle-1.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1ff863a20d1ff6ba2c24e22436a3daa3cd80be1dfb26891aae73f61b54b04aca"}, - {file = "setproctitle-1.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:55ce1e9925ce1765865442ede9dca0ba9bde10593fcd570b1f0fa25d3ec6b31c"}, - {file = "setproctitle-1.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7fe9df7aeb8c64db6c34fc3b13271a363475d77bc157d3f00275a53910cb1989"}, - {file = "setproctitle-1.3.2-cp37-cp37m-win32.whl", hash = "sha256:e5c50e164cd2459bc5137c15288a9ef57160fd5cbf293265ea3c45efe7870865"}, - {file = "setproctitle-1.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:a499fff50387c1520c085a07578a000123f519e5f3eee61dd68e1d301659651f"}, - {file = "setproctitle-1.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5b932c3041aa924163f4aab970c2f0e6b4d9d773f4d50326e0ea1cd69240e5c5"}, - {file = "setproctitle-1.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4bfc89bd33ebb8e4c0e9846a09b1f5a4a86f5cb7a317e75cc42fee1131b4f4f"}, - {file = "setproctitle-1.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcd3cf4286a60fdc95451d8d14e0389a6b4f5cebe02c7f2609325eb016535963"}, - {file = "setproctitle-1.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fb4f769c02f63fac90989711a3fee83919f47ae9afd4758ced5d86596318c65"}, - {file = "setproctitle-1.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5194b4969f82ea842a4f6af2f82cd16ebdc3f1771fb2771796e6add9835c1973"}, - {file = "setproctitle-1.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f0cde41857a644b7353a0060b5f94f7ba7cf593ebde5a1094da1be581ac9a31"}, - {file = "setproctitle-1.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9124bedd8006b0e04d4e8a71a0945da9b67e7a4ab88fdad7b1440dc5b6122c42"}, - {file = "setproctitle-1.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c8a09d570b39517de10ee5b718730e171251ce63bbb890c430c725c8c53d4484"}, - {file = "setproctitle-1.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:8ff3c8cb26afaed25e8bca7b9dd0c1e36de71f35a3a0706b5c0d5172587a3827"}, - {file = "setproctitle-1.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:589be87172b238f839e19f146b9ea47c71e413e951ef0dc6db4218ddacf3c202"}, - {file = "setproctitle-1.3.2-cp38-cp38-win32.whl", hash = "sha256:4749a2b0c9ac52f864d13cee94546606f92b981b50e46226f7f830a56a9dc8e1"}, - {file = "setproctitle-1.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:e43f315c68aa61cbdef522a2272c5a5b9b8fd03c301d3167b5e1343ef50c676c"}, - {file = "setproctitle-1.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:de3a540cd1817ede31f530d20e6a4935bbc1b145fd8f8cf393903b1e02f1ae76"}, - {file = "setproctitle-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4058564195b975ddc3f0462375c533cce310ccdd41b80ac9aed641c296c3eff4"}, - {file = "setproctitle-1.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c5d5dad7c28bdd1ec4187d818e43796f58a845aa892bb4481587010dc4d362b"}, - {file = "setproctitle-1.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ffc61a388a5834a97953d6444a2888c24a05f2e333f9ed49f977a87bb1ad4761"}, - {file = "setproctitle-1.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fa1a0fbee72b47dc339c87c890d3c03a72ea65c061ade3204f285582f2da30f"}, - {file = "setproctitle-1.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8a988c7220c002c45347430993830666e55bc350179d91fcee0feafe64e1d4"}, - {file = "setproctitle-1.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bae283e85fc084b18ffeb92e061ff7ac5af9e183c9d1345c93e178c3e5069cbe"}, - {file = "setproctitle-1.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fed18e44711c5af4b681c2b3b18f85e6f0f1b2370a28854c645d636d5305ccd8"}, - {file = "setproctitle-1.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:b34baef93bfb20a8ecb930e395ccd2ae3268050d8cf4fe187de5e2bd806fd796"}, - {file = "setproctitle-1.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7f0bed90a216ef28b9d227d8d73e28a8c9b88c0f48a082d13ab3fa83c581488f"}, - {file = "setproctitle-1.3.2-cp39-cp39-win32.whl", hash = "sha256:4d8938249a7cea45ab7e1e48b77685d0f2bab1ebfa9dde23e94ab97968996a7c"}, - {file = "setproctitle-1.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:a47d97a75fd2d10c37410b180f67a5835cb1d8fdea2648fd7f359d4277f180b9"}, - {file = "setproctitle-1.3.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:dad42e676c5261eb50fdb16bdf3e2771cf8f99a79ef69ba88729aeb3472d8575"}, - {file = "setproctitle-1.3.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c91b9bc8985d00239f7dc08a49927a7ca1ca8a6af2c3890feec3ed9665b6f91e"}, - {file = "setproctitle-1.3.2-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8579a43eafd246e285eb3a5b939e7158073d5087aacdd2308f23200eac2458b"}, - {file = "setproctitle-1.3.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:2fbd8187948284293f43533c150cd69a0e4192c83c377da837dbcd29f6b83084"}, - {file = "setproctitle-1.3.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:faec934cfe5fd6ac1151c02e67156c3f526e82f96b24d550b5d51efa4a5527c6"}, - {file = "setproctitle-1.3.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1aafc91cbdacc9e5fe712c52077369168e6b6c346f3a9d51bf600b53eae56bb"}, - {file = "setproctitle-1.3.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b617f12c9be61e8f4b2857be4a4319754756845dbbbd9c3718f468bbb1e17bcb"}, - {file = "setproctitle-1.3.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:b2c9cb2705fc84cb8798f1ba74194f4c080aaef19d9dae843591c09b97678e98"}, - {file = "setproctitle-1.3.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a149a5f7f2c5a065d4e63cb0d7a4b6d3b66e6e80f12e3f8827c4f63974cbf122"}, - {file = "setproctitle-1.3.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e3ac25bfc4a0f29d2409650c7532d5ddfdbf29f16f8a256fc31c47d0dc05172"}, - {file = "setproctitle-1.3.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65d884e22037b23fa25b2baf1a3316602ed5c5971eb3e9d771a38c3a69ce6e13"}, - {file = "setproctitle-1.3.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7aa0aac1711fadffc1d51e9d00a3bea61f68443d6ac0241a224e4d622489d665"}, - {file = "setproctitle-1.3.2.tar.gz", hash = "sha256:b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd"}, -] [package.extras] test = ["pytest"] @@ -7067,12 +4392,9 @@ test = ["pytest"] name = "setuptools" version = "68.1.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "main" optional = false python-versions = ">=3.8" -files = [ - {file = "setuptools-68.1.2-py3-none-any.whl", hash = "sha256:3d8083eed2d13afc9426f227b24fd1659489ec107c0e86cec2ffdde5c92e790b"}, - {file = "setuptools-68.1.2.tar.gz", hash = "sha256:3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d"}, -] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5,<=7.1.2)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] @@ -7083,158 +4405,41 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "simplejson" version = "3.19.1" description = "Simple, fast, extensible JSON encoder/decoder for Python" +category = "main" optional = false python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "simplejson-3.19.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:412e58997a30c5deb8cab5858b8e2e5b40ca007079f7010ee74565cc13d19665"}, - {file = "simplejson-3.19.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e765b1f47293dedf77946f0427e03ee45def2862edacd8868c6cf9ab97c8afbd"}, - {file = "simplejson-3.19.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3231100edee292da78948fa0a77dee4e5a94a0a60bcba9ed7a9dc77f4d4bb11e"}, - {file = "simplejson-3.19.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:081ea6305b3b5e84ae7417e7f45956db5ea3872ec497a584ec86c3260cda049e"}, - {file = "simplejson-3.19.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:f253edf694ce836631b350d758d00a8c4011243d58318fbfbe0dd54a6a839ab4"}, - {file = "simplejson-3.19.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:5db86bb82034e055257c8e45228ca3dbce85e38d7bfa84fa7b2838e032a3219c"}, - {file = "simplejson-3.19.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:69a8b10a4f81548bc1e06ded0c4a6c9042c0be0d947c53c1ed89703f7e613950"}, - {file = "simplejson-3.19.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:58ee5e24d6863b22194020eb62673cf8cc69945fcad6b283919490f6e359f7c5"}, - {file = "simplejson-3.19.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:73d0904c2471f317386d4ae5c665b16b5c50ab4f3ee7fd3d3b7651e564ad74b1"}, - {file = "simplejson-3.19.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:66d780047c31ff316ee305c3f7550f352d87257c756413632303fc59fef19eac"}, - {file = "simplejson-3.19.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd4d50a27b065447c9c399f0bf0a993bd0e6308db8bbbfbc3ea03b41c145775a"}, - {file = "simplejson-3.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c16ec6a67a5f66ab004190829eeede01c633936375edcad7cbf06d3241e5865"}, - {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17a963e8dd4d81061cc05b627677c1f6a12e81345111fbdc5708c9f088d752c9"}, - {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7e78d79b10aa92f40f54178ada2b635c960d24fc6141856b926d82f67e56d169"}, - {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad071cd84a636195f35fa71de2186d717db775f94f985232775794d09f8d9061"}, - {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e7c70f19405e5f99168077b785fe15fcb5f9b3c0b70b0b5c2757ce294922c8c"}, - {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54fca2b26bcd1c403146fd9461d1da76199442297160721b1d63def2a1b17799"}, - {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:48600a6e0032bed17c20319d91775f1797d39953ccfd68c27f83c8d7fc3b32cb"}, - {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:93f5ac30607157a0b2579af59a065bcfaa7fadeb4875bf927a8f8b6739c8d910"}, - {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b79642a599740603ca86cf9df54f57a2013c47e1dd4dd2ae4769af0a6816900"}, - {file = "simplejson-3.19.1-cp310-cp310-win32.whl", hash = "sha256:d9f2c27f18a0b94107d57294aab3d06d6046ea843ed4a45cae8bd45756749f3a"}, - {file = "simplejson-3.19.1-cp310-cp310-win_amd64.whl", hash = "sha256:5673d27806085d2a413b3be5f85fad6fca4b7ffd31cfe510bbe65eea52fff571"}, - {file = "simplejson-3.19.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:79c748aa61fd8098d0472e776743de20fae2686edb80a24f0f6593a77f74fe86"}, - {file = "simplejson-3.19.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:390f4a8ca61d90bcf806c3ad644e05fa5890f5b9a72abdd4ca8430cdc1e386fa"}, - {file = "simplejson-3.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d61482b5d18181e6bb4810b4a6a24c63a490c3a20e9fbd7876639653e2b30a1a"}, - {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2541fdb7467ef9bfad1f55b6c52e8ea52b3ce4a0027d37aff094190a955daa9d"}, - {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46133bc7dd45c9953e6ee4852e3de3d5a9a4a03b068bd238935a5c72f0a1ce34"}, - {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f96def94576f857abf58e031ce881b5a3fc25cbec64b2bc4824824a8a4367af9"}, - {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f14ecca970d825df0d29d5c6736ff27999ee7bdf5510e807f7ad8845f7760ce"}, - {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:66389b6b6ee46a94a493a933a26008a1bae0cfadeca176933e7ff6556c0ce998"}, - {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:22b867205cd258050c2625325fdd9a65f917a5aff22a23387e245ecae4098e78"}, - {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c39fa911e4302eb79c804b221ddec775c3da08833c0a9120041dd322789824de"}, - {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:65dafe413b15e8895ad42e49210b74a955c9ae65564952b0243a18fb35b986cc"}, - {file = "simplejson-3.19.1-cp311-cp311-win32.whl", hash = "sha256:f05d05d99fce5537d8f7a0af6417a9afa9af3a6c4bb1ba7359c53b6257625fcb"}, - {file = "simplejson-3.19.1-cp311-cp311-win_amd64.whl", hash = "sha256:b46aaf0332a8a9c965310058cf3487d705bf672641d2c43a835625b326689cf4"}, - {file = "simplejson-3.19.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b438e5eaa474365f4faaeeef1ec3e8d5b4e7030706e3e3d6b5bee6049732e0e6"}, - {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa9d614a612ad02492f704fbac636f666fa89295a5d22b4facf2d665fc3b5ea9"}, - {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46e89f58e4bed107626edce1cf098da3664a336d01fc78fddcfb1f397f553d44"}, - {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96ade243fb6f3b57e7bd3b71e90c190cd0f93ec5dce6bf38734a73a2e5fa274f"}, - {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed18728b90758d171f0c66c475c24a443ede815cf3f1a91e907b0db0ebc6e508"}, - {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:6a561320485017ddfc21bd2ed5de2d70184f754f1c9b1947c55f8e2b0163a268"}, - {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:2098811cd241429c08b7fc5c9e41fcc3f59f27c2e8d1da2ccdcf6c8e340ab507"}, - {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:8f8d179393e6f0cf6c7c950576892ea6acbcea0a320838c61968ac7046f59228"}, - {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:eff87c68058374e45225089e4538c26329a13499bc0104b52b77f8428eed36b2"}, - {file = "simplejson-3.19.1-cp36-cp36m-win32.whl", hash = "sha256:d300773b93eed82f6da138fd1d081dc96fbe53d96000a85e41460fe07c8d8b33"}, - {file = "simplejson-3.19.1-cp36-cp36m-win_amd64.whl", hash = "sha256:37724c634f93e5caaca04458f267836eb9505d897ab3947b52f33b191bf344f3"}, - {file = "simplejson-3.19.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:74bf802debe68627227ddb665c067eb8c73aa68b2476369237adf55c1161b728"}, - {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70128fb92932524c89f373e17221cf9535d7d0c63794955cc3cd5868e19f5d38"}, - {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8090e75653ea7db75bc21fa5f7bcf5f7bdf64ea258cbbac45c7065f6324f1b50"}, - {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a755f7bfc8adcb94887710dc70cc12a69a454120c6adcc6f251c3f7b46ee6aac"}, - {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ccb2c1877bc9b25bc4f4687169caa925ffda605d7569c40e8e95186e9a5e58b"}, - {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:919bc5aa4d8094cf8f1371ea9119e5d952f741dc4162810ab714aec948a23fe5"}, - {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e333c5b62e93949f5ac27e6758ba53ef6ee4f93e36cc977fe2e3df85c02f6dc4"}, - {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3a4480e348000d89cf501b5606415f4d328484bbb431146c2971123d49fd8430"}, - {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:cb502cde018e93e75dc8fc7bb2d93477ce4f3ac10369f48866c61b5e031db1fd"}, - {file = "simplejson-3.19.1-cp37-cp37m-win32.whl", hash = "sha256:f41915a4e1f059dfad614b187bc06021fefb5fc5255bfe63abf8247d2f7a646a"}, - {file = "simplejson-3.19.1-cp37-cp37m-win_amd64.whl", hash = "sha256:3844305bc33d52c4975da07f75b480e17af3558c0d13085eaa6cc2f32882ccf7"}, - {file = "simplejson-3.19.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1cb19eacb77adc5a9720244d8d0b5507421d117c7ed4f2f9461424a1829e0ceb"}, - {file = "simplejson-3.19.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:926957b278de22797bfc2f004b15297013843b595b3cd7ecd9e37ccb5fad0b72"}, - {file = "simplejson-3.19.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b0e9a5e66969f7a47dc500e3dba8edc3b45d4eb31efb855c8647700a3493dd8a"}, - {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79d46e7e33c3a4ef853a1307b2032cfb7220e1a079d0c65488fbd7118f44935a"}, - {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:344a5093b71c1b370968d0fbd14d55c9413cb6f0355fdefeb4a322d602d21776"}, - {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23fbb7b46d44ed7cbcda689295862851105c7594ae5875dce2a70eeaa498ff86"}, - {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d3025e7e9ddb48813aec2974e1a7e68e63eac911dd5e0a9568775de107ac79a"}, - {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:87b190e6ceec286219bd6b6f13547ca433f977d4600b4e81739e9ac23b5b9ba9"}, - {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dc935d8322ba9bc7b84f99f40f111809b0473df167bf5b93b89fb719d2c4892b"}, - {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3b652579c21af73879d99c8072c31476788c8c26b5565687fd9db154070d852a"}, - {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6aa7ca03f25b23b01629b1c7f78e1cd826a66bfb8809f8977a3635be2ec48f1a"}, - {file = "simplejson-3.19.1-cp38-cp38-win32.whl", hash = "sha256:08be5a241fdf67a8e05ac7edbd49b07b638ebe4846b560673e196b2a25c94b92"}, - {file = "simplejson-3.19.1-cp38-cp38-win_amd64.whl", hash = "sha256:ca56a6c8c8236d6fe19abb67ef08d76f3c3f46712c49a3b6a5352b6e43e8855f"}, - {file = "simplejson-3.19.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6424d8229ba62e5dbbc377908cfee9b2edf25abd63b855c21f12ac596cd18e41"}, - {file = "simplejson-3.19.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:547ea86ca408a6735335c881a2e6208851027f5bfd678d8f2c92a0f02c7e7330"}, - {file = "simplejson-3.19.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:889328873c35cb0b2b4c83cbb83ec52efee5a05e75002e2c0c46c4e42790e83c"}, - {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44cdb4e544134f305b033ad79ae5c6b9a32e7c58b46d9f55a64e2a883fbbba01"}, - {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc2b3f06430cbd4fac0dae5b2974d2bf14f71b415fb6de017f498950da8159b1"}, - {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d125e754d26c0298715bdc3f8a03a0658ecbe72330be247f4b328d229d8cf67f"}, - {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:476c8033abed7b1fd8db62a7600bf18501ce701c1a71179e4ce04ac92c1c5c3c"}, - {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:199a0bcd792811c252d71e3eabb3d4a132b3e85e43ebd93bfd053d5b59a7e78b"}, - {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a79b439a6a77649bb8e2f2644e6c9cc0adb720fc55bed63546edea86e1d5c6c8"}, - {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:203412745fed916fc04566ecef3f2b6c872b52f1e7fb3a6a84451b800fb508c1"}, - {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ca922c61d87b4c38f37aa706520328ffe22d7ac1553ef1cadc73f053a673553"}, - {file = "simplejson-3.19.1-cp39-cp39-win32.whl", hash = "sha256:3e0902c278243d6f7223ba3e6c5738614c971fd9a887fff8feaa8dcf7249c8d4"}, - {file = "simplejson-3.19.1-cp39-cp39-win_amd64.whl", hash = "sha256:d396b610e77b0c438846607cd56418bfc194973b9886550a98fd6724e8c6cfec"}, - {file = "simplejson-3.19.1-py3-none-any.whl", hash = "sha256:4710806eb75e87919b858af0cba4ffedc01b463edc3982ded7b55143f39e41e1"}, - {file = "simplejson-3.19.1.tar.gz", hash = "sha256:6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c"}, -] [[package]] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] [[package]] name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" +category = "main" optional = false python-versions = ">=3.6" -files = [ - {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, - {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, -] [[package]] name = "sniffio" version = "1.3.0" description = "Sniff out which async library your code is running under" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, - {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, -] [[package]] name = "snowflake-connector-python" version = "3.1.1" description = "Snowflake Connector for Python" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "snowflake-connector-python-3.1.1.tar.gz", hash = "sha256:2700503a5f99d6e22e412d7cf4fd2211296cc0e50b2a38ad9c6f48ddb8beff67"}, - {file = "snowflake_connector_python-3.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3aec4ab6f6d66a0dc2b5bbd8fc2c11fd76090c63fdc65577af9d4e28055c51f2"}, - {file = "snowflake_connector_python-3.1.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5d2589f39b1c1c91eda6711181afb7f197f7dd43204f26db48df90849d9f528b"}, - {file = "snowflake_connector_python-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c540b4fe173cc9a24df285ce49c70fe0dadc6316b8a2160324c549086a71a118"}, - {file = "snowflake_connector_python-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25007ccf5d9c0b87e29af40470f6f1e76d03621642a7492d62282215b7e9d67d"}, - {file = "snowflake_connector_python-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:fff3caebd8b60cee09ad55674d12b8940b9d5f57a394c8467637167372710841"}, - {file = "snowflake_connector_python-3.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7b7622be7bcad26786bf771341e3b4819df6e4d7858e5dd4c8700423ca7364e"}, - {file = "snowflake_connector_python-3.1.1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:260d259a79e6120bf58fcec9a52705fd02a430f296a77a1531720906b7a02f5e"}, - {file = "snowflake_connector_python-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0163d5036f05a39977c6d7aba5e8bb1632be1117785a72e2602e3a34b89ded1c"}, - {file = "snowflake_connector_python-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d38546ebcba7bca37a16cfcbbc0f8e7c19946b4e45e0c5dc2a8963f3b739958"}, - {file = "snowflake_connector_python-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:484044c2d9aacd5c8a0a9d8d8b69b06352e3612f23c5e44d54771a96047d80b1"}, - {file = "snowflake_connector_python-3.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7e4a4aab55a4a3236625b738fad19524c9cef810fe041d567dc5dc1d9b1f9eb7"}, - {file = "snowflake_connector_python-3.1.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:5d95eeaff7b085b0c8facab40391bede699ffc0865f2cdaa37b19a8429d47943"}, - {file = "snowflake_connector_python-3.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a944a1862672552f8c00b98b576a8b16da46f9c5b918ba4b969bd7d1205c32a"}, - {file = "snowflake_connector_python-3.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7abb142ba3ee5db6c61be0dc578fa10e59b7c1f33716b0c93ae6706b2a8bbee3"}, - {file = "snowflake_connector_python-3.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:bf6ca8f8678dea6cf5275f69dbd9e4ebb18c2211be35379b65175e36e5953b92"}, - {file = "snowflake_connector_python-3.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ceb263b95720ab645c2e60e37d436db51321e0192d399631d052387728911689"}, - {file = "snowflake_connector_python-3.1.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:8b7fe82d8d1cdc90caadbcce419d3bcbf1bdeffb9bba974a81a46f389d8ee243"}, - {file = "snowflake_connector_python-3.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d46b798507f6c7447e21c76bd71969e22e55fa848196f20de73b3e2b65373b5"}, - {file = "snowflake_connector_python-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bdcce7069368b7b2ec8a855812c1b0e9e6bdf6b01660225ffff5ba163fa507d"}, - {file = "snowflake_connector_python-3.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:daedeff774cd68df05e68dbfa66e83a877e63a99461b8262eb5c8cd37e309aa7"}, -] [package.dependencies] asn1crypto = ">0.24.0,<2.0.0" @@ -7269,87 +4474,32 @@ secure-local-storage = ["keyring (!=16.1.0,<25.0.0)"] name = "sortedcontainers" version = "2.4.0" description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" +category = "main" optional = true python-versions = "*" -files = [ - {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"}, - {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, -] [[package]] name = "soupsieve" version = "2.5" description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, - {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, -] [[package]] name = "sqlalchemy" version = "1.4.49" description = "Database Abstraction Library" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "SQLAlchemy-1.4.49-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e126cf98b7fd38f1e33c64484406b78e937b1a280e078ef558b95bf5b6895f6"}, - {file = "SQLAlchemy-1.4.49-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:03db81b89fe7ef3857b4a00b63dedd632d6183d4ea5a31c5d8a92e000a41fc71"}, - {file = "SQLAlchemy-1.4.49-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:95b9df9afd680b7a3b13b38adf6e3a38995da5e162cc7524ef08e3be4e5ed3e1"}, - {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a63e43bf3f668c11bb0444ce6e809c1227b8f067ca1068898f3008a273f52b09"}, - {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca46de16650d143a928d10842939dab208e8d8c3a9a8757600cae9b7c579c5cd"}, - {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f835c050ebaa4e48b18403bed2c0fda986525896efd76c245bdd4db995e51a4c"}, - {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c21b172dfb22e0db303ff6419451f0cac891d2e911bb9fbf8003d717f1bcf91"}, - {file = "SQLAlchemy-1.4.49-cp310-cp310-win32.whl", hash = "sha256:5fb1ebdfc8373b5a291485757bd6431de8d7ed42c27439f543c81f6c8febd729"}, - {file = "SQLAlchemy-1.4.49-cp310-cp310-win_amd64.whl", hash = "sha256:f8a65990c9c490f4651b5c02abccc9f113a7f56fa482031ac8cb88b70bc8ccaa"}, - {file = "SQLAlchemy-1.4.49-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8923dfdf24d5aa8a3adb59723f54118dd4fe62cf59ed0d0d65d940579c1170a4"}, - {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9ab2c507a7a439f13ca4499db6d3f50423d1d65dc9b5ed897e70941d9e135b0"}, - {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5debe7d49b8acf1f3035317e63d9ec8d5e4d904c6e75a2a9246a119f5f2fdf3d"}, - {file = "SQLAlchemy-1.4.49-cp311-cp311-win32.whl", hash = "sha256:82b08e82da3756765c2e75f327b9bf6b0f043c9c3925fb95fb51e1567fa4ee87"}, - {file = "SQLAlchemy-1.4.49-cp311-cp311-win_amd64.whl", hash = "sha256:171e04eeb5d1c0d96a544caf982621a1711d078dbc5c96f11d6469169bd003f1"}, - {file = "SQLAlchemy-1.4.49-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f23755c384c2969ca2f7667a83f7c5648fcf8b62a3f2bbd883d805454964a800"}, - {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8396e896e08e37032e87e7fbf4a15f431aa878c286dc7f79e616c2feacdb366c"}, - {file = "SQLAlchemy-1.4.49-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66da9627cfcc43bbdebd47bfe0145bb662041472393c03b7802253993b6b7c90"}, - {file = "SQLAlchemy-1.4.49-cp312-cp312-win32.whl", hash = "sha256:9a06e046ffeb8a484279e54bda0a5abfd9675f594a2e38ef3133d7e4d75b6214"}, - {file = "SQLAlchemy-1.4.49-cp312-cp312-win_amd64.whl", hash = "sha256:7cf8b90ad84ad3a45098b1c9f56f2b161601e4670827d6b892ea0e884569bd1d"}, - {file = "SQLAlchemy-1.4.49-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:36e58f8c4fe43984384e3fbe6341ac99b6b4e083de2fe838f0fdb91cebe9e9cb"}, - {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b31e67ff419013f99ad6f8fc73ee19ea31585e1e9fe773744c0f3ce58c039c30"}, - {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc22807a7e161c0d8f3da34018ab7c97ef6223578fcdd99b1d3e7ed1100a5db"}, - {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c14b29d9e1529f99efd550cd04dbb6db6ba5d690abb96d52de2bff4ed518bc95"}, - {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c40f3470e084d31247aea228aa1c39bbc0904c2b9ccbf5d3cfa2ea2dac06f26d"}, - {file = "SQLAlchemy-1.4.49-cp36-cp36m-win32.whl", hash = "sha256:706bfa02157b97c136547c406f263e4c6274a7b061b3eb9742915dd774bbc264"}, - {file = "SQLAlchemy-1.4.49-cp36-cp36m-win_amd64.whl", hash = "sha256:a7f7b5c07ae5c0cfd24c2db86071fb2a3d947da7bd487e359cc91e67ac1c6d2e"}, - {file = "SQLAlchemy-1.4.49-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:4afbbf5ef41ac18e02c8dc1f86c04b22b7a2125f2a030e25bbb4aff31abb224b"}, - {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24e300c0c2147484a002b175f4e1361f102e82c345bf263242f0449672a4bccf"}, - {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:393cd06c3b00b57f5421e2133e088df9cabcececcea180327e43b937b5a7caa5"}, - {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:201de072b818f8ad55c80d18d1a788729cccf9be6d9dc3b9d8613b053cd4836d"}, - {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7653ed6817c710d0c95558232aba799307d14ae084cc9b1f4c389157ec50df5c"}, - {file = "SQLAlchemy-1.4.49-cp37-cp37m-win32.whl", hash = "sha256:647e0b309cb4512b1f1b78471fdaf72921b6fa6e750b9f891e09c6e2f0e5326f"}, - {file = "SQLAlchemy-1.4.49-cp37-cp37m-win_amd64.whl", hash = "sha256:ab73ed1a05ff539afc4a7f8cf371764cdf79768ecb7d2ec691e3ff89abbc541e"}, - {file = "SQLAlchemy-1.4.49-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:37ce517c011560d68f1ffb28af65d7e06f873f191eb3a73af5671e9c3fada08a"}, - {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1878ce508edea4a879015ab5215546c444233881301e97ca16fe251e89f1c55"}, - {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95ab792ca493891d7a45a077e35b418f68435efb3e1706cb8155e20e86a9013c"}, - {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0e8e608983e6f85d0852ca61f97e521b62e67969e6e640fe6c6b575d4db68557"}, - {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccf956da45290df6e809ea12c54c02ace7f8ff4d765d6d3dfb3655ee876ce58d"}, - {file = "SQLAlchemy-1.4.49-cp38-cp38-win32.whl", hash = "sha256:f167c8175ab908ce48bd6550679cc6ea20ae169379e73c7720a28f89e53aa532"}, - {file = "SQLAlchemy-1.4.49-cp38-cp38-win_amd64.whl", hash = "sha256:45806315aae81a0c202752558f0df52b42d11dd7ba0097bf71e253b4215f34f4"}, - {file = "SQLAlchemy-1.4.49-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b6d0c4b15d65087738a6e22e0ff461b407533ff65a73b818089efc8eb2b3e1de"}, - {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a843e34abfd4c797018fd8d00ffffa99fd5184c421f190b6ca99def4087689bd"}, - {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:738d7321212941ab19ba2acf02a68b8ee64987b248ffa2101630e8fccb549e0d"}, - {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1c890421651b45a681181301b3497e4d57c0d01dc001e10438a40e9a9c25ee77"}, - {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d26f280b8f0a8f497bc10573849ad6dc62e671d2468826e5c748d04ed9e670d5"}, - {file = "SQLAlchemy-1.4.49-cp39-cp39-win32.whl", hash = "sha256:ec2268de67f73b43320383947e74700e95c6770d0c68c4e615e9897e46296294"}, - {file = "SQLAlchemy-1.4.49-cp39-cp39-win_amd64.whl", hash = "sha256:bbdf16372859b8ed3f4d05f925a984771cd2abd18bd187042f24be4886c2a15f"}, - {file = "SQLAlchemy-1.4.49.tar.gz", hash = "sha256:06ff25cbae30c396c4b7737464f2a7fc37a67b7da409993b182b024cec80aed9"}, -] [package.dependencies] greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} [package.extras] aiomysql = ["aiomysql", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] asyncio = ["greenlet (!=0.4.17)"] asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"] mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)"] @@ -7359,25 +4509,22 @@ mssql-pyodbc = ["pyodbc"] mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"] mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"] mysql-connector = ["mysql-connector-python"] -oracle = ["cx-oracle (>=7)", "cx-oracle (>=7,<8)"] +oracle = ["cx_oracle (>=7)", "cx_oracle (>=7,<8)"] postgresql = ["psycopg2 (>=2.7)"] postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)"] postgresql-psycopg2binary = ["psycopg2-binary"] postgresql-psycopg2cffi = ["psycopg2cffi"] pymysql = ["pymysql", "pymysql (<1)"] -sqlcipher = ["sqlcipher3-binary"] +sqlcipher = ["sqlcipher3_binary"] [[package]] name = "sqlalchemy-jsonfield" version = "1.0.1.post0" description = "SQLALchemy JSONField implementation for storing dicts at SQL" +category = "dev" optional = false python-versions = ">=3.7.0" -files = [ - {file = "SQLAlchemy-JSONField-1.0.1.post0.tar.gz", hash = "sha256:72a5e714fe0493d2660abd7484a9fd9f492f493a0856288dd22a5decb29f5dc4"}, - {file = "SQLAlchemy_JSONField-1.0.1.post0-py3-none-any.whl", hash = "sha256:d6f1e5ee329a3c0d9d164e40d81a2143ac8332e09988fbbaff84179dac5503d4"}, -] [package.dependencies] sqlalchemy = "*" @@ -7386,12 +4533,9 @@ sqlalchemy = "*" name = "sqlalchemy-utils" version = "0.41.1" description = "Various utility functions for SQLAlchemy." +category = "dev" optional = false python-versions = ">=3.6" -files = [ - {file = "SQLAlchemy-Utils-0.41.1.tar.gz", hash = "sha256:a2181bff01eeb84479e38571d2c0718eb52042f9afd8c194d0d02877e84b7d74"}, - {file = "SQLAlchemy_Utils-0.41.1-py3-none-any.whl", hash = "sha256:6c96b0768ea3f15c0dc56b363d386138c562752b84f647fb8d31a2223aaab801"}, -] [package.dependencies] SQLAlchemy = ">=1.3" @@ -7414,12 +4558,9 @@ url = ["furl (>=0.4.1)"] name = "sqlfluff" version = "2.3.2" description = "The SQL Linter for Humans" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "sqlfluff-2.3.2-py3-none-any.whl", hash = "sha256:85c8b683e283ff632fe28529ddb60585ea2d1d3c614fc7a1db171632b99dcce3"}, - {file = "sqlfluff-2.3.2.tar.gz", hash = "sha256:3403ce7e9133766d7336b7e26638657ec6cc9e5610e35186b7f02cc427dd49b7"}, -] [package.dependencies] appdirs = "*" @@ -7442,12 +4583,9 @@ typing-extensions = "*" name = "sqlparse" version = "0.4.4" description = "A non-validating SQL parser." +category = "main" optional = false python-versions = ">=3.5" -files = [ - {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, - {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, -] [package.extras] dev = ["build", "flake8"] @@ -7458,12 +4596,9 @@ test = ["pytest", "pytest-cov"] name = "stevedore" version = "5.1.0" description = "Manage dynamic plugins for Python applications" +category = "dev" optional = false python-versions = ">=3.8" -files = [ - {file = "stevedore-5.1.0-py3-none-any.whl", hash = "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d"}, - {file = "stevedore-5.1.0.tar.gz", hash = "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c"}, -] [package.dependencies] pbr = ">=2.0.0,<2.1.0 || >2.1.0" @@ -7472,12 +4607,9 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "sympy" version = "1.12" description = "Computer algebra system (CAS) in Python" +category = "main" optional = true python-versions = ">=3.8" -files = [ - {file = "sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5"}, - {file = "sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"}, -] [package.dependencies] mpmath = ">=0.19" @@ -7486,12 +4618,9 @@ mpmath = ">=0.19" name = "tabulate" version = "0.9.0" description = "Pretty-print tabular data" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, - {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, -] [package.extras] widechars = ["wcwidth"] @@ -7500,23 +4629,17 @@ widechars = ["wcwidth"] name = "tblib" version = "2.0.0" description = "Traceback serialization library." +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "tblib-2.0.0-py3-none-any.whl", hash = "sha256:9100bfa016b047d5b980d66e7efed952fbd20bd85b56110aaf473cb97d18709a"}, - {file = "tblib-2.0.0.tar.gz", hash = "sha256:a6df30f272c08bf8be66e0775fad862005d950a6b8449b94f7c788731d70ecd7"}, -] [[package]] name = "tenacity" version = "8.2.3" description = "Retry code until it succeeds" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, - {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, -] [package.extras] doc = ["reno", "sphinx", "tornado (>=4.5)"] @@ -7525,12 +4648,9 @@ doc = ["reno", "sphinx", "tornado (>=4.5)"] name = "termcolor" version = "2.3.0" description = "ANSI color formatting for output in terminal" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "termcolor-2.3.0-py3-none-any.whl", hash = "sha256:3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475"}, - {file = "termcolor-2.3.0.tar.gz", hash = "sha256:b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a"}, -] [package.extras] tests = ["pytest", "pytest-cov"] @@ -7539,61 +4659,17 @@ tests = ["pytest", "pytest-cov"] name = "text-unidecode" version = "1.3" description = "The most basic Text::Unidecode port" +category = "main" optional = false python-versions = "*" -files = [ - {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, - {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, -] [[package]] name = "tokenizers" version = "0.13.3" description = "Fast and Customizable Tokenizers" +category = "main" optional = true python-versions = "*" -files = [ - {file = "tokenizers-0.13.3-cp310-cp310-macosx_10_11_x86_64.whl", hash = "sha256:f3835c5be51de8c0a092058a4d4380cb9244fb34681fd0a295fbf0a52a5fdf33"}, - {file = "tokenizers-0.13.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4ef4c3e821730f2692489e926b184321e887f34fb8a6b80b8096b966ba663d07"}, - {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5fd1a6a25353e9aa762e2aae5a1e63883cad9f4e997c447ec39d071020459bc"}, - {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee0b1b311d65beab83d7a41c56a1e46ab732a9eed4460648e8eb0bd69fc2d059"}, - {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ef4215284df1277dadbcc5e17d4882bda19f770d02348e73523f7e7d8b8d396"}, - {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4d53976079cff8a033f778fb9adca2d9d69d009c02fa2d71a878b5f3963ed30"}, - {file = "tokenizers-0.13.3-cp310-cp310-win32.whl", hash = "sha256:1f0e3b4c2ea2cd13238ce43548959c118069db7579e5d40ec270ad77da5833ce"}, - {file = "tokenizers-0.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:89649c00d0d7211e8186f7a75dfa1db6996f65edce4b84821817eadcc2d3c79e"}, - {file = "tokenizers-0.13.3-cp311-cp311-macosx_10_11_universal2.whl", hash = "sha256:56b726e0d2bbc9243872b0144515ba684af5b8d8cd112fb83ee1365e26ec74c8"}, - {file = "tokenizers-0.13.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:cc5c022ce692e1f499d745af293ab9ee6f5d92538ed2faf73f9708c89ee59ce6"}, - {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f55c981ac44ba87c93e847c333e58c12abcbb377a0c2f2ef96e1a266e4184ff2"}, - {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f247eae99800ef821a91f47c5280e9e9afaeed9980fc444208d5aa6ba69ff148"}, - {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b3e3215d048e94f40f1c95802e45dcc37c5b05eb46280fc2ccc8cd351bff839"}, - {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ba2b0bf01777c9b9bc94b53764d6684554ce98551fec496f71bc5be3a03e98b"}, - {file = "tokenizers-0.13.3-cp311-cp311-win32.whl", hash = "sha256:cc78d77f597d1c458bf0ea7c2a64b6aa06941c7a99cb135b5969b0278824d808"}, - {file = "tokenizers-0.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:ecf182bf59bd541a8876deccf0360f5ae60496fd50b58510048020751cf1724c"}, - {file = "tokenizers-0.13.3-cp37-cp37m-macosx_10_11_x86_64.whl", hash = "sha256:0527dc5436a1f6bf2c0327da3145687d3bcfbeab91fed8458920093de3901b44"}, - {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07cbb2c307627dc99b44b22ef05ff4473aa7c7cc1fec8f0a8b37d8a64b1a16d2"}, - {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4560dbdeaae5b7ee0d4e493027e3de6d53c991b5002d7ff95083c99e11dd5ac0"}, - {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64064bd0322405c9374305ab9b4c07152a1474370327499911937fd4a76d004b"}, - {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8c6e2ab0f2e3d939ca66aa1d596602105fe33b505cd2854a4c1717f704c51de"}, - {file = "tokenizers-0.13.3-cp37-cp37m-win32.whl", hash = "sha256:6cc29d410768f960db8677221e497226e545eaaea01aa3613fa0fdf2cc96cff4"}, - {file = "tokenizers-0.13.3-cp37-cp37m-win_amd64.whl", hash = "sha256:fc2a7fdf864554a0dacf09d32e17c0caa9afe72baf9dd7ddedc61973bae352d8"}, - {file = "tokenizers-0.13.3-cp38-cp38-macosx_10_11_x86_64.whl", hash = "sha256:8791dedba834c1fc55e5f1521be325ea3dafb381964be20684b92fdac95d79b7"}, - {file = "tokenizers-0.13.3-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:d607a6a13718aeb20507bdf2b96162ead5145bbbfa26788d6b833f98b31b26e1"}, - {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3791338f809cd1bf8e4fee6b540b36822434d0c6c6bc47162448deee3f77d425"}, - {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2f35f30e39e6aab8716f07790f646bdc6e4a853816cc49a95ef2a9016bf9ce6"}, - {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310204dfed5aa797128b65d63538a9837cbdd15da2a29a77d67eefa489edda26"}, - {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0f9b92ea052305166559f38498b3b0cae159caea712646648aaa272f7160963"}, - {file = "tokenizers-0.13.3-cp38-cp38-win32.whl", hash = "sha256:9a3fa134896c3c1f0da6e762d15141fbff30d094067c8f1157b9fdca593b5806"}, - {file = "tokenizers-0.13.3-cp38-cp38-win_amd64.whl", hash = "sha256:8e7b0cdeace87fa9e760e6a605e0ae8fc14b7d72e9fc19c578116f7287bb873d"}, - {file = "tokenizers-0.13.3-cp39-cp39-macosx_10_11_x86_64.whl", hash = "sha256:00cee1e0859d55507e693a48fa4aef07060c4bb6bd93d80120e18fea9371c66d"}, - {file = "tokenizers-0.13.3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:a23ff602d0797cea1d0506ce69b27523b07e70f6dda982ab8cf82402de839088"}, - {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70ce07445050b537d2696022dafb115307abdffd2a5c106f029490f84501ef97"}, - {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:280ffe95f50eaaf655b3a1dc7ff1d9cf4777029dbbc3e63a74e65a056594abc3"}, - {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97acfcec592f7e9de8cadcdcda50a7134423ac8455c0166b28c9ff04d227b371"}, - {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd7730c98a3010cd4f523465867ff95cd9d6430db46676ce79358f65ae39797b"}, - {file = "tokenizers-0.13.3-cp39-cp39-win32.whl", hash = "sha256:48625a108029cb1ddf42e17a81b5a3230ba6888a70c9dc14e81bc319e812652d"}, - {file = "tokenizers-0.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:bc0a6f1ba036e482db6453571c9e3e60ecd5489980ffd95d11dc9f960483d783"}, - {file = "tokenizers-0.13.3.tar.gz", hash = "sha256:2e546dbb68b623008a5442353137fbb0123d311a6d7ba52f2667c8862a75af2e"}, -] [package.extras] dev = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] @@ -7604,56 +4680,41 @@ testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, -] [[package]] name = "tomli" version = "2.0.1" description = "A lil' TOML parser" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] [[package]] name = "tomli-w" version = "1.0.0" description = "A lil' TOML writer" +category = "dev" optional = false python-versions = ">=3.7" -files = [ - {file = "tomli_w-1.0.0-py3-none-any.whl", hash = "sha256:9f2a07e8be30a0729e533ec968016807069991ae2fd921a78d42f429ae5f4463"}, - {file = "tomli_w-1.0.0.tar.gz", hash = "sha256:f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9"}, -] [[package]] name = "tomlkit" version = "0.12.1" description = "Style preserving TOML library" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "tomlkit-0.12.1-py3-none-any.whl", hash = "sha256:712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899"}, - {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"}, -] [[package]] name = "tqdm" version = "4.66.1" description = "Fast, Extensible Progress Meter" +category = "main" optional = false python-versions = ">=3.7" -files = [ - {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, - {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, -] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -7668,12 +4729,9 @@ telegram = ["requests"] name = "typeapi" version = "2.1.1" description = "" +category = "dev" optional = false python-versions = ">=3.6.3,<4.0.0" -files = [ - {file = "typeapi-2.1.1-py3-none-any.whl", hash = "sha256:ef41577f316bfd362572e727ba349dab80a7362318a80fc72e6a807017d04c5c"}, - {file = "typeapi-2.1.1.tar.gz", hash = "sha256:49b3c1d3382e27dccbb59132a3a823c61954f679a0c61f119fd6d8470073a298"}, -] [package.dependencies] typing-extensions = ">=3.0.0" @@ -7682,272 +4740,3631 @@ typing-extensions = ">=3.0.0" name = "types-awscrt" version = "0.19.1" description = "Type annotations and code completion for awscrt" +category = "main" optional = false python-versions = ">=3.7,<4.0" -files = [ - {file = "types_awscrt-0.19.1-py3-none-any.whl", hash = "sha256:68fffeb75396e9e7614cd930b2d52295f680230774750907bcafb56f11514043"}, - {file = "types_awscrt-0.19.1.tar.gz", hash = "sha256:61833aa140e724a9098025610f4b8cde3dcf65b842631d7447378f9f5db4e1fd"}, -] [[package]] name = "types-cachetools" version = "5.3.0.6" description = "Typing stubs for cachetools" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "types-cachetools-5.3.0.6.tar.gz", hash = "sha256:595f0342d246c8ba534f5a762cf4c2f60ecb61e8002b8b2277fd5cf791d4e851"}, - {file = "types_cachetools-5.3.0.6-py3-none-any.whl", hash = "sha256:f7f8a25bfe306f2e6bc2ad0a2f949d9e72f2d91036d509c36d3810bf728bc6e1"}, -] [[package]] name = "types-click" version = "7.1.8" description = "Typing stubs for click" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "types-click-7.1.8.tar.gz", hash = "sha256:b6604968be6401dc516311ca50708a0a28baa7a0cb840efd7412f0dbbff4e092"}, - {file = "types_click-7.1.8-py3-none-any.whl", hash = "sha256:8cb030a669e2e927461be9827375f83c16b8178c365852c060a34e24871e7e81"}, -] [[package]] name = "types-deprecated" version = "1.2.9.3" description = "Typing stubs for Deprecated" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "types-Deprecated-1.2.9.3.tar.gz", hash = "sha256:ef87327adf3e3c4a4c7d8e06e58f6476710d3466ecfb53c49efb080804a70ef3"}, - {file = "types_Deprecated-1.2.9.3-py3-none-any.whl", hash = "sha256:24da9210763e5e1b3d0d4f6f8bba9ad3bb6af3fe7f6815fc37e3ede4681704f5"}, -] [[package]] name = "types-protobuf" version = "4.24.0.1" description = "Typing stubs for protobuf" +category = "dev" optional = false python-versions = "*" -files = [ - {file = "types-protobuf-4.24.0.1.tar.gz", hash = "sha256:90adea3b693d6a40d8ef075c58fe6b5cc6e01fe1496301a7e6fc70398dcff92e"}, - {file = "types_protobuf-4.24.0.1-py3-none-any.whl", hash = "sha256:df203a204e4ae97d4cca4c9cf725262579dd7857a19f9e7fc74871ccfa073c01"}, -] [[package]] name = "types-psutil" version = "5.9.5.16" description = "Typing stubs for psutil" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "types-psycopg2" +version = "2.9.21.14" +description = "Typing stubs for psycopg2" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "types-python-dateutil" +version = "2.8.19.14" +description = "Typing stubs for python-dateutil" +category = "dev" optional = false python-versions = "*" -files = [ + +[[package]] +name = "types-pyyaml" +version = "6.0.12.11" +description = "Typing stubs for PyYAML" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "types-requests" +version = "2.31.0.2" +description = "Typing stubs for requests" +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +types-urllib3 = "*" + +[[package]] +name = "types-s3transfer" +version = "0.6.2" +description = "Type annotations and code completion for s3transfer" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" + +[[package]] +name = "types-setuptools" +version = "68.1.0.1" +description = "Typing stubs for setuptools" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "types-simplejson" +version = "3.19.0.2" +description = "Typing stubs for simplejson" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "types-sqlalchemy" +version = "1.4.53.38" +description = "Typing stubs for SQLAlchemy" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "types-tqdm" +version = "4.66.0.2" +description = "Typing stubs for tqdm" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "types-urllib3" +version = "1.26.25.14" +description = "Typing stubs for urllib3" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "typing-extensions" +version = "4.7.1" +description = "Backported and Experimental Type Hints for Python 3.7+" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "tzdata" +version = "2023.3" +description = "Provider of IANA time zone data" +category = "main" +optional = false +python-versions = ">=2" + +[[package]] +name = "uc-micro-py" +version = "1.0.2" +description = "Micro subset of unicode data files for linkify-it-py projects." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["coverage", "pytest", "pytest-cov"] + +[[package]] +name = "unicodecsv" +version = "0.14.1" +description = "Python2's stdlib csv module is nice, but it doesn't support unicode. This module is a drop-in replacement which *does*." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "uritemplate" +version = "4.1.1" +description = "Implementation of RFC 6570 URI Templates" +category = "dev" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "urllib3" +version = "1.26.16" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "validators" +version = "0.21.0" +description = "Python Data Validation for Humans™" +category = "main" +optional = true +python-versions = ">=3.8,<4.0" + +[[package]] +name = "watchdog" +version = "3.0.0" +description = "Filesystem events monitoring" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +watchmedo = ["PyYAML (>=3.10)"] + +[[package]] +name = "wcwidth" +version = "0.2.6" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "weaviate-client" +version = "3.23.2" +description = "A python native Weaviate client" +category = "main" +optional = true +python-versions = ">=3.8" + +[package.dependencies] +authlib = ">=1.1.0" +requests = ">=2.28.0,<=2.31.0" +tqdm = ">=4.59.0,<5.0.0" +validators = ">=0.18.2,<=0.21.0" + +[package.extras] +grpc = ["grpcio", "grpcio-tools"] + +[[package]] +name = "werkzeug" +version = "2.3.7" +description = "The comprehensive WSGI web application library." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +MarkupSafe = ">=2.1.1" + +[package.extras] +watchdog = ["watchdog (>=2.3)"] + +[[package]] +name = "wheel" +version = "0.41.2" +description = "A built-package format for Python" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6.0.0)", "setuptools (>=65)"] + +[[package]] +name = "wrapt" +version = "1.15.0" +description = "Module for decorators, wrappers and monkey patching." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[[package]] +name = "wtforms" +version = "3.0.1" +description = "Form validation and rendering for Python web development." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +MarkupSafe = "*" + +[package.extras] +email = ["email-validator"] + +[[package]] +name = "yapf" +version = "0.33.0" +description = "A formatter for Python code." +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +tomli = ">=2.0.1" + +[[package]] +name = "yarl" +version = "1.9.2" +description = "Yet another URL library" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + +[[package]] +name = "zipp" +version = "3.16.2" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + +[extras] +athena = ["pyathena", "pyarrow", "s3fs", "botocore"] +az = ["adlfs"] +bigquery = ["grpcio", "google-cloud-bigquery", "pyarrow", "gcsfs"] +cli = ["pipdeptree", "cron-descriptor"] +dbt = ["dbt-core", "dbt-redshift", "dbt-bigquery", "dbt-duckdb", "dbt-snowflake", "dbt-athena-community"] +duckdb = ["duckdb"] +filesystem = ["s3fs", "botocore"] +gcp = ["grpcio", "google-cloud-bigquery", "gcsfs"] +gs = ["gcsfs"] +motherduck = ["duckdb", "pyarrow"] +mssql = ["pyodbc"] +parquet = ["pyarrow"] +postgres = ["psycopg2-binary", "psycopg2cffi"] +pydantic = ["pydantic"] +qdrant = ["qdrant-client"] +redshift = ["psycopg2-binary", "psycopg2cffi"] +s3 = ["s3fs", "botocore"] +snowflake = ["snowflake-connector-python"] +weaviate = ["weaviate-client"] + +[metadata] +lock-version = "1.1" +python-versions = ">=3.8.1,<3.13" +content-hash = "f857c300f44dadb0cf25af0016c5baf5318097a2d6b0d7035f6aaa2e7fb592b2" + +[metadata.files] +about-time = [ + {file = "about-time-4.2.1.tar.gz", hash = "sha256:6a538862d33ce67d997429d14998310e1dbfda6cb7d9bbfbf799c4709847fece"}, + {file = "about_time-4.2.1-py3-none-any.whl", hash = "sha256:8bbf4c75fe13cbd3d72f49a03b02c5c7dca32169b6d49117c257e7eb3eaee341"}, +] +adlfs = [ + {file = "adlfs-2023.8.0-py3-none-any.whl", hash = "sha256:3eb248a3c2a30b419f1147bd7676d156b5219f96ef7f11d47166afd2a3bdb07e"}, + {file = "adlfs-2023.8.0.tar.gz", hash = "sha256:07e804f6df4593acfcaf01025b162e30ac13e523d3570279c98b2d91a18026d9"}, +] +agate = [ + {file = "agate-1.6.3-py2.py3-none-any.whl", hash = "sha256:2d568fd68a8eb8b56c805a1299ba4bc30ca0434563be1bea309c9d1c1c8401f4"}, + {file = "agate-1.6.3.tar.gz", hash = "sha256:e0f2f813f7e12311a4cdccc97d6ba0a6781e9c1aa8eca0ab00d5931c0113a308"}, +] +aiobotocore = [ + {file = "aiobotocore-2.5.2-py3-none-any.whl", hash = "sha256:337429ffd3cc367532572d40be809a84c7b5335f3f8eca2f23e09dfaa9a9ef90"}, + {file = "aiobotocore-2.5.2.tar.gz", hash = "sha256:e7399f21570db1c287f1c0c814dd3475dfe1c8166722e2c77ce67f172cbcfa89"}, +] +aiohttp = [ + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, + {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, + {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, + {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, + {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, + {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, + {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, + {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, + {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, + {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, + {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, + {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, + {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, + {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, +] +aioitertools = [ + {file = "aioitertools-0.11.0-py3-none-any.whl", hash = "sha256:04b95e3dab25b449def24d7df809411c10e62aab0cbe31a50ca4e68748c43394"}, + {file = "aioitertools-0.11.0.tar.gz", hash = "sha256:42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831"}, +] +aiosignal = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] +alembic = [ + {file = "alembic-1.12.0-py3-none-any.whl", hash = "sha256:03226222f1cf943deee6c85d9464261a6c710cd19b4fe867a3ad1f25afda610f"}, + {file = "alembic-1.12.0.tar.gz", hash = "sha256:8e7645c32e4f200675e69f0745415335eb59a3663f5feb487abfa0b30c45888b"}, +] +alive-progress = [ + {file = "alive-progress-3.1.4.tar.gz", hash = "sha256:74a95d8d0d42bc99d3a3725dbd06ebb852245f1b64e301a7c375b92b22663f7b"}, + {file = "alive_progress-3.1.4-py3-none-any.whl", hash = "sha256:c80ad87ce9c1054b01135a87fae69ecebbfc2107497ae87cbe6aec7e534903db"}, +] +ansicon = [ + {file = "ansicon-1.89.0-py2.py3-none-any.whl", hash = "sha256:f1def52d17f65c2c9682cf8370c03f541f410c1752d6a14029f97318e4b9dfec"}, + {file = "ansicon-1.89.0.tar.gz", hash = "sha256:e4d039def5768a47e4afec8e89e83ec3ae5a26bf00ad851f914d1240b444d2b1"}, +] +anyio = [ + {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"}, + {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"}, +] +apache-airflow = [ + {file = "apache-airflow-2.7.0.tar.gz", hash = "sha256:06fba3df5943b6eda5e2f033e7e45b6ea557d89909ca36e61614ea61075f9722"}, + {file = "apache_airflow-2.7.0-py3-none-any.whl", hash = "sha256:8e3cf4b3cd8583a2e76bd04827af8d34747e0cf30a28cf0e70f4f4f39ce61f6d"}, +] +apache-airflow-providers-common-sql = [ + {file = "apache-airflow-providers-common-sql-1.7.1.tar.gz", hash = "sha256:ba37f795d9656a87cf4661edc381b8ecfe930272c59324b59f8a158fd0971aeb"}, + {file = "apache_airflow_providers_common_sql-1.7.1-py3-none-any.whl", hash = "sha256:36da2f51b51a64765b0ed5e6a5fece8eaa3ca173dfbff803e2fe2a0afbb90944"}, +] +apache-airflow-providers-ftp = [ + {file = "apache-airflow-providers-ftp-3.5.1.tar.gz", hash = "sha256:dc6dc524dc7454857a0812154d7540172e36db3a87e48a4a91918ebf80898bbf"}, + {file = "apache_airflow_providers_ftp-3.5.1-py3-none-any.whl", hash = "sha256:e4ea77d6276355acfe2392c12155db7b9d51be460b7673b616dc1d8bee03c1d7"}, +] +apache-airflow-providers-http = [ + {file = "apache-airflow-providers-http-4.5.1.tar.gz", hash = "sha256:ec90920ff980fc264af9811dc72c37ef272bcdb3d007c7114e12366559426460"}, + {file = "apache_airflow_providers_http-4.5.1-py3-none-any.whl", hash = "sha256:702f26938bc22684eefecd297c2b0809793f9e43b8d911d807a29f21e69da179"}, +] +apache-airflow-providers-imap = [ + {file = "apache-airflow-providers-imap-3.3.1.tar.gz", hash = "sha256:40bac2a75e4dfbcd7d397776d90d03938facaf2707acc6cc119a8db684e53f77"}, + {file = "apache_airflow_providers_imap-3.3.1-py3-none-any.whl", hash = "sha256:adb6ef7864a5a8e245fbbd555bb4ef1eecf5b094d6d23ca0edc5f0aded50490d"}, +] +apache-airflow-providers-sqlite = [ + {file = "apache-airflow-providers-sqlite-3.4.3.tar.gz", hash = "sha256:347d2db03eaa5ea9fef414666565ffa5e849935cbc30e37237edcaa822b5ced8"}, + {file = "apache_airflow_providers_sqlite-3.4.3-py3-none-any.whl", hash = "sha256:4ffa6a50f0ea1b4e51240b657dfec3fb026c87bdfa71af908a56461df6a6f2e0"}, +] +apispec = [ + {file = "apispec-6.3.0-py3-none-any.whl", hash = "sha256:95a0b9355785df998bb0e9b939237a30ee4c7428fd6ef97305eae3da06b9b339"}, + {file = "apispec-6.3.0.tar.gz", hash = "sha256:6cb08d92ce73ff0b3bf46cb2ea5c00d57289b0f279fb0256a3df468182ba5344"}, +] +appdirs = [ + {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, + {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, +] +argcomplete = [ + {file = "argcomplete-3.1.1-py3-none-any.whl", hash = "sha256:35fa893a88deea85ea7b20d241100e64516d6af6d7b0ae2bed1d263d26f70948"}, + {file = "argcomplete-3.1.1.tar.gz", hash = "sha256:6c4c563f14f01440aaffa3eae13441c5db2357b5eec639abe7c0b15334627dff"}, +] +asgiref = [ + {file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"}, + {file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"}, +] +asn1crypto = [ + {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, + {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, +] +astatine = [ + {file = "astatine-0.3.3-py3-none-any.whl", hash = "sha256:6d8c914f01fbea252cb8f31563f2e766a9ab03c02b9bcc37d18f7d9138828401"}, + {file = "astatine-0.3.3.tar.gz", hash = "sha256:0c58a7844b5890ff16da07dbfeb187341d8324cb4378940f89d795cbebebce08"}, +] +asttokens = [ + {file = "asttokens-2.3.0-py2.py3-none-any.whl", hash = "sha256:bef1a51bc256d349e9f94e7e40e44b705ed1162f55294220dd561d24583d9877"}, + {file = "asttokens-2.3.0.tar.gz", hash = "sha256:2552a88626aaa7f0f299f871479fc755bd4e7c11e89078965e928fb7bb9a6afe"}, +] +astunparse = [ + {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"}, + {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"}, +] +async-timeout = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] +atomicwrites = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] +attrs = [ + {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, + {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, +] +authlib = [ + {file = "Authlib-1.2.1-py2.py3-none-any.whl", hash = "sha256:c88984ea00149a90e3537c964327da930779afa4564e354edfd98410bea01911"}, + {file = "Authlib-1.2.1.tar.gz", hash = "sha256:421f7c6b468d907ca2d9afede256f068f87e34d23dd221c07d13d4c234726afb"}, +] +azure-core = [ + {file = "azure-core-1.29.3.tar.gz", hash = "sha256:c92700af982e71c8c73de9f4c20da8b3f03ce2c22d13066e4d416b4629c87903"}, + {file = "azure_core-1.29.3-py3-none-any.whl", hash = "sha256:f8b2910f92b66293d93bd00564924ad20ad48f4a1e150577cf18d1e7d4f9263c"}, +] +azure-datalake-store = [ + {file = "azure-datalake-store-0.0.53.tar.gz", hash = "sha256:05b6de62ee3f2a0a6e6941e6933b792b800c3e7f6ffce2fc324bc19875757393"}, + {file = "azure_datalake_store-0.0.53-py2.py3-none-any.whl", hash = "sha256:a30c902a6e360aa47d7f69f086b426729784e71c536f330b691647a51dc42b2b"}, +] +azure-identity = [ + {file = "azure-identity-1.14.0.zip", hash = "sha256:72441799f8c5c89bfe21026965e266672a7c5d050c2c65119ef899dd5362e2b1"}, + {file = "azure_identity-1.14.0-py3-none-any.whl", hash = "sha256:edabf0e010eb85760e1dd19424d5e8f97ba2c9caff73a16e7b30ccbdbcce369b"}, +] +azure-storage-blob = [ + {file = "azure-storage-blob-12.17.0.zip", hash = "sha256:c14b785a17050b30fc326a315bdae6bc4a078855f4f94a4c303ad74a48dc8c63"}, + {file = "azure_storage_blob-12.17.0-py3-none-any.whl", hash = "sha256:0016e0c549a80282d7b4920c03f2f4ba35c53e6e3c7dbcd2a4a8c8eb3882c1e7"}, +] +babel = [ + {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, + {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, +] +backoff = [ + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, +] +bandit = [ + {file = "bandit-1.7.5-py3-none-any.whl", hash = "sha256:75665181dc1e0096369112541a056c59d1c5f66f9bb74a8d686c3c362b83f549"}, + {file = "bandit-1.7.5.tar.gz", hash = "sha256:bdfc739baa03b880c2d15d0431b31c658ffc348e907fe197e54e0389dd59e11e"}, +] +beautifulsoup4 = [ + {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, + {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, +] +black = [ + {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"}, + {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"}, + {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"}, + {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"}, + {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"}, + {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"}, + {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"}, + {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"}, + {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"}, + {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"}, + {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"}, +] +blessed = [ + {file = "blessed-1.20.0-py2.py3-none-any.whl", hash = "sha256:0c542922586a265e699188e52d5f5ac5ec0dd517e5a1041d90d2bbf23f906058"}, + {file = "blessed-1.20.0.tar.gz", hash = "sha256:2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680"}, +] +blinker = [ + {file = "blinker-1.6.2-py3-none-any.whl", hash = "sha256:c3d739772abb7bc2860abf5f2ec284223d9ad5c76da018234f6f50d6f31ab1f0"}, + {file = "blinker-1.6.2.tar.gz", hash = "sha256:4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"}, +] +boto3 = [ + {file = "boto3-1.26.161-py3-none-any.whl", hash = "sha256:f66e5c9dbe7f34383bcf64fa6070771355c11a44dd75c7f1279f2f37e1c89183"}, + {file = "boto3-1.26.161.tar.gz", hash = "sha256:662731e464d14af1035f44fc6a46b0e3112ee011ac0a5ed416d205daa3e15f25"}, +] +boto3-stubs = [ + {file = "boto3-stubs-1.28.40.tar.gz", hash = "sha256:76079a82f199087319762c931f13506e02129132e80257dab0888d3da7dc11c7"}, + {file = "boto3_stubs-1.28.40-py3-none-any.whl", hash = "sha256:bd1d1cbdcbf18902a090d4a746cdecef2a7ebe31cf9a474bbe407d57eaa79a6a"}, +] +botocore = [ + {file = "botocore-1.29.161-py3-none-any.whl", hash = "sha256:b906999dd53dda2ef0ef6f7f55fcc81a4b06b9f1c8a9f65c546e0b981f959f5f"}, + {file = "botocore-1.29.161.tar.gz", hash = "sha256:a50edd715eb510343e27849f36483804aae4b871590db4d4996aa53368dcac40"}, +] +botocore-stubs = [ + {file = "botocore_stubs-1.31.40-py3-none-any.whl", hash = "sha256:aab534d7e7949cd543bc9b2fadc1a36712033cb00e6f31e2475eefe8486d19ae"}, + {file = "botocore_stubs-1.31.40.tar.gz", hash = "sha256:2001a253daf4ae2e171e6137b9982a00a7fbfc7a53449a16856dc049e7cd5214"}, +] +cachelib = [ + {file = "cachelib-0.9.0-py3-none-any.whl", hash = "sha256:811ceeb1209d2fe51cd2b62810bd1eccf70feba5c52641532498be5c675493b3"}, + {file = "cachelib-0.9.0.tar.gz", hash = "sha256:38222cc7c1b79a23606de5c2607f4925779e37cdcea1c2ad21b8bae94b5425a5"}, +] +cachetools = [ + {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, + {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, +] +cattrs = [ + {file = "cattrs-23.1.2-py3-none-any.whl", hash = "sha256:b2bb14311ac17bed0d58785e5a60f022e5431aca3932e3fc5cc8ed8639de50a4"}, + {file = "cattrs-23.1.2.tar.gz", hash = "sha256:db1c821b8c537382b2c7c66678c3790091ca0275ac486c76f3c8f3920e83c657"}, +] +certifi = [ + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, +] +cffi = [ + {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, + {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, + {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, + {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, + {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, + {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, + {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, + {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, + {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, + {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, + {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, + {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, + {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, + {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, + {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, + {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, + {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, + {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, + {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, +] +chardet = [ + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, +] +charset-normalizer = [ + {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, + {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, + {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, + {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, + {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, + {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, + {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, +] +click = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] +clickclick = [ + {file = "clickclick-20.10.2-py2.py3-none-any.whl", hash = "sha256:c8f33e6d9ec83f68416dd2136a7950125bd256ec39ccc9a85c6e280a16be2bb5"}, + {file = "clickclick-20.10.2.tar.gz", hash = "sha256:4efb13e62353e34c5eef7ed6582c4920b418d7dedc86d819e22ee089ba01802c"}, +] +colorama = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] +coloredlogs = [ + {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, + {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, +] +colorlog = [ + {file = "colorlog-4.8.0-py2.py3-none-any.whl", hash = "sha256:3dd15cb27e8119a24c1a7b5c93f9f3b455855e0f73993b1c25921b2f646f1dcd"}, + {file = "colorlog-4.8.0.tar.gz", hash = "sha256:59b53160c60902c405cdec28d38356e09d40686659048893e026ecbd589516b1"}, +] +configupdater = [ + {file = "ConfigUpdater-3.1.1-py2.py3-none-any.whl", hash = "sha256:805986dbeba317886c7a8d348b2e34986dc9e3128cd3761ecc35decbd372b286"}, + {file = "ConfigUpdater-3.1.1.tar.gz", hash = "sha256:46f0c74d73efa723776764b43c9739f68052495dd3d734319c1d0eb58511f15b"}, +] +connectorx = [ + {file = "connectorx-0.3.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:719750045e7c3b94c199271fbfe6aef47944768e711f27bcc606b498707e0054"}, + {file = "connectorx-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aed31b08acebeb3ebbe53c0df846c686e7c27c4242bff3a75b72cf517d070257"}, + {file = "connectorx-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71d2c2678339fb01f89469bbe22e66e75cabcf727a52ed72d576fef5744ebc58"}, + {file = "connectorx-0.3.1-cp310-none-win_amd64.whl", hash = "sha256:92e576ef9610b59f8e5456c12d22e5b0752d0207f586df82701987657909888b"}, + {file = "connectorx-0.3.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:36c28cc59220998928e7b283eecf404e17e077dc3e525570096d0968b192cc64"}, + {file = "connectorx-0.3.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:c5173e7252f593c46787627a46561b0d949eb80ab23321e045bbf6bd5131945c"}, + {file = "connectorx-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c8411631750d24c12e5e296720637909b8515d5faa3b5eaf7bb86c582d02667"}, + {file = "connectorx-0.3.1-cp37-none-win_amd64.whl", hash = "sha256:0674b6389f8f2ba62155ac2f718df18f76f9de5c50d9911a5fefe7485e1c598e"}, + {file = "connectorx-0.3.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:324c5075e8aa6698db8c877cb847f0d86172784db88ac0f3e6762aa9852330f3"}, + {file = "connectorx-0.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:027a3880629a7b33ae0c7a80ab4fa53286957a253af2dfe34f19adfea6b79b91"}, + {file = "connectorx-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a666b967958fcf9fc0444a7b3603483ee23a2fe39f0da3d545ff199f376f7e4b"}, + {file = "connectorx-0.3.1-cp38-none-win_amd64.whl", hash = "sha256:3c5dedfd75cf44898c17cc84a1dd0ab6ed0fa54de0461f2d6aa4bcb2c2b0dc1d"}, + {file = "connectorx-0.3.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:354c4126bcd7a9efbb8879feac92e1e7b0d0712f7e98665c392af663805491f8"}, + {file = "connectorx-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3011e1f9a27fd2a7b12c6a45bc29f6e7577a27418a3f607adaf54b301ff09068"}, + {file = "connectorx-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1efb6ed547acc5837c2211e3d65d22948019d1653e7b30e522a4a4bd6d25fa8"}, + {file = "connectorx-0.3.1-cp39-none-win_amd64.whl", hash = "sha256:001b473e600b6d25af83b32674f98dccf49705a59bd6df724b5ba9beb236a0e0"}, +] +connexion = [ + {file = "connexion-2.14.1-py2.py3-none-any.whl", hash = "sha256:f343717241b4c4802a694c38fee66fb1693c897fe4ea5a957fa9b3b07caf6394"}, + {file = "connexion-2.14.1.tar.gz", hash = "sha256:99aa5781e70a7b94f8ffae8cf89f309d49cdb811bbd65a8e2f2546f3b19a01e6"}, +] +cron-descriptor = [ + {file = "cron_descriptor-1.4.0.tar.gz", hash = "sha256:b6ff4e3a988d7ca04a4ab150248e9f166fb7a5c828a85090e75bcc25aa93b4dd"}, +] +croniter = [ + {file = "croniter-1.4.1-py2.py3-none-any.whl", hash = "sha256:9595da48af37ea06ec3a9f899738f1b2c1c13da3c38cea606ef7cd03ea421128"}, + {file = "croniter-1.4.1.tar.gz", hash = "sha256:1a6df60eacec3b7a0aa52a8f2ef251ae3dd2a7c7c8b9874e73e791636d55a361"}, +] +cryptography = [ + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, + {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, + {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, + {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, +] +databind-core = [ + {file = "databind.core-4.4.0-py3-none-any.whl", hash = "sha256:3c8a4d9abc93e158af9931d8cec389ddfc0514e02aec03b397948d243db11881"}, + {file = "databind.core-4.4.0.tar.gz", hash = "sha256:715d485e934c073f819f0250bbfcaf59c1319f83427365bc7cfd4c347f87576d"}, +] +databind-json = [ + {file = "databind.json-4.4.0-py3-none-any.whl", hash = "sha256:df8874118cfba6fd0e77ec3d41a87e04e26034bd545230cab0db1fe904bf1b09"}, + {file = "databind.json-4.4.0.tar.gz", hash = "sha256:4356afdf0aeefcc053eda0888650c59cc558be2686f08a58324d675ccd023586"}, +] +dbt-athena-community = [ + {file = "dbt-athena-community-1.5.2.tar.gz", hash = "sha256:9acd333ddf33514769189a7a0b6219e13966d370098211cb1d022fa32e64671a"}, + {file = "dbt_athena_community-1.5.2-py3-none-any.whl", hash = "sha256:c9f0f8425500211a1c1deddce5aff5ed24fe08530f0ffad38e63de9c9b9f3ee6"}, +] +dbt-bigquery = [ + {file = "dbt-bigquery-1.5.6.tar.gz", hash = "sha256:4655cf2ee0acda986b80e6c5d55cae57871bef22d868dfe29d8d4a5bca98a1ba"}, + {file = "dbt_bigquery-1.5.6-py3-none-any.whl", hash = "sha256:3f37544716880cbd17b32bc0c9728a0407b5615b2cd08e1bb904a7a83c46eb6c"}, +] +dbt-core = [ + {file = "dbt-core-1.5.6.tar.gz", hash = "sha256:af3c03cd4a1fc92481362888014ca1ffed2ffef0b0e0d98463ad0f26c49ef458"}, + {file = "dbt_core-1.5.6-py3-none-any.whl", hash = "sha256:030d2179f9efbf8ccea079296d0c79278d963bb2475c0bcce9ca4bbb0d8c393c"}, +] +dbt-duckdb = [ + {file = "dbt-duckdb-1.5.2.tar.gz", hash = "sha256:3407216c21bf78fd128dccfcff3ec4bf260fb145e633432015bc7d0f123e8e4b"}, + {file = "dbt_duckdb-1.5.2-py3-none-any.whl", hash = "sha256:5d18254807bbc3e61daf4f360208ad886adf44b8525e1998168290fbe73a5cbb"}, +] +dbt-extractor = [ + {file = "dbt_extractor-0.4.1-cp36-abi3-macosx_10_7_x86_64.whl", hash = "sha256:4dc715bd740e418d8dc1dd418fea508e79208a24cf5ab110b0092a3cbe96bf71"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:bc9e0050e3a2f4ea9fe58e8794bc808e6709a0c688ed710fc7c5b6ef3e5623ec"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76872cdee659075d6ce2df92dc62e59a74ba571be62acab2e297ca478b49d766"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81435841610be1b07806d72cd89b1956c6e2a84c360b9ceb3f949c62a546d569"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7c291f9f483eae4f60dd5859097d7ba51d5cb6c4725f08973ebd18cdea89d758"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:822b1e911db230e1b9701c99896578e711232001027b518c44c32f79a46fa3f9"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:554d27741a54599c39e5c0b7dbcab77400d83f908caba284a3e960db812e5814"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a805d51a25317f53cbff951c79b9cf75421cf48e4b3e1dfb3e9e8de6d824b76c"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cad90ddc708cb4182dc16fe2c87b1f088a1679877b93e641af068eb68a25d582"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:34783d788b133f223844e280e37b3f5244f2fb60acc457aa75c2667e418d5442"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:9da211869a1220ea55c5552c1567a3ea5233a6c52fa89ca87a22465481c37bc9"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_i686.whl", hash = "sha256:7d7c47774dc051b8c18690281a55e2e3d3320e823b17e04b06bc3ff81b1874ba"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:037907a7c7ae0391045d81338ca77ddaef899a91d80f09958f09fe374594e19b"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-win32.whl", hash = "sha256:3fe8d8e28a7bd3e0884896147269ca0202ca432d8733113386bdc84c824561bf"}, + {file = "dbt_extractor-0.4.1-cp36-abi3-win_amd64.whl", hash = "sha256:35265a0ae0a250623b0c2e3308b2738dc8212e40e0aa88407849e9ea090bb312"}, + {file = "dbt_extractor-0.4.1.tar.gz", hash = "sha256:75b1c665699ec0f1ffce1ba3d776f7dfce802156f22e70a7b9c8f0b4d7e80f42"}, +] +dbt-postgres = [ + {file = "dbt-postgres-1.5.6.tar.gz", hash = "sha256:b74e471dc661819a3d4bda2d11497935661ac2e25786c8a5b7314d8241b18582"}, + {file = "dbt_postgres-1.5.6-py3-none-any.whl", hash = "sha256:bc5711c9ab0ec4b57ab814b2c4e4c973554c8374b7da94b06814ac81c91f67ef"}, +] +dbt-redshift = [ + {file = "dbt-redshift-1.5.10.tar.gz", hash = "sha256:2b9ae1a7d05349e208b0937cd7cc920ea427341ef96096021b18e4070e927f5c"}, + {file = "dbt_redshift-1.5.10-py3-none-any.whl", hash = "sha256:b7689b043535b6b0d217c2abfe924db2336beaae71f3f36ab9aa1e920d2bb2e0"}, +] +dbt-snowflake = [ + {file = "dbt-snowflake-1.5.3.tar.gz", hash = "sha256:cf42772d2c2f1e29a2a64b039c66d80a8593f52a2dd711a144d43b4175802f9a"}, + {file = "dbt_snowflake-1.5.3-py3-none-any.whl", hash = "sha256:8aaa939d834798e5bb10a3ba4f52fc32a53e6e5568d6c0e8b3ac644f099972ff"}, +] +decopatch = [ + {file = "decopatch-1.4.10-py2.py3-none-any.whl", hash = "sha256:e151f7f93de2b1b3fd3f3272dcc7cefd1a69f68ec1c2d8e288ecd9deb36dc5f7"}, + {file = "decopatch-1.4.10.tar.gz", hash = "sha256:957f49c93f4150182c23f8fb51d13bb3213e0f17a79e09c8cca7057598b55720"}, +] +decorator = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] +deprecated = [ + {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, +] +diff-cover = [ + {file = "diff_cover-7.7.0-py3-none-any.whl", hash = "sha256:bf86f32ec999f9a9e79bf24969f7127ea7b4e55c3ef3cd9300feb13188c89736"}, + {file = "diff_cover-7.7.0.tar.gz", hash = "sha256:60614cf7e722cf7fb1bde497afac0b514294e1e26534449622dac4da296123fb"}, +] +dill = [ + {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, + {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, +] +dnspython = [ + {file = "dnspython-2.4.2-py3-none-any.whl", hash = "sha256:57c6fbaaeaaf39c891292012060beb141791735dbb4004798328fc2c467402d8"}, + {file = "dnspython-2.4.2.tar.gz", hash = "sha256:8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"}, +] +docspec = [ + {file = "docspec-2.2.1-py3-none-any.whl", hash = "sha256:7538f750095a9688c6980ff9a4e029a823a500f64bd00b6b4bdb27951feb31cb"}, + {file = "docspec-2.2.1.tar.gz", hash = "sha256:4854e77edc0e2de40e785e57e95880f7095a05fe978f8b54cef7a269586e15ff"}, +] +docspec-python = [ + {file = "docspec_python-2.2.1-py3-none-any.whl", hash = "sha256:76ac41d35a8face35b2d766c2e8a416fb8832359785d396f0d53bcb00f178e54"}, + {file = "docspec_python-2.2.1.tar.gz", hash = "sha256:c41b850b4d6f4de30999ea6f82c9cdb9183d9bcba45559ee9173d3dab7281559"}, +] +docstring-parser = [ + {file = "docstring_parser-0.11.tar.gz", hash = "sha256:93b3f8f481c7d24e37c5d9f30293c89e2933fa209421c8abd731dd3ef0715ecb"}, +] +docutils = [ + {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, + {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, +] +domdf-python-tools = [ + {file = "domdf_python_tools-3.6.1-py3-none-any.whl", hash = "sha256:e18158460850957f18e740eb94ede56f580ddb0cb162ab9d9834ed8bbb1b6431"}, + {file = "domdf_python_tools-3.6.1.tar.gz", hash = "sha256:acc04563d23bce4d437dd08af6b9bea788328c412772a044d8ca428a7ad861be"}, +] +duckdb = [ + {file = "duckdb-0.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6c724e105ecd78c8d86b3c03639b24e1df982392fc836705eb007e4b1b488864"}, + {file = "duckdb-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:75f12c5a3086079fb6440122565f1762ef1a610a954f2d8081014c1dd0646e1a"}, + {file = "duckdb-0.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:151f5410c32f8f8fe03bf23462b9604349bc0b4bd3a51049bbf5e6a482a435e8"}, + {file = "duckdb-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c1d066fdae22b9b711b1603541651a378017645f9fbc4adc9764b2f3c9e9e4a"}, + {file = "duckdb-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1de56d8b7bd7a7653428c1bd4b8948316df488626d27e9c388194f2e0d1428d4"}, + {file = "duckdb-0.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1fb6cd590b1bb4e31fde8efd25fedfbfa19a86fa72789fa5b31a71da0d95bce4"}, + {file = "duckdb-0.9.1-cp310-cp310-win32.whl", hash = "sha256:1039e073714d668cef9069bb02c2a6756c7969cedda0bff1332520c4462951c8"}, + {file = "duckdb-0.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:7e6ac4c28918e1d278a89ff26fd528882aa823868ed530df69d6c8a193ae4e41"}, + {file = "duckdb-0.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5eb750f2ee44397a61343f32ee9d9e8c8b5d053fa27ba4185d0e31507157f130"}, + {file = "duckdb-0.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aea2a46881d75dc069a242cb164642d7a4f792889010fb98210953ab7ff48849"}, + {file = "duckdb-0.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed3dcedfc7a9449b6d73f9a2715c730180056e0ba837123e7967be1cd3935081"}, + {file = "duckdb-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c55397bed0087ec4445b96f8d55f924680f6d40fbaa7f2e35468c54367214a5"}, + {file = "duckdb-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3261696130f1cfb955735647c93297b4a6241753fb0de26c05d96d50986c6347"}, + {file = "duckdb-0.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:64c04b1728e3e37cf93748829b5d1e028227deea75115bb5ead01c608ece44b1"}, + {file = "duckdb-0.9.1-cp311-cp311-win32.whl", hash = "sha256:12cf9fb441a32702e31534330a7b4d569083d46a91bf185e0c9415000a978789"}, + {file = "duckdb-0.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:fdfd85575ce9540e593d5d25c9d32050bd636c27786afd7b776aae0f6432b55e"}, + {file = "duckdb-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:704700a4b469e3bb1a7e85ac12e58037daaf2b555ef64a3fe2913ffef7bd585b"}, + {file = "duckdb-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf55b303b7b1a8c2165a96e609eb30484bc47481d94a5fb1e23123e728df0a74"}, + {file = "duckdb-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b70e23c14746904ca5de316436e43a685eb769c67fe3dbfaacbd3cce996c5045"}, + {file = "duckdb-0.9.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:77379f7f1f8b4dc98e01f8f6f8f15a0858cf456e2385e22507f3cb93348a88f9"}, + {file = "duckdb-0.9.1-cp37-cp37m-win32.whl", hash = "sha256:92c8f738489838666cae9ef41703f8b16f660bb146970d1eba8b2c06cb3afa39"}, + {file = "duckdb-0.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08c5484ac06ab714f745526d791141f547e2f5ac92f97a0a1b37dfbb3ea1bd13"}, + {file = "duckdb-0.9.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f66d3c07c7f6938d3277294677eb7dad75165e7c57c8dd505503fc5ef10f67ad"}, + {file = "duckdb-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c38044e5f78c0c7b58e9f937dcc6c34de17e9ca6be42f9f8f1a5a239f7a847a5"}, + {file = "duckdb-0.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73bc0d715b79566b3ede00c367235cfcce67be0eddda06e17665c7a233d6854a"}, + {file = "duckdb-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d26622c3b4ea6a8328d95882059e3cc646cdc62d267d48d09e55988a3bba0165"}, + {file = "duckdb-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3367d10096ff2b7919cedddcf60d308d22d6e53e72ee2702f6e6ca03d361004a"}, + {file = "duckdb-0.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d88a119f1cb41911a22f08a6f084d061a8c864e28b9433435beb50a56b0d06bb"}, + {file = "duckdb-0.9.1-cp38-cp38-win32.whl", hash = "sha256:99567496e45b55c67427133dc916013e8eb20a811fc7079213f5f03b2a4f5fc0"}, + {file = "duckdb-0.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:5b3da4da73422a3235c3500b3fb541ac546adb3e35642ef1119dbcd9cc7f68b8"}, + {file = "duckdb-0.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eca00c0c2062c0265c6c0e78ca2f6a30611b28f3afef062036610e9fc9d4a67d"}, + {file = "duckdb-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eb5af8e89d40fc4baab1515787ea1520a6c6cf6aa40ab9f107df6c3a75686ce1"}, + {file = "duckdb-0.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9fae3d4f83ebcb47995f6acad7c6d57d003a9b6f0e1b31f79a3edd6feb377443"}, + {file = "duckdb-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16b9a7efc745bc3c5d1018c3a2f58d9e6ce49c0446819a9600fdba5f78e54c47"}, + {file = "duckdb-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b0b60167f5537772e9f5af940e69dcf50e66f5247732b8bb84a493a9af6055"}, + {file = "duckdb-0.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4f27f5e94c47df6c4ccddf18e3277b7464eea3db07356d2c4bf033b5c88359b8"}, + {file = "duckdb-0.9.1-cp39-cp39-win32.whl", hash = "sha256:d43cd7e6f783006b59dcc5e40fcf157d21ee3d0c8dfced35278091209e9974d7"}, + {file = "duckdb-0.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:e666795887d9cf1d6b6f6cbb9d487270680e5ff6205ebc54b2308151f13b8cff"}, + {file = "duckdb-0.9.1.tar.gz", hash = "sha256:603a878746015a3f2363a65eb48bcbec816261b6ee8d71eee53061117f6eef9d"}, +] +email-validator = [ + {file = "email_validator-1.3.1-py2.py3-none-any.whl", hash = "sha256:49a72f5fa6ed26be1c964f0567d931d10bf3fdeeacdf97bc26ef1cd2a44e0bda"}, + {file = "email_validator-1.3.1.tar.gz", hash = "sha256:d178c5c6fa6c6824e9b04f199cf23e79ac15756786573c190d2ad13089411ad2"}, +] +enlighten = [ + {file = "enlighten-1.11.2-py2.py3-none-any.whl", hash = "sha256:98c9eb20e022b6a57f1c8d4f17e16760780b6881e6d658c40f52d21255ea45f3"}, + {file = "enlighten-1.11.2.tar.gz", hash = "sha256:9284861dee5a272e0e1a3758cd3f3b7180b1bd1754875da76876f2a7f46ccb61"}, +] +exceptiongroup = [ + {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, + {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, +] +fastembed = [ + {file = "fastembed-0.1.1-py3-none-any.whl", hash = "sha256:131413ae52cd72f4c8cced7a675f8269dbfd1a852abade3c815e265114bcc05a"}, + {file = "fastembed-0.1.1.tar.gz", hash = "sha256:f7e524ee4f74bb8aad16be5b687d1f77f608d40e96e292c87881dc36baf8f4c7"}, +] +filelock = [ + {file = "filelock-3.12.3-py3-none-any.whl", hash = "sha256:f067e40ccc40f2b48395a80fcbd4728262fab54e232e090a4063ab804179efeb"}, + {file = "filelock-3.12.3.tar.gz", hash = "sha256:0ecc1dd2ec4672a10c8550a8182f1bd0c0a5088470ecd5a125e45f49472fac3d"}, +] +flake8 = [ + {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"}, + {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"}, +] +flake8-bugbear = [ + {file = "flake8-bugbear-22.12.6.tar.gz", hash = "sha256:4cdb2c06e229971104443ae293e75e64c6107798229202fbe4f4091427a30ac0"}, + {file = "flake8_bugbear-22.12.6-py3-none-any.whl", hash = "sha256:b69a510634f8a9c298dfda2b18a8036455e6b19ecac4fe582e4d7a0abfa50a30"}, +] +flake8-builtins = [ + {file = "flake8-builtins-1.5.3.tar.gz", hash = "sha256:09998853b2405e98e61d2ff3027c47033adbdc17f9fe44ca58443d876eb00f3b"}, + {file = "flake8_builtins-1.5.3-py2.py3-none-any.whl", hash = "sha256:7706babee43879320376861897e5d1468e396a40b8918ed7bccf70e5f90b8687"}, +] +flake8-encodings = [ + {file = "flake8_encodings-0.5.0.post1-py3-none-any.whl", hash = "sha256:d2fecca0e89ba09c86e5d61cf6bdb1b337f0d74746aac67bbcf0c517b4cb6cba"}, + {file = "flake8_encodings-0.5.0.post1.tar.gz", hash = "sha256:082c0163325c85b438a8106e876283b5ed3cbfc53e68d89130d70be8be4c9977"}, +] +flake8-helper = [ + {file = "flake8_helper-0.2.1-py3-none-any.whl", hash = "sha256:9123cdf351ad32ee8a51b85036052302c478122d62fb512c0773e111b3d05241"}, + {file = "flake8_helper-0.2.1.tar.gz", hash = "sha256:479f86d1c52df8e49ff876ecd3873242699f93eeece7e6675cdca9c37c9b0a16"}, +] +flake8-tidy-imports = [ + {file = "flake8_tidy_imports-4.10.0-py3-none-any.whl", hash = "sha256:b0387fb2ea200441bd142309e716fb7b8f4b0937bdf5f8b7c0c118a5f5e2b8ed"}, + {file = "flake8_tidy_imports-4.10.0.tar.gz", hash = "sha256:bd6cf86465402d2b86903009b748d85a628e599e17b76e810c9857e3a2815173"}, +] +flask = [ + {file = "Flask-2.2.5-py3-none-any.whl", hash = "sha256:58107ed83443e86067e41eff4631b058178191a355886f8e479e347fa1285fdf"}, + {file = "Flask-2.2.5.tar.gz", hash = "sha256:edee9b0a7ff26621bd5a8c10ff484ae28737a2410d99b0bb9a6850c7fb977aa0"}, +] +flask-appbuilder = [ + {file = "Flask-AppBuilder-4.3.3.tar.gz", hash = "sha256:b420379f74788e431a2763f8d3749cc37712df682dc00a45538d85d989340768"}, + {file = "Flask_AppBuilder-4.3.3-py3-none-any.whl", hash = "sha256:7eb1904d8f61297778ebf0d0b83f1d74b154534c9e84af3bb9198cfc0f51ff05"}, +] +flask-babel = [ + {file = "Flask-Babel-2.0.0.tar.gz", hash = "sha256:f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d"}, + {file = "Flask_Babel-2.0.0-py3-none-any.whl", hash = "sha256:e6820a052a8d344e178cdd36dd4bb8aea09b4bda3d5f9fa9f008df2c7f2f5468"}, +] +flask-caching = [ + {file = "Flask-Caching-2.0.2.tar.gz", hash = "sha256:24b60c552d59a9605cc1b6a42c56cdb39a82a28dab4532bbedb9222ae54ecb4e"}, + {file = "Flask_Caching-2.0.2-py3-none-any.whl", hash = "sha256:19571f2570e9b8dd9dd9d2f49d7cbee69c14ebe8cc001100b1eb98c379dd80ad"}, +] +flask-jwt-extended = [ + {file = "Flask-JWT-Extended-4.5.2.tar.gz", hash = "sha256:ba56245ba43b71c8ae936784b867625dce8b9956faeedec2953222e57942fb0b"}, + {file = "Flask_JWT_Extended-4.5.2-py2.py3-none-any.whl", hash = "sha256:e0ef23d8c863746bd141046167073699e1a7b03c97169cbba70f05b8d9cd6b9e"}, +] +flask-limiter = [ + {file = "Flask-Limiter-3.5.0.tar.gz", hash = "sha256:13a3491b994c49f7cb4706587a38ca47e8162b576530472df38be68104f299c0"}, + {file = "Flask_Limiter-3.5.0-py3-none-any.whl", hash = "sha256:dbda4174f44e6cb858c6eb75e7488186f2977dd5d33d7028ba1aabf179de1bee"}, +] +flask-login = [ + {file = "Flask-Login-0.6.2.tar.gz", hash = "sha256:c0a7baa9fdc448cdd3dd6f0939df72eec5177b2f7abe6cb82fc934d29caac9c3"}, + {file = "Flask_Login-0.6.2-py3-none-any.whl", hash = "sha256:1ef79843f5eddd0f143c2cd994c1b05ac83c0401dc6234c143495af9a939613f"}, +] +flask-session = [ + {file = "Flask-Session-0.5.0.tar.gz", hash = "sha256:190875e6aebf2953c6803d42379ef3b934bc209ef8ef006f97aecb08f5aaeb86"}, + {file = "flask_session-0.5.0-py3-none-any.whl", hash = "sha256:1619bcbc16f04f64e90f8e0b17145ba5c9700090bb1294e889956c1282d58631"}, +] +flask-sqlalchemy = [ + {file = "Flask-SQLAlchemy-2.5.1.tar.gz", hash = "sha256:2bda44b43e7cacb15d4e05ff3cc1f8bc97936cc464623424102bfc2c35e95912"}, + {file = "Flask_SQLAlchemy-2.5.1-py2.py3-none-any.whl", hash = "sha256:f12c3d4cc5cc7fdcc148b9527ea05671718c3ea45d50c7e732cceb33f574b390"}, +] +flask-wtf = [ + {file = "Flask-WTF-1.1.1.tar.gz", hash = "sha256:41c4244e9ae626d63bed42ae4785b90667b885b1535d5a4095e1f63060d12aa9"}, + {file = "Flask_WTF-1.1.1-py3-none-any.whl", hash = "sha256:7887d6f1ebb3e17bf648647422f0944c9a469d0fcf63e3b66fb9a83037e38b2c"}, +] +flatbuffers = [ + {file = "flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1"}, + {file = "flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89"}, +] +frozenlist = [ + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, + {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, + {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, + {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, + {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, + {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, + {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, + {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, + {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, + {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, +] +fsspec = [ + {file = "fsspec-2023.6.0-py3-none-any.whl", hash = "sha256:1cbad1faef3e391fba6dc005ae9b5bdcbf43005c9167ce78c915549c352c869a"}, + {file = "fsspec-2023.6.0.tar.gz", hash = "sha256:d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af"}, +] +future = [ + {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, +] +gcsfs = [ + {file = "gcsfs-2023.6.0-py2.py3-none-any.whl", hash = "sha256:3b3c7d8eddd4ec1380f3b49fbb861ee1e974adb223564401f10884b6260d406f"}, + {file = "gcsfs-2023.6.0.tar.gz", hash = "sha256:30b14fccadb3b7f0d99b2cd03bd8507c40f3a9a7d05847edca571f642bedbdff"}, +] +gitdb = [ + {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, + {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, +] +gitpython = [ + {file = "GitPython-3.1.34-py3-none-any.whl", hash = "sha256:5d3802b98a3bae1c2b8ae0e1ff2e4aa16bcdf02c145da34d092324f599f01395"}, + {file = "GitPython-3.1.34.tar.gz", hash = "sha256:85f7d365d1f6bf677ae51039c1ef67ca59091c7ebd5a3509aa399d4eda02d6dd"}, +] +giturlparse = [ + {file = "giturlparse-0.11.1-py2.py3-none-any.whl", hash = "sha256:6422f25c8ca563e1a3cb6b85862e48614be804cd1334e6d84be5630eb26b343f"}, + {file = "giturlparse-0.11.1.tar.gz", hash = "sha256:cdbe0c062096c69e00f08397826dddebc1f73bc15b793994579c13aafc70c990"}, +] +google-api-core = [ + {file = "google-api-core-2.11.1.tar.gz", hash = "sha256:25d29e05a0058ed5f19c61c0a78b1b53adea4d9364b464d014fbda941f6d1c9a"}, + {file = "google_api_core-2.11.1-py3-none-any.whl", hash = "sha256:d92a5a92dc36dd4f4b9ee4e55528a90e432b059f93aee6ad857f9de8cc7ae94a"}, +] +google-api-python-client = [ + {file = "google-api-python-client-2.97.0.tar.gz", hash = "sha256:48277291894876a1ca7ed4127e055e81f81e6343ced1b544a7200ae2c119dcd7"}, + {file = "google_api_python_client-2.97.0-py2.py3-none-any.whl", hash = "sha256:5215f4cd577753fc4192ccfbe0bb8b55d4bb5fd68fa6268ac5cf271b6305de31"}, +] +google-auth = [ + {file = "google-auth-2.22.0.tar.gz", hash = "sha256:164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce"}, + {file = "google_auth-2.22.0-py2.py3-none-any.whl", hash = "sha256:d61d1b40897407b574da67da1a833bdc10d5a11642566e506565d1b1a46ba873"}, +] +google-auth-httplib2 = [ + {file = "google-auth-httplib2-0.1.0.tar.gz", hash = "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac"}, + {file = "google_auth_httplib2-0.1.0-py2.py3-none-any.whl", hash = "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10"}, +] +google-auth-oauthlib = [ + {file = "google-auth-oauthlib-1.0.0.tar.gz", hash = "sha256:e375064964820b47221a7e1b7ee1fd77051b6323c3f9e3e19785f78ab67ecfc5"}, + {file = "google_auth_oauthlib-1.0.0-py2.py3-none-any.whl", hash = "sha256:95880ca704928c300f48194d1770cf5b1462835b6e49db61445a520f793fd5fb"}, +] +google-cloud-bigquery = [ + {file = "google-cloud-bigquery-3.11.4.tar.gz", hash = "sha256:697df117241a2283bcbb93b21e10badc14e51c9a90800d2a7e1a3e1c7d842974"}, + {file = "google_cloud_bigquery-3.11.4-py2.py3-none-any.whl", hash = "sha256:5fa7897743a0ed949ade25a0942fc9e7557d8fce307c6f8a76d1b604cf27f1b1"}, +] +google-cloud-core = [ + {file = "google-cloud-core-2.3.3.tar.gz", hash = "sha256:37b80273c8d7eee1ae816b3a20ae43585ea50506cb0e60f3cf5be5f87f1373cb"}, + {file = "google_cloud_core-2.3.3-py2.py3-none-any.whl", hash = "sha256:fbd11cad3e98a7e5b0343dc07cb1039a5ffd7a5bb96e1f1e27cee4bda4a90863"}, +] +google-cloud-dataproc = [ + {file = "google-cloud-dataproc-5.4.3.tar.gz", hash = "sha256:d9c77c52aa5ddf52ae657736dbfb5312402933f72bab8480fc2d2afe98697402"}, + {file = "google_cloud_dataproc-5.4.3-py2.py3-none-any.whl", hash = "sha256:9cfff56cb53621cdffd0a3d6b10701e886e0a8ad54891e6c223eb67c0ff753ad"}, +] +google-cloud-storage = [ + {file = "google-cloud-storage-2.10.0.tar.gz", hash = "sha256:934b31ead5f3994e5360f9ff5750982c5b6b11604dc072bc452c25965e076dc7"}, + {file = "google_cloud_storage-2.10.0-py2.py3-none-any.whl", hash = "sha256:9433cf28801671de1c80434238fb1e7e4a1ba3087470e90f70c928ea77c2b9d7"}, +] +google-crc32c = [ + {file = "google-crc32c-1.5.0.tar.gz", hash = "sha256:89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7"}, + {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13"}, + {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:be82c3c8cfb15b30f36768797a640e800513793d6ae1724aaaafe5bf86f8f346"}, + {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:461665ff58895f508e2866824a47bdee72497b091c730071f2b7575d5762ab65"}, + {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2096eddb4e7c7bdae4bd69ad364e55e07b8316653234a56552d9c988bd2d61b"}, + {file = "google_crc32c-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:116a7c3c616dd14a3de8c64a965828b197e5f2d121fedd2f8c5585c547e87b02"}, + {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5829b792bf5822fd0a6f6eb34c5f81dd074f01d570ed7f36aa101d6fc7a0a6e4"}, + {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:64e52e2b3970bd891309c113b54cf0e4384762c934d5ae56e283f9a0afcd953e"}, + {file = "google_crc32c-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:02ebb8bf46c13e36998aeaad1de9b48f4caf545e91d14041270d9dca767b780c"}, + {file = "google_crc32c-1.5.0-cp310-cp310-win32.whl", hash = "sha256:2e920d506ec85eb4ba50cd4228c2bec05642894d4c73c59b3a2fe20346bd00ee"}, + {file = "google_crc32c-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:07eb3c611ce363c51a933bf6bd7f8e3878a51d124acfc89452a75120bc436289"}, + {file = "google_crc32c-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cae0274952c079886567f3f4f685bcaf5708f0a23a5f5216fdab71f81a6c0273"}, + {file = "google_crc32c-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1034d91442ead5a95b5aaef90dbfaca8633b0247d1e41621d1e9f9db88c36298"}, + {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c42c70cd1d362284289c6273adda4c6af8039a8ae12dc451dcd61cdabb8ab57"}, + {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8485b340a6a9e76c62a7dce3c98e5f102c9219f4cfbf896a00cf48caf078d438"}, + {file = "google_crc32c-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77e2fd3057c9d78e225fa0a2160f96b64a824de17840351b26825b0848022906"}, + {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f583edb943cf2e09c60441b910d6a20b4d9d626c75a36c8fcac01a6c96c01183"}, + {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a1fd716e7a01f8e717490fbe2e431d2905ab8aa598b9b12f8d10abebb36b04dd"}, + {file = "google_crc32c-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:72218785ce41b9cfd2fc1d6a017dc1ff7acfc4c17d01053265c41a2c0cc39b8c"}, + {file = "google_crc32c-1.5.0-cp311-cp311-win32.whl", hash = "sha256:66741ef4ee08ea0b2cc3c86916ab66b6aef03768525627fd6a1b34968b4e3709"}, + {file = "google_crc32c-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:ba1eb1843304b1e5537e1fca632fa894d6f6deca8d6389636ee5b4797affb968"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:98cb4d057f285bd80d8778ebc4fde6b4d509ac3f331758fb1528b733215443ae"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd8536e902db7e365f49e7d9029283403974ccf29b13fc7028b97e2295b33556"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19e0a019d2c4dcc5e598cd4a4bc7b008546b0358bd322537c74ad47a5386884f"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c65b9817512edc6a4ae7c7e987fea799d2e0ee40c53ec573a692bee24de876"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6ac08d24c1f16bd2bf5eca8eaf8304812f44af5cfe5062006ec676e7e1d50afc"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3359fc442a743e870f4588fcf5dcbc1bf929df1fad8fb9905cd94e5edb02e84c"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e986b206dae4476f41bcec1faa057851f3889503a70e1bdb2378d406223994a"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:de06adc872bcd8c2a4e0dc51250e9e65ef2ca91be023b9d13ebd67c2ba552e1e"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-win32.whl", hash = "sha256:d3515f198eaa2f0ed49f8819d5732d70698c3fa37384146079b3799b97667a94"}, + {file = "google_crc32c-1.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:67b741654b851abafb7bc625b6d1cdd520a379074e64b6a128e3b688c3c04740"}, + {file = "google_crc32c-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c02ec1c5856179f171e032a31d6f8bf84e5a75c45c33b2e20a3de353b266ebd8"}, + {file = "google_crc32c-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:edfedb64740750e1a3b16152620220f51d58ff1b4abceb339ca92e934775c27a"}, + {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84e6e8cd997930fc66d5bb4fde61e2b62ba19d62b7abd7a69920406f9ecca946"}, + {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a"}, + {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:998679bf62b7fb599d2878aa3ed06b9ce688b8974893e7223c60db155f26bd8d"}, + {file = "google_crc32c-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:83c681c526a3439b5cf94f7420471705bbf96262f49a6fe546a6db5f687a3d4a"}, + {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4c6fdd4fccbec90cc8a01fc00773fcd5fa28db683c116ee3cb35cd5da9ef6c37"}, + {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5ae44e10a8e3407dbe138984f21e536583f2bba1be9491239f942c2464ac0894"}, + {file = "google_crc32c-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37933ec6e693e51a5b07505bd05de57eee12f3e8c32b07da7e73669398e6630a"}, + {file = "google_crc32c-1.5.0-cp38-cp38-win32.whl", hash = "sha256:fe70e325aa68fa4b5edf7d1a4b6f691eb04bbccac0ace68e34820d283b5f80d4"}, + {file = "google_crc32c-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:74dea7751d98034887dbd821b7aae3e1d36eda111d6ca36c206c44478035709c"}, + {file = "google_crc32c-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c6c777a480337ac14f38564ac88ae82d4cd238bf293f0a22295b66eb89ffced7"}, + {file = "google_crc32c-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:759ce4851a4bb15ecabae28f4d2e18983c244eddd767f560165563bf9aefbc8d"}, + {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f13cae8cc389a440def0c8c52057f37359014ccbc9dc1f0827936bcd367c6100"}, + {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e560628513ed34759456a416bf86b54b2476c59144a9138165c9a1575801d0d9"}, + {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1674e4307fa3024fc897ca774e9c7562c957af85df55efe2988ed9056dc4e57"}, + {file = "google_crc32c-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:278d2ed7c16cfc075c91378c4f47924c0625f5fc84b2d50d921b18b7975bd210"}, + {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d5280312b9af0976231f9e317c20e4a61cd2f9629b7bfea6a693d1878a264ebd"}, + {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8b87e1a59c38f275c0e3676fc2ab6d59eccecfd460be267ac360cc31f7bcde96"}, + {file = "google_crc32c-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7c074fece789b5034b9b1404a1f8208fc2d4c6ce9decdd16e8220c5a793e6f61"}, + {file = "google_crc32c-1.5.0-cp39-cp39-win32.whl", hash = "sha256:7f57f14606cd1dd0f0de396e1e53824c371e9544a822648cd76c034d209b559c"}, + {file = "google_crc32c-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2355cba1f4ad8b6988a4ca3feed5bff33f6af2d7f134852cf279c2aebfde541"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f314013e7dcd5cf45ab1945d92e713eec788166262ae8deb2cfacd53def27325"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b747a674c20a67343cb61d43fdd9207ce5da6a99f629c6e2541aa0e89215bcd"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f24ed114432de109aa9fd317278518a5af2d31ac2ea6b952b2f7782b43da091"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8667b48e7a7ef66afba2c81e1094ef526388d35b873966d8a9a447974ed9178"}, + {file = "google_crc32c-1.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:1c7abdac90433b09bad6c43a43af253e688c9cfc1c86d332aed13f9a7c7f65e2"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6f998db4e71b645350b9ac28a2167e6632c239963ca9da411523bb439c5c514d"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c99616c853bb585301df6de07ca2cadad344fd1ada6d62bb30aec05219c45d2"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ad40e31093a4af319dadf503b2467ccdc8f67c72e4bcba97f8c10cb078207b5"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd67cf24a553339d5062eff51013780a00d6f97a39ca062781d06b3a73b15462"}, + {file = "google_crc32c-1.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:398af5e3ba9cf768787eef45c803ff9614cc3e22a5b2f7d7ae116df8b11e3314"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b1f8133c9a275df5613a451e73f36c2aea4fe13c5c8997e22cf355ebd7bd0728"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ba053c5f50430a3fcfd36f75aff9caeba0440b2d076afdb79a318d6ca245f88"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:272d3892a1e1a2dbc39cc5cde96834c236d5327e2122d3aaa19f6614531bb6eb"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:635f5d4dd18758a1fbd1049a8e8d2fee4ffed124462d837d1a02a0e009c3ab31"}, + {file = "google_crc32c-1.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c672d99a345849301784604bfeaeba4db0c7aae50b95be04dd651fd2a7310b93"}, +] +google-re2 = [ + {file = "google-re2-1.1.tar.gz", hash = "sha256:d3a9467ee52b46ac77ca928f6d0cbeaccfd92f03ca0f0f65b9df6a95184f3a1c"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:874d2e36dfa506b03d4f9c4aef1701a65304f4004c96c7edac7d8aea08fe193e"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b66eb84850afdce09aabca40bcd6f2a0e96178a1b4990d555678edb1f59bf255"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c461640a07db26dc2b51f43de607b7520e7debaf4f6a000f796a3c0196ca52af"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7f9ba69eaee6e7a9f5ddfb919bf1a866af14a18b26a179e3fb1a6fe3d0cbf349"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:f95cf16739cc3ea63728366881221b119f2322b4b739b7da6522d45a68792cea"}, + {file = "google_re2-1.1-1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:9fb56a41250191298e6a2859b0fdea1e83330c9870fe8d84e5836c506ae46e96"}, + {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fb22ea995564d87baf4a4bfbb3ca024be913683a710f4f0dc9c94dc663afab20"}, + {file = "google_re2-1.1-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:19b3f0bfbb2a2ca58ed0aaa9356d07a5c0921383a6dbeca086b2b74472f5ee08"}, + {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34fd7f97b84af7453cf05b25adfe2491ba3cef1ca548ac2907efa63d3510954d"}, + {file = "google_re2-1.1-1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e029664192d8d30f7c977706183ef483e82ca239302272df74e01d2e22897ca"}, + {file = "google_re2-1.1-1-cp310-cp310-win32.whl", hash = "sha256:41a8f222f9839d059d37efd28e4deec203502d7e39c3759d83d6a33deadf1d2e"}, + {file = "google_re2-1.1-1-cp310-cp310-win_amd64.whl", hash = "sha256:6141d569fdf72aa693f040ba05c469036587395af07ff419b9a3c009d6ffefd3"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2d03f6aaf22788ba13a770f0d183b8eebe55545bcbb6e4c41dcccac7ded014d"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:a98f15fd9c31bf80d368698447191a2e9703880b305dbf34d9a63ce634b8a557"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:42128916cc2966623832aabbd224c88e862d1c531d6bc49ab141f565e6321a90"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:6e27986a166903ad7000635f6faed8ab5072d687f822ac9f692c40b2470aebcf"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:5e9edcd743a830d0c0b2729201e42ab86fceef8f4086df65563f482e4544359e"}, + {file = "google_re2-1.1-1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:d33145bbfd32e916f1c911cd9225be5364a36c3959742a0cc4dfc0692d6a2a5e"}, + {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8b27cc2544b69a357ab2a749dc0c13a1b9055198c56f4c2c3b0f61d693f8e203"}, + {file = "google_re2-1.1-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3cdf8982b6def987e95b37984d0c1c878de32635dd78acde3273f730b69708c9"}, + {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71ac661a7365e134741fe5542f13d7ce1e6187446b96ddee4c8b7d153fc8f05a"}, + {file = "google_re2-1.1-1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:35a902ba31a71a3e9e114e44473624d9aa9f9b85ec981bfa91671aefe0ef1a6c"}, + {file = "google_re2-1.1-1-cp311-cp311-win32.whl", hash = "sha256:9469f26b485da2784c658e687a766c72e1a17b1e63b3ed24b5f64c3d19fbae3d"}, + {file = "google_re2-1.1-1-cp311-cp311-win_amd64.whl", hash = "sha256:07dd0780240ee431781119b46c3bbf76f5cef24a2cbb542f6a08c643e0a68d98"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9857dc4d69b8025057c8129e98406a24d51bdaf1b96e481dbba7e69e0ec85104"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a6eaaa5f200022eb0bdded5949c91454fc96e1edd6f9e9a96dd1dc32c821c00e"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a32bb2afe128d90b8edc20d4f7d297f7e2753206eba92937a57e5280736eac74"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:4f2754616c61b76ab4e5a4f39892a52a00897203b859c5abd7e3c630dd883cda"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:b110f3d657e8f67a43a699d327ce47095b80180ea1118e2de44cb5c7002503d9"}, + {file = "google_re2-1.1-1-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:fd62ba2853eef65e249a9c4437a9ecac568222062bc956f0c61a3d1151a6271b"}, + {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:23b50eb74dc3e1d480b04b987c61242df5dade50d08bc16e25eb3582b83fca80"}, + {file = "google_re2-1.1-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e1bde89855dd5ab0811187d21eec149975510c80e865c771c883524a452445e7"}, + {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10c6cddc720151a509beb98ab310fa0cc8bcb265f83518ebf831de2c9ff73af0"}, + {file = "google_re2-1.1-1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9bea09c5e8401ec50b8f211bc820ec2f0ca5e744ac67431a1b39bdacbd266553"}, + {file = "google_re2-1.1-1-cp38-cp38-win32.whl", hash = "sha256:ffa51b118037518bcdf63c7649d0b4be7071982b83f48ee3bbabf24a9cb48f8a"}, + {file = "google_re2-1.1-1-cp38-cp38-win_amd64.whl", hash = "sha256:3b47715b6d43c9351957eb5092ad0fa625d04106d81f34cb8a726c53395ad474"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:998f31bf7efbc9bb603d0c356c1c77e5331f689c71783df8e21e67bb025fc66a"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0b5f0eaab859d3ba5f462c82bf37ab56e9d37e19b40b5898c731dbe4213a85f7"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:f6d591d9c4cbc7142b729ddcc3f654d059d8ebc3bc95891198808a4785a6b4d8"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:3c325c2eae197b423330a04ab62e2e1cf942676cd5560907db4d63e23ce0648a"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:1e019e8f57955806ee843254ce454249b58800a6e872b2c8e9df2ef3459de0d5"}, + {file = "google_re2-1.1-1-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:58ebbcc7ad2b639768a6bca586357291660ea40dfac83039208e5055c357513b"}, + {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:723f8553e7fc022294071f14fb7dfc7958c365dc7d4a71d4938ccd2df8c6eca4"}, + {file = "google_re2-1.1-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d81512b08e6787fc8ef29fea365d3fdbf957553a625550e1d96c36877ae30355"}, + {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c58601b155651cc572a23ee2860788c77581aad85d3567a55b89b0674702f34d"}, + {file = "google_re2-1.1-1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c6c9f64b9724ec38da8e514f404ac64e9a6a5e8b1d7031c2dadd05c1f4c16fd"}, + {file = "google_re2-1.1-1-cp39-cp39-win32.whl", hash = "sha256:d1b751b9ab9f8e2ab2a36d72b909281ce65f328c9115a1685acae1a2d1afd7a4"}, + {file = "google_re2-1.1-1-cp39-cp39-win_amd64.whl", hash = "sha256:ac775c75cec7069351d201da4e0fb0cae4c1c5ebecd08fa34e1be89740c1d80b"}, +] +google-resumable-media = [ + {file = "google-resumable-media-2.5.0.tar.gz", hash = "sha256:218931e8e2b2a73a58eb354a288e03a0fd5fb1c4583261ac6e4c078666468c93"}, + {file = "google_resumable_media-2.5.0-py2.py3-none-any.whl", hash = "sha256:da1bd943e2e114a56d85d6848497ebf9be6a14d3db23e9fc57581e7c3e8170ec"}, +] +googleapis-common-protos = [ + {file = "googleapis-common-protos-1.60.0.tar.gz", hash = "sha256:e73ebb404098db405ba95d1e1ae0aa91c3e15a71da031a2eeb6b2e23e7bc3708"}, + {file = "googleapis_common_protos-1.60.0-py2.py3-none-any.whl", hash = "sha256:69f9bbcc6acde92cab2db95ce30a70bd2b81d20b12eff3f1aabaffcbe8a93918"}, +] +grapheme = [ + {file = "grapheme-0.6.0.tar.gz", hash = "sha256:44c2b9f21bbe77cfb05835fec230bd435954275267fea1858013b102f8603cca"}, +] +graphviz = [ + {file = "graphviz-0.20.1-py3-none-any.whl", hash = "sha256:587c58a223b51611c0cf461132da386edd896a029524ca61a1462b880bf97977"}, + {file = "graphviz-0.20.1.zip", hash = "sha256:8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8"}, +] +greenlet = [ + {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"}, + {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"}, + {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, + {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, + {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, + {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, + {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, + {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, + {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"}, + {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"}, + {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, + {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, + {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, + {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, + {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, + {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, + {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"}, + {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"}, + {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"}, + {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"}, + {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"}, + {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"}, + {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"}, + {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"}, + {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"}, + {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"}, + {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"}, + {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"}, + {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"}, + {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"}, + {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"}, + {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"}, + {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"}, + {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"}, + {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"}, + {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"}, + {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"}, + {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"}, + {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"}, + {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, + {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, + {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, + {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, + {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, + {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, + {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"}, + {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"}, + {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, + {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, + {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, + {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, + {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, + {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, + {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"}, + {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"}, + {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"}, + {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"}, + {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"}, + {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"}, + {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"}, +] +grpc-google-iam-v1 = [ + {file = "grpc-google-iam-v1-0.12.6.tar.gz", hash = "sha256:2bc4b8fdf22115a65d751c9317329322602c39b7c86a289c9b72d228d960ef5f"}, + {file = "grpc_google_iam_v1-0.12.6-py2.py3-none-any.whl", hash = "sha256:5c10f3d8dc2d88678ab1a9b0cb5482735c5efee71e6c0cd59f872eef22913f5c"}, +] +grpcio = [ + {file = "grpcio-1.57.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:092fa155b945015754bdf988be47793c377b52b88d546e45c6a9f9579ac7f7b6"}, + {file = "grpcio-1.57.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:2f7349786da979a94690cc5c2b804cab4e8774a3cf59be40d037c4342c906649"}, + {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:82640e57fb86ea1d71ea9ab54f7e942502cf98a429a200b2e743d8672171734f"}, + {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40b72effd4c789de94ce1be2b5f88d7b9b5f7379fe9645f198854112a6567d9a"}, + {file = "grpcio-1.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f708a6a17868ad8bf586598bee69abded4996b18adf26fd2d91191383b79019"}, + {file = "grpcio-1.57.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:60fe15288a0a65d5c1cb5b4a62b1850d07336e3ba728257a810317be14f0c527"}, + {file = "grpcio-1.57.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6907b1cf8bb29b058081d2aad677b15757a44ef2d4d8d9130271d2ad5e33efca"}, + {file = "grpcio-1.57.0-cp310-cp310-win32.whl", hash = "sha256:57b183e8b252825c4dd29114d6c13559be95387aafc10a7be645462a0fc98bbb"}, + {file = "grpcio-1.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:7b400807fa749a9eb286e2cd893e501b110b4d356a218426cb9c825a0474ca56"}, + {file = "grpcio-1.57.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:c6ebecfb7a31385393203eb04ed8b6a08f5002f53df3d59e5e795edb80999652"}, + {file = "grpcio-1.57.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:00258cbe3f5188629828363ae8ff78477ce976a6f63fb2bb5e90088396faa82e"}, + {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:23e7d8849a0e58b806253fd206ac105b328171e01b8f18c7d5922274958cc87e"}, + {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5371bcd861e679d63b8274f73ac281751d34bd54eccdbfcd6aa00e692a82cd7b"}, + {file = "grpcio-1.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aed90d93b731929e742967e236f842a4a2174dc5db077c8f9ad2c5996f89f63e"}, + {file = "grpcio-1.57.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:fe752639919aad9ffb0dee0d87f29a6467d1ef764f13c4644d212a9a853a078d"}, + {file = "grpcio-1.57.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fada6b07ec4f0befe05218181f4b85176f11d531911b64c715d1875c4736d73a"}, + {file = "grpcio-1.57.0-cp311-cp311-win32.whl", hash = "sha256:bb396952cfa7ad2f01061fbc7dc1ad91dd9d69243bcb8110cf4e36924785a0fe"}, + {file = "grpcio-1.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:e503cb45ed12b924b5b988ba9576dc9949b2f5283b8e33b21dcb6be74a7c58d0"}, + {file = "grpcio-1.57.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:fd173b4cf02b20f60860dc2ffe30115c18972d7d6d2d69df97ac38dee03be5bf"}, + {file = "grpcio-1.57.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:d7f8df114d6b4cf5a916b98389aeaf1e3132035420a88beea4e3d977e5f267a5"}, + {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:76c44efa4ede1f42a9d5b2fed1fe9377e73a109bef8675fb0728eb80b0b8e8f2"}, + {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4faea2cfdf762a664ab90589b66f416274887641ae17817de510b8178356bf73"}, + {file = "grpcio-1.57.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c60b83c43faeb6d0a9831f0351d7787a0753f5087cc6fa218d78fdf38e5acef0"}, + {file = "grpcio-1.57.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b363bbb5253e5f9c23d8a0a034dfdf1b7c9e7f12e602fc788c435171e96daccc"}, + {file = "grpcio-1.57.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f1fb0fd4a1e9b11ac21c30c169d169ef434c6e9344ee0ab27cfa6f605f6387b2"}, + {file = "grpcio-1.57.0-cp37-cp37m-win_amd64.whl", hash = "sha256:34950353539e7d93f61c6796a007c705d663f3be41166358e3d88c45760c7d98"}, + {file = "grpcio-1.57.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:871f9999e0211f9551f368612460442a5436d9444606184652117d6a688c9f51"}, + {file = "grpcio-1.57.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:a8a8e560e8dbbdf29288872e91efd22af71e88b0e5736b0daf7773c1fecd99f0"}, + {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2313b124e475aa9017a9844bdc5eafb2d5abdda9d456af16fc4535408c7d6da6"}, + {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4098b6b638d9e0ca839a81656a2fd4bc26c9486ea707e8b1437d6f9d61c3941"}, + {file = "grpcio-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e5b58e32ae14658085c16986d11e99abd002ddbf51c8daae8a0671fffb3467f"}, + {file = "grpcio-1.57.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0f80bf37f09e1caba6a8063e56e2b87fa335add314cf2b78ebf7cb45aa7e3d06"}, + {file = "grpcio-1.57.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5b7a4ce8f862fe32b2a10b57752cf3169f5fe2915acfe7e6a1e155db3da99e79"}, + {file = "grpcio-1.57.0-cp38-cp38-win32.whl", hash = "sha256:9338bacf172e942e62e5889b6364e56657fbf8ac68062e8b25c48843e7b202bb"}, + {file = "grpcio-1.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:e1cb52fa2d67d7f7fab310b600f22ce1ff04d562d46e9e0ac3e3403c2bb4cc16"}, + {file = "grpcio-1.57.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fee387d2fab144e8a34e0e9c5ca0f45c9376b99de45628265cfa9886b1dbe62b"}, + {file = "grpcio-1.57.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:b53333627283e7241fcc217323f225c37783b5f0472316edcaa4479a213abfa6"}, + {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:f19ac6ac0a256cf77d3cc926ef0b4e64a9725cc612f97228cd5dc4bd9dbab03b"}, + {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fdf04e402f12e1de8074458549337febb3b45f21076cc02ef4ff786aff687e"}, + {file = "grpcio-1.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5613a2fecc82f95d6c51d15b9a72705553aa0d7c932fad7aed7afb51dc982ee5"}, + {file = "grpcio-1.57.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b670c2faa92124b7397b42303e4d8eb64a4cd0b7a77e35a9e865a55d61c57ef9"}, + {file = "grpcio-1.57.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7a635589201b18510ff988161b7b573f50c6a48fae9cb567657920ca82022b37"}, + {file = "grpcio-1.57.0-cp39-cp39-win32.whl", hash = "sha256:d78d8b86fcdfa1e4c21f8896614b6cc7ee01a2a758ec0c4382d662f2a62cf766"}, + {file = "grpcio-1.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:20ec6fc4ad47d1b6e12deec5045ec3cd5402d9a1597f738263e98f490fe07056"}, + {file = "grpcio-1.57.0.tar.gz", hash = "sha256:4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613"}, +] +grpcio-status = [ + {file = "grpcio-status-1.57.0.tar.gz", hash = "sha256:b098da99df1eebe58337f8f78e50df990273ccacc1226fddeb47c590e3df9e02"}, + {file = "grpcio_status-1.57.0-py3-none-any.whl", hash = "sha256:15d6af055914ebbc4ed17e55ebfb8e6bb17a45a57fea32e6af19978fb7844690"}, +] +grpcio-tools = [ + {file = "grpcio-tools-1.57.0.tar.gz", hash = "sha256:2f16130d869ce27ecd623194547b649dd657333ec7e8644cc571c645781a9b85"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:4fb8a8468031f858381a576078924af364a08833d8f8f3237018252c4573a802"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:35bf0dad8a3562043345236c26d0053a856fb06c04d7da652f2ded914e508ae7"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:ec9aab2fb6783c7fc54bc28f58eb75f1ca77594e6b0fd5e5e7a8114a95169fe0"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0cf5fc0a1c23f8ea34b408b72fb0e90eec0f404ad4dba98e8f6da3c9ce34e2ed"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26e69d08a515554e0cfe1ec4d31568836f4b17f0ff82294f957f629388629eb9"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c39a3656576b6fdaaf28abe0467f7a7231df4230c1bee132322dbc3209419e7f"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f64f8ab22d27d4a5693310748d35a696061c3b5c7b8c4fb4ab3b4bc1068b6b56"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-win32.whl", hash = "sha256:d2a134756f4db34759a5cc7f7e43f7eb87540b68d1cca62925593c6fb93924f7"}, + {file = "grpcio_tools-1.57.0-cp310-cp310-win_amd64.whl", hash = "sha256:9a3d60fb8d46ede26c1907c146561b3a9caa20a7aff961bc661ef8226f85a2e9"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:aac98ecad8f7bd4301855669d42a5d97ef7bb34bec2b1e74c7a0641d47e313cf"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:cdd020cb68b51462983b7c2dfbc3eb6ede032b8bf438d4554df0c3f08ce35c76"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:f54081b08419a39221cd646363b5708857c696b3ad4784f1dcf310891e33a5f7"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed85a0291fff45b67f2557fe7f117d3bc7af8b54b8619d27bf374b5c8b7e3ca2"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e868cd6feb3ef07d4b35be104fe1fd0657db05259ff8f8ec5e08f4f89ca1191d"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:dfb6f6120587b8e228a3cae5ee4985b5bdc18501bad05c49df61965dfc9d70a9"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4a7ad7f328e28fc97c356d0f10fb10d8b5151bb65aa7cf14bf8084513f0b7306"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-win32.whl", hash = "sha256:9867f2817b1a0c93c523f89ac6c9d8625548af4620a7ce438bf5a76e23327284"}, + {file = "grpcio_tools-1.57.0-cp311-cp311-win_amd64.whl", hash = "sha256:1f9e917a9f18087f6c14b4d4508fb94fca5c2f96852363a89232fb9b2124ac1f"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:9f2aefa8a37bd2c4db1a3f1aca11377e2766214520fb70e67071f4ff8d8b0fa5"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:850cbda0ec5d24c39e7215ede410276040692ca45d105fbbeada407fa03f0ac0"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:6fa52972c9647876ea35f6dc2b51002a74ed900ec7894586cbb2fe76f64f99de"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0eea89d7542719594e50e2283f51a072978b953e8b3e9fd7c59a2c762d4c1"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3da5240211252fc70a6451fe00c143e2ab2f7bfc2445695ad2ed056b8e48d96"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a0256f8786ac9e4db618a1aa492bb3472569a0946fd3ee862ffe23196323da55"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c026bdf5c1366ce88b7bbe2d8207374d675afd3fd911f60752103de3da4a41d2"}, + {file = "grpcio_tools-1.57.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9053c2f655589545be08b9d6a673e92970173a4bf11a4b9f18cd6e9af626b587"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:81ec4dbb696e095057b2528d11a8da04be6bbe2b967fa07d4ea9ba6354338cbf"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:495e2946406963e0b9f063f76d5af0f2a19517dac2b367b5b044432ac9194296"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:7b46fc6aa8eb7edd18cafcd21fd98703cb6c09e46b507de335fca7f0161dfccb"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb81ff861692111fa81bd85f64584e624cb4013bd66fbce8a209b8893f5ce398"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a42dc220eb5305f470855c9284f4c8e85ae59d6d742cd07946b0cbe5e9ca186"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:90d10d9038ba46a595a223a34f136c9230e3d6d7abc2433dbf0e1c31939d3a8b"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5bc3e6d338aefb052e19cedabe00452be46d0c10a4ed29ee77abb00402e438fe"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-win32.whl", hash = "sha256:34b36217b17b5bea674a414229913e1fd80ede328be51e1b531fcc62abd393b0"}, + {file = "grpcio_tools-1.57.0-cp38-cp38-win_amd64.whl", hash = "sha256:dbde4004a0688400036342ff73e3706e8940483e2871547b1354d59e93a38277"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:784574709b9690dc28696617ea69352e2132352fdfc9bc89afa8e39f99ae538e"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:85ac4e62eb44428cde025fd9ab7554002315fc7880f791c553fc5a0015cc9931"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:dc771d4db5701f280957bbcee91745e0686d00ed1c6aa7e05ba30a58b02d70a1"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3ac06703c412f8167a9062eaf6099409967e33bf98fa5b02be4b4689b6bdf39"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02d78c034109f46032c7217260066d49d41e6bcaf588fa28fa40fe2f83445347"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2db25f15ed44327f2e02d0c4fe741ac966f9500e407047d8a7c7fccf2df65616"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b417c97936d94874a3ce7ed8deab910f2233e3612134507cfee4af8735c38a6"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-win32.whl", hash = "sha256:f717cce5093e6b6049d9ea6d12fdf3658efdb1a80772f7737db1f8510b876df6"}, + {file = "grpcio_tools-1.57.0-cp39-cp39-win_amd64.whl", hash = "sha256:1c0e8a1a32973a5d59fbcc19232f925e5c48116e9411f788033a31c5ca5130b4"}, +] +gunicorn = [ + {file = "gunicorn-21.2.0-py3-none-any.whl", hash = "sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0"}, + {file = "gunicorn-21.2.0.tar.gz", hash = "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"}, +] +h11 = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] +h2 = [ + {file = "h2-4.1.0-py3-none-any.whl", hash = "sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d"}, + {file = "h2-4.1.0.tar.gz", hash = "sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb"}, +] +hexbytes = [ + {file = "hexbytes-0.3.1-py3-none-any.whl", hash = "sha256:383595ad75026cf00abd570f44b368c6cdac0c6becfae5c39ff88829877f8a59"}, + {file = "hexbytes-0.3.1.tar.gz", hash = "sha256:a3fe35c6831ee8fafd048c4c086b986075fc14fd46258fa24ecb8d65745f9a9d"}, +] +hologram = [ + {file = "hologram-0.0.16-py3-none-any.whl", hash = "sha256:4e56bd525336bb64a18916f871977a4125b64be8aaa750233583003333cda361"}, + {file = "hologram-0.0.16.tar.gz", hash = "sha256:1c2c921b4e575361623ea0e0d0aa5aee377b1a333cc6c6a879e213ed34583e55"}, +] +hpack = [ + {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, + {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, +] +httpcore = [ + {file = "httpcore-0.17.3-py3-none-any.whl", hash = "sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87"}, + {file = "httpcore-0.17.3.tar.gz", hash = "sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888"}, +] +httplib2 = [ + {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, + {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, +] +httpx = [ + {file = "httpx-0.24.1-py3-none-any.whl", hash = "sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd"}, + {file = "httpx-0.24.1.tar.gz", hash = "sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd"}, +] +humanfriendly = [ + {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, + {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, +] +humanize = [ + {file = "humanize-4.8.0-py3-none-any.whl", hash = "sha256:8bc9e2bb9315e61ec06bf690151ae35aeb65651ab091266941edf97c90836404"}, + {file = "humanize-4.8.0.tar.gz", hash = "sha256:9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8"}, +] +hyperframe = [ + {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, + {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, +] +idna = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] +importlib-metadata = [ + {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, + {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, +] +importlib-resources = [ + {file = "importlib_resources-6.0.1-py3-none-any.whl", hash = "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf"}, + {file = "importlib_resources-6.0.1.tar.gz", hash = "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4"}, +] +inflection = [ + {file = "inflection-0.5.1-py2.py3-none-any.whl", hash = "sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2"}, + {file = "inflection-0.5.1.tar.gz", hash = "sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417"}, +] +iniconfig = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] +isodate = [ + {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, + {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, +] +itsdangerous = [ + {file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, + {file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"}, +] +jaraco-classes = [ + {file = "jaraco.classes-3.3.0-py3-none-any.whl", hash = "sha256:10afa92b6743f25c0cf5f37c6bb6e18e2c5bb84a16527ccfc0040ea377e7aaeb"}, + {file = "jaraco.classes-3.3.0.tar.gz", hash = "sha256:c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621"}, +] +jeepney = [ + {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, + {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, +] +jinja2 = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] +jinxed = [ + {file = "jinxed-1.2.0-py2.py3-none-any.whl", hash = "sha256:cfc2b2e4e3b4326954d546ba6d6b9a7a796ddcb0aef8d03161d005177eb0d48b"}, + {file = "jinxed-1.2.0.tar.gz", hash = "sha256:032acda92d5c57cd216033cbbd53de731e6ed50deb63eb4781336ca55f72cda5"}, +] +jmespath = [ + {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, + {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, +] +jsonpath-ng = [ + {file = "jsonpath-ng-1.5.3.tar.gz", hash = "sha256:a273b182a82c1256daab86a313b937059261b5c5f8c4fa3fc38b882b344dd567"}, + {file = "jsonpath_ng-1.5.3-py2-none-any.whl", hash = "sha256:f75b95dbecb8a0f3b86fd2ead21c2b022c3f5770957492b9b6196ecccfeb10aa"}, + {file = "jsonpath_ng-1.5.3-py3-none-any.whl", hash = "sha256:292a93569d74029ba75ac2dc3d3630fc0e17b2df26119a165fa1d498ca47bf65"}, +] +jsonschema = [ + {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, + {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, +] +jsonschema-specifications = [ + {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, + {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, +] +keyring = [ + {file = "keyring-24.2.0-py3-none-any.whl", hash = "sha256:4901caaf597bfd3bbd78c9a0c7c4c29fcd8310dab2cffefe749e916b6527acd6"}, + {file = "keyring-24.2.0.tar.gz", hash = "sha256:ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509"}, +] +lazy-object-proxy = [ + {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, + {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, + {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, + {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, + {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, + {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, +] +leather = [ + {file = "leather-0.3.4-py2.py3-none-any.whl", hash = "sha256:5e741daee96e9f1e9e06081b8c8a10c4ac199301a0564cdd99b09df15b4603d2"}, + {file = "leather-0.3.4.tar.gz", hash = "sha256:b43e21c8fa46b2679de8449f4d953c06418666dc058ce41055ee8a8d3bb40918"}, +] +limits = [ + {file = "limits-3.6.0-py3-none-any.whl", hash = "sha256:32fe29a398352c71bc43d53773117d47e22c5ea4200aef28d3f5fdee10334cd7"}, + {file = "limits-3.6.0.tar.gz", hash = "sha256:57a9c69fd37ad1e4fa3886dff8d035227e1f6af87f47e9118627e72cf1ced3bf"}, +] +linkify-it-py = [ + {file = "linkify-it-py-2.0.2.tar.gz", hash = "sha256:19f3060727842c254c808e99d465c80c49d2c7306788140987a1a7a29b0d6ad2"}, + {file = "linkify_it_py-2.0.2-py3-none-any.whl", hash = "sha256:a3a24428f6c96f27370d7fe61d2ac0be09017be5190d68d8658233171f1b6541"}, +] +lockfile = [ + {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, + {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"}, +] +logbook = [ + {file = "Logbook-1.5.3-cp27-cp27m-win32.whl", hash = "sha256:56ee54c11df3377314cedcd6507638f015b4b88c0238c2e01b5eb44fd3a6ad1b"}, + {file = "Logbook-1.5.3-cp27-cp27m-win_amd64.whl", hash = "sha256:2dc85f1510533fddb481e97677bb7bca913560862734c0b3b289bfed04f78c92"}, + {file = "Logbook-1.5.3-cp35-cp35m-win32.whl", hash = "sha256:94e2e11ff3c2304b0d09a36c6208e5ae756eb948b210e5cbd63cd8d27f911542"}, + {file = "Logbook-1.5.3-cp35-cp35m-win_amd64.whl", hash = "sha256:97fee1bd9605f76335b169430ed65e15e457a844b2121bd1d90a08cf7e30aba0"}, + {file = "Logbook-1.5.3-cp36-cp36m-win32.whl", hash = "sha256:7c533eb728b3d220b1b5414ba4635292d149d79f74f6973b4aa744c850ca944a"}, + {file = "Logbook-1.5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:e18f7422214b1cf0240c56f884fd9c9b4ff9d0da2eabca9abccba56df7222f66"}, + {file = "Logbook-1.5.3-cp37-cp37m-win32.whl", hash = "sha256:8f76a2e7b1f72595f753228732f81ce342caf03babc3fed6bbdcf366f2f20f18"}, + {file = "Logbook-1.5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0cf2cdbfb65a03b5987d19109dacad13417809dcf697f66e1a7084fb21744ea9"}, + {file = "Logbook-1.5.3.tar.gz", hash = "sha256:66f454ada0f56eae43066f604a222b09893f98c1adc18df169710761b8f32fe8"}, +] +lxml = [ + {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, + {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, + {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, + {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, + {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, + {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, + {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, + {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae8b9c6deb1e634ba4f1930eb67ef6e6bf6a44b6eb5ad605642b2d6d5ed9ce3c"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8"}, + {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76"}, + {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23"}, + {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f"}, + {file = "lxml-4.9.3-cp310-cp310-win32.whl", hash = "sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85"}, + {file = "lxml-4.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d"}, + {file = "lxml-4.9.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:9767e79108424fb6c3edf8f81e6730666a50feb01a328f4a016464a5893f835a"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f"}, + {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b"}, + {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120"}, + {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6"}, + {file = "lxml-4.9.3-cp311-cp311-win32.whl", hash = "sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305"}, + {file = "lxml-4.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc"}, + {file = "lxml-4.9.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4"}, + {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be"}, + {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13"}, + {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9"}, + {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5"}, + {file = "lxml-4.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8"}, + {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7"}, + {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2"}, + {file = "lxml-4.9.3-cp35-cp35m-win32.whl", hash = "sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d"}, + {file = "lxml-4.9.3-cp35-cp35m-win_amd64.whl", hash = "sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833"}, + {file = "lxml-4.9.3-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e3cd95e10c2610c360154afdc2f1480aea394f4a4f1ea0a5eacce49640c9b190"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c"}, + {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584"}, + {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287"}, + {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458"}, + {file = "lxml-4.9.3-cp36-cp36m-win32.whl", hash = "sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477"}, + {file = "lxml-4.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:141f1d1a9b663c679dc524af3ea1773e618907e96075262726c7612c02b149a4"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693"}, + {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4"}, + {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a"}, + {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02"}, + {file = "lxml-4.9.3-cp37-cp37m-win32.whl", hash = "sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f"}, + {file = "lxml-4.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:71d66ee82e7417828af6ecd7db817913cb0cf9d4e61aa0ac1fde0583d84358db"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42"}, + {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa"}, + {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40"}, + {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7"}, + {file = "lxml-4.9.3-cp38-cp38-win32.whl", hash = "sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574"}, + {file = "lxml-4.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96"}, + {file = "lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d"}, + {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432"}, + {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69"}, + {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50"}, + {file = "lxml-4.9.3-cp39-cp39-win32.whl", hash = "sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2"}, + {file = "lxml-4.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2"}, + {file = "lxml-4.9.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35"}, + {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0"}, + {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:05186a0f1346ae12553d66df1cfce6f251589fea3ad3da4f3ef4e34b2d58c6a3"}, + {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:50670615eaf97227d5dc60de2dc99fb134a7130d310d783314e7724bf163f75d"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b"}, + {file = "lxml-4.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4"}, + {file = "lxml-4.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9"}, + {file = "lxml-4.9.3.tar.gz", hash = "sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c"}, +] +makefun = [ + {file = "makefun-1.15.1-py2.py3-none-any.whl", hash = "sha256:a63cfc7b47a539c76d97bd4fdb833c7d0461e759fd1225f580cb4be6200294d4"}, + {file = "makefun-1.15.1.tar.gz", hash = "sha256:40b0f118b6ded0d8d78c78f1eb679b8b6b2462e3c1b3e05fb1b2da8cd46b48a5"}, +] +mako = [ + {file = "Mako-1.2.4-py3-none-any.whl", hash = "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818"}, + {file = "Mako-1.2.4.tar.gz", hash = "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34"}, +] +markdown = [ + {file = "Markdown-3.4.4-py3-none-any.whl", hash = "sha256:a4c1b65c0957b4bd9e7d86ddc7b3c9868fb9670660f6f99f6d1bca8954d5a941"}, + {file = "Markdown-3.4.4.tar.gz", hash = "sha256:225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6"}, +] +markdown-it-py = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] +markupsafe = [ + {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"}, +] +marshmallow = [ + {file = "marshmallow-3.20.1-py3-none-any.whl", hash = "sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c"}, + {file = "marshmallow-3.20.1.tar.gz", hash = "sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889"}, +] +marshmallow-oneofschema = [ + {file = "marshmallow-oneofschema-3.0.1.tar.gz", hash = "sha256:62cd2099b29188c92493c2940ee79d1bf2f2619a71721664e5a98ec2faa58237"}, + {file = "marshmallow_oneofschema-3.0.1-py2.py3-none-any.whl", hash = "sha256:bd29410a9f2f7457a2b428286e2a80ef76b8ddc3701527dc1f935a88914b02f2"}, +] +marshmallow-sqlalchemy = [ + {file = "marshmallow-sqlalchemy-0.26.1.tar.gz", hash = "sha256:d8525f74de51554b5c8491effe036f60629a426229befa33ff614c8569a16a73"}, + {file = "marshmallow_sqlalchemy-0.26.1-py2.py3-none-any.whl", hash = "sha256:ba7493eeb8669a3bf00d8f906b657feaa87a740ae9e4ecf829cfd6ddf763d276"}, +] +mashumaro = [ + {file = "mashumaro-3.6-py3-none-any.whl", hash = "sha256:77403e3e2ecd0a7d0e22d472c08e33282460e48726eabe356c5163efbdf9c7ee"}, + {file = "mashumaro-3.6.tar.gz", hash = "sha256:ceb3de53029219bbbb0385ca600b59348dcd14e0c68523986c6d51889ad338f5"}, +] +mccabe = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] +mdit-py-plugins = [ + {file = "mdit_py_plugins-0.4.0-py3-none-any.whl", hash = "sha256:b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9"}, + {file = "mdit_py_plugins-0.4.0.tar.gz", hash = "sha256:d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b"}, +] +mdurl = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] +minimal-snowplow-tracker = [ + {file = "minimal-snowplow-tracker-0.0.2.tar.gz", hash = "sha256:acabf7572db0e7f5cbf6983d495eef54081f71be392330eb3aadb9ccb39daaa4"}, +] +more-itertools = [ + {file = "more-itertools-10.1.0.tar.gz", hash = "sha256:626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a"}, + {file = "more_itertools-10.1.0-py3-none-any.whl", hash = "sha256:64e0735fcfdc6f3464ea133afe8ea4483b1c5fe3a3d69852e6503b43a0b222e6"}, +] +mpmath = [ + {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] +msal = [ + {file = "msal-1.23.0-py2.py3-none-any.whl", hash = "sha256:3342e0837a047007f9d479e814b559c3219767453d57920dc40a31986862048b"}, + {file = "msal-1.23.0.tar.gz", hash = "sha256:25c9a33acf84301f93d1fdbe9f1a9c60cd38af0d5fffdbfa378138fc7bc1e86b"}, +] +msal-extensions = [ + {file = "msal-extensions-1.0.0.tar.gz", hash = "sha256:c676aba56b0cce3783de1b5c5ecfe828db998167875126ca4b47dc6436451354"}, + {file = "msal_extensions-1.0.0-py2.py3-none-any.whl", hash = "sha256:91e3db9620b822d0ed2b4d1850056a0f133cba04455e62f11612e40f5502f2ee"}, +] +msgpack = [ + {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:525228efd79bb831cf6830a732e2e80bc1b05436b086d4264814b4b2955b2fa9"}, + {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f8d8b3bf1ff2672567d6b5c725a1b347fe838b912772aa8ae2bf70338d5a198"}, + {file = "msgpack-1.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdc793c50be3f01106245a61b739328f7dccc2c648b501e237f0699fe1395b81"}, + {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cb47c21a8a65b165ce29f2bec852790cbc04936f502966768e4aae9fa763cb7"}, + {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e42b9594cc3bf4d838d67d6ed62b9e59e201862a25e9a157019e171fbe672dd3"}, + {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:55b56a24893105dc52c1253649b60f475f36b3aa0fc66115bffafb624d7cb30b"}, + {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1967f6129fc50a43bfe0951c35acbb729be89a55d849fab7686004da85103f1c"}, + {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20a97bf595a232c3ee6d57ddaadd5453d174a52594bf9c21d10407e2a2d9b3bd"}, + {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d25dd59bbbbb996eacf7be6b4ad082ed7eacc4e8f3d2df1ba43822da9bfa122a"}, + {file = "msgpack-1.0.5-cp310-cp310-win32.whl", hash = "sha256:382b2c77589331f2cb80b67cc058c00f225e19827dbc818d700f61513ab47bea"}, + {file = "msgpack-1.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:4867aa2df9e2a5fa5f76d7d5565d25ec76e84c106b55509e78c1ede0f152659a"}, + {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9f5ae84c5c8a857ec44dc180a8b0cc08238e021f57abdf51a8182e915e6299f0"}, + {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9e6ca5d5699bcd89ae605c150aee83b5321f2115695e741b99618f4856c50898"}, + {file = "msgpack-1.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5494ea30d517a3576749cad32fa27f7585c65f5f38309c88c6d137877fa28a5a"}, + {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ab2f3331cb1b54165976a9d976cb251a83183631c88076613c6c780f0d6e45a"}, + {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28592e20bbb1620848256ebc105fc420436af59515793ed27d5c77a217477705"}, + {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe5c63197c55bce6385d9aee16c4d0641684628f63ace85f73571e65ad1c1e8d"}, + {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ed40e926fa2f297e8a653c954b732f125ef97bdd4c889f243182299de27e2aa9"}, + {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b2de4c1c0538dcb7010902a2b97f4e00fc4ddf2c8cda9749af0e594d3b7fa3d7"}, + {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf22a83f973b50f9d38e55c6aade04c41ddda19b00c4ebc558930d78eecc64ed"}, + {file = "msgpack-1.0.5-cp311-cp311-win32.whl", hash = "sha256:c396e2cc213d12ce017b686e0f53497f94f8ba2b24799c25d913d46c08ec422c"}, + {file = "msgpack-1.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c4c68d87497f66f96d50142a2b73b97972130d93677ce930718f68828b382e2"}, + {file = "msgpack-1.0.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a2b031c2e9b9af485d5e3c4520f4220d74f4d222a5b8dc8c1a3ab9448ca79c57"}, + {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f837b93669ce4336e24d08286c38761132bc7ab29782727f8557e1eb21b2080"}, + {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1d46dfe3832660f53b13b925d4e0fa1432b00f5f7210eb3ad3bb9a13c6204a6"}, + {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:366c9a7b9057e1547f4ad51d8facad8b406bab69c7d72c0eb6f529cf76d4b85f"}, + {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:4c075728a1095efd0634a7dccb06204919a2f67d1893b6aa8e00497258bf926c"}, + {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:f933bbda5a3ee63b8834179096923b094b76f0c7a73c1cfe8f07ad608c58844b"}, + {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:36961b0568c36027c76e2ae3ca1132e35123dcec0706c4b7992683cc26c1320c"}, + {file = "msgpack-1.0.5-cp36-cp36m-win32.whl", hash = "sha256:b5ef2f015b95f912c2fcab19c36814963b5463f1fb9049846994b007962743e9"}, + {file = "msgpack-1.0.5-cp36-cp36m-win_amd64.whl", hash = "sha256:288e32b47e67f7b171f86b030e527e302c91bd3f40fd9033483f2cacc37f327a"}, + {file = "msgpack-1.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:137850656634abddfb88236008339fdaba3178f4751b28f270d2ebe77a563b6c"}, + {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c05a4a96585525916b109bb85f8cb6511db1c6f5b9d9cbcbc940dc6b4be944b"}, + {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56a62ec00b636583e5cb6ad313bbed36bb7ead5fa3a3e38938503142c72cba4f"}, + {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef8108f8dedf204bb7b42994abf93882da1159728a2d4c5e82012edd92c9da9f"}, + {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1835c84d65f46900920b3708f5ba829fb19b1096c1800ad60bae8418652a951d"}, + {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e57916ef1bd0fee4f21c4600e9d1da352d8816b52a599c46460e93a6e9f17086"}, + {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:17358523b85973e5f242ad74aa4712b7ee560715562554aa2134d96e7aa4cbbf"}, + {file = "msgpack-1.0.5-cp37-cp37m-win32.whl", hash = "sha256:cb5aaa8c17760909ec6cb15e744c3ebc2ca8918e727216e79607b7bbce9c8f77"}, + {file = "msgpack-1.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:ab31e908d8424d55601ad7075e471b7d0140d4d3dd3272daf39c5c19d936bd82"}, + {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b72d0698f86e8d9ddf9442bdedec15b71df3598199ba33322d9711a19f08145c"}, + {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:379026812e49258016dd84ad79ac8446922234d498058ae1d415f04b522d5b2d"}, + {file = "msgpack-1.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:332360ff25469c346a1c5e47cbe2a725517919892eda5cfaffe6046656f0b7bb"}, + {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:476a8fe8fae289fdf273d6d2a6cb6e35b5a58541693e8f9f019bfe990a51e4ba"}, + {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9985b214f33311df47e274eb788a5893a761d025e2b92c723ba4c63936b69b1"}, + {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48296af57cdb1d885843afd73c4656be5c76c0c6328db3440c9601a98f303d87"}, + {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:addab7e2e1fcc04bd08e4eb631c2a90960c340e40dfc4a5e24d2ff0d5a3b3edb"}, + {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:916723458c25dfb77ff07f4c66aed34e47503b2eb3188b3adbec8d8aa6e00f48"}, + {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:821c7e677cc6acf0fd3f7ac664c98803827ae6de594a9f99563e48c5a2f27eb0"}, + {file = "msgpack-1.0.5-cp38-cp38-win32.whl", hash = "sha256:1c0f7c47f0087ffda62961d425e4407961a7ffd2aa004c81b9c07d9269512f6e"}, + {file = "msgpack-1.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:bae7de2026cbfe3782c8b78b0db9cbfc5455e079f1937cb0ab8d133496ac55e1"}, + {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:20c784e66b613c7f16f632e7b5e8a1651aa5702463d61394671ba07b2fc9e025"}, + {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:266fa4202c0eb94d26822d9bfd7af25d1e2c088927fe8de9033d929dd5ba24c5"}, + {file = "msgpack-1.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18334484eafc2b1aa47a6d42427da7fa8f2ab3d60b674120bce7a895a0a85bdd"}, + {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57e1f3528bd95cc44684beda696f74d3aaa8a5e58c816214b9046512240ef437"}, + {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:586d0d636f9a628ddc6a17bfd45aa5b5efaf1606d2b60fa5d87b8986326e933f"}, + {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a740fa0e4087a734455f0fc3abf5e746004c9da72fbd541e9b113013c8dc3282"}, + {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3055b0455e45810820db1f29d900bf39466df96ddca11dfa6d074fa47054376d"}, + {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a61215eac016f391129a013c9e46f3ab308db5f5ec9f25811e811f96962599a8"}, + {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:362d9655cd369b08fda06b6657a303eb7172d5279997abe094512e919cf74b11"}, + {file = "msgpack-1.0.5-cp39-cp39-win32.whl", hash = "sha256:ac9dd47af78cae935901a9a500104e2dea2e253207c924cc95de149606dc43cc"}, + {file = "msgpack-1.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:06f5174b5f8ed0ed919da0e62cbd4ffde676a374aba4020034da05fab67b9164"}, + {file = "msgpack-1.0.5.tar.gz", hash = "sha256:c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c"}, +] +multidict = [ + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, + {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, + {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, + {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, + {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, + {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, + {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, + {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, + {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, + {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, + {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, + {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, + {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, +] +mypy = [ + {file = "mypy-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e5012e5cc2ac628177eaac0e83d622b2dd499e28253d4107a08ecc59ede3fc2c"}, + {file = "mypy-1.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d8fbb68711905f8912e5af474ca8b78d077447d8f3918997fecbf26943ff3cbb"}, + {file = "mypy-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a1ad938fee7d2d96ca666c77b7c494c3c5bd88dff792220e1afbebb2925b5e"}, + {file = "mypy-1.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b96ae2c1279d1065413965c607712006205a9ac541895004a1e0d4f281f2ff9f"}, + {file = "mypy-1.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:40b1844d2e8b232ed92e50a4bd11c48d2daa351f9deee6c194b83bf03e418b0c"}, + {file = "mypy-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:81af8adaa5e3099469e7623436881eff6b3b06db5ef75e6f5b6d4871263547e5"}, + {file = "mypy-1.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8c223fa57cb154c7eab5156856c231c3f5eace1e0bed9b32a24696b7ba3c3245"}, + {file = "mypy-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8032e00ce71c3ceb93eeba63963b864bf635a18f6c0c12da6c13c450eedb183"}, + {file = "mypy-1.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4c46b51de523817a0045b150ed11b56f9fff55f12b9edd0f3ed35b15a2809de0"}, + {file = "mypy-1.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:19f905bcfd9e167159b3d63ecd8cb5e696151c3e59a1742e79bc3bcb540c42c7"}, + {file = "mypy-1.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:82e469518d3e9a321912955cc702d418773a2fd1e91c651280a1bda10622f02f"}, + {file = "mypy-1.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d4473c22cc296425bbbce7e9429588e76e05bc7342da359d6520b6427bf76660"}, + {file = "mypy-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59a0d7d24dfb26729e0a068639a6ce3500e31d6655df8557156c51c1cb874ce7"}, + {file = "mypy-1.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cfd13d47b29ed3bbaafaff7d8b21e90d827631afda134836962011acb5904b71"}, + {file = "mypy-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:eb4f18589d196a4cbe5290b435d135dee96567e07c2b2d43b5c4621b6501531a"}, + {file = "mypy-1.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:41697773aa0bf53ff917aa077e2cde7aa50254f28750f9b88884acea38a16169"}, + {file = "mypy-1.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7274b0c57737bd3476d2229c6389b2ec9eefeb090bbaf77777e9d6b1b5a9d143"}, + {file = "mypy-1.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbaf4662e498c8c2e352da5f5bca5ab29d378895fa2d980630656178bd607c46"}, + {file = "mypy-1.6.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bb8ccb4724f7d8601938571bf3f24da0da791fe2db7be3d9e79849cb64e0ae85"}, + {file = "mypy-1.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:68351911e85145f582b5aa6cd9ad666c8958bcae897a1bfda8f4940472463c45"}, + {file = "mypy-1.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:49ae115da099dcc0922a7a895c1eec82c1518109ea5c162ed50e3b3594c71208"}, + {file = "mypy-1.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b27958f8c76bed8edaa63da0739d76e4e9ad4ed325c814f9b3851425582a3cd"}, + {file = "mypy-1.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:925cd6a3b7b55dfba252b7c4561892311c5358c6b5a601847015a1ad4eb7d332"}, + {file = "mypy-1.6.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8f57e6b6927a49550da3d122f0cb983d400f843a8a82e65b3b380d3d7259468f"}, + {file = "mypy-1.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a43ef1c8ddfdb9575691720b6352761f3f53d85f1b57d7745701041053deff30"}, + {file = "mypy-1.6.1-py3-none-any.whl", hash = "sha256:4cbe68ef919c28ea561165206a2dcb68591c50f3bcf777932323bc208d949cf1"}, + {file = "mypy-1.6.1.tar.gz", hash = "sha256:4d01c00d09a0be62a4ca3f933e315455bde83f37f892ba4b08ce92f3cf44bcc1"}, +] +mypy-boto3-athena = [ + {file = "mypy-boto3-athena-1.28.36.tar.gz", hash = "sha256:a76df6aace3dc1d91b3f74640d617cd1b4802e5f348a22db2f16dfce0b01ee26"}, + {file = "mypy_boto3_athena-1.28.36-py3-none-any.whl", hash = "sha256:b79b77df6ba30c55ff2f1f8b36de410f537c8c978d892e958b4c5e165797915a"}, +] +mypy-boto3-glue = [ + {file = "mypy-boto3-glue-1.28.36.tar.gz", hash = "sha256:161771252bb6a220a0bfd8e6ad71da8548599c611f95fe8a94846f4a3386d2ae"}, + {file = "mypy_boto3_glue-1.28.36-py3-none-any.whl", hash = "sha256:73bc14616ac65a5c02adea5efba7bbbcf8207cd0c0e3237c13d351ebc916338d"}, +] +mypy-boto3-lakeformation = [ + {file = "mypy-boto3-lakeformation-1.28.36.tar.gz", hash = "sha256:9327cf0d28a09abf5bd90ae946ce7420b32a3b979a1a3554ac93716c3dceacb0"}, + {file = "mypy_boto3_lakeformation-1.28.36-py3-none-any.whl", hash = "sha256:9525a8ab3d69632d4ec83eb565ff7fdfa1181fbdf032bcff4a20d4f8a0350688"}, +] +mypy-boto3-sts = [ + {file = "mypy-boto3-sts-1.28.37.tar.gz", hash = "sha256:54d64ca695ab90a51c68ac1e67ff9eae7ec69f926649e320a3b90ed1ec841a95"}, + {file = "mypy_boto3_sts-1.28.37-py3-none-any.whl", hash = "sha256:24106ff30ecfe7ad0538657bbd00b6009418a5382b323cac46e0e26c1f5d50fb"}, +] +mypy-extensions = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] +natsort = [ + {file = "natsort-8.4.0-py3-none-any.whl", hash = "sha256:4732914fb471f56b5cce04d7bae6f164a592c7712e1c85f9ef585e197299521c"}, + {file = "natsort-8.4.0.tar.gz", hash = "sha256:45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581"}, +] +networkx = [ + {file = "networkx-2.8.8-py3-none-any.whl", hash = "sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524"}, + {file = "networkx-2.8.8.tar.gz", hash = "sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e"}, +] +nr-date = [ + {file = "nr_date-2.1.0-py3-none-any.whl", hash = "sha256:bd672a9dfbdcf7c4b9289fea6750c42490eaee08036a72059dcc78cb236ed568"}, + {file = "nr_date-2.1.0.tar.gz", hash = "sha256:0643aea13bcdc2a8bc56af9d5e6a89ef244c9744a1ef00cdc735902ba7f7d2e6"}, +] +nr-stream = [ + {file = "nr_stream-1.1.5-py3-none-any.whl", hash = "sha256:47e12150b331ad2cb729cfd9d2abd281c9949809729ba461c6aa87dd9927b2d4"}, + {file = "nr_stream-1.1.5.tar.gz", hash = "sha256:eb0216c6bfc61a46d4568dba3b588502c610ec8ddef4ac98f3932a2bd7264f65"}, +] +nr-util = [ + {file = "nr.util-0.8.12-py3-none-any.whl", hash = "sha256:91da02ac9795eb8e015372275c1efe54bac9051231ee9b0e7e6f96b0b4e7d2bb"}, + {file = "nr.util-0.8.12.tar.gz", hash = "sha256:a4549c2033d99d2f0379b3f3d233fd2a8ade286bbf0b3ad0cc7cea16022214f4"}, +] +numpy = [ + {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, + {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, + {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, + {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, + {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, + {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, + {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, + {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, + {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, + {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, + {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, + {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, + {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, + {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, + {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, + {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, + {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, + {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, + {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, + {file = "numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af"}, + {file = "numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575"}, + {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244"}, + {file = "numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67"}, + {file = "numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2"}, + {file = "numpy-1.26.1-cp310-cp310-win32.whl", hash = "sha256:d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297"}, + {file = "numpy-1.26.1-cp310-cp310-win_amd64.whl", hash = "sha256:d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab"}, + {file = "numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a"}, + {file = "numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9"}, + {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3"}, + {file = "numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974"}, + {file = "numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c"}, + {file = "numpy-1.26.1-cp311-cp311-win32.whl", hash = "sha256:b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b"}, + {file = "numpy-1.26.1-cp311-cp311-win_amd64.whl", hash = "sha256:3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53"}, + {file = "numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f"}, + {file = "numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24"}, + {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e"}, + {file = "numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124"}, + {file = "numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c"}, + {file = "numpy-1.26.1-cp312-cp312-win32.whl", hash = "sha256:af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66"}, + {file = "numpy-1.26.1-cp312-cp312-win_amd64.whl", hash = "sha256:9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7"}, + {file = "numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e"}, + {file = "numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617"}, + {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e"}, + {file = "numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908"}, + {file = "numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5"}, + {file = "numpy-1.26.1-cp39-cp39-win32.whl", hash = "sha256:d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104"}, + {file = "numpy-1.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76ff661a867d9272cd2a99eed002470f46dbe0943a5ffd140f49be84f68ffc42"}, + {file = "numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6965888d65d2848e8768824ca8288db0a81263c1efccec881cb35a0d805fcd2f"}, + {file = "numpy-1.26.1.tar.gz", hash = "sha256:c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe"}, +] +oauthlib = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] +onnx = [ + {file = "onnx-1.15.0-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:51cacb6aafba308aaf462252ced562111f6991cdc7bc57a6c554c3519453a8ff"}, + {file = "onnx-1.15.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:0aee26b6f7f7da7e840de75ad9195a77a147d0662c94eaa6483be13ba468ffc1"}, + {file = "onnx-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baf6ef6c93b3b843edb97a8d5b3d229a1301984f3f8dee859c29634d2083e6f9"}, + {file = "onnx-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ed899fe6000edc05bb2828863d3841cfddd5a7cf04c1a771f112e94de75d9f"}, + {file = "onnx-1.15.0-cp310-cp310-win32.whl", hash = "sha256:f1ad3d77fc2f4b4296f0ac2c8cadd8c1dcf765fc586b737462d3a0fe8f7c696a"}, + {file = "onnx-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:ca4ebc4f47109bfb12c8c9e83dd99ec5c9f07d2e5f05976356c6ccdce3552010"}, + {file = "onnx-1.15.0-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:233ffdb5ca8cc2d960b10965a763910c0830b64b450376da59207f454701f343"}, + {file = "onnx-1.15.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:51fa79c9ea9af033638ec51f9177b8e76c55fad65bb83ea96ee88fafade18ee7"}, + {file = "onnx-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f277d4861729f5253a51fa41ce91bfec1c4574ee41b5637056b43500917295ce"}, + {file = "onnx-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8a7c94d2ebead8f739fdb70d1ce5a71726f4e17b3e5b8ad64455ea1b2801a85"}, + {file = "onnx-1.15.0-cp311-cp311-win32.whl", hash = "sha256:17dcfb86a8c6bdc3971443c29b023dd9c90ff1d15d8baecee0747a6b7f74e650"}, + {file = "onnx-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:60a3e28747e305cd2e766e6a53a0a6d952cf9e72005ec6023ce5e07666676a4e"}, + {file = "onnx-1.15.0-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:6b5c798d9e0907eaf319e3d3e7c89a2ed9a854bcb83da5fefb6d4c12d5e90721"}, + {file = "onnx-1.15.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:a4f774ff50092fe19bd8f46b2c9b27b1d30fbd700c22abde48a478142d464322"}, + {file = "onnx-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2b0e7f3938f2d994c34616bfb8b4b1cebbc4a0398483344fe5e9f2fe95175e6"}, + {file = "onnx-1.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49cebebd0020a4b12c1dd0909d426631212ef28606d7e4d49463d36abe7639ad"}, + {file = "onnx-1.15.0-cp38-cp38-win32.whl", hash = "sha256:1fdf8a3ff75abc2b32c83bf27fb7c18d6b976c9c537263fadd82b9560fe186fa"}, + {file = "onnx-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:763e55c26e8de3a2dce008d55ae81b27fa8fb4acbb01a29b9f3c01f200c4d676"}, + {file = "onnx-1.15.0-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:b2d5e802837629fc9c86f19448d19dd04d206578328bce202aeb3d4bedab43c4"}, + {file = "onnx-1.15.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9a9cfbb5e5d5d88f89d0dfc9df5fb858899db874e1d5ed21e76c481f3cafc90d"}, + {file = "onnx-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f472bbe5cb670a0a4a4db08f41fde69b187a009d0cb628f964840d3f83524e9"}, + {file = "onnx-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bf2de9bef64792e5b8080c678023ac7d2b9e05d79a3e17e92cf6a4a624831d2"}, + {file = "onnx-1.15.0-cp39-cp39-win32.whl", hash = "sha256:ef4d9eb44b111e69e4534f3233fc2c13d1e26920d24ae4359d513bd54694bc6d"}, + {file = "onnx-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:95d7a3e2d79d371e272e39ae3f7547e0b116d0c7f774a4004e97febe6c93507f"}, + {file = "onnx-1.15.0.tar.gz", hash = "sha256:b18461a7d38f286618ca2a6e78062a2a9c634ce498e631e708a8041b00094825"}, +] +onnxruntime = [ + {file = "onnxruntime-1.16.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:28b2c7f444b4119950b69370801cd66067f403d19cbaf2a444735d7c269cce4a"}, + {file = "onnxruntime-1.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c24e04f33e7899f6aebb03ed51e51d346c1f906b05c5569d58ac9a12d38a2f58"}, + {file = "onnxruntime-1.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fa93b166f2d97063dc9f33c5118c5729a4a5dd5617296b6dbef42f9047b3e81"}, + {file = "onnxruntime-1.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:042dd9201b3016ee18f8f8bc4609baf11ff34ca1ff489c0a46bcd30919bf883d"}, + {file = "onnxruntime-1.16.1-cp310-cp310-win32.whl", hash = "sha256:c20aa0591f305012f1b21aad607ed96917c86ae7aede4a4dd95824b3d124ceb7"}, + {file = "onnxruntime-1.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:5581873e578917bea76d6434ee7337e28195d03488dcf72d161d08e9398c6249"}, + {file = "onnxruntime-1.16.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:ef8c0c8abf5f309aa1caf35941380839dc5f7a2fa53da533be4a3f254993f120"}, + {file = "onnxruntime-1.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e680380bea35a137cbc3efd67a17486e96972901192ad3026ee79c8d8fe264f7"}, + {file = "onnxruntime-1.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e62cc38ce1a669013d0a596d984762dc9c67c56f60ecfeee0d5ad36da5863f6"}, + {file = "onnxruntime-1.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:025c7a4d57bd2e63b8a0f84ad3df53e419e3df1cc72d63184f2aae807b17c13c"}, + {file = "onnxruntime-1.16.1-cp311-cp311-win32.whl", hash = "sha256:9ad074057fa8d028df248b5668514088cb0937b6ac5954073b7fb9b2891ffc8c"}, + {file = "onnxruntime-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:d5e43a3478bffc01f817ecf826de7b25a2ca1bca8547d70888594ab80a77ad24"}, + {file = "onnxruntime-1.16.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:3aef4d70b0930e29a8943eab248cd1565664458d3a62b2276bd11181f28fd0a3"}, + {file = "onnxruntime-1.16.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:55a7b843a57c8ca0c8ff169428137958146081d5d76f1a6dd444c4ffcd37c3c2"}, + {file = "onnxruntime-1.16.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62c631af1941bf3b5f7d063d24c04aacce8cff0794e157c497e315e89ac5ad7b"}, + {file = "onnxruntime-1.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671f296c3d5c233f601e97a10ab5a1dd8e65ba35c7b7b0c253332aba9dff330"}, + {file = "onnxruntime-1.16.1-cp38-cp38-win32.whl", hash = "sha256:eb3802305023dd05e16848d4e22b41f8147247894309c0c27122aaa08793b3d2"}, + {file = "onnxruntime-1.16.1-cp38-cp38-win_amd64.whl", hash = "sha256:fecfb07443d09d271b1487f401fbdf1ba0c829af6fd4fe8f6af25f71190e7eb9"}, + {file = "onnxruntime-1.16.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:de3e12094234db6545c67adbf801874b4eb91e9f299bda34c62967ef0050960f"}, + {file = "onnxruntime-1.16.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff723c2a5621b5e7103f3be84d5aae1e03a20621e72219dddceae81f65f240af"}, + {file = "onnxruntime-1.16.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14a7fb3073aaf6b462e3d7fb433320f7700558a8892e5021780522dc4574292a"}, + {file = "onnxruntime-1.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:963159f1f699b0454cd72fcef3276c8a1aab9389a7b301bcd8e320fb9d9e8597"}, + {file = "onnxruntime-1.16.1-cp39-cp39-win32.whl", hash = "sha256:85771adb75190db9364b25ddec353ebf07635b83eb94b64ed014f1f6d57a3857"}, + {file = "onnxruntime-1.16.1-cp39-cp39-win_amd64.whl", hash = "sha256:d32d2b30799c1f950123c60ae8390818381fd5f88bdf3627eeca10071c155dc5"}, +] +opentelemetry-api = [ + {file = "opentelemetry_api-1.15.0-py3-none-any.whl", hash = "sha256:e6c2d2e42140fd396e96edf75a7ceb11073f4efb4db87565a431cc9d0f93f2e0"}, + {file = "opentelemetry_api-1.15.0.tar.gz", hash = "sha256:79ab791b4aaad27acc3dc3ba01596db5b5aac2ef75c70622c6038051d6c2cded"}, +] +opentelemetry-exporter-otlp = [ + {file = "opentelemetry_exporter_otlp-1.15.0-py3-none-any.whl", hash = "sha256:79f22748b6a54808a0448093dfa189c8490e729f67c134d4c992533d9393b33e"}, + {file = "opentelemetry_exporter_otlp-1.15.0.tar.gz", hash = "sha256:4f7c49751d9720e2e726e13b0bb958ccade4e29122c305d92c033da432c8d2c5"}, +] +opentelemetry-exporter-otlp-proto-grpc = [ + {file = "opentelemetry_exporter_otlp_proto_grpc-1.15.0-py3-none-any.whl", hash = "sha256:c2a5492ba7d140109968135d641d06ce3c5bd73c50665f787526065d57d7fd1d"}, + {file = "opentelemetry_exporter_otlp_proto_grpc-1.15.0.tar.gz", hash = "sha256:844f2a4bb9bcda34e4eb6fe36765e5031aacb36dc60ed88c90fc246942ea26e7"}, +] +opentelemetry-exporter-otlp-proto-http = [ + {file = "opentelemetry_exporter_otlp_proto_http-1.15.0-py3-none-any.whl", hash = "sha256:3ec2a02196c8a54bf5cbf7fe623a5238625638e83b6047a983bdf96e2bbb74c0"}, + {file = "opentelemetry_exporter_otlp_proto_http-1.15.0.tar.gz", hash = "sha256:11b2c814249a49b22f6cca7a06b05701f561d577b747f3660dfd67b6eb9daf9c"}, +] +opentelemetry-proto = [ + {file = "opentelemetry_proto-1.15.0-py3-none-any.whl", hash = "sha256:044b6d044b4d10530f250856f933442b8753a17f94ae37c207607f733fb9a844"}, + {file = "opentelemetry_proto-1.15.0.tar.gz", hash = "sha256:9c4008e40ac8cab359daac283fbe7002c5c29c77ea2674ad5626a249e64e0101"}, +] +opentelemetry-sdk = [ + {file = "opentelemetry_sdk-1.15.0-py3-none-any.whl", hash = "sha256:555c533e9837766119bbccc7a80458c9971d853a6f1da683a2246cd5e53b4645"}, + {file = "opentelemetry_sdk-1.15.0.tar.gz", hash = "sha256:98dbffcfeebcbff12c0c974292d6ea603180a145904cf838b1fe4d5c99078425"}, +] +opentelemetry-semantic-conventions = [ + {file = "opentelemetry_semantic_conventions-0.36b0-py3-none-any.whl", hash = "sha256:adc05635e87b9d3e007c9f530eed487fc3ef2177d02f82f674f28ebf9aff8243"}, + {file = "opentelemetry_semantic_conventions-0.36b0.tar.gz", hash = "sha256:829dc221795467d98b773c04096e29be038d77526dc8d6ac76f546fb6279bf01"}, +] +ordered-set = [ + {file = "ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8"}, + {file = "ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562"}, +] +orjson = [ + {file = "orjson-3.9.5-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ad6845912a71adcc65df7c8a7f2155eba2096cf03ad2c061c93857de70d699ad"}, + {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e298e0aacfcc14ef4476c3f409e85475031de24e5b23605a465e9bf4b2156273"}, + {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:83c9939073281ef7dd7c5ca7f54cceccb840b440cec4b8a326bda507ff88a0a6"}, + {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e174cc579904a48ee1ea3acb7045e8a6c5d52c17688dfcb00e0e842ec378cabf"}, + {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f8d51702f42c785b115401e1d64a27a2ea767ae7cf1fb8edaa09c7cf1571c660"}, + {file = "orjson-3.9.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f13d61c0c7414ddee1ef4d0f303e2222f8cced5a2e26d9774751aecd72324c9e"}, + {file = "orjson-3.9.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d748cc48caf5a91c883d306ab648df1b29e16b488c9316852844dd0fd000d1c2"}, + {file = "orjson-3.9.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bd19bc08fa023e4c2cbf8294ad3f2b8922f4de9ba088dbc71e6b268fdf54591c"}, + {file = "orjson-3.9.5-cp310-none-win32.whl", hash = "sha256:5793a21a21bf34e1767e3d61a778a25feea8476dcc0bdf0ae1bc506dc34561ea"}, + {file = "orjson-3.9.5-cp310-none-win_amd64.whl", hash = "sha256:2bcec0b1024d0031ab3eab7a8cb260c8a4e4a5e35993878a2da639d69cdf6a65"}, + {file = "orjson-3.9.5-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8547b95ca0e2abd17e1471973e6d676f1d8acedd5f8fb4f739e0612651602d66"}, + {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87ce174d6a38d12b3327f76145acbd26f7bc808b2b458f61e94d83cd0ebb4d76"}, + {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a960bb1bc9a964d16fcc2d4af5a04ce5e4dfddca84e3060c35720d0a062064fe"}, + {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a7aa5573a949760d6161d826d34dc36db6011926f836851fe9ccb55b5a7d8e8"}, + {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b2852afca17d7eea85f8e200d324e38c851c96598ac7b227e4f6c4e59fbd3df"}, + {file = "orjson-3.9.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa185959c082475288da90f996a82e05e0c437216b96f2a8111caeb1d54ef926"}, + {file = "orjson-3.9.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:89c9332695b838438ea4b9a482bce8ffbfddde4df92750522d928fb00b7b8dce"}, + {file = "orjson-3.9.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2493f1351a8f0611bc26e2d3d407efb873032b4f6b8926fed8cfed39210ca4ba"}, + {file = "orjson-3.9.5-cp311-none-win32.whl", hash = "sha256:ffc544e0e24e9ae69301b9a79df87a971fa5d1c20a6b18dca885699709d01be0"}, + {file = "orjson-3.9.5-cp311-none-win_amd64.whl", hash = "sha256:89670fe2732e3c0c54406f77cad1765c4c582f67b915c74fda742286809a0cdc"}, + {file = "orjson-3.9.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:15df211469625fa27eced4aa08dc03e35f99c57d45a33855cc35f218ea4071b8"}, + {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9f17c59fe6c02bc5f89ad29edb0253d3059fe8ba64806d789af89a45c35269a"}, + {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ca6b96659c7690773d8cebb6115c631f4a259a611788463e9c41e74fa53bf33f"}, + {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a26fafe966e9195b149950334bdbe9026eca17fe8ffe2d8fa87fdc30ca925d30"}, + {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9006b1eb645ecf460da067e2dd17768ccbb8f39b01815a571bfcfab7e8da5e52"}, + {file = "orjson-3.9.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebfdbf695734b1785e792a1315e41835ddf2a3e907ca0e1c87a53f23006ce01d"}, + {file = "orjson-3.9.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4a3943234342ab37d9ed78fb0a8f81cd4b9532f67bf2ac0d3aa45fa3f0a339f3"}, + {file = "orjson-3.9.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e6762755470b5c82f07b96b934af32e4d77395a11768b964aaa5eb092817bc31"}, + {file = "orjson-3.9.5-cp312-none-win_amd64.whl", hash = "sha256:c74df28749c076fd6e2157190df23d43d42b2c83e09d79b51694ee7315374ad5"}, + {file = "orjson-3.9.5-cp37-cp37m-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:88e18a74d916b74f00d0978d84e365c6bf0e7ab846792efa15756b5fb2f7d49d"}, + {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d28514b5b6dfaf69097be70d0cf4f1407ec29d0f93e0b4131bf9cc8fd3f3e374"}, + {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25b81aca8c7be61e2566246b6a0ca49f8aece70dd3f38c7f5c837f398c4cb142"}, + {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:385c1c713b1e47fd92e96cf55fd88650ac6dfa0b997e8aa7ecffd8b5865078b1"}, + {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9850c03a8e42fba1a508466e6a0f99472fd2b4a5f30235ea49b2a1b32c04c11"}, + {file = "orjson-3.9.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4449f84bbb13bcef493d8aa669feadfced0f7c5eea2d0d88b5cc21f812183af8"}, + {file = "orjson-3.9.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:86127bf194f3b873135e44ce5dc9212cb152b7e06798d5667a898a00f0519be4"}, + {file = "orjson-3.9.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0abcd039f05ae9ab5b0ff11624d0b9e54376253b7d3217a358d09c3edf1d36f7"}, + {file = "orjson-3.9.5-cp37-none-win32.whl", hash = "sha256:10cc8ad5ff7188efcb4bec196009d61ce525a4e09488e6d5db41218c7fe4f001"}, + {file = "orjson-3.9.5-cp37-none-win_amd64.whl", hash = "sha256:ff27e98532cb87379d1a585837d59b187907228268e7b0a87abe122b2be6968e"}, + {file = "orjson-3.9.5-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:5bfa79916ef5fef75ad1f377e54a167f0de334c1fa4ebb8d0224075f3ec3d8c0"}, + {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87dfa6ac0dae764371ab19b35eaaa46dfcb6ef2545dfca03064f21f5d08239f"}, + {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50ced24a7b23058b469ecdb96e36607fc611cbaee38b58e62a55c80d1b3ad4e1"}, + {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b1b74ea2a3064e1375da87788897935832e806cc784de3e789fd3c4ab8eb3fa5"}, + {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7cb961efe013606913d05609f014ad43edfaced82a576e8b520a5574ce3b2b9"}, + {file = "orjson-3.9.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1225d2d5ee76a786bda02f8c5e15017462f8432bb960de13d7c2619dba6f0275"}, + {file = "orjson-3.9.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f39f4b99199df05c7ecdd006086259ed25886cdbd7b14c8cdb10c7675cfcca7d"}, + {file = "orjson-3.9.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a461dc9fb60cac44f2d3218c36a0c1c01132314839a0e229d7fb1bba69b810d8"}, + {file = "orjson-3.9.5-cp38-none-win32.whl", hash = "sha256:dedf1a6173748202df223aea29de814b5836732a176b33501375c66f6ab7d822"}, + {file = "orjson-3.9.5-cp38-none-win_amd64.whl", hash = "sha256:fa504082f53efcbacb9087cc8676c163237beb6e999d43e72acb4bb6f0db11e6"}, + {file = "orjson-3.9.5-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6900f0248edc1bec2a2a3095a78a7e3ef4e63f60f8ddc583687eed162eedfd69"}, + {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17404333c40047888ac40bd8c4d49752a787e0a946e728a4e5723f111b6e55a5"}, + {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0eefb7cfdd9c2bc65f19f974a5d1dfecbac711dae91ed635820c6b12da7a3c11"}, + {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68c78b2a3718892dc018adbc62e8bab6ef3c0d811816d21e6973dee0ca30c152"}, + {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:591ad7d9e4a9f9b104486ad5d88658c79ba29b66c5557ef9edf8ca877a3f8d11"}, + {file = "orjson-3.9.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cc2cbf302fbb2d0b2c3c142a663d028873232a434d89ce1b2604ebe5cc93ce8"}, + {file = "orjson-3.9.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b26b5aa5e9ee1bad2795b925b3adb1b1b34122cb977f30d89e0a1b3f24d18450"}, + {file = "orjson-3.9.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ef84724f7d29dcfe3aafb1fc5fc7788dca63e8ae626bb9298022866146091a3e"}, + {file = "orjson-3.9.5-cp39-none-win32.whl", hash = "sha256:664cff27f85939059472afd39acff152fbac9a091b7137092cb651cf5f7747b5"}, + {file = "orjson-3.9.5-cp39-none-win_amd64.whl", hash = "sha256:91dda66755795ac6100e303e206b636568d42ac83c156547634256a2e68de694"}, + {file = "orjson-3.9.5.tar.gz", hash = "sha256:6daf5ee0b3cf530b9978cdbf71024f1c16ed4a67d05f6ec435c6e7fe7a52724c"}, +] +oscrypto = [ + {file = "oscrypto-1.3.0-py2.py3-none-any.whl", hash = "sha256:2b2f1d2d42ec152ca90ccb5682f3e051fb55986e1b170ebde472b133713e7085"}, + {file = "oscrypto-1.3.0.tar.gz", hash = "sha256:6f5fef59cb5b3708321db7cca56aed8ad7e662853351e7991fcf60ec606d47a4"}, +] +packaging = [ + {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, + {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, +] +pandas = [ + {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3749077d86e3a2f0ed51367f30bf5b82e131cc0f14260c4d3e499186fccc4406"}, + {file = "pandas-1.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:972d8a45395f2a2d26733eb8d0f629b2f90bebe8e8eddbb8829b180c09639572"}, + {file = "pandas-1.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50869a35cbb0f2e0cd5ec04b191e7b12ed688874bd05dd777c19b28cbea90996"}, + {file = "pandas-1.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3ac844a0fe00bfaeb2c9b51ab1424e5c8744f89860b138434a363b1f620f354"}, + {file = "pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a0a56cef15fd1586726dace5616db75ebcfec9179a3a55e78f72c5639fa2a23"}, + {file = "pandas-1.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:478ff646ca42b20376e4ed3fa2e8d7341e8a63105586efe54fa2508ee087f328"}, + {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6973549c01ca91ec96199e940495219c887ea815b2083722821f1d7abfa2b4dc"}, + {file = "pandas-1.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c39a8da13cede5adcd3be1182883aea1c925476f4e84b2807a46e2775306305d"}, + {file = "pandas-1.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f76d097d12c82a535fda9dfe5e8dd4127952b45fea9b0276cb30cca5ea313fbc"}, + {file = "pandas-1.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e474390e60ed609cec869b0da796ad94f420bb057d86784191eefc62b65819ae"}, + {file = "pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f2b952406a1588ad4cad5b3f55f520e82e902388a6d5a4a91baa8d38d23c7f6"}, + {file = "pandas-1.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:bc4c368f42b551bf72fac35c5128963a171b40dce866fb066540eeaf46faa003"}, + {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:14e45300521902689a81f3f41386dc86f19b8ba8dd5ac5a3c7010ef8d2932813"}, + {file = "pandas-1.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9842b6f4b8479e41968eced654487258ed81df7d1c9b7b870ceea24ed9459b31"}, + {file = "pandas-1.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:26d9c71772c7afb9d5046e6e9cf42d83dd147b5cf5bcb9d97252077118543792"}, + {file = "pandas-1.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fbcb19d6fceb9e946b3e23258757c7b225ba450990d9ed63ccceeb8cae609f7"}, + {file = "pandas-1.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:565fa34a5434d38e9d250af3c12ff931abaf88050551d9fbcdfafca50d62babf"}, + {file = "pandas-1.5.3-cp38-cp38-win32.whl", hash = "sha256:87bd9c03da1ac870a6d2c8902a0e1fd4267ca00f13bc494c9e5a9020920e1d51"}, + {file = "pandas-1.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:41179ce559943d83a9b4bbacb736b04c928b095b5f25dd2b7389eda08f46f373"}, + {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c74a62747864ed568f5a82a49a23a8d7fe171d0c69038b38cedf0976831296fa"}, + {file = "pandas-1.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c4c00e0b0597c8e4f59e8d461f797e5d70b4d025880516a8261b2817c47759ee"}, + {file = "pandas-1.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a50d9a4336a9621cab7b8eb3fb11adb82de58f9b91d84c2cd526576b881a0c5a"}, + {file = "pandas-1.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd05f7783b3274aa206a1af06f0ceed3f9b412cf665b7247eacd83be41cf7bf0"}, + {file = "pandas-1.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f69c4029613de47816b1bb30ff5ac778686688751a5e9c99ad8c7031f6508e5"}, + {file = "pandas-1.5.3-cp39-cp39-win32.whl", hash = "sha256:7cec0bee9f294e5de5bbfc14d0573f65526071029d036b753ee6507d2a21480a"}, + {file = "pandas-1.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:dfd681c5dc216037e0b0a2c821f5ed99ba9f03ebcf119c7dac0e9a7b960b9ec9"}, + {file = "pandas-1.5.3.tar.gz", hash = "sha256:74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1"}, +] +parsedatetime = [ + {file = "parsedatetime-2.4-py2-none-any.whl", hash = "sha256:9ee3529454bf35c40a77115f5a596771e59e1aee8c53306f346c461b8e913094"}, + {file = "parsedatetime-2.4.tar.gz", hash = "sha256:3d817c58fb9570d1eec1dd46fa9448cd644eeed4fb612684b02dfda3a79cb84b"}, +] +pathspec = [ + {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, + {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, +] +pathvalidate = [ + {file = "pathvalidate-3.1.0-py3-none-any.whl", hash = "sha256:912fd1d2e1a2a6a6f98da36a91f21ed86746473810ff625b9c34f3d06c0caa1d"}, + {file = "pathvalidate-3.1.0.tar.gz", hash = "sha256:426970226e24199fd90d93995d223c1e28bda967cdf4370755a14cdf72a2a8ee"}, +] +pbr = [ + {file = "pbr-5.11.1-py2.py3-none-any.whl", hash = "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b"}, + {file = "pbr-5.11.1.tar.gz", hash = "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3"}, +] +pendulum = [ + {file = "pendulum-2.1.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe"}, + {file = "pendulum-2.1.2-cp27-cp27m-win_amd64.whl", hash = "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739"}, + {file = "pendulum-2.1.2-cp35-cp35m-macosx_10_15_x86_64.whl", hash = "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0"}, + {file = "pendulum-2.1.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3"}, + {file = "pendulum-2.1.2-cp35-cp35m-win_amd64.whl", hash = "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b"}, + {file = "pendulum-2.1.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0"}, + {file = "pendulum-2.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087"}, + {file = "pendulum-2.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db"}, + {file = "pendulum-2.1.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5"}, + {file = "pendulum-2.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b"}, + {file = "pendulum-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b"}, + {file = "pendulum-2.1.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052"}, + {file = "pendulum-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be"}, + {file = "pendulum-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a"}, + {file = "pendulum-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7"}, + {file = "pendulum-2.1.2.tar.gz", hash = "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207"}, +] +pipdeptree = [ + {file = "pipdeptree-2.9.6-py3-none-any.whl", hash = "sha256:de93f990d21224297c9f03e057da5a3dc65ff732a0147945dd9421671f13626b"}, + {file = "pipdeptree-2.9.6.tar.gz", hash = "sha256:f815caf165e89c576ce659b866c7a82ae4590420c2d020a92d32e45097f8bc73"}, +] +pkgutil-resolve-name = [ + {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, + {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, +] +platformdirs = [ + {file = "platformdirs-3.8.1-py3-none-any.whl", hash = "sha256:cec7b889196b9144d088e4c57d9ceef7374f6c39694ad1577a0aab50d27ea28c"}, + {file = "platformdirs-3.8.1.tar.gz", hash = "sha256:f87ca4fcff7d2b0f81c6a748a77973d7af0f4d526f98f308477c3c436c74d528"}, +] +pluggy = [ + {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, + {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, +] +ply = [ + {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, + {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, +] +portalocker = [ + {file = "portalocker-2.7.0-py2.py3-none-any.whl", hash = "sha256:a07c5b4f3985c3cf4798369631fb7011adb498e2a46d8440efc75a8f29a0f983"}, + {file = "portalocker-2.7.0.tar.gz", hash = "sha256:032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51"}, +] +prefixed = [ + {file = "prefixed-0.7.0-py2.py3-none-any.whl", hash = "sha256:537b0e4ff4516c4578f277a41d7104f769d6935ae9cdb0f88fed82ec7b3c0ca5"}, + {file = "prefixed-0.7.0.tar.gz", hash = "sha256:0b54d15e602eb8af4ac31b1db21a37ea95ce5890e0741bb0dd9ded493cefbbe9"}, +] +prison = [ + {file = "prison-0.2.1-py2.py3-none-any.whl", hash = "sha256:f90bab63fca497aa0819a852f64fb21a4e181ed9f6114deaa5dc04001a7555c5"}, + {file = "prison-0.2.1.tar.gz", hash = "sha256:e6cd724044afcb1a8a69340cad2f1e3151a5839fd3a8027fd1357571e797c599"}, +] +proto-plus = [ + {file = "proto-plus-1.22.3.tar.gz", hash = "sha256:fdcd09713cbd42480740d2fe29c990f7fbd885a67efc328aa8be6ee3e9f76a6b"}, + {file = "proto_plus-1.22.3-py3-none-any.whl", hash = "sha256:a49cd903bc0b6ab41f76bf65510439d56ca76f868adf0274e738bfdd096894df"}, +] +protobuf = [ + {file = "protobuf-4.24.2-cp310-abi3-win32.whl", hash = "sha256:58e12d2c1aa428ece2281cef09bbaa6938b083bcda606db3da4e02e991a0d924"}, + {file = "protobuf-4.24.2-cp310-abi3-win_amd64.whl", hash = "sha256:77700b55ba41144fc64828e02afb41901b42497b8217b558e4a001f18a85f2e3"}, + {file = "protobuf-4.24.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:237b9a50bd3b7307d0d834c1b0eb1a6cd47d3f4c2da840802cd03ea288ae8880"}, + {file = "protobuf-4.24.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:25ae91d21e3ce8d874211110c2f7edd6384816fb44e06b2867afe35139e1fd1c"}, + {file = "protobuf-4.24.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:c00c3c7eb9ad3833806e21e86dca448f46035242a680f81c3fe068ff65e79c74"}, + {file = "protobuf-4.24.2-cp37-cp37m-win32.whl", hash = "sha256:4e69965e7e54de4db989289a9b971a099e626f6167a9351e9d112221fc691bc1"}, + {file = "protobuf-4.24.2-cp37-cp37m-win_amd64.whl", hash = "sha256:c5cdd486af081bf752225b26809d2d0a85e575b80a84cde5172a05bbb1990099"}, + {file = "protobuf-4.24.2-cp38-cp38-win32.whl", hash = "sha256:6bd26c1fa9038b26c5c044ee77e0ecb18463e957fefbaeb81a3feb419313a54e"}, + {file = "protobuf-4.24.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb7aa97c252279da65584af0456f802bd4b2de429eb945bbc9b3d61a42a8cd16"}, + {file = "protobuf-4.24.2-cp39-cp39-win32.whl", hash = "sha256:2b23bd6e06445699b12f525f3e92a916f2dcf45ffba441026357dea7fa46f42b"}, + {file = "protobuf-4.24.2-cp39-cp39-win_amd64.whl", hash = "sha256:839952e759fc40b5d46be319a265cf94920174d88de31657d5622b5d8d6be5cd"}, + {file = "protobuf-4.24.2-py3-none-any.whl", hash = "sha256:3b7b170d3491ceed33f723bbf2d5a260f8a4e23843799a3906f16ef736ef251e"}, + {file = "protobuf-4.24.2.tar.gz", hash = "sha256:7fda70797ddec31ddfa3576cbdcc3ddbb6b3078b737a1a87ab9136af0570cd6e"}, +] +psutil = [ + {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"}, + {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"}, + {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"}, + {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"}, + {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"}, + {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"}, + {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"}, + {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"}, + {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"}, + {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"}, + {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"}, + {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"}, + {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"}, + {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"}, +] +psycopg2-binary = [ + {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-win32.whl", hash = "sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-win32.whl", hash = "sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-win32.whl", hash = "sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-win_amd64.whl", hash = "sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-win32.whl", hash = "sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, +] +psycopg2cffi = [ + {file = "psycopg2cffi-2.9.0.tar.gz", hash = "sha256:7e272edcd837de3a1d12b62185eb85c45a19feda9e62fa1b120c54f9e8d35c52"}, +] +py = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] +pyarrow = [ + {file = "pyarrow-10.0.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:e00174764a8b4e9d8d5909b6d19ee0c217a6cf0232c5682e31fdfbd5a9f0ae52"}, + {file = "pyarrow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f7a7dbe2f7f65ac1d0bd3163f756deb478a9e9afc2269557ed75b1b25ab3610"}, + {file = "pyarrow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb627673cb98708ef00864e2e243f51ba7b4c1b9f07a1d821f98043eccd3f585"}, + {file = "pyarrow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba71e6fc348c92477586424566110d332f60d9a35cb85278f42e3473bc1373da"}, + {file = "pyarrow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b4ede715c004b6fc535de63ef79fa29740b4080639a5ff1ea9ca84e9282f349"}, + {file = "pyarrow-10.0.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:e3fe5049d2e9ca661d8e43fab6ad5a4c571af12d20a57dffc392a014caebef65"}, + {file = "pyarrow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:254017ca43c45c5098b7f2a00e995e1f8346b0fb0be225f042838323bb55283c"}, + {file = "pyarrow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70acca1ece4322705652f48db65145b5028f2c01c7e426c5d16a30ba5d739c24"}, + {file = "pyarrow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abb57334f2c57979a49b7be2792c31c23430ca02d24becd0b511cbe7b6b08649"}, + {file = "pyarrow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:1765a18205eb1e02ccdedb66049b0ec148c2a0cb52ed1fb3aac322dfc086a6ee"}, + {file = "pyarrow-10.0.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:61f4c37d82fe00d855d0ab522c685262bdeafd3fbcb5fe596fe15025fbc7341b"}, + {file = "pyarrow-10.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e141a65705ac98fa52a9113fe574fdaf87fe0316cde2dffe6b94841d3c61544c"}, + {file = "pyarrow-10.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf26f809926a9d74e02d76593026f0aaeac48a65b64f1bb17eed9964bfe7ae1a"}, + {file = "pyarrow-10.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:443eb9409b0cf78df10ced326490e1a300205a458fbeb0767b6b31ab3ebae6b2"}, + {file = "pyarrow-10.0.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:f2d00aa481becf57098e85d99e34a25dba5a9ade2f44eb0b7d80c80f2984fc03"}, + {file = "pyarrow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b1fc226d28c7783b52a84d03a66573d5a22e63f8a24b841d5fc68caeed6784d4"}, + {file = "pyarrow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efa59933b20183c1c13efc34bd91efc6b2997377c4c6ad9272da92d224e3beb1"}, + {file = "pyarrow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:668e00e3b19f183394388a687d29c443eb000fb3fe25599c9b4762a0afd37775"}, + {file = "pyarrow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1bc6e4d5d6f69e0861d5d7f6cf4d061cf1069cb9d490040129877acf16d4c2a"}, + {file = "pyarrow-10.0.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:42ba7c5347ce665338f2bc64685d74855900200dac81a972d49fe127e8132f75"}, + {file = "pyarrow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b069602eb1fc09f1adec0a7bdd7897f4d25575611dfa43543c8b8a75d99d6874"}, + {file = "pyarrow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94fb4a0c12a2ac1ed8e7e2aa52aade833772cf2d3de9dde685401b22cec30002"}, + {file = "pyarrow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db0c5986bf0808927f49640582d2032a07aa49828f14e51f362075f03747d198"}, + {file = "pyarrow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:0ec7587d759153f452d5263dbc8b1af318c4609b607be2bd5127dcda6708cdb1"}, + {file = "pyarrow-10.0.1.tar.gz", hash = "sha256:1a14f57a5f472ce8234f2964cd5184cccaa8df7e04568c64edc33b23eb285dd5"}, +] +pyasn1 = [ + {file = "pyasn1-0.5.0-py2.py3-none-any.whl", hash = "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57"}, + {file = "pyasn1-0.5.0.tar.gz", hash = "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde"}, +] +pyasn1-modules = [ + {file = "pyasn1_modules-0.3.0-py2.py3-none-any.whl", hash = "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d"}, + {file = "pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"}, +] +pyathena = [ + {file = "pyathena-3.0.6-py3-none-any.whl", hash = "sha256:27fb606a73644e62be8ef9b86cdf583ab3cb9f8cac9c2ad8f05b7ad6d4eaaa87"}, + {file = "pyathena-3.0.6.tar.gz", hash = "sha256:ee6ea175134894209af2c6be1859b7be4371f7741faa7a58f9f97905ff6a73a4"}, +] +pycodestyle = [ + {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"}, + {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"}, +] +pycparser = [ + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, +] +pycryptodomex = [ + {file = "pycryptodomex-3.18.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:160a39a708c36fa0b168ab79386dede588e62aec06eb505add870739329aecc6"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c2953afebf282a444c51bf4effe751706b4d0d63d7ca2cc51db21f902aa5b84e"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:ba95abd563b0d1b88401658665a260852a8e6c647026ee6a0a65589287681df8"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:192306cf881fe3467dda0e174a4f47bb3a8bb24b90c9cdfbdc248eec5fc0578c"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:f9ab5ef0718f6a8716695dea16d83b671b22c45e9c0c78fd807c32c0192e54b5"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-win32.whl", hash = "sha256:50308fcdbf8345e5ec224a5502b4215178bdb5e95456ead8ab1a69ffd94779cb"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-win_amd64.whl", hash = "sha256:4d9379c684efea80fdab02a3eb0169372bca7db13f9332cb67483b8dc8b67c37"}, + {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5594a125dae30d60e94f37797fc67ce3c744522de7992c7c360d02fdb34918f8"}, + {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:8ff129a5a0eb5ff16e45ca4fa70a6051da7f3de303c33b259063c19be0c43d35"}, + {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:3d9314ac785a5b75d5aaf924c5f21d6ca7e8df442e5cf4f0fefad4f6e284d422"}, + {file = "pycryptodomex-3.18.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:f237278836dda412a325e9340ba2e6a84cb0f56b9244781e5b61f10b3905de88"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac614363a86cc53d8ba44b6c469831d1555947e69ab3276ae8d6edc219f570f7"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:302a8f37c224e7b5d72017d462a2be058e28f7be627bdd854066e16722d0fc0c"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:6421d23d6a648e83ba2670a352bcd978542dad86829209f59d17a3f087f4afef"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84e105787f5e5d36ec6a581ff37a1048d12e638688074b2a00bcf402f9aa1c2"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6875eb8666f68ddbd39097867325bd22771f595b4e2b0149739b5623c8bf899b"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:27072a494ce621cc7a9096bbf60ed66826bb94db24b49b7359509e7951033e74"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:1949e09ea49b09c36d11a951b16ff2a05a0ffe969dda1846e4686ee342fe8646"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6ed3606832987018615f68e8ed716a7065c09a0fe94afd7c9ca1b6777f0ac6eb"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-win32.whl", hash = "sha256:d56c9ec41258fd3734db9f5e4d2faeabe48644ba9ca23b18e1839b3bdf093222"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-win_amd64.whl", hash = "sha256:e00a4bacb83a2627e8210cb353a2e31f04befc1155db2976e5e239dd66482278"}, + {file = "pycryptodomex-3.18.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:2dc4eab20f4f04a2d00220fdc9258717b82d31913552e766d5f00282c031b70a"}, + {file = "pycryptodomex-3.18.0-pp27-pypy_73-win32.whl", hash = "sha256:75672205148bdea34669173366df005dbd52be05115e919551ee97171083423d"}, + {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bec6c80994d4e7a38312072f89458903b65ec99bed2d65aa4de96d997a53ea7a"}, + {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d35a8ffdc8b05e4b353ba281217c8437f02c57d7233363824e9d794cf753c419"}, + {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76f0a46bee539dae4b3dfe37216f678769349576b0080fdbe431d19a02da42ff"}, + {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:71687eed47df7e965f6e0bf3cadef98f368d5221f0fb89d2132effe1a3e6a194"}, + {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:73d64b32d84cf48d9ec62106aa277dbe99ab5fbfd38c5100bc7bddd3beb569f7"}, + {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbdcce0a226d9205560a5936b05208c709b01d493ed8307792075dedfaaffa5f"}, + {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58fc0aceb9c961b9897facec9da24c6a94c5db04597ec832060f53d4d6a07196"}, + {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:215be2980a6b70704c10796dd7003eb4390e7be138ac6fb8344bf47e71a8d470"}, + {file = "pycryptodomex-3.18.0.tar.gz", hash = "sha256:3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e"}, +] +pydantic = [ + {file = "pydantic-1.10.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a1fcb59f2f355ec350073af41d927bf83a63b50e640f4dbaa01053a28b7a7718"}, + {file = "pydantic-1.10.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7ccf02d7eb340b216ec33e53a3a629856afe1c6e0ef91d84a4e6f2fb2ca70fe"}, + {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fb2aa3ab3728d950bcc885a2e9eff6c8fc40bc0b7bb434e555c215491bcf48b"}, + {file = "pydantic-1.10.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:771735dc43cf8383959dc9b90aa281f0b6092321ca98677c5fb6125a6f56d58d"}, + {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca48477862372ac3770969b9d75f1bf66131d386dba79506c46d75e6b48c1e09"}, + {file = "pydantic-1.10.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a5e7add47a5b5a40c49b3036d464e3c7802f8ae0d1e66035ea16aa5b7a3923ed"}, + {file = "pydantic-1.10.12-cp310-cp310-win_amd64.whl", hash = "sha256:e4129b528c6baa99a429f97ce733fff478ec955513630e61b49804b6cf9b224a"}, + {file = "pydantic-1.10.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0d191db0f92dfcb1dec210ca244fdae5cbe918c6050b342d619c09d31eea0cc"}, + {file = "pydantic-1.10.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:795e34e6cc065f8f498c89b894a3c6da294a936ee71e644e4bd44de048af1405"}, + {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69328e15cfda2c392da4e713443c7dbffa1505bc9d566e71e55abe14c97ddc62"}, + {file = "pydantic-1.10.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2031de0967c279df0d8a1c72b4ffc411ecd06bac607a212892757db7462fc494"}, + {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ba5b2e6fe6ca2b7e013398bc7d7b170e21cce322d266ffcd57cca313e54fb246"}, + {file = "pydantic-1.10.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2a7bac939fa326db1ab741c9d7f44c565a1d1e80908b3797f7f81a4f86bc8d33"}, + {file = "pydantic-1.10.12-cp311-cp311-win_amd64.whl", hash = "sha256:87afda5539d5140cb8ba9e8b8c8865cb5b1463924d38490d73d3ccfd80896b3f"}, + {file = "pydantic-1.10.12-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:549a8e3d81df0a85226963611950b12d2d334f214436a19537b2efed61b7639a"}, + {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:598da88dfa127b666852bef6d0d796573a8cf5009ffd62104094a4fe39599565"}, + {file = "pydantic-1.10.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba5c4a8552bff16c61882db58544116d021d0b31ee7c66958d14cf386a5b5350"}, + {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c79e6a11a07da7374f46970410b41d5e266f7f38f6a17a9c4823db80dadf4303"}, + {file = "pydantic-1.10.12-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab26038b8375581dc832a63c948f261ae0aa21f1d34c1293469f135fa92972a5"}, + {file = "pydantic-1.10.12-cp37-cp37m-win_amd64.whl", hash = "sha256:e0a16d274b588767602b7646fa05af2782576a6cf1022f4ba74cbb4db66f6ca8"}, + {file = "pydantic-1.10.12-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6a9dfa722316f4acf4460afdf5d41d5246a80e249c7ff475c43a3a1e9d75cf62"}, + {file = "pydantic-1.10.12-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a73f489aebd0c2121ed974054cb2759af8a9f747de120acd2c3394cf84176ccb"}, + {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b30bcb8cbfccfcf02acb8f1a261143fab622831d9c0989707e0e659f77a18e0"}, + {file = "pydantic-1.10.12-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fcfb5296d7877af406ba1547dfde9943b1256d8928732267e2653c26938cd9c"}, + {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2f9a6fab5f82ada41d56b0602606a5506aab165ca54e52bc4545028382ef1c5d"}, + {file = "pydantic-1.10.12-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dea7adcc33d5d105896401a1f37d56b47d443a2b2605ff8a969a0ed5543f7e33"}, + {file = "pydantic-1.10.12-cp38-cp38-win_amd64.whl", hash = "sha256:1eb2085c13bce1612da8537b2d90f549c8cbb05c67e8f22854e201bde5d98a47"}, + {file = "pydantic-1.10.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ef6c96b2baa2100ec91a4b428f80d8f28a3c9e53568219b6c298c1125572ebc6"}, + {file = "pydantic-1.10.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c076be61cd0177a8433c0adcb03475baf4ee91edf5a4e550161ad57fc90f523"}, + {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d5a58feb9a39f481eda4d5ca220aa8b9d4f21a41274760b9bc66bfd72595b86"}, + {file = "pydantic-1.10.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5f805d2d5d0a41633651a73fa4ecdd0b3d7a49de4ec3fadf062fe16501ddbf1"}, + {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1289c180abd4bd4555bb927c42ee42abc3aee02b0fb2d1223fb7c6e5bef87dbe"}, + {file = "pydantic-1.10.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5d1197e462e0364906cbc19681605cb7c036f2475c899b6f296104ad42b9f5fb"}, + {file = "pydantic-1.10.12-cp39-cp39-win_amd64.whl", hash = "sha256:fdbdd1d630195689f325c9ef1a12900524dceb503b00a987663ff4f58669b93d"}, + {file = "pydantic-1.10.12-py3-none-any.whl", hash = "sha256:b749a43aa51e32839c9d71dc67eb1e4221bb04af1033a32e3923d46f9effa942"}, + {file = "pydantic-1.10.12.tar.gz", hash = "sha256:0fe8a415cea8f340e7a9af9c54fc71a649b43e8ca3cc732986116b3cb135d303"}, +] +pydoc-markdown = [ + {file = "pydoc_markdown-4.8.2-py3-none-any.whl", hash = "sha256:203f74119e6bb2f9deba43d452422de7c8ec31955b61e0620fa4dd8c2611715f"}, + {file = "pydoc_markdown-4.8.2.tar.gz", hash = "sha256:fb6c927e31386de17472d42f9bd3d3be2905977d026f6216881c65145aa67f0b"}, +] +pyflakes = [ + {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"}, + {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, +] +pygments = [ + {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, + {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, +] +pyjwt = [ + {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, + {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, +] +pymongo = [ + {file = "pymongo-4.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c011bd5ad03cc096f99ffcfdd18a1817354132c1331bed7a837a25226659845f"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux1_i686.whl", hash = "sha256:5e63146dbdb1eac207464f6e0cfcdb640c9c5ff0f57b754fa96fe252314a1dc6"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:2972dd1f1285866aba027eff2f4a2bbf8aa98563c2ced14cb34ee5602b36afdf"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_i686.whl", hash = "sha256:a0be99b599da95b7a90a918dd927b20c434bea5e1c9b3efc6a3c6cd67c23f813"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_ppc64le.whl", hash = "sha256:9b0f98481ad5dc4cb430a60bbb8869f05505283b9ae1c62bdb65eb5e020ee8e3"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_s390x.whl", hash = "sha256:256c503a75bd71cf7fb9ebf889e7e222d49c6036a48aad5a619f98a0adf0e0d7"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:b4ad70d7cac4ca0c7b31444a0148bd3af01a2662fa12b1ad6f57cd4a04e21766"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5717a308a703dda2886a5796a07489c698b442f5e409cf7dc2ac93de8d61d764"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f7f9feecae53fa18d6a3ea7c75f9e9a1d4d20e5c3f9ce3fba83f07bcc4eee2"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:128b1485753106c54af481789cdfea12b90a228afca0b11fb3828309a907e10e"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3077a31633beef77d057c6523f5de7271ddef7bde5e019285b00c0cc9cac1e3"}, + {file = "pymongo-4.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ebf02c32afa6b67e5861a27183dd98ed88419a94a2ab843cc145fb0bafcc5b28"}, + {file = "pymongo-4.6.0-cp310-cp310-win32.whl", hash = "sha256:b14dd73f595199f4275bed4fb509277470d9b9059310537e3b3daba12b30c157"}, + {file = "pymongo-4.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:8adf014f2779992eba3b513e060d06f075f0ab2fb3ad956f413a102312f65cdf"}, + {file = "pymongo-4.6.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ba51129fcc510824b6ca6e2ce1c27e3e4d048b6e35d3ae6f7e517bed1b8b25ce"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2973f113e079fb98515722cd728e1820282721ec9fd52830e4b73cabdbf1eb28"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af425f323fce1b07755edd783581e7283557296946212f5b1a934441718e7528"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ec71ac633b126c0775ed4604ca8f56c3540f5c21a1220639f299e7a544b55f9"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ec6c20385c5a58e16b1ea60c5e4993ea060540671d7d12664f385f2fb32fe79"}, + {file = "pymongo-4.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:85f2cdc400ee87f5952ebf2a117488f2525a3fb2e23863a8efe3e4ee9e54e4d1"}, + {file = "pymongo-4.6.0-cp311-cp311-win32.whl", hash = "sha256:7fc2bb8a74dcfcdd32f89528e38dcbf70a3a6594963d60dc9595e3b35b66e414"}, + {file = "pymongo-4.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6695d7136a435c1305b261a9ddb9b3ecec9863e05aab3935b96038145fd3a977"}, + {file = "pymongo-4.6.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d603edea1ff7408638b2504905c032193b7dcee7af269802dbb35bc8c3310ed5"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79f41576b3022c2fe9780ae3e44202b2438128a25284a8ddfa038f0785d87019"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49f2af6cf82509b15093ce3569229e0d53c90ad8ae2eef940652d4cf1f81e045"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ecd9e1fa97aa11bf67472220285775fa15e896da108f425e55d23d7540a712ce"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d2be5c9c3488fa8a70f83ed925940f488eac2837a996708d98a0e54a861f212"}, + {file = "pymongo-4.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ab6bcc8e424e07c1d4ba6df96f7fb963bcb48f590b9456de9ebd03b88084fe8"}, + {file = "pymongo-4.6.0-cp312-cp312-win32.whl", hash = "sha256:47aa128be2e66abd9d1a9b0437c62499d812d291f17b55185cb4aa33a5f710a4"}, + {file = "pymongo-4.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:014e7049dd019a6663747ca7dae328943e14f7261f7c1381045dfc26a04fa330"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:288c21ab9531b037f7efa4e467b33176bc73a0c27223c141b822ab4a0e66ff2a"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:747c84f4e690fbe6999c90ac97246c95d31460d890510e4a3fa61b7d2b87aa34"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:055f5c266e2767a88bb585d01137d9c7f778b0195d3dbf4a487ef0638be9b651"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:82e620842e12e8cb4050d2643a81c8149361cd82c0a920fa5a15dc4ca8a4000f"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:6b18276f14b4b6d92e707ab6db19b938e112bd2f1dc3f9f1a628df58e4fd3f0d"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:680fa0fc719e1a3dcb81130858368f51d83667d431924d0bcf249644bce8f303"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:3919708594b86d0f5cdc713eb6fccd3f9b9532af09ea7a5d843c933825ef56c4"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db082f728160369d9a6ed2e722438291558fc15ce06d0a7d696a8dad735c236b"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e4ed21029d80c4f62605ab16398fe1ce093fff4b5f22d114055e7d9fbc4adb0"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bea9138b0fc6e2218147e9c6ce1ff76ff8e29dc00bb1b64842bd1ca107aee9f"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a0269811661ba93c472c8a60ea82640e838c2eb148d252720a09b5123f2c2fe"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d6a1b1361f118e7fefa17ae3114e77f10ee1b228b20d50c47c9f351346180c8"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e3b0127b260d4abae7b62203c4c7ef0874c901b55155692353db19de4b18bc4"}, + {file = "pymongo-4.6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a49aca4d961823b2846b739380c847e8964ff7ae0f0a683992b9d926054f0d6d"}, + {file = "pymongo-4.6.0-cp37-cp37m-win32.whl", hash = "sha256:09c7de516b08c57647176b9fc21d929d628e35bcebc7422220c89ae40b62126a"}, + {file = "pymongo-4.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:81dd1308bd5630d2bb5980f00aa163b986b133f1e9ed66c66ce2a5bc3572e891"}, + {file = "pymongo-4.6.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:2f8c04277d879146eacda920476e93d520eff8bec6c022ac108cfa6280d84348"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:5802acc012bbb4bce4dff92973dff76482f30ef35dd4cb8ab5b0e06aa8f08c80"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ccd785fafa1c931deff6a7116e9a0d402d59fabe51644b0d0c268295ff847b25"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fe03bf25fae4b95d8afe40004a321df644400fdcba4c8e5e1a19c1085b740888"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:2ca0ba501898b2ec31e6c3acf90c31910944f01d454ad8e489213a156ccf1bda"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:10a379fb60f1b2406ae57b8899bacfe20567918c8e9d2d545e1b93628fcf2050"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:a4dc1319d0c162919ee7f4ee6face076becae2abbd351cc14f1fe70af5fb20d9"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:ddef295aaf80cefb0c1606f1995899efcb17edc6b327eb6589e234e614b87756"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:518c90bdd6e842c446d01a766b9136fec5ec6cc94f3b8c3f8b4a332786ee6b64"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b80a4ee19b3442c57c38afa978adca546521a8822d663310b63ae2a7d7b13f3a"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb438a8bf6b695bf50d57e6a059ff09652a07968b2041178b3744ea785fcef9b"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3db7d833a7c38c317dc95b54e27f1d27012e031b45a7c24e360b53197d5f6e7"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3729b8db02063da50eeb3db88a27670d85953afb9a7f14c213ac9e3dca93034b"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:39a1cd5d383b37285641d5a7a86be85274466ae336a61b51117155936529f9b3"}, + {file = "pymongo-4.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7b0e6361754ac596cd16bfc6ed49f69ffcd9b60b7bc4bcd3ea65c6a83475e4ff"}, + {file = "pymongo-4.6.0-cp38-cp38-win32.whl", hash = "sha256:806e094e9e85d8badc978af8c95b69c556077f11844655cb8cd2d1758769e521"}, + {file = "pymongo-4.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1394c4737b325166a65ae7c145af1ebdb9fb153ebedd37cf91d676313e4a67b8"}, + {file = "pymongo-4.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a8273e1abbcff1d7d29cbbb1ea7e57d38be72f1af3c597c854168508b91516c2"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:e16ade71c93f6814d095d25cd6d28a90d63511ea396bd96e9ffcb886b278baaa"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:325701ae7b56daa5b0692305b7cb505ca50f80a1288abb32ff420a8a209b01ca"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:cc94f9fea17a5af8cf1a343597711a26b0117c0b812550d99934acb89d526ed2"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:21812453354b151200034750cd30b0140e82ec2a01fd4357390f67714a1bfbde"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:0634994b026336195778e5693583c060418d4ab453eff21530422690a97e1ee8"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:ad4f66fbb893b55f96f03020e67dcab49ffde0177c6565ccf9dec4fdf974eb61"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:2703a9f8f5767986b4f51c259ff452cc837c5a83c8ed5f5361f6e49933743b2f"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bafea6061d63059d8bc2ffc545e2f049221c8a4457d236c5cd6a66678673eab"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f28ae33dc5a0b9cee06e95fd420e42155d83271ab75964baf747ce959cac5f52"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16a534da0e39785687b7295e2fcf9a339f4a20689024983d11afaa4657f8507"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef67fedd863ffffd4adfd46d9d992b0f929c7f61a8307366d664d93517f2c78e"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05c30fd35cc97f14f354916b45feea535d59060ef867446b5c3c7f9b609dd5dc"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1c63e3a2e8fb815c4b1f738c284a4579897e37c3cfd95fdb199229a1ccfb638a"}, + {file = "pymongo-4.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e5e193f89f4f8c1fe273f9a6e6df915092c9f2af6db2d1afb8bd53855025c11f"}, + {file = "pymongo-4.6.0-cp39-cp39-win32.whl", hash = "sha256:a09bfb51953930e7e838972ddf646c5d5f984992a66d79da6ba7f6a8d8a890cd"}, + {file = "pymongo-4.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:107a234dc55affc5802acb3b6d83cbb8c87355b38a9457fcd8806bdeb8bce161"}, + {file = "pymongo-4.6.0.tar.gz", hash = "sha256:fb1c56d891f9e34303c451998ef62ba52659648bb0d75b03c5e4ac223a3342c2"}, +] +pymysql = [ + {file = "PyMySQL-1.1.0-py3-none-any.whl", hash = "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7"}, + {file = "PyMySQL-1.1.0.tar.gz", hash = "sha256:4f13a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96"}, +] +pyodbc = [ + {file = "pyodbc-4.0.39-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74af348dbaee4885998858daf50c8964e767629ecf6c195868b016367b0bb861"}, + {file = "pyodbc-4.0.39-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f5901b57eaef0761f4cf02bca8e7c63f589fd0fd723a79f6ccf1ea1275372e5"}, + {file = "pyodbc-4.0.39-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0db69478d00fcd8d0b9bdde8aca0b0eada341fd6ed8c2da84b594b928c84106"}, + {file = "pyodbc-4.0.39-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5faf2870e9d434c6a85c6adc1cdff55c0e376273baf480f06d9848025405688"}, + {file = "pyodbc-4.0.39-cp310-cp310-win32.whl", hash = "sha256:62bb6d7d0d25dc75d1445e539f946461c9c5a3643ae14676b240f71794ea004f"}, + {file = "pyodbc-4.0.39-cp310-cp310-win_amd64.whl", hash = "sha256:8eb5547282dc73a7784ce7b99584f68687dd85543538ca6f70cffaa6310676e7"}, + {file = "pyodbc-4.0.39-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:530c1ac37ead782803b44fb1934ba4c68ed4a6969f7475cb8bc04ae1da14486e"}, + {file = "pyodbc-4.0.39-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1f7fb65191926308f09ce75ae7ccecf89310232ee50cdea74edf17ee04a9b068"}, + {file = "pyodbc-4.0.39-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ec009180fcd7c8197f45d083e6670623d8dfe198a457ca2a50ebb1bafe4107f"}, + {file = "pyodbc-4.0.39-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:400e911d54980098c6badadecc82385fc0d6a9057db525d63d2652317df43efe"}, + {file = "pyodbc-4.0.39-cp311-cp311-win32.whl", hash = "sha256:f792677b88e1dde12dab46de8647620fc8171742c02780d51744f7b1b2135dbc"}, + {file = "pyodbc-4.0.39-cp311-cp311-win_amd64.whl", hash = "sha256:3d9d70e1635d35ba3aee3df216ec8e35f2824909f43331c0112b17f460a93923"}, + {file = "pyodbc-4.0.39-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c1a59096f1784d0cda3d0b8f393849f05515c46a10016edb6da1b1960d039800"}, + {file = "pyodbc-4.0.39-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3467157661615d5c30893efa1069b55c9ffa434097fc3ae3739e740d83d2ec"}, + {file = "pyodbc-4.0.39-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af027a60e84274ea08fad1c75991d37a5f1f6e8bcd30f6bda20db99f0cdfbc7d"}, + {file = "pyodbc-4.0.39-cp36-cp36m-win32.whl", hash = "sha256:64c1de1263281de7b5ce585b0352746ab1a483453017a8589f838a79cbe3d6d9"}, + {file = "pyodbc-4.0.39-cp36-cp36m-win_amd64.whl", hash = "sha256:27d1b3c3159673b44c97c878f9d8056901d45f747ce2e0b4d5d99f0fb6949dc7"}, + {file = "pyodbc-4.0.39-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:efccc11dff6fba684a74ae1030c92ff8b82429d7f00e0a50aa2ac6f56621cd9f"}, + {file = "pyodbc-4.0.39-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea08e9379c08663d7260e2b8a6c451f56d36c17291af735191089f8e29ad9578"}, + {file = "pyodbc-4.0.39-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b36fe804d367d01ad81077fa524a36e667aabc3945e32564c7ef9595b28edfa9"}, + {file = "pyodbc-4.0.39-cp37-cp37m-win32.whl", hash = "sha256:72d364e52f6ca2417881a23834b3a36733c09e0dcd4760f49a6b864218d98d92"}, + {file = "pyodbc-4.0.39-cp37-cp37m-win_amd64.whl", hash = "sha256:39f6c56022c764309aa7552c0eb2c58fbb5902ab5d2010d42b021c0b205aa609"}, + {file = "pyodbc-4.0.39-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ebcb900fcaf19ca2bc38632218c5d48c666fcc19fe38b08cde001917f4581456"}, + {file = "pyodbc-4.0.39-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a3e133621ac2dad22d0870a8521c7e82d4270e24ce02451d64e7eb6a40ad0941"}, + {file = "pyodbc-4.0.39-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05a0912e852ebddaffa8f235b0f3974475021dd8eb604eb46ea67af06efe1239"}, + {file = "pyodbc-4.0.39-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6353044b99c763aeec7ca1760b4340298504d8ee544fdcab3c380a2abec15b78"}, + {file = "pyodbc-4.0.39-cp38-cp38-win32.whl", hash = "sha256:a591a1cf3c251a9c7c1642cfb3774119bf3512f3be56151247238f8a7b22b336"}, + {file = "pyodbc-4.0.39-cp38-cp38-win_amd64.whl", hash = "sha256:8553eaef9f8ec333bbddff6eadf0d322dda34b37f4bab19f0658eb532037840c"}, + {file = "pyodbc-4.0.39-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9253e746c5c94bf61e3e9adb08fb7688d413cb68c06ebb287ec233387534760a"}, + {file = "pyodbc-4.0.39-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a6f4067f46aaa78e77e8a15ade81eb21fb344563d245fb2d9a0aaa553c367cbd"}, + {file = "pyodbc-4.0.39-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdf5a27e6587d1762f7f0e35d6f0309f09019bf3e19ca9177a4b765121f3f106"}, + {file = "pyodbc-4.0.39-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe4ee87b88867867f582dd0c1236cd982508db359a6cbb5e91623ceb6c83e60a"}, + {file = "pyodbc-4.0.39-cp39-cp39-win32.whl", hash = "sha256:42649ed57d09c04aa197bdd4fe0aa9ca319790b7aa86d0b0784cc70e78c426e5"}, + {file = "pyodbc-4.0.39-cp39-cp39-win_amd64.whl", hash = "sha256:305c7d6337e2d4c8350677cc641b343fc0197b7b9bc167815c66b64545c67a53"}, + {file = "pyodbc-4.0.39.tar.gz", hash = "sha256:e528bb70dd6d6299ee429868925df0866e3e919c772b9eff79c8e17920d8f116"}, +] +pyopenssl = [ + {file = "pyOpenSSL-23.2.0-py3-none-any.whl", hash = "sha256:24f0dc5227396b3e831f4c7f602b950a5e9833d292c8e4a2e06b709292806ae2"}, + {file = "pyOpenSSL-23.2.0.tar.gz", hash = "sha256:276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac"}, +] +pyparsing = [ + {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, + {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, +] +pypdf2 = [ + {file = "PyPDF2-3.0.1.tar.gz", hash = "sha256:a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440"}, + {file = "pypdf2-3.0.1-py3-none-any.whl", hash = "sha256:d16e4205cfee272fbdc0568b68d82be796540b1537508cef59388f839c191928"}, +] +pyreadline3 = [ + {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, + {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, +] +pytest = [ + {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, + {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, +] +pytest-cases = [ + {file = "pytest-cases-3.6.14.tar.gz", hash = "sha256:7455e6ca57a544c1bfdd8b56ace08c1c1ce4c6572a8aab8f1bd351dc25a10b6b"}, + {file = "pytest_cases-3.6.14-py2.py3-none-any.whl", hash = "sha256:a087f3d019efd8942d0f0dc3fb526bedf9f83d742c40289e9623f6788aff7257"}, +] +pytest-console-scripts = [ + {file = "pytest-console-scripts-1.4.1.tar.gz", hash = "sha256:5a826ed84cc0afa202eb9e44381d7d762f7bdda8e0c23f9f79a7f1f44cf4a895"}, + {file = "pytest_console_scripts-1.4.1-py3-none-any.whl", hash = "sha256:ad860a951a90eca4bd3bd1159b8f5428633ba4ea01abd5c9526b67a95f65437a"}, +] +pytest-forked = [ + {file = "pytest-forked-1.6.0.tar.gz", hash = "sha256:4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f"}, + {file = "pytest_forked-1.6.0-py3-none-any.whl", hash = "sha256:810958f66a91afb1a1e2ae83089d8dc1cd2437ac96b12963042fbb9fb4d16af0"}, +] +pytest-order = [ + {file = "pytest-order-1.1.0.tar.gz", hash = "sha256:139d25b30826b78eebb42722f747eab14c44b88059d7a71d4f79d14a057269a5"}, + {file = "pytest_order-1.1.0-py3-none-any.whl", hash = "sha256:3b3730969c97900fa5cd31ecff80847680ed56b2490954565c14949ba60d9371"}, +] +pytest-pythonpath = [ + {file = "pytest-pythonpath-0.7.4.tar.gz", hash = "sha256:64e195b23a8f8c0c631fb16882d9ad6fa4137ed1f2961ddd15d52065cd435db6"}, + {file = "pytest_pythonpath-0.7.4-py3-none-any.whl", hash = "sha256:e73e11dab2f0b83e73229e261242b251f0a369d7f527dbfec068822fd26a6ce5"}, +] +python-daemon = [ + {file = "python-daemon-3.0.1.tar.gz", hash = "sha256:6c57452372f7eaff40934a1c03ad1826bf5e793558e87fef49131e6464b4dae5"}, + {file = "python_daemon-3.0.1-py3-none-any.whl", hash = "sha256:42bb848a3260a027fa71ad47ecd959e471327cb34da5965962edd5926229f341"}, +] +python-dateutil = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] +python-nvd3 = [ + {file = "python-nvd3-0.15.0.tar.gz", hash = "sha256:fbd75ff47e0ef255b4aa4f3a8b10dc8b4024aa5a9a7abed5b2406bd3cb817715"}, +] +python-slugify = [ + {file = "python-slugify-8.0.1.tar.gz", hash = "sha256:ce0d46ddb668b3be82f4ed5e503dbc33dd815d83e2eb6824211310d3fb172a27"}, + {file = "python_slugify-8.0.1-py2.py3-none-any.whl", hash = "sha256:70ca6ea68fe63ecc8fa4fcf00ae651fc8a5d02d93dcd12ae6d4fc7ca46c4d395"}, +] +pytimeparse = [ + {file = "pytimeparse-1.1.8-py2.py3-none-any.whl", hash = "sha256:04b7be6cc8bd9f5647a6325444926c3ac34ee6bc7e69da4367ba282f076036bd"}, + {file = "pytimeparse-1.1.8.tar.gz", hash = "sha256:e86136477be924d7e670646a98561957e8ca7308d44841e21f5ddea757556a0a"}, +] +pytz = [ + {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, + {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, +] +pytzdata = [ + {file = "pytzdata-2020.1-py2.py3-none-any.whl", hash = "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f"}, + {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, +] +pywin32 = [ + {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, + {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, + {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, + {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"}, + {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"}, + {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"}, + {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"}, + {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"}, + {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"}, + {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"}, + {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"}, + {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"}, + {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, + {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, +] +pywin32-ctypes = [ + {file = "pywin32-ctypes-0.2.2.tar.gz", hash = "sha256:3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60"}, + {file = "pywin32_ctypes-0.2.2-py3-none-any.whl", hash = "sha256:bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7"}, +] +pyyaml = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-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"}, +] +qdrant-client = [ + {file = "qdrant_client-1.6.4-py3-none-any.whl", hash = "sha256:db4696978d6a62d78ff60f70b912383f1e467bda3053f732b01ddb5f93281b10"}, + {file = "qdrant_client-1.6.4.tar.gz", hash = "sha256:bbd65f383b6a55a9ccf4e301250fa925179340dd90cfde9b93ce4230fd68867b"}, +] +redshift-connector = [ + {file = "redshift_connector-2.0.913-py3-none-any.whl", hash = "sha256:bd70395c5b7ec9fcae9565daff6bcb88c7d3ea6182dafba2bac6138f68d00582"}, +] +referencing = [ + {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"}, + {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"}, +] +regex = [ + {file = "regex-2023.8.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:88900f521c645f784260a8d346e12a1590f79e96403971241e64c3a265c8ecdb"}, + {file = "regex-2023.8.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3611576aff55918af2697410ff0293d6071b7e00f4b09e005d614686ac4cd57c"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8a0ccc8f2698f120e9e5742f4b38dc944c38744d4bdfc427616f3a163dd9de5"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c662a4cbdd6280ee56f841f14620787215a171c4e2d1744c9528bed8f5816c96"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf0633e4a1b667bfe0bb10b5e53fe0d5f34a6243ea2530eb342491f1adf4f739"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:551ad543fa19e94943c5b2cebc54c73353ffff08228ee5f3376bd27b3d5b9800"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54de2619f5ea58474f2ac211ceea6b615af2d7e4306220d4f3fe690c91988a61"}, + {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5ec4b3f0aebbbe2fc0134ee30a791af522a92ad9f164858805a77442d7d18570"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ae646c35cb9f820491760ac62c25b6d6b496757fda2d51be429e0e7b67ae0ab"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca339088839582d01654e6f83a637a4b8194d0960477b9769d2ff2cfa0fa36d2"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:d9b6627408021452dcd0d2cdf8da0534e19d93d070bfa8b6b4176f99711e7f90"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:bd3366aceedf274f765a3a4bc95d6cd97b130d1dda524d8f25225d14123c01db"}, + {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7aed90a72fc3654fba9bc4b7f851571dcc368120432ad68b226bd593f3f6c0b7"}, + {file = "regex-2023.8.8-cp310-cp310-win32.whl", hash = "sha256:80b80b889cb767cc47f31d2b2f3dec2db8126fbcd0cff31b3925b4dc6609dcdb"}, + {file = "regex-2023.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:b82edc98d107cbc7357da7a5a695901b47d6eb0420e587256ba3ad24b80b7d0b"}, + {file = "regex-2023.8.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1e7d84d64c84ad97bf06f3c8cb5e48941f135ace28f450d86af6b6512f1c9a71"}, + {file = "regex-2023.8.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce0f9fbe7d295f9922c0424a3637b88c6c472b75eafeaff6f910494a1fa719ef"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06c57e14ac723b04458df5956cfb7e2d9caa6e9d353c0b4c7d5d54fcb1325c46"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e7a9aaa5a1267125eef22cef3b63484c3241aaec6f48949b366d26c7250e0357"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b7408511fca48a82a119d78a77c2f5eb1b22fe88b0d2450ed0756d194fe7a9a"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14dc6f2d88192a67d708341f3085df6a4f5a0c7b03dec08d763ca2cd86e9f559"}, + {file = "regex-2023.8.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48c640b99213643d141550326f34f0502fedb1798adb3c9eb79650b1ecb2f177"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0085da0f6c6393428bf0d9c08d8b1874d805bb55e17cb1dfa5ddb7cfb11140bf"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:964b16dcc10c79a4a2be9f1273fcc2684a9eedb3906439720598029a797b46e6"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7ce606c14bb195b0e5108544b540e2c5faed6843367e4ab3deb5c6aa5e681208"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:40f029d73b10fac448c73d6eb33d57b34607f40116e9f6e9f0d32e9229b147d7"}, + {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3b8e6ea6be6d64104d8e9afc34c151926f8182f84e7ac290a93925c0db004bfd"}, + {file = "regex-2023.8.8-cp311-cp311-win32.whl", hash = "sha256:942f8b1f3b223638b02df7df79140646c03938d488fbfb771824f3d05fc083a8"}, + {file = "regex-2023.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:51d8ea2a3a1a8fe4f67de21b8b93757005213e8ac3917567872f2865185fa7fb"}, + {file = "regex-2023.8.8-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e951d1a8e9963ea51efd7f150450803e3b95db5939f994ad3d5edac2b6f6e2b4"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704f63b774218207b8ccc6c47fcef5340741e5d839d11d606f70af93ee78e4d4"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22283c769a7b01c8ac355d5be0715bf6929b6267619505e289f792b01304d898"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91129ff1bb0619bc1f4ad19485718cc623a2dc433dff95baadbf89405c7f6b57"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de35342190deb7b866ad6ba5cbcccb2d22c0487ee0cbb251efef0843d705f0d4"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b993b6f524d1e274a5062488a43e3f9f8764ee9745ccd8e8193df743dbe5ee61"}, + {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3026cbcf11d79095a32d9a13bbc572a458727bd5b1ca332df4a79faecd45281c"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:293352710172239bf579c90a9864d0df57340b6fd21272345222fb6371bf82b3"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d909b5a3fff619dc7e48b6b1bedc2f30ec43033ba7af32f936c10839e81b9217"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:3d370ff652323c5307d9c8e4c62efd1956fb08051b0e9210212bc51168b4ff56"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:b076da1ed19dc37788f6a934c60adf97bd02c7eea461b73730513921a85d4235"}, + {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e9941a4ada58f6218694f382e43fdd256e97615db9da135e77359da257a7168b"}, + {file = "regex-2023.8.8-cp36-cp36m-win32.whl", hash = "sha256:a8c65c17aed7e15a0c824cdc63a6b104dfc530f6fa8cb6ac51c437af52b481c7"}, + {file = "regex-2023.8.8-cp36-cp36m-win_amd64.whl", hash = "sha256:aadf28046e77a72f30dcc1ab185639e8de7f4104b8cb5c6dfa5d8ed860e57236"}, + {file = "regex-2023.8.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:423adfa872b4908843ac3e7a30f957f5d5282944b81ca0a3b8a7ccbbfaa06103"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ae594c66f4a7e1ea67232a0846649a7c94c188d6c071ac0210c3e86a5f92109"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e51c80c168074faa793685656c38eb7a06cbad7774c8cbc3ea05552d615393d8"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09b7f4c66aa9d1522b06e31a54f15581c37286237208df1345108fcf4e050c18"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e73e5243af12d9cd6a9d6a45a43570dbe2e5b1cdfc862f5ae2b031e44dd95a8"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:941460db8fe3bd613db52f05259c9336f5a47ccae7d7def44cc277184030a116"}, + {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f0ccf3e01afeb412a1a9993049cb160d0352dba635bbca7762b2dc722aa5742a"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2e9216e0d2cdce7dbc9be48cb3eacb962740a09b011a116fd7af8c832ab116ca"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:5cd9cd7170459b9223c5e592ac036e0704bee765706445c353d96f2890e816c8"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4873ef92e03a4309b3ccd8281454801b291b689f6ad45ef8c3658b6fa761d7ac"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:239c3c2a339d3b3ddd51c2daef10874410917cd2b998f043c13e2084cb191684"}, + {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1005c60ed7037be0d9dea1f9c53cc42f836188227366370867222bda4c3c6bd7"}, + {file = "regex-2023.8.8-cp37-cp37m-win32.whl", hash = "sha256:e6bd1e9b95bc5614a7a9c9c44fde9539cba1c823b43a9f7bc11266446dd568e3"}, + {file = "regex-2023.8.8-cp37-cp37m-win_amd64.whl", hash = "sha256:9a96edd79661e93327cfeac4edec72a4046e14550a1d22aa0dd2e3ca52aec921"}, + {file = "regex-2023.8.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f2181c20ef18747d5f4a7ea513e09ea03bdd50884a11ce46066bb90fe4213675"}, + {file = "regex-2023.8.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a2ad5add903eb7cdde2b7c64aaca405f3957ab34f16594d2b78d53b8b1a6a7d6"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9233ac249b354c54146e392e8a451e465dd2d967fc773690811d3a8c240ac601"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:920974009fb37b20d32afcdf0227a2e707eb83fe418713f7a8b7de038b870d0b"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2b6c5dfe0929b6c23dde9624483380b170b6e34ed79054ad131b20203a1a63"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96979d753b1dc3b2169003e1854dc67bfc86edf93c01e84757927f810b8c3c93"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ae54a338191e1356253e7883d9d19f8679b6143703086245fb14d1f20196be9"}, + {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2162ae2eb8b079622176a81b65d486ba50b888271302190870b8cc488587d280"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c884d1a59e69e03b93cf0dfee8794c63d7de0ee8f7ffb76e5f75be8131b6400a"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cf9273e96f3ee2ac89ffcb17627a78f78e7516b08f94dc435844ae72576a276e"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:83215147121e15d5f3a45d99abeed9cf1fe16869d5c233b08c56cdf75f43a504"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f7454aa427b8ab9101f3787eb178057c5250478e39b99540cfc2b889c7d0586"}, + {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0640913d2c1044d97e30d7c41728195fc37e54d190c5385eacb52115127b882"}, + {file = "regex-2023.8.8-cp38-cp38-win32.whl", hash = "sha256:0c59122ceccb905a941fb23b087b8eafc5290bf983ebcb14d2301febcbe199c7"}, + {file = "regex-2023.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:c12f6f67495ea05c3d542d119d270007090bad5b843f642d418eb601ec0fa7be"}, + {file = "regex-2023.8.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:82cd0a69cd28f6cc3789cc6adeb1027f79526b1ab50b1f6062bbc3a0ccb2dbc3"}, + {file = "regex-2023.8.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bb34d1605f96a245fc39790a117ac1bac8de84ab7691637b26ab2c5efb8f228c"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:987b9ac04d0b38ef4f89fbc035e84a7efad9cdd5f1e29024f9289182c8d99e09"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dd6082f4e2aec9b6a0927202c85bc1b09dcab113f97265127c1dc20e2e32495"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7eb95fe8222932c10d4436e7a6f7c99991e3fdd9f36c949eff16a69246dee2dc"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7098c524ba9f20717a56a8d551d2ed491ea89cbf37e540759ed3b776a4f8d6eb"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b694430b3f00eb02c594ff5a16db30e054c1b9589a043fe9174584c6efa8033"}, + {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2aeab3895d778155054abea5238d0eb9a72e9242bd4b43f42fd911ef9a13470"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:988631b9d78b546e284478c2ec15c8a85960e262e247b35ca5eaf7ee22f6050a"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:67ecd894e56a0c6108ec5ab1d8fa8418ec0cff45844a855966b875d1039a2e34"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:14898830f0a0eb67cae2bbbc787c1a7d6e34ecc06fbd39d3af5fe29a4468e2c9"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:f2200e00b62568cfd920127782c61bc1c546062a879cdc741cfcc6976668dfcf"}, + {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9691a549c19c22d26a4f3b948071e93517bdf86e41b81d8c6ac8a964bb71e5a6"}, + {file = "regex-2023.8.8-cp39-cp39-win32.whl", hash = "sha256:6ab2ed84bf0137927846b37e882745a827458689eb969028af8032b1b3dac78e"}, + {file = "regex-2023.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5543c055d8ec7801901e1193a51570643d6a6ab8751b1f7dd9af71af467538bb"}, + {file = "regex-2023.8.8.tar.gz", hash = "sha256:fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"}, +] +requests = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] +requests-mock = [ + {file = "requests-mock-1.11.0.tar.gz", hash = "sha256:ef10b572b489a5f28e09b708697208c4a3b2b89ef80a9f01584340ea357ec3c4"}, + {file = "requests_mock-1.11.0-py2.py3-none-any.whl", hash = "sha256:f7fae383f228633f6bececebdab236c478ace2284d6292c6e7e2867b9ab74d15"}, +] +requests-oauthlib = [ + {file = "requests-oauthlib-1.3.1.tar.gz", hash = "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a"}, + {file = "requests_oauthlib-1.3.1-py2.py3-none-any.whl", hash = "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5"}, +] +requests-toolbelt = [ + {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, + {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, +] +requirements-parser = [ + {file = "requirements-parser-0.5.0.tar.gz", hash = "sha256:3336f3a3ae23e06d3f0f88595e4052396e3adf91688787f637e5d2ca1a904069"}, + {file = "requirements_parser-0.5.0-py3-none-any.whl", hash = "sha256:e7fcdcd04f2049e73a9fb150d8a0f9d51ce4108f5f7cbeac74c484e17b12bcd9"}, +] +rfc3339-validator = [ + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, +] +rich = [ + {file = "rich-13.5.2-py3-none-any.whl", hash = "sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808"}, + {file = "rich-13.5.2.tar.gz", hash = "sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"}, +] +rich-argparse = [ + {file = "rich_argparse-1.3.0-py3-none-any.whl", hash = "sha256:1a5eda1659c0a215862fe3630fcbe68d7792f18a8106baaf4e005b9896acc6f6"}, + {file = "rich_argparse-1.3.0.tar.gz", hash = "sha256:974cc1ba0aaa0d6aabc09ab1b78f9ba928670e08590f9551121bcbc60c75b74a"}, +] +rpds-py = [ + {file = "rpds_py-0.10.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:c1e0e9916301e3b3d970814b1439ca59487f0616d30f36a44cead66ee1748c31"}, + {file = "rpds_py-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ce8caa29ebbdcde67e5fd652c811d34bc01f249dbc0d61e5cc4db05ae79a83b"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad277f74b1c164f7248afa968700e410651eb858d7c160d109fb451dc45a2f09"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e1c68303ccf7fceb50fbab79064a2636119fd9aca121f28453709283dbca727"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:780fcb855be29153901c67fc9c5633d48aebef21b90aa72812fa181d731c6b00"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bbd7b24d108509a1b9b6679fcc1166a7dd031dbef1f3c2c73788f42e3ebb3beb"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0700c2133ba203c4068aaecd6a59bda22e06a5e46255c9da23cbf68c6942215d"}, + {file = "rpds_py-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:576da63eae7809f375932bfcbca2cf20620a1915bf2fedce4b9cc8491eceefe3"}, + {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23750a9b8a329844ba1fe267ca456bb3184984da2880ed17ae641c5af8de3fef"}, + {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d08395595c42bcd82c3608762ce734504c6d025eef1c06f42326a6023a584186"}, + {file = "rpds_py-0.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1d7b7b71bcb82d8713c7c2e9c5f061415598af5938666beded20d81fa23e7640"}, + {file = "rpds_py-0.10.0-cp310-none-win32.whl", hash = "sha256:97f5811df21703446b42303475b8b855ee07d6ab6cdf8565eff115540624f25d"}, + {file = "rpds_py-0.10.0-cp310-none-win_amd64.whl", hash = "sha256:cdbed8f21204398f47de39b0a9b180d7e571f02dfb18bf5f1b618e238454b685"}, + {file = "rpds_py-0.10.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:7a3a3d3e4f1e3cd2a67b93a0b6ed0f2499e33f47cc568e3a0023e405abdc0ff1"}, + {file = "rpds_py-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fc72ae476732cdb7b2c1acb5af23b478b8a0d4b6fcf19b90dd150291e0d5b26b"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0583f69522732bdd79dca4cd3873e63a29acf4a299769c7541f2ca1e4dd4bc6"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f8b9a7cd381970e64849070aca7c32d53ab7d96c66db6c2ef7aa23c6e803f514"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d292cabd7c8335bdd3237ded442480a249dbcdb4ddfac5218799364a01a0f5c"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6903cdca64f1e301af9be424798328c1fe3b4b14aede35f04510989fc72f012"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bed57543c99249ab3a4586ddc8786529fbc33309e5e8a1351802a06ca2baf4c2"}, + {file = "rpds_py-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15932ec5f224b0e35764dc156514533a4fca52dcfda0dfbe462a1a22b37efd59"}, + {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eb2d59bc196e6d3b1827c7db06c1a898bfa0787c0574af398e65ccf2e97c0fbe"}, + {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f99d74ddf9d3b6126b509e81865f89bd1283e3fc1b568b68cd7bd9dfa15583d7"}, + {file = "rpds_py-0.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f70bec8a14a692be6dbe7ce8aab303e88df891cbd4a39af091f90b6702e28055"}, + {file = "rpds_py-0.10.0-cp311-none-win32.whl", hash = "sha256:5f7487be65b9c2c510819e744e375bd41b929a97e5915c4852a82fbb085df62c"}, + {file = "rpds_py-0.10.0-cp311-none-win_amd64.whl", hash = "sha256:748e472345c3a82cfb462d0dff998a7bf43e621eed73374cb19f307e97e08a83"}, + {file = "rpds_py-0.10.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:d4639111e73997567343df6551da9dd90d66aece1b9fc26c786d328439488103"}, + {file = "rpds_py-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f4760e1b02173f4155203054f77a5dc0b4078de7645c922b208d28e7eb99f3e2"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a6420a36975e0073acaeee44ead260c1f6ea56812cfc6c31ec00c1c48197173"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:58fc4d66ee349a23dbf08c7e964120dc9027059566e29cf0ce6205d590ed7eca"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:063411228b852fb2ed7485cf91f8e7d30893e69b0acb207ec349db04cccc8225"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65af12f70355de29e1092f319f85a3467f4005e959ab65129cb697169ce94b86"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298e8b5d8087e0330aac211c85428c8761230ef46a1f2c516d6a2f67fb8803c5"}, + {file = "rpds_py-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5b9bf77008f2c55dabbd099fd3ac87009471d223a1c7ebea36873d39511b780a"}, + {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c7853f27195598e550fe089f78f0732c66ee1d1f0eaae8ad081589a5a2f5d4af"}, + {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:75dbfd41a61bc1fb0536bf7b1abf272dc115c53d4d77db770cd65d46d4520882"}, + {file = "rpds_py-0.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b25136212a3d064a8f0b9ebbb6c57094c5229e0de76d15c79b76feff26aeb7b8"}, + {file = "rpds_py-0.10.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:9affee8cb1ec453382c27eb9043378ab32f49cd4bc24a24275f5c39bf186c279"}, + {file = "rpds_py-0.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4d55528ef13af4b4e074d067977b1f61408602f53ae4537dccf42ba665c2c7bd"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7865df1fb564092bcf46dac61b5def25342faf6352e4bc0e61a286e3fa26a3d"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3f5cc8c7bc99d2bbcd704cef165ca7d155cd6464c86cbda8339026a42d219397"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cbae50d352e4717ffc22c566afc2d0da744380e87ed44a144508e3fb9114a3f4"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fccbf0cd3411719e4c9426755df90bf3449d9fc5a89f077f4a7f1abd4f70c910"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d10c431073dc6ebceed35ab22948a016cc2b5120963c13a41e38bdde4a7212"}, + {file = "rpds_py-0.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1b401e8b9aece651512e62c431181e6e83048a651698a727ea0eb0699e9f9b74"}, + {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7618a082c55cf038eede4a918c1001cc8a4411dfe508dc762659bcd48d8f4c6e"}, + {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:b3226b246facae14909b465061ddcfa2dfeadb6a64f407f24300d42d69bcb1a1"}, + {file = "rpds_py-0.10.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a8edd467551c1102dc0f5754ab55cd0703431cd3044edf8c8e7d9208d63fa453"}, + {file = "rpds_py-0.10.0-cp38-none-win32.whl", hash = "sha256:71333c22f7cf5f0480b59a0aef21f652cf9bbaa9679ad261b405b65a57511d1e"}, + {file = "rpds_py-0.10.0-cp38-none-win_amd64.whl", hash = "sha256:a8ab1adf04ae2d6d65835995218fd3f3eb644fe20655ca8ee233e2c7270ff53b"}, + {file = "rpds_py-0.10.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:87c93b25d538c433fb053da6228c6290117ba53ff6a537c133b0f2087948a582"}, + {file = "rpds_py-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7996aed3f65667c6dcc8302a69368435a87c2364079a066750a2eac75ea01e"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8856aa76839dc234d3469f1e270918ce6bec1d6a601eba928f45d68a15f04fc3"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00215f6a9058fbf84f9d47536902558eb61f180a6b2a0fa35338d06ceb9a2e5a"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23a059143c1393015c68936370cce11690f7294731904bdae47cc3e16d0b2474"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e5c26905aa651cc8c0ddc45e0e5dea2a1296f70bdc96af17aee9d0493280a17"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c651847545422c8131660704c58606d841e228ed576c8f1666d98b3d318f89da"}, + {file = "rpds_py-0.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:80992eb20755701753e30a6952a96aa58f353d12a65ad3c9d48a8da5ec4690cf"}, + {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ffcf18ad3edf1c170e27e88b10282a2c449aa0358659592462448d71b2000cfc"}, + {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08e08ccf5b10badb7d0a5c84829b914c6e1e1f3a716fdb2bf294e2bd01562775"}, + {file = "rpds_py-0.10.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7150b83b3e3ddaac81a8bb6a9b5f93117674a0e7a2b5a5b32ab31fdfea6df27f"}, + {file = "rpds_py-0.10.0-cp39-none-win32.whl", hash = "sha256:3455ecc46ea443b5f7d9c2f946ce4017745e017b0d0f8b99c92564eff97e97f5"}, + {file = "rpds_py-0.10.0-cp39-none-win_amd64.whl", hash = "sha256:afe6b5a04b2ab1aa89bad32ca47bf71358e7302a06fdfdad857389dca8fb5f04"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:b1cb078f54af0abd835ca76f93a3152565b73be0f056264da45117d0adf5e99c"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8e7e2b3577e97fa43c2c2b12a16139b2cedbd0770235d5179c0412b4794efd9b"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae46a50d235f1631d9ec4670503f7b30405103034830bc13df29fd947207f795"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f869e34d2326e417baee430ae998e91412cc8e7fdd83d979277a90a0e79a5b47"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d544a614055b131111bed6edfa1cb0fb082a7265761bcb03321f2dd7b5c6c48"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ee9c2f6ca9774c2c24bbf7b23086264e6b5fa178201450535ec0859739e6f78d"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2da4a8c6d465fde36cea7d54bf47b5cf089073452f0e47c8632ecb9dec23c07"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac00c41dd315d147b129976204839ca9de699d83519ff1272afbe4fb9d362d12"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:0155c33af0676fc38e1107679be882077680ad1abb6303956b97259c3177e85e"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:db6585b600b2e76e98131e0ac0e5195759082b51687ad0c94505970c90718f4a"}, + {file = "rpds_py-0.10.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:7b6975d3763d0952c111700c0634968419268e6bbc0b55fe71138987fa66f309"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:6388e4e95a26717b94a05ced084e19da4d92aca883f392dffcf8e48c8e221a24"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:18f87baa20e02e9277ad8960cd89b63c79c05caf106f4c959a9595c43f2a34a5"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f05fc7d832e970047662b3440b190d24ea04f8d3c760e33e7163b67308c878"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:291c9ce3929a75b45ce8ddde2aa7694fc8449f2bc8f5bd93adf021efaae2d10b"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:861d25ae0985a1dd5297fee35f476b60c6029e2e6e19847d5b4d0a43a390b696"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:668d2b45d62c68c7a370ac3dce108ffda482b0a0f50abd8b4c604a813a59e08f"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:344b89384c250ba6a4ce1786e04d01500e4dac0f4137ceebcaad12973c0ac0b3"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:885e023e73ce09b11b89ab91fc60f35d80878d2c19d6213a32b42ff36543c291"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:841128a22e6ac04070a0f84776d07e9c38c4dcce8e28792a95e45fc621605517"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:899b5e7e2d5a8bc92aa533c2d4e55e5ebba095c485568a5e4bedbc163421259a"}, + {file = "rpds_py-0.10.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e7947d9a6264c727a556541b1630296bbd5d0a05068d21c38dde8e7a1c703ef0"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4992266817169997854f81df7f6db7bdcda1609972d8ffd6919252f09ec3c0f6"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:26d9fd624649a10e4610fab2bc820e215a184d193e47d0be7fe53c1c8f67f370"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0028eb0967942d0d2891eae700ae1a27b7fd18604cfcb16a1ef486a790fee99e"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9e7e493ded7042712a374471203dd43ae3fff5b81e3de1a0513fa241af9fd41"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d68a8e8a3a816629283faf82358d8c93fe5bd974dd2704152394a3de4cec22a"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6d5f061f6a2aa55790b9e64a23dfd87b6664ab56e24cd06c78eb43986cb260b"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c7c4266c1b61eb429e8aeb7d8ed6a3bfe6c890a1788b18dbec090c35c6b93fa"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:80772e3bda6787510d9620bc0c7572be404a922f8ccdfd436bf6c3778119464c"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:b98e75b21fc2ba5285aef8efaf34131d16af1c38df36bdca2f50634bea2d3060"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:d63787f289944cc4bde518ad2b5e70a4f0d6e2ce76324635359c74c113fd188f"}, + {file = "rpds_py-0.10.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:872f3dcaa8bf2245944861d7311179d2c0c9b2aaa7d3b464d99a7c2e401f01fa"}, + {file = "rpds_py-0.10.0.tar.gz", hash = "sha256:e36d7369363d2707d5f68950a64c4e025991eb0177db01ccb6aa6facae48b69f"}, +] +rsa = [ + {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] +s3fs = [ + {file = "s3fs-2023.6.0-py3-none-any.whl", hash = "sha256:d1a0a423d0d2e17fb2a193d9531935dc3f45ba742693448a461b6b34f6a92a24"}, + {file = "s3fs-2023.6.0.tar.gz", hash = "sha256:63fd8ddf05eb722de784b7b503196107f2a518061298cf005a8a4715b4d49117"}, +] +s3transfer = [ + {file = "s3transfer-0.6.2-py3-none-any.whl", hash = "sha256:b014be3a8a2aab98cfe1abc7229cc5a9a0cf05eb9c1f2b86b230fd8df3f78084"}, + {file = "s3transfer-0.6.2.tar.gz", hash = "sha256:cab66d3380cca3e70939ef2255d01cd8aece6a4907a9528740f668c4b0611861"}, +] +scramp = [ + {file = "scramp-1.4.4-py3-none-any.whl", hash = "sha256:b142312df7c2977241d951318b7ee923d6b7a4f75ba0f05b621ece1ed616faa3"}, + {file = "scramp-1.4.4.tar.gz", hash = "sha256:b7022a140040f33cf863ab2657917ed05287a807b917950489b89b9f685d59bc"}, +] +secretstorage = [ + {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, + {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, +] +semver = [ + {file = "semver-3.0.1-py3-none-any.whl", hash = "sha256:2a23844ba1647362c7490fe3995a86e097bb590d16f0f32dfc383008f19e4cdf"}, + {file = "semver-3.0.1.tar.gz", hash = "sha256:9ec78c5447883c67b97f98c3b6212796708191d22e4ad30f4570f840171cbce1"}, +] +sentry-sdk = [ + {file = "sentry-sdk-1.30.0.tar.gz", hash = "sha256:7dc873b87e1faf4d00614afd1058bfa1522942f33daef8a59f90de8ed75cd10c"}, + {file = "sentry_sdk-1.30.0-py2.py3-none-any.whl", hash = "sha256:2e53ad63f96bb9da6570ba2e755c267e529edcf58580a2c0d2a11ef26e1e678b"}, +] +setproctitle = [ + {file = "setproctitle-1.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:288943dec88e178bb2fd868adf491197cc0fc8b6810416b1c6775e686bab87fe"}, + {file = "setproctitle-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:630f6fe5e24a619ccf970c78e084319ee8be5be253ecc9b5b216b0f474f5ef18"}, + {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c877691b90026670e5a70adfbcc735460a9f4c274d35ec5e8a43ce3f8443005"}, + {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7a55fe05f15c10e8c705038777656fe45e3bd676d49ad9ac8370b75c66dd7cd7"}, + {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab45146c71ca6592c9cc8b354a2cc9cc4843c33efcbe1d245d7d37ce9696552d"}, + {file = "setproctitle-1.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e00c9d5c541a2713ba0e657e0303bf96ddddc412ef4761676adc35df35d7c246"}, + {file = "setproctitle-1.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:265ecbe2c6eafe82e104f994ddd7c811520acdd0647b73f65c24f51374cf9494"}, + {file = "setproctitle-1.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c2c46200656280a064073447ebd363937562debef329482fd7e570c8d498f806"}, + {file = "setproctitle-1.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:fa2f50678f04fda7a75d0fe5dd02bbdd3b13cbe6ed4cf626e4472a7ccf47ae94"}, + {file = "setproctitle-1.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7f2719a398e1a2c01c2a63bf30377a34d0b6ef61946ab9cf4d550733af8f1ef1"}, + {file = "setproctitle-1.3.2-cp310-cp310-win32.whl", hash = "sha256:e425be62524dc0c593985da794ee73eb8a17abb10fe692ee43bb39e201d7a099"}, + {file = "setproctitle-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:e85e50b9c67854f89635a86247412f3ad66b132a4d8534ac017547197c88f27d"}, + {file = "setproctitle-1.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2a97d51c17d438cf5be284775a322d57b7ca9505bb7e118c28b1824ecaf8aeaa"}, + {file = "setproctitle-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:587c7d6780109fbd8a627758063d08ab0421377c0853780e5c356873cdf0f077"}, + {file = "setproctitle-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d17c8bd073cbf8d141993db45145a70b307385b69171d6b54bcf23e5d644de"}, + {file = "setproctitle-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e932089c35a396dc31a5a1fc49889dd559548d14cb2237adae260382a090382e"}, + {file = "setproctitle-1.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e4f8f12258a8739c565292a551c3db62cca4ed4f6b6126664e2381acb4931bf"}, + {file = "setproctitle-1.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:570d255fd99c7f14d8f91363c3ea96bd54f8742275796bca67e1414aeca7d8c3"}, + {file = "setproctitle-1.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a8e0881568c5e6beff91ef73c0ec8ac2a9d3ecc9edd6bd83c31ca34f770910c4"}, + {file = "setproctitle-1.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4bba3be4c1fabf170595b71f3af46c6d482fbe7d9e0563999b49999a31876f77"}, + {file = "setproctitle-1.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:37ece938110cab2bb3957e3910af8152ca15f2b6efdf4f2612e3f6b7e5459b80"}, + {file = "setproctitle-1.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db684d6bbb735a80bcbc3737856385b55d53f8a44ce9b46e9a5682c5133a9bf7"}, + {file = "setproctitle-1.3.2-cp311-cp311-win32.whl", hash = "sha256:ca58cd260ea02759238d994cfae844fc8b1e206c684beb8f38877dcab8451dfc"}, + {file = "setproctitle-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:88486e6cce2a18a033013d17b30a594f1c5cb42520c49c19e6ade40b864bb7ff"}, + {file = "setproctitle-1.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:92c626edc66169a1b09e9541b9c0c9f10488447d8a2b1d87c8f0672e771bc927"}, + {file = "setproctitle-1.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:710e16fa3bade3b026907e4a5e841124983620046166f355bbb84be364bf2a02"}, + {file = "setproctitle-1.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f29b75e86260b0ab59adb12661ef9f113d2f93a59951373eb6d68a852b13e83"}, + {file = "setproctitle-1.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c8d9650154afaa86a44ff195b7b10d683c73509d085339d174e394a22cccbb9"}, + {file = "setproctitle-1.3.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0452282258dfcc01697026a8841258dd2057c4438b43914b611bccbcd048f10"}, + {file = "setproctitle-1.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:e49ae693306d7624015f31cb3e82708916759d592c2e5f72a35c8f4cc8aef258"}, + {file = "setproctitle-1.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1ff863a20d1ff6ba2c24e22436a3daa3cd80be1dfb26891aae73f61b54b04aca"}, + {file = "setproctitle-1.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:55ce1e9925ce1765865442ede9dca0ba9bde10593fcd570b1f0fa25d3ec6b31c"}, + {file = "setproctitle-1.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7fe9df7aeb8c64db6c34fc3b13271a363475d77bc157d3f00275a53910cb1989"}, + {file = "setproctitle-1.3.2-cp37-cp37m-win32.whl", hash = "sha256:e5c50e164cd2459bc5137c15288a9ef57160fd5cbf293265ea3c45efe7870865"}, + {file = "setproctitle-1.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:a499fff50387c1520c085a07578a000123f519e5f3eee61dd68e1d301659651f"}, + {file = "setproctitle-1.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5b932c3041aa924163f4aab970c2f0e6b4d9d773f4d50326e0ea1cd69240e5c5"}, + {file = "setproctitle-1.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4bfc89bd33ebb8e4c0e9846a09b1f5a4a86f5cb7a317e75cc42fee1131b4f4f"}, + {file = "setproctitle-1.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcd3cf4286a60fdc95451d8d14e0389a6b4f5cebe02c7f2609325eb016535963"}, + {file = "setproctitle-1.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fb4f769c02f63fac90989711a3fee83919f47ae9afd4758ced5d86596318c65"}, + {file = "setproctitle-1.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5194b4969f82ea842a4f6af2f82cd16ebdc3f1771fb2771796e6add9835c1973"}, + {file = "setproctitle-1.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f0cde41857a644b7353a0060b5f94f7ba7cf593ebde5a1094da1be581ac9a31"}, + {file = "setproctitle-1.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9124bedd8006b0e04d4e8a71a0945da9b67e7a4ab88fdad7b1440dc5b6122c42"}, + {file = "setproctitle-1.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c8a09d570b39517de10ee5b718730e171251ce63bbb890c430c725c8c53d4484"}, + {file = "setproctitle-1.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:8ff3c8cb26afaed25e8bca7b9dd0c1e36de71f35a3a0706b5c0d5172587a3827"}, + {file = "setproctitle-1.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:589be87172b238f839e19f146b9ea47c71e413e951ef0dc6db4218ddacf3c202"}, + {file = "setproctitle-1.3.2-cp38-cp38-win32.whl", hash = "sha256:4749a2b0c9ac52f864d13cee94546606f92b981b50e46226f7f830a56a9dc8e1"}, + {file = "setproctitle-1.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:e43f315c68aa61cbdef522a2272c5a5b9b8fd03c301d3167b5e1343ef50c676c"}, + {file = "setproctitle-1.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:de3a540cd1817ede31f530d20e6a4935bbc1b145fd8f8cf393903b1e02f1ae76"}, + {file = "setproctitle-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4058564195b975ddc3f0462375c533cce310ccdd41b80ac9aed641c296c3eff4"}, + {file = "setproctitle-1.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c5d5dad7c28bdd1ec4187d818e43796f58a845aa892bb4481587010dc4d362b"}, + {file = "setproctitle-1.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ffc61a388a5834a97953d6444a2888c24a05f2e333f9ed49f977a87bb1ad4761"}, + {file = "setproctitle-1.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fa1a0fbee72b47dc339c87c890d3c03a72ea65c061ade3204f285582f2da30f"}, + {file = "setproctitle-1.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8a988c7220c002c45347430993830666e55bc350179d91fcee0feafe64e1d4"}, + {file = "setproctitle-1.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bae283e85fc084b18ffeb92e061ff7ac5af9e183c9d1345c93e178c3e5069cbe"}, + {file = "setproctitle-1.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fed18e44711c5af4b681c2b3b18f85e6f0f1b2370a28854c645d636d5305ccd8"}, + {file = "setproctitle-1.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:b34baef93bfb20a8ecb930e395ccd2ae3268050d8cf4fe187de5e2bd806fd796"}, + {file = "setproctitle-1.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7f0bed90a216ef28b9d227d8d73e28a8c9b88c0f48a082d13ab3fa83c581488f"}, + {file = "setproctitle-1.3.2-cp39-cp39-win32.whl", hash = "sha256:4d8938249a7cea45ab7e1e48b77685d0f2bab1ebfa9dde23e94ab97968996a7c"}, + {file = "setproctitle-1.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:a47d97a75fd2d10c37410b180f67a5835cb1d8fdea2648fd7f359d4277f180b9"}, + {file = "setproctitle-1.3.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:dad42e676c5261eb50fdb16bdf3e2771cf8f99a79ef69ba88729aeb3472d8575"}, + {file = "setproctitle-1.3.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c91b9bc8985d00239f7dc08a49927a7ca1ca8a6af2c3890feec3ed9665b6f91e"}, + {file = "setproctitle-1.3.2-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8579a43eafd246e285eb3a5b939e7158073d5087aacdd2308f23200eac2458b"}, + {file = "setproctitle-1.3.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:2fbd8187948284293f43533c150cd69a0e4192c83c377da837dbcd29f6b83084"}, + {file = "setproctitle-1.3.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:faec934cfe5fd6ac1151c02e67156c3f526e82f96b24d550b5d51efa4a5527c6"}, + {file = "setproctitle-1.3.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1aafc91cbdacc9e5fe712c52077369168e6b6c346f3a9d51bf600b53eae56bb"}, + {file = "setproctitle-1.3.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b617f12c9be61e8f4b2857be4a4319754756845dbbbd9c3718f468bbb1e17bcb"}, + {file = "setproctitle-1.3.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:b2c9cb2705fc84cb8798f1ba74194f4c080aaef19d9dae843591c09b97678e98"}, + {file = "setproctitle-1.3.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a149a5f7f2c5a065d4e63cb0d7a4b6d3b66e6e80f12e3f8827c4f63974cbf122"}, + {file = "setproctitle-1.3.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e3ac25bfc4a0f29d2409650c7532d5ddfdbf29f16f8a256fc31c47d0dc05172"}, + {file = "setproctitle-1.3.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65d884e22037b23fa25b2baf1a3316602ed5c5971eb3e9d771a38c3a69ce6e13"}, + {file = "setproctitle-1.3.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7aa0aac1711fadffc1d51e9d00a3bea61f68443d6ac0241a224e4d622489d665"}, + {file = "setproctitle-1.3.2.tar.gz", hash = "sha256:b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd"}, +] +setuptools = [ + {file = "setuptools-68.1.2-py3-none-any.whl", hash = "sha256:3d8083eed2d13afc9426f227b24fd1659489ec107c0e86cec2ffdde5c92e790b"}, + {file = "setuptools-68.1.2.tar.gz", hash = "sha256:3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d"}, +] +simplejson = [ + {file = "simplejson-3.19.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:412e58997a30c5deb8cab5858b8e2e5b40ca007079f7010ee74565cc13d19665"}, + {file = "simplejson-3.19.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e765b1f47293dedf77946f0427e03ee45def2862edacd8868c6cf9ab97c8afbd"}, + {file = "simplejson-3.19.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3231100edee292da78948fa0a77dee4e5a94a0a60bcba9ed7a9dc77f4d4bb11e"}, + {file = "simplejson-3.19.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:081ea6305b3b5e84ae7417e7f45956db5ea3872ec497a584ec86c3260cda049e"}, + {file = "simplejson-3.19.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:f253edf694ce836631b350d758d00a8c4011243d58318fbfbe0dd54a6a839ab4"}, + {file = "simplejson-3.19.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:5db86bb82034e055257c8e45228ca3dbce85e38d7bfa84fa7b2838e032a3219c"}, + {file = "simplejson-3.19.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:69a8b10a4f81548bc1e06ded0c4a6c9042c0be0d947c53c1ed89703f7e613950"}, + {file = "simplejson-3.19.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:58ee5e24d6863b22194020eb62673cf8cc69945fcad6b283919490f6e359f7c5"}, + {file = "simplejson-3.19.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:73d0904c2471f317386d4ae5c665b16b5c50ab4f3ee7fd3d3b7651e564ad74b1"}, + {file = "simplejson-3.19.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:66d780047c31ff316ee305c3f7550f352d87257c756413632303fc59fef19eac"}, + {file = "simplejson-3.19.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cd4d50a27b065447c9c399f0bf0a993bd0e6308db8bbbfbc3ea03b41c145775a"}, + {file = "simplejson-3.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c16ec6a67a5f66ab004190829eeede01c633936375edcad7cbf06d3241e5865"}, + {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17a963e8dd4d81061cc05b627677c1f6a12e81345111fbdc5708c9f088d752c9"}, + {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7e78d79b10aa92f40f54178ada2b635c960d24fc6141856b926d82f67e56d169"}, + {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad071cd84a636195f35fa71de2186d717db775f94f985232775794d09f8d9061"}, + {file = "simplejson-3.19.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e7c70f19405e5f99168077b785fe15fcb5f9b3c0b70b0b5c2757ce294922c8c"}, + {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54fca2b26bcd1c403146fd9461d1da76199442297160721b1d63def2a1b17799"}, + {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:48600a6e0032bed17c20319d91775f1797d39953ccfd68c27f83c8d7fc3b32cb"}, + {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:93f5ac30607157a0b2579af59a065bcfaa7fadeb4875bf927a8f8b6739c8d910"}, + {file = "simplejson-3.19.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b79642a599740603ca86cf9df54f57a2013c47e1dd4dd2ae4769af0a6816900"}, + {file = "simplejson-3.19.1-cp310-cp310-win32.whl", hash = "sha256:d9f2c27f18a0b94107d57294aab3d06d6046ea843ed4a45cae8bd45756749f3a"}, + {file = "simplejson-3.19.1-cp310-cp310-win_amd64.whl", hash = "sha256:5673d27806085d2a413b3be5f85fad6fca4b7ffd31cfe510bbe65eea52fff571"}, + {file = "simplejson-3.19.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:79c748aa61fd8098d0472e776743de20fae2686edb80a24f0f6593a77f74fe86"}, + {file = "simplejson-3.19.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:390f4a8ca61d90bcf806c3ad644e05fa5890f5b9a72abdd4ca8430cdc1e386fa"}, + {file = "simplejson-3.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d61482b5d18181e6bb4810b4a6a24c63a490c3a20e9fbd7876639653e2b30a1a"}, + {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2541fdb7467ef9bfad1f55b6c52e8ea52b3ce4a0027d37aff094190a955daa9d"}, + {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46133bc7dd45c9953e6ee4852e3de3d5a9a4a03b068bd238935a5c72f0a1ce34"}, + {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f96def94576f857abf58e031ce881b5a3fc25cbec64b2bc4824824a8a4367af9"}, + {file = "simplejson-3.19.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f14ecca970d825df0d29d5c6736ff27999ee7bdf5510e807f7ad8845f7760ce"}, + {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:66389b6b6ee46a94a493a933a26008a1bae0cfadeca176933e7ff6556c0ce998"}, + {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:22b867205cd258050c2625325fdd9a65f917a5aff22a23387e245ecae4098e78"}, + {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c39fa911e4302eb79c804b221ddec775c3da08833c0a9120041dd322789824de"}, + {file = "simplejson-3.19.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:65dafe413b15e8895ad42e49210b74a955c9ae65564952b0243a18fb35b986cc"}, + {file = "simplejson-3.19.1-cp311-cp311-win32.whl", hash = "sha256:f05d05d99fce5537d8f7a0af6417a9afa9af3a6c4bb1ba7359c53b6257625fcb"}, + {file = "simplejson-3.19.1-cp311-cp311-win_amd64.whl", hash = "sha256:b46aaf0332a8a9c965310058cf3487d705bf672641d2c43a835625b326689cf4"}, + {file = "simplejson-3.19.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b438e5eaa474365f4faaeeef1ec3e8d5b4e7030706e3e3d6b5bee6049732e0e6"}, + {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa9d614a612ad02492f704fbac636f666fa89295a5d22b4facf2d665fc3b5ea9"}, + {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46e89f58e4bed107626edce1cf098da3664a336d01fc78fddcfb1f397f553d44"}, + {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96ade243fb6f3b57e7bd3b71e90c190cd0f93ec5dce6bf38734a73a2e5fa274f"}, + {file = "simplejson-3.19.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed18728b90758d171f0c66c475c24a443ede815cf3f1a91e907b0db0ebc6e508"}, + {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:6a561320485017ddfc21bd2ed5de2d70184f754f1c9b1947c55f8e2b0163a268"}, + {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:2098811cd241429c08b7fc5c9e41fcc3f59f27c2e8d1da2ccdcf6c8e340ab507"}, + {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:8f8d179393e6f0cf6c7c950576892ea6acbcea0a320838c61968ac7046f59228"}, + {file = "simplejson-3.19.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:eff87c68058374e45225089e4538c26329a13499bc0104b52b77f8428eed36b2"}, + {file = "simplejson-3.19.1-cp36-cp36m-win32.whl", hash = "sha256:d300773b93eed82f6da138fd1d081dc96fbe53d96000a85e41460fe07c8d8b33"}, + {file = "simplejson-3.19.1-cp36-cp36m-win_amd64.whl", hash = "sha256:37724c634f93e5caaca04458f267836eb9505d897ab3947b52f33b191bf344f3"}, + {file = "simplejson-3.19.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:74bf802debe68627227ddb665c067eb8c73aa68b2476369237adf55c1161b728"}, + {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70128fb92932524c89f373e17221cf9535d7d0c63794955cc3cd5868e19f5d38"}, + {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8090e75653ea7db75bc21fa5f7bcf5f7bdf64ea258cbbac45c7065f6324f1b50"}, + {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a755f7bfc8adcb94887710dc70cc12a69a454120c6adcc6f251c3f7b46ee6aac"}, + {file = "simplejson-3.19.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ccb2c1877bc9b25bc4f4687169caa925ffda605d7569c40e8e95186e9a5e58b"}, + {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:919bc5aa4d8094cf8f1371ea9119e5d952f741dc4162810ab714aec948a23fe5"}, + {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e333c5b62e93949f5ac27e6758ba53ef6ee4f93e36cc977fe2e3df85c02f6dc4"}, + {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3a4480e348000d89cf501b5606415f4d328484bbb431146c2971123d49fd8430"}, + {file = "simplejson-3.19.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:cb502cde018e93e75dc8fc7bb2d93477ce4f3ac10369f48866c61b5e031db1fd"}, + {file = "simplejson-3.19.1-cp37-cp37m-win32.whl", hash = "sha256:f41915a4e1f059dfad614b187bc06021fefb5fc5255bfe63abf8247d2f7a646a"}, + {file = "simplejson-3.19.1-cp37-cp37m-win_amd64.whl", hash = "sha256:3844305bc33d52c4975da07f75b480e17af3558c0d13085eaa6cc2f32882ccf7"}, + {file = "simplejson-3.19.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1cb19eacb77adc5a9720244d8d0b5507421d117c7ed4f2f9461424a1829e0ceb"}, + {file = "simplejson-3.19.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:926957b278de22797bfc2f004b15297013843b595b3cd7ecd9e37ccb5fad0b72"}, + {file = "simplejson-3.19.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b0e9a5e66969f7a47dc500e3dba8edc3b45d4eb31efb855c8647700a3493dd8a"}, + {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79d46e7e33c3a4ef853a1307b2032cfb7220e1a079d0c65488fbd7118f44935a"}, + {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:344a5093b71c1b370968d0fbd14d55c9413cb6f0355fdefeb4a322d602d21776"}, + {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23fbb7b46d44ed7cbcda689295862851105c7594ae5875dce2a70eeaa498ff86"}, + {file = "simplejson-3.19.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d3025e7e9ddb48813aec2974e1a7e68e63eac911dd5e0a9568775de107ac79a"}, + {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:87b190e6ceec286219bd6b6f13547ca433f977d4600b4e81739e9ac23b5b9ba9"}, + {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dc935d8322ba9bc7b84f99f40f111809b0473df167bf5b93b89fb719d2c4892b"}, + {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3b652579c21af73879d99c8072c31476788c8c26b5565687fd9db154070d852a"}, + {file = "simplejson-3.19.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6aa7ca03f25b23b01629b1c7f78e1cd826a66bfb8809f8977a3635be2ec48f1a"}, + {file = "simplejson-3.19.1-cp38-cp38-win32.whl", hash = "sha256:08be5a241fdf67a8e05ac7edbd49b07b638ebe4846b560673e196b2a25c94b92"}, + {file = "simplejson-3.19.1-cp38-cp38-win_amd64.whl", hash = "sha256:ca56a6c8c8236d6fe19abb67ef08d76f3c3f46712c49a3b6a5352b6e43e8855f"}, + {file = "simplejson-3.19.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6424d8229ba62e5dbbc377908cfee9b2edf25abd63b855c21f12ac596cd18e41"}, + {file = "simplejson-3.19.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:547ea86ca408a6735335c881a2e6208851027f5bfd678d8f2c92a0f02c7e7330"}, + {file = "simplejson-3.19.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:889328873c35cb0b2b4c83cbb83ec52efee5a05e75002e2c0c46c4e42790e83c"}, + {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44cdb4e544134f305b033ad79ae5c6b9a32e7c58b46d9f55a64e2a883fbbba01"}, + {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc2b3f06430cbd4fac0dae5b2974d2bf14f71b415fb6de017f498950da8159b1"}, + {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d125e754d26c0298715bdc3f8a03a0658ecbe72330be247f4b328d229d8cf67f"}, + {file = "simplejson-3.19.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:476c8033abed7b1fd8db62a7600bf18501ce701c1a71179e4ce04ac92c1c5c3c"}, + {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:199a0bcd792811c252d71e3eabb3d4a132b3e85e43ebd93bfd053d5b59a7e78b"}, + {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a79b439a6a77649bb8e2f2644e6c9cc0adb720fc55bed63546edea86e1d5c6c8"}, + {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:203412745fed916fc04566ecef3f2b6c872b52f1e7fb3a6a84451b800fb508c1"}, + {file = "simplejson-3.19.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ca922c61d87b4c38f37aa706520328ffe22d7ac1553ef1cadc73f053a673553"}, + {file = "simplejson-3.19.1-cp39-cp39-win32.whl", hash = "sha256:3e0902c278243d6f7223ba3e6c5738614c971fd9a887fff8feaa8dcf7249c8d4"}, + {file = "simplejson-3.19.1-cp39-cp39-win_amd64.whl", hash = "sha256:d396b610e77b0c438846607cd56418bfc194973b9886550a98fd6724e8c6cfec"}, + {file = "simplejson-3.19.1-py3-none-any.whl", hash = "sha256:4710806eb75e87919b858af0cba4ffedc01b463edc3982ded7b55143f39e41e1"}, + {file = "simplejson-3.19.1.tar.gz", hash = "sha256:6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +smmap = [ + {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, + {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, +] +sniffio = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] +snowflake-connector-python = [ + {file = "snowflake-connector-python-3.1.1.tar.gz", hash = "sha256:2700503a5f99d6e22e412d7cf4fd2211296cc0e50b2a38ad9c6f48ddb8beff67"}, + {file = "snowflake_connector_python-3.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3aec4ab6f6d66a0dc2b5bbd8fc2c11fd76090c63fdc65577af9d4e28055c51f2"}, + {file = "snowflake_connector_python-3.1.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5d2589f39b1c1c91eda6711181afb7f197f7dd43204f26db48df90849d9f528b"}, + {file = "snowflake_connector_python-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c540b4fe173cc9a24df285ce49c70fe0dadc6316b8a2160324c549086a71a118"}, + {file = "snowflake_connector_python-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25007ccf5d9c0b87e29af40470f6f1e76d03621642a7492d62282215b7e9d67d"}, + {file = "snowflake_connector_python-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:fff3caebd8b60cee09ad55674d12b8940b9d5f57a394c8467637167372710841"}, + {file = "snowflake_connector_python-3.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7b7622be7bcad26786bf771341e3b4819df6e4d7858e5dd4c8700423ca7364e"}, + {file = "snowflake_connector_python-3.1.1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:260d259a79e6120bf58fcec9a52705fd02a430f296a77a1531720906b7a02f5e"}, + {file = "snowflake_connector_python-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0163d5036f05a39977c6d7aba5e8bb1632be1117785a72e2602e3a34b89ded1c"}, + {file = "snowflake_connector_python-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d38546ebcba7bca37a16cfcbbc0f8e7c19946b4e45e0c5dc2a8963f3b739958"}, + {file = "snowflake_connector_python-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:484044c2d9aacd5c8a0a9d8d8b69b06352e3612f23c5e44d54771a96047d80b1"}, + {file = "snowflake_connector_python-3.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7e4a4aab55a4a3236625b738fad19524c9cef810fe041d567dc5dc1d9b1f9eb7"}, + {file = "snowflake_connector_python-3.1.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:5d95eeaff7b085b0c8facab40391bede699ffc0865f2cdaa37b19a8429d47943"}, + {file = "snowflake_connector_python-3.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a944a1862672552f8c00b98b576a8b16da46f9c5b918ba4b969bd7d1205c32a"}, + {file = "snowflake_connector_python-3.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7abb142ba3ee5db6c61be0dc578fa10e59b7c1f33716b0c93ae6706b2a8bbee3"}, + {file = "snowflake_connector_python-3.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:bf6ca8f8678dea6cf5275f69dbd9e4ebb18c2211be35379b65175e36e5953b92"}, + {file = "snowflake_connector_python-3.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ceb263b95720ab645c2e60e37d436db51321e0192d399631d052387728911689"}, + {file = "snowflake_connector_python-3.1.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:8b7fe82d8d1cdc90caadbcce419d3bcbf1bdeffb9bba974a81a46f389d8ee243"}, + {file = "snowflake_connector_python-3.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d46b798507f6c7447e21c76bd71969e22e55fa848196f20de73b3e2b65373b5"}, + {file = "snowflake_connector_python-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bdcce7069368b7b2ec8a855812c1b0e9e6bdf6b01660225ffff5ba163fa507d"}, + {file = "snowflake_connector_python-3.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:daedeff774cd68df05e68dbfa66e83a877e63a99461b8262eb5c8cd37e309aa7"}, +] +sortedcontainers = [ + {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"}, + {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, +] +soupsieve = [ + {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, + {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, +] +sqlalchemy = [ + {file = "SQLAlchemy-1.4.49-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e126cf98b7fd38f1e33c64484406b78e937b1a280e078ef558b95bf5b6895f6"}, + {file = "SQLAlchemy-1.4.49-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:03db81b89fe7ef3857b4a00b63dedd632d6183d4ea5a31c5d8a92e000a41fc71"}, + {file = "SQLAlchemy-1.4.49-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:95b9df9afd680b7a3b13b38adf6e3a38995da5e162cc7524ef08e3be4e5ed3e1"}, + {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a63e43bf3f668c11bb0444ce6e809c1227b8f067ca1068898f3008a273f52b09"}, + {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f835c050ebaa4e48b18403bed2c0fda986525896efd76c245bdd4db995e51a4c"}, + {file = "SQLAlchemy-1.4.49-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c21b172dfb22e0db303ff6419451f0cac891d2e911bb9fbf8003d717f1bcf91"}, + {file = "SQLAlchemy-1.4.49-cp310-cp310-win32.whl", hash = "sha256:5fb1ebdfc8373b5a291485757bd6431de8d7ed42c27439f543c81f6c8febd729"}, + {file = "SQLAlchemy-1.4.49-cp310-cp310-win_amd64.whl", hash = "sha256:f8a65990c9c490f4651b5c02abccc9f113a7f56fa482031ac8cb88b70bc8ccaa"}, + {file = "SQLAlchemy-1.4.49-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8923dfdf24d5aa8a3adb59723f54118dd4fe62cf59ed0d0d65d940579c1170a4"}, + {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9ab2c507a7a439f13ca4499db6d3f50423d1d65dc9b5ed897e70941d9e135b0"}, + {file = "SQLAlchemy-1.4.49-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5debe7d49b8acf1f3035317e63d9ec8d5e4d904c6e75a2a9246a119f5f2fdf3d"}, + {file = "SQLAlchemy-1.4.49-cp311-cp311-win32.whl", hash = "sha256:82b08e82da3756765c2e75f327b9bf6b0f043c9c3925fb95fb51e1567fa4ee87"}, + {file = "SQLAlchemy-1.4.49-cp311-cp311-win_amd64.whl", hash = "sha256:171e04eeb5d1c0d96a544caf982621a1711d078dbc5c96f11d6469169bd003f1"}, + {file = "SQLAlchemy-1.4.49-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:36e58f8c4fe43984384e3fbe6341ac99b6b4e083de2fe838f0fdb91cebe9e9cb"}, + {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b31e67ff419013f99ad6f8fc73ee19ea31585e1e9fe773744c0f3ce58c039c30"}, + {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c14b29d9e1529f99efd550cd04dbb6db6ba5d690abb96d52de2bff4ed518bc95"}, + {file = "SQLAlchemy-1.4.49-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c40f3470e084d31247aea228aa1c39bbc0904c2b9ccbf5d3cfa2ea2dac06f26d"}, + {file = "SQLAlchemy-1.4.49-cp36-cp36m-win32.whl", hash = "sha256:706bfa02157b97c136547c406f263e4c6274a7b061b3eb9742915dd774bbc264"}, + {file = "SQLAlchemy-1.4.49-cp36-cp36m-win_amd64.whl", hash = "sha256:a7f7b5c07ae5c0cfd24c2db86071fb2a3d947da7bd487e359cc91e67ac1c6d2e"}, + {file = "SQLAlchemy-1.4.49-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:4afbbf5ef41ac18e02c8dc1f86c04b22b7a2125f2a030e25bbb4aff31abb224b"}, + {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24e300c0c2147484a002b175f4e1361f102e82c345bf263242f0449672a4bccf"}, + {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:201de072b818f8ad55c80d18d1a788729cccf9be6d9dc3b9d8613b053cd4836d"}, + {file = "SQLAlchemy-1.4.49-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7653ed6817c710d0c95558232aba799307d14ae084cc9b1f4c389157ec50df5c"}, + {file = "SQLAlchemy-1.4.49-cp37-cp37m-win32.whl", hash = "sha256:647e0b309cb4512b1f1b78471fdaf72921b6fa6e750b9f891e09c6e2f0e5326f"}, + {file = "SQLAlchemy-1.4.49-cp37-cp37m-win_amd64.whl", hash = "sha256:ab73ed1a05ff539afc4a7f8cf371764cdf79768ecb7d2ec691e3ff89abbc541e"}, + {file = "SQLAlchemy-1.4.49-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:37ce517c011560d68f1ffb28af65d7e06f873f191eb3a73af5671e9c3fada08a"}, + {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1878ce508edea4a879015ab5215546c444233881301e97ca16fe251e89f1c55"}, + {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0e8e608983e6f85d0852ca61f97e521b62e67969e6e640fe6c6b575d4db68557"}, + {file = "SQLAlchemy-1.4.49-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccf956da45290df6e809ea12c54c02ace7f8ff4d765d6d3dfb3655ee876ce58d"}, + {file = "SQLAlchemy-1.4.49-cp38-cp38-win32.whl", hash = "sha256:f167c8175ab908ce48bd6550679cc6ea20ae169379e73c7720a28f89e53aa532"}, + {file = "SQLAlchemy-1.4.49-cp38-cp38-win_amd64.whl", hash = "sha256:45806315aae81a0c202752558f0df52b42d11dd7ba0097bf71e253b4215f34f4"}, + {file = "SQLAlchemy-1.4.49-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:b6d0c4b15d65087738a6e22e0ff461b407533ff65a73b818089efc8eb2b3e1de"}, + {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a843e34abfd4c797018fd8d00ffffa99fd5184c421f190b6ca99def4087689bd"}, + {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1c890421651b45a681181301b3497e4d57c0d01dc001e10438a40e9a9c25ee77"}, + {file = "SQLAlchemy-1.4.49-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d26f280b8f0a8f497bc10573849ad6dc62e671d2468826e5c748d04ed9e670d5"}, + {file = "SQLAlchemy-1.4.49-cp39-cp39-win32.whl", hash = "sha256:ec2268de67f73b43320383947e74700e95c6770d0c68c4e615e9897e46296294"}, + {file = "SQLAlchemy-1.4.49-cp39-cp39-win_amd64.whl", hash = "sha256:bbdf16372859b8ed3f4d05f925a984771cd2abd18bd187042f24be4886c2a15f"}, + {file = "SQLAlchemy-1.4.49.tar.gz", hash = "sha256:06ff25cbae30c396c4b7737464f2a7fc37a67b7da409993b182b024cec80aed9"}, +] +sqlalchemy-jsonfield = [ + {file = "SQLAlchemy-JSONField-1.0.1.post0.tar.gz", hash = "sha256:72a5e714fe0493d2660abd7484a9fd9f492f493a0856288dd22a5decb29f5dc4"}, + {file = "SQLAlchemy_JSONField-1.0.1.post0-py3-none-any.whl", hash = "sha256:d6f1e5ee329a3c0d9d164e40d81a2143ac8332e09988fbbaff84179dac5503d4"}, +] +sqlalchemy-utils = [ + {file = "SQLAlchemy-Utils-0.41.1.tar.gz", hash = "sha256:a2181bff01eeb84479e38571d2c0718eb52042f9afd8c194d0d02877e84b7d74"}, + {file = "SQLAlchemy_Utils-0.41.1-py3-none-any.whl", hash = "sha256:6c96b0768ea3f15c0dc56b363d386138c562752b84f647fb8d31a2223aaab801"}, +] +sqlfluff = [ + {file = "sqlfluff-2.3.2-py3-none-any.whl", hash = "sha256:85c8b683e283ff632fe28529ddb60585ea2d1d3c614fc7a1db171632b99dcce3"}, + {file = "sqlfluff-2.3.2.tar.gz", hash = "sha256:3403ce7e9133766d7336b7e26638657ec6cc9e5610e35186b7f02cc427dd49b7"}, +] +sqlparse = [ + {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, + {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, +] +stevedore = [ + {file = "stevedore-5.1.0-py3-none-any.whl", hash = "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d"}, + {file = "stevedore-5.1.0.tar.gz", hash = "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c"}, +] +sympy = [ + {file = "sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5"}, + {file = "sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"}, +] +tabulate = [ + {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, + {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, +] +tblib = [ + {file = "tblib-2.0.0-py3-none-any.whl", hash = "sha256:9100bfa016b047d5b980d66e7efed952fbd20bd85b56110aaf473cb97d18709a"}, + {file = "tblib-2.0.0.tar.gz", hash = "sha256:a6df30f272c08bf8be66e0775fad862005d950a6b8449b94f7c788731d70ecd7"}, +] +tenacity = [ + {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, + {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, +] +termcolor = [ + {file = "termcolor-2.3.0-py3-none-any.whl", hash = "sha256:3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475"}, + {file = "termcolor-2.3.0.tar.gz", hash = "sha256:b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a"}, +] +text-unidecode = [ + {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, + {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, +] +tokenizers = [ + {file = "tokenizers-0.13.3-cp310-cp310-macosx_10_11_x86_64.whl", hash = "sha256:f3835c5be51de8c0a092058a4d4380cb9244fb34681fd0a295fbf0a52a5fdf33"}, + {file = "tokenizers-0.13.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4ef4c3e821730f2692489e926b184321e887f34fb8a6b80b8096b966ba663d07"}, + {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5fd1a6a25353e9aa762e2aae5a1e63883cad9f4e997c447ec39d071020459bc"}, + {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee0b1b311d65beab83d7a41c56a1e46ab732a9eed4460648e8eb0bd69fc2d059"}, + {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ef4215284df1277dadbcc5e17d4882bda19f770d02348e73523f7e7d8b8d396"}, + {file = "tokenizers-0.13.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4d53976079cff8a033f778fb9adca2d9d69d009c02fa2d71a878b5f3963ed30"}, + {file = "tokenizers-0.13.3-cp310-cp310-win32.whl", hash = "sha256:1f0e3b4c2ea2cd13238ce43548959c118069db7579e5d40ec270ad77da5833ce"}, + {file = "tokenizers-0.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:89649c00d0d7211e8186f7a75dfa1db6996f65edce4b84821817eadcc2d3c79e"}, + {file = "tokenizers-0.13.3-cp311-cp311-macosx_10_11_universal2.whl", hash = "sha256:56b726e0d2bbc9243872b0144515ba684af5b8d8cd112fb83ee1365e26ec74c8"}, + {file = "tokenizers-0.13.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:cc5c022ce692e1f499d745af293ab9ee6f5d92538ed2faf73f9708c89ee59ce6"}, + {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f55c981ac44ba87c93e847c333e58c12abcbb377a0c2f2ef96e1a266e4184ff2"}, + {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f247eae99800ef821a91f47c5280e9e9afaeed9980fc444208d5aa6ba69ff148"}, + {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b3e3215d048e94f40f1c95802e45dcc37c5b05eb46280fc2ccc8cd351bff839"}, + {file = "tokenizers-0.13.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ba2b0bf01777c9b9bc94b53764d6684554ce98551fec496f71bc5be3a03e98b"}, + {file = "tokenizers-0.13.3-cp311-cp311-win32.whl", hash = "sha256:cc78d77f597d1c458bf0ea7c2a64b6aa06941c7a99cb135b5969b0278824d808"}, + {file = "tokenizers-0.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:ecf182bf59bd541a8876deccf0360f5ae60496fd50b58510048020751cf1724c"}, + {file = "tokenizers-0.13.3-cp37-cp37m-macosx_10_11_x86_64.whl", hash = "sha256:0527dc5436a1f6bf2c0327da3145687d3bcfbeab91fed8458920093de3901b44"}, + {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07cbb2c307627dc99b44b22ef05ff4473aa7c7cc1fec8f0a8b37d8a64b1a16d2"}, + {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4560dbdeaae5b7ee0d4e493027e3de6d53c991b5002d7ff95083c99e11dd5ac0"}, + {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64064bd0322405c9374305ab9b4c07152a1474370327499911937fd4a76d004b"}, + {file = "tokenizers-0.13.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8c6e2ab0f2e3d939ca66aa1d596602105fe33b505cd2854a4c1717f704c51de"}, + {file = "tokenizers-0.13.3-cp37-cp37m-win32.whl", hash = "sha256:6cc29d410768f960db8677221e497226e545eaaea01aa3613fa0fdf2cc96cff4"}, + {file = "tokenizers-0.13.3-cp37-cp37m-win_amd64.whl", hash = "sha256:fc2a7fdf864554a0dacf09d32e17c0caa9afe72baf9dd7ddedc61973bae352d8"}, + {file = "tokenizers-0.13.3-cp38-cp38-macosx_10_11_x86_64.whl", hash = "sha256:8791dedba834c1fc55e5f1521be325ea3dafb381964be20684b92fdac95d79b7"}, + {file = "tokenizers-0.13.3-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:d607a6a13718aeb20507bdf2b96162ead5145bbbfa26788d6b833f98b31b26e1"}, + {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3791338f809cd1bf8e4fee6b540b36822434d0c6c6bc47162448deee3f77d425"}, + {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2f35f30e39e6aab8716f07790f646bdc6e4a853816cc49a95ef2a9016bf9ce6"}, + {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310204dfed5aa797128b65d63538a9837cbdd15da2a29a77d67eefa489edda26"}, + {file = "tokenizers-0.13.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0f9b92ea052305166559f38498b3b0cae159caea712646648aaa272f7160963"}, + {file = "tokenizers-0.13.3-cp38-cp38-win32.whl", hash = "sha256:9a3fa134896c3c1f0da6e762d15141fbff30d094067c8f1157b9fdca593b5806"}, + {file = "tokenizers-0.13.3-cp38-cp38-win_amd64.whl", hash = "sha256:8e7b0cdeace87fa9e760e6a605e0ae8fc14b7d72e9fc19c578116f7287bb873d"}, + {file = "tokenizers-0.13.3-cp39-cp39-macosx_10_11_x86_64.whl", hash = "sha256:00cee1e0859d55507e693a48fa4aef07060c4bb6bd93d80120e18fea9371c66d"}, + {file = "tokenizers-0.13.3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:a23ff602d0797cea1d0506ce69b27523b07e70f6dda982ab8cf82402de839088"}, + {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70ce07445050b537d2696022dafb115307abdffd2a5c106f029490f84501ef97"}, + {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:280ffe95f50eaaf655b3a1dc7ff1d9cf4777029dbbc3e63a74e65a056594abc3"}, + {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97acfcec592f7e9de8cadcdcda50a7134423ac8455c0166b28c9ff04d227b371"}, + {file = "tokenizers-0.13.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd7730c98a3010cd4f523465867ff95cd9d6430db46676ce79358f65ae39797b"}, + {file = "tokenizers-0.13.3-cp39-cp39-win32.whl", hash = "sha256:48625a108029cb1ddf42e17a81b5a3230ba6888a70c9dc14e81bc319e812652d"}, + {file = "tokenizers-0.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:bc0a6f1ba036e482db6453571c9e3e60ecd5489980ffd95d11dc9f960483d783"}, + {file = "tokenizers-0.13.3.tar.gz", hash = "sha256:2e546dbb68b623008a5442353137fbb0123d311a6d7ba52f2667c8862a75af2e"}, +] +toml = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] +tomli = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] +tomli-w = [ + {file = "tomli_w-1.0.0-py3-none-any.whl", hash = "sha256:9f2a07e8be30a0729e533ec968016807069991ae2fd921a78d42f429ae5f4463"}, + {file = "tomli_w-1.0.0.tar.gz", hash = "sha256:f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9"}, +] +tomlkit = [ + {file = "tomlkit-0.12.1-py3-none-any.whl", hash = "sha256:712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899"}, + {file = "tomlkit-0.12.1.tar.gz", hash = "sha256:38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"}, +] +tqdm = [ + {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, + {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, +] +typeapi = [ + {file = "typeapi-2.1.1-py3-none-any.whl", hash = "sha256:ef41577f316bfd362572e727ba349dab80a7362318a80fc72e6a807017d04c5c"}, + {file = "typeapi-2.1.1.tar.gz", hash = "sha256:49b3c1d3382e27dccbb59132a3a823c61954f679a0c61f119fd6d8470073a298"}, +] +types-awscrt = [ + {file = "types_awscrt-0.19.1-py3-none-any.whl", hash = "sha256:68fffeb75396e9e7614cd930b2d52295f680230774750907bcafb56f11514043"}, + {file = "types_awscrt-0.19.1.tar.gz", hash = "sha256:61833aa140e724a9098025610f4b8cde3dcf65b842631d7447378f9f5db4e1fd"}, +] +types-cachetools = [ + {file = "types-cachetools-5.3.0.6.tar.gz", hash = "sha256:595f0342d246c8ba534f5a762cf4c2f60ecb61e8002b8b2277fd5cf791d4e851"}, + {file = "types_cachetools-5.3.0.6-py3-none-any.whl", hash = "sha256:f7f8a25bfe306f2e6bc2ad0a2f949d9e72f2d91036d509c36d3810bf728bc6e1"}, +] +types-click = [ + {file = "types-click-7.1.8.tar.gz", hash = "sha256:b6604968be6401dc516311ca50708a0a28baa7a0cb840efd7412f0dbbff4e092"}, + {file = "types_click-7.1.8-py3-none-any.whl", hash = "sha256:8cb030a669e2e927461be9827375f83c16b8178c365852c060a34e24871e7e81"}, +] +types-deprecated = [ + {file = "types-Deprecated-1.2.9.3.tar.gz", hash = "sha256:ef87327adf3e3c4a4c7d8e06e58f6476710d3466ecfb53c49efb080804a70ef3"}, + {file = "types_Deprecated-1.2.9.3-py3-none-any.whl", hash = "sha256:24da9210763e5e1b3d0d4f6f8bba9ad3bb6af3fe7f6815fc37e3ede4681704f5"}, +] +types-protobuf = [ + {file = "types-protobuf-4.24.0.1.tar.gz", hash = "sha256:90adea3b693d6a40d8ef075c58fe6b5cc6e01fe1496301a7e6fc70398dcff92e"}, + {file = "types_protobuf-4.24.0.1-py3-none-any.whl", hash = "sha256:df203a204e4ae97d4cca4c9cf725262579dd7857a19f9e7fc74871ccfa073c01"}, +] +types-psutil = [ {file = "types-psutil-5.9.5.16.tar.gz", hash = "sha256:4e9b219efb625d3d04f6bf106934f87cab49aa41a94b0a3b3089403f47a79228"}, {file = "types_psutil-5.9.5.16-py3-none-any.whl", hash = "sha256:fec713104d5d143afea7b976cfa691ca1840f5d19e8714a5d02a96ebd061363e"}, ] - -[[package]] -name = "types-psycopg2" -version = "2.9.21.14" -description = "Typing stubs for psycopg2" -optional = false -python-versions = "*" -files = [ +types-psycopg2 = [ {file = "types-psycopg2-2.9.21.14.tar.gz", hash = "sha256:bf73a0ac4da4e278c89bf1b01fc596d5a5ac7a356cfe6ac0249f47b9e259f868"}, {file = "types_psycopg2-2.9.21.14-py3-none-any.whl", hash = "sha256:cd9c5350631f3bc6184ec8d48f2ed31d4ea660f89d0fffe78239450782f383c5"}, ] - -[[package]] -name = "types-python-dateutil" -version = "2.8.19.14" -description = "Typing stubs for python-dateutil" -optional = false -python-versions = "*" -files = [ +types-python-dateutil = [ {file = "types-python-dateutil-2.8.19.14.tar.gz", hash = "sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b"}, {file = "types_python_dateutil-2.8.19.14-py3-none-any.whl", hash = "sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9"}, ] - -[[package]] -name = "types-pyyaml" -version = "6.0.12.11" -description = "Typing stubs for PyYAML" -optional = false -python-versions = "*" -files = [ +types-pyyaml = [ {file = "types-PyYAML-6.0.12.11.tar.gz", hash = "sha256:7d340b19ca28cddfdba438ee638cd4084bde213e501a3978738543e27094775b"}, {file = "types_PyYAML-6.0.12.11-py3-none-any.whl", hash = "sha256:a461508f3096d1d5810ec5ab95d7eeecb651f3a15b71959999988942063bf01d"}, ] - -[[package]] -name = "types-requests" -version = "2.31.0.2" -description = "Typing stubs for requests" -optional = false -python-versions = "*" -files = [ +types-requests = [ {file = "types-requests-2.31.0.2.tar.gz", hash = "sha256:6aa3f7faf0ea52d728bb18c0a0d1522d9bfd8c72d26ff6f61bfc3d06a411cf40"}, {file = "types_requests-2.31.0.2-py3-none-any.whl", hash = "sha256:56d181c85b5925cbc59f4489a57e72a8b2166f18273fd8ba7b6fe0c0b986f12a"}, ] - -[package.dependencies] -types-urllib3 = "*" - -[[package]] -name = "types-s3transfer" -version = "0.6.2" -description = "Type annotations and code completion for s3transfer" -optional = false -python-versions = ">=3.7,<4.0" -files = [ +types-s3transfer = [ {file = "types_s3transfer-0.6.2-py3-none-any.whl", hash = "sha256:1068877b6e59be5226fa3006ae64371ac9d5bc590dfdbd9c66fd0a075d3254ac"}, {file = "types_s3transfer-0.6.2.tar.gz", hash = "sha256:4ba9b483796fdcd026aa162ee03bdcedd2bf7d08e9387c820dcdd158b0102057"}, ] - -[[package]] -name = "types-setuptools" -version = "68.1.0.1" -description = "Typing stubs for setuptools" -optional = false -python-versions = "*" -files = [ +types-setuptools = [ {file = "types-setuptools-68.1.0.1.tar.gz", hash = "sha256:271ed8da44885cd9a701c86e48cc6d3cc988052260e72b3ce26c26b3028f86ed"}, {file = "types_setuptools-68.1.0.1-py3-none-any.whl", hash = "sha256:a9a0d2ca1da8a15924890d464adcee4004deb07b6a99bd0b1881eac5c73cb3a7"}, ] - -[[package]] -name = "types-simplejson" -version = "3.19.0.2" -description = "Typing stubs for simplejson" -optional = false -python-versions = "*" -files = [ +types-simplejson = [ {file = "types-simplejson-3.19.0.2.tar.gz", hash = "sha256:ebc81f886f89d99d6b80c726518aa2228bc77c26438f18fd81455e4f79f8ee1b"}, {file = "types_simplejson-3.19.0.2-py3-none-any.whl", hash = "sha256:8ba093dc7884f59b3e62aed217144085e675a269debc32678fd80e0b43b2b86f"}, ] - -[[package]] -name = "types-sqlalchemy" -version = "1.4.53.38" -description = "Typing stubs for SQLAlchemy" -optional = false -python-versions = "*" -files = [ +types-sqlalchemy = [ {file = "types-SQLAlchemy-1.4.53.38.tar.gz", hash = "sha256:5bb7463537e04e1aa5a3557eb725930df99226dcfd3c9bf93008025bfe5c169e"}, {file = "types_SQLAlchemy-1.4.53.38-py3-none-any.whl", hash = "sha256:7e60e74f823931cc9a9e8adb0a4c05e5533e6708b8a266807893a739faf4eaaa"}, ] - -[[package]] -name = "types-tqdm" -version = "4.66.0.2" -description = "Typing stubs for tqdm" -optional = false -python-versions = "*" -files = [ +types-tqdm = [ {file = "types-tqdm-4.66.0.2.tar.gz", hash = "sha256:9553a5e44c1d485fce19f505b8bd65c0c3e87e870678d1f2ed764ae59a55d45f"}, {file = "types_tqdm-4.66.0.2-py3-none-any.whl", hash = "sha256:13dddd38908834abdf0acdc2b70cab7ac4bcc5ad7356ced450471662e58a0ffc"}, ] - -[[package]] -name = "types-urllib3" -version = "1.26.25.14" -description = "Typing stubs for urllib3" -optional = false -python-versions = "*" -files = [ +types-urllib3 = [ {file = "types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f"}, {file = "types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e"}, ] - -[[package]] -name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" -optional = false -python-versions = ">=3.7" -files = [ +typing-extensions = [ {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, ] - -[[package]] -name = "tzdata" -version = "2023.3" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ +tzdata = [ {file = "tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"}, {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, ] - -[[package]] -name = "uc-micro-py" -version = "1.0.2" -description = "Micro subset of unicode data files for linkify-it-py projects." -optional = false -python-versions = ">=3.7" -files = [ +uc-micro-py = [ {file = "uc-micro-py-1.0.2.tar.gz", hash = "sha256:30ae2ac9c49f39ac6dce743bd187fcd2b574b16ca095fa74cd9396795c954c54"}, {file = "uc_micro_py-1.0.2-py3-none-any.whl", hash = "sha256:8c9110c309db9d9e87302e2f4ad2c3152770930d88ab385cd544e7a7e75f3de0"}, ] - -[package.extras] -test = ["coverage", "pytest", "pytest-cov"] - -[[package]] -name = "unicodecsv" -version = "0.14.1" -description = "Python2's stdlib csv module is nice, but it doesn't support unicode. This module is a drop-in replacement which *does*." -optional = false -python-versions = "*" -files = [ +unicodecsv = [ {file = "unicodecsv-0.14.1.tar.gz", hash = "sha256:018c08037d48649a0412063ff4eda26eaa81eff1546dbffa51fa5293276ff7fc"}, ] - -[[package]] -name = "uritemplate" -version = "4.1.1" -description = "Implementation of RFC 6570 URI Templates" -optional = false -python-versions = ">=3.6" -files = [ +uritemplate = [ {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, ] - -[[package]] -name = "urllib3" -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 = [ +urllib3 = [ {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] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] - -[[package]] -name = "validators" -version = "0.21.0" -description = "Python Data Validation for Humans™" -optional = true -python-versions = ">=3.8,<4.0" -files = [ +validators = [ {file = "validators-0.21.0-py3-none-any.whl", hash = "sha256:3470db6f2384c49727ee319afa2e97aec3f8fad736faa6067e0fd7f9eaf2c551"}, {file = "validators-0.21.0.tar.gz", hash = "sha256:245b98ab778ed9352a7269c6a8f6c2a839bed5b2a7e3e60273ce399d247dd4b3"}, ] - -[[package]] -name = "watchdog" -version = "3.0.0" -description = "Filesystem events monitoring" -optional = false -python-versions = ">=3.7" -files = [ +watchdog = [ {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, @@ -7976,79 +8393,23 @@ files = [ {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, ] - -[package.extras] -watchmedo = ["PyYAML (>=3.10)"] - -[[package]] -name = "wcwidth" -version = "0.2.6" -description = "Measures the displayed width of unicode strings in a terminal" -optional = false -python-versions = "*" -files = [ +wcwidth = [ {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, ] - -[[package]] -name = "weaviate-client" -version = "3.23.2" -description = "A python native Weaviate client" -optional = true -python-versions = ">=3.8" -files = [ +weaviate-client = [ {file = "weaviate-client-3.23.2.tar.gz", hash = "sha256:1c8c94df032dd2fa5a4ea615fc69ccb983ffad5cc02974f78c793839e61ac150"}, {file = "weaviate_client-3.23.2-py3-none-any.whl", hash = "sha256:88ffc38cca07806d64726cc74bc194c7da50b222aa4e2cd129f4c1f5e53e9b61"}, ] - -[package.dependencies] -authlib = ">=1.1.0" -requests = ">=2.28.0,<=2.31.0" -tqdm = ">=4.59.0,<5.0.0" -validators = ">=0.18.2,<=0.21.0" - -[package.extras] -grpc = ["grpcio", "grpcio-tools"] - -[[package]] -name = "werkzeug" -version = "2.3.7" -description = "The comprehensive WSGI web application library." -optional = false -python-versions = ">=3.8" -files = [ +werkzeug = [ {file = "werkzeug-2.3.7-py3-none-any.whl", hash = "sha256:effc12dba7f3bd72e605ce49807bbe692bd729c3bb122a3b91747a6ae77df528"}, {file = "werkzeug-2.3.7.tar.gz", hash = "sha256:2b8c0e447b4b9dbcc85dd97b6eeb4dcbaf6c8b6c3be0bd654e25553e0a2157d8"}, ] - -[package.dependencies] -MarkupSafe = ">=2.1.1" - -[package.extras] -watchdog = ["watchdog (>=2.3)"] - -[[package]] -name = "wheel" -version = "0.41.2" -description = "A built-package format for Python" -optional = false -python-versions = ">=3.7" -files = [ +wheel = [ {file = "wheel-0.41.2-py3-none-any.whl", hash = "sha256:75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8"}, {file = "wheel-0.41.2.tar.gz", hash = "sha256:0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"}, ] - -[package.extras] -test = ["pytest (>=6.0.0)", "setuptools (>=65)"] - -[[package]] -name = "wrapt" -version = "1.15.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ +wrapt = [ {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, @@ -8125,45 +8486,15 @@ files = [ {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, ] - -[[package]] -name = "wtforms" -version = "3.0.1" -description = "Form validation and rendering for Python web development." -optional = false -python-versions = ">=3.7" -files = [ +wtforms = [ {file = "WTForms-3.0.1-py3-none-any.whl", hash = "sha256:837f2f0e0ca79481b92884962b914eba4e72b7a2daaf1f939c890ed0124b834b"}, {file = "WTForms-3.0.1.tar.gz", hash = "sha256:6b351bbb12dd58af57ffef05bc78425d08d1914e0fd68ee14143b7ade023c5bc"}, ] - -[package.dependencies] -MarkupSafe = "*" - -[package.extras] -email = ["email-validator"] - -[[package]] -name = "yapf" -version = "0.33.0" -description = "A formatter for Python code." -optional = false -python-versions = "*" -files = [ +yapf = [ {file = "yapf-0.33.0-py2.py3-none-any.whl", hash = "sha256:4c2b59bd5ffe46f3a7da48df87596877189148226ce267c16e8b44240e51578d"}, {file = "yapf-0.33.0.tar.gz", hash = "sha256:da62bdfea3df3673553351e6246abed26d9fe6780e548a5af9e70f6d2b4f5b9a"}, ] - -[package.dependencies] -tomli = ">=2.0.1" - -[[package]] -name = "yarl" -version = "1.9.2" -description = "Yet another URL library" -optional = false -python-versions = ">=3.7" -files = [ +yarl = [ {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c2ad583743d16ddbdf6bb14b5cd76bf43b0d0006e918809d5d4ddf7bde8dd82"}, {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82aa6264b36c50acfb2424ad5ca537a2060ab6de158a5bd2a72a032cc75b9eb8"}, {file = "yarl-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0c77533b5ed4bcc38e943178ccae29b9bcf48ffd1063f5821192f23a1bd27b9"}, @@ -8239,48 +8570,7 @@ files = [ {file = "yarl-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:61016e7d582bc46a5378ffdd02cd0314fb8ba52f40f9cf4d9a5e7dbef88dee18"}, {file = "yarl-1.9.2.tar.gz", hash = "sha256:04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"}, ] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" - -[[package]] -name = "zipp" -version = "3.16.2" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.8" -files = [ +zipp = [ {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, ] - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] - -[extras] -athena = ["botocore", "pyarrow", "pyathena", "s3fs"] -az = ["adlfs"] -bigquery = ["gcsfs", "google-cloud-bigquery", "grpcio", "pyarrow"] -cli = ["cron-descriptor", "pipdeptree"] -dbt = ["dbt-athena-community", "dbt-bigquery", "dbt-core", "dbt-duckdb", "dbt-redshift", "dbt-snowflake"] -duckdb = ["duckdb"] -filesystem = ["botocore", "s3fs"] -gcp = ["gcsfs", "google-cloud-bigquery", "grpcio"] -gs = ["gcsfs"] -motherduck = ["duckdb", "pyarrow"] -mssql = ["pyodbc"] -parquet = ["pyarrow"] -postgres = ["psycopg2-binary", "psycopg2cffi"] -pydantic = ["pydantic"] -qdrant = ["qdrant-client"] -redshift = ["psycopg2-binary", "psycopg2cffi"] -s3 = ["botocore", "s3fs"] -snowflake = ["snowflake-connector-python"] -weaviate = ["weaviate-client"] - -[metadata] -lock-version = "2.0" -python-versions = ">=3.8.1,<3.13" -content-hash = "82acaeeda4bb9354378d8647e4f20ce05ebca324c7fb20a9902c97eac2121b7a" diff --git a/pyproject.toml b/pyproject.toml index 47ffd3e9c4..7307634cd6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -162,6 +162,8 @@ pymysql = "^1.1.0" pypdf2 = "^3.0.1" pydoc-markdown = "^4.8.2" connectorx="0.3.1" +dbt-core=">=1.2.0" +dbt-duckdb=">=1.2.0" pymongo = ">=4.3.3" [build-system] From 2c65c83b8a8a1f4814eb2b3678357d1129f98d84 Mon Sep 17 00:00:00 2001 From: David Scharf Date: Wed, 8 Nov 2023 18:41:43 +0100 Subject: [PATCH 22/28] fix snowflake connector (#742) --- dlt/destinations/snowflake/configuration.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dlt/destinations/snowflake/configuration.py b/dlt/destinations/snowflake/configuration.py index 66c2f82282..4d9aaa7b54 100644 --- a/dlt/destinations/snowflake/configuration.py +++ b/dlt/destinations/snowflake/configuration.py @@ -88,7 +88,7 @@ def to_connector_params(self) -> Dict[str, Any]: private_key: Optional[bytes] = None if self.private_key: private_key = _read_private_key(self.private_key, self.private_key_passphrase) - return dict( + conn_params = dict( self.query or {}, user=self.username, password=self.password, @@ -97,8 +97,10 @@ def to_connector_params(self) -> Dict[str, Any]: warehouse=self.warehouse, role=self.role, private_key=private_key, - authenticator=self.authenticator, ) + if self.authenticator: + conn_params["authenticator"] = self.authenticator + return conn_params @configspec From 0e384b871fccae8c201b142a222777c180b914f1 Mon Sep 17 00:00:00 2001 From: Alena Astrakhantseva Date: Wed, 8 Nov 2023 20:27:29 +0100 Subject: [PATCH 23/28] Docs: add Examples contributing doc (#743) * add examples contributing doc * fix typos * rename example guide, switched text and info --- docs/examples/CONTRIBUTING.md | 56 +++++++++++++++++++++++++++++ docs/website/docs/examples/index.md | 14 ++++++++ docs/website/sidebars.js | 7 ++-- 3 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 docs/examples/CONTRIBUTING.md create mode 100644 docs/website/docs/examples/index.md diff --git a/docs/examples/CONTRIBUTING.md b/docs/examples/CONTRIBUTING.md new file mode 100644 index 0000000000..af3d7c2812 --- /dev/null +++ b/docs/examples/CONTRIBUTING.md @@ -0,0 +1,56 @@ +# How to contribute your example + +Note: All paths in this guide are relative to the `dlt` repository directory. + +## Add snippet + +- Go to `docs/website/docs/examples/`. +- Copy one of the examples, rename scripts. +- Modify the script in `/code/-snippets.py`: + - The whole example code should be inside of `def _snippet()` function. + - Use tags `# @@@DLT_SNIPPET_START example` and `# @@@DLT_SNIPPET_END example` to indicate which part of the code will be auto-generated in the final script `docs/examples//.py`. + - Use additional tags as `# @@@DLT_SNIPPET_START smal_part_of_code` to indicate which part of the code will be auto-inserted into a text document `docs/website/docs/examples//index.md` in the form of a code snippet. +- Modify .`dlt/secrets.toml` and `configs.toml` if needed. +- Modify `/index.md`: + - In the section `
`. + - List what users will learn from this example. Use bullet points and link corresponding documentation pages. + - Use tags `` to insert example code snippets. Do not write them manually! + +## Add tests + +- Do not forget to add tests to `/code/-snippets.py`. +- They could be short asserts, code should work. +- Use `# @@@DLT_REMOVE` to remove test code from final code example. +- Test your snippets locally first with command: + - `cd docs/website/docs/examples//code && pytest --ignore=node_modules -s -v`. + +## Run npm start + +The command `npm start` starts a local development server and opens up a browser window. + +- To install npm read [README](../website/README.md). +- This command will generate a clean example script in `docs/examples/` folder based on `docs/website/docs/examples//code/-snippets.py`. +- Also, this command automatically inserts code snippets to `docs/website/docs/examples//index.md`. + +## Add ENV variables + +If you use any secrets for the code snippets, e.g. Zendesk requires credentials. You need to add them to GitHub Actions in ENV style: + +- First, add the variables to `.github/workflows/test_doc_snippets.yml`: + + Example: + + ```yaml + # zendesk vars for example + SOURCES__ZENDESK__CREDENTIALS: ${{ secrets.ZENDESK__CREDENTIALS }} + ``` + +- Ask dlt team to add them to the GitHub Secrets. + +## Add dependencies + +If your example requires any additional dependency, then you can add it + +- To `pyproject.toml` in the `[tool.poetry.group.docs.dependencies]` section. +- Do not forget to update your `poetry.lock` file with `poetry lock --no-update` command and commit. \ No newline at end of file diff --git a/docs/website/docs/examples/index.md b/docs/website/docs/examples/index.md new file mode 100644 index 0000000000..5be3fd1632 --- /dev/null +++ b/docs/website/docs/examples/index.md @@ -0,0 +1,14 @@ +--- +title: Code Examples +description: A list of comprehensive code examples that teach you how to solve real world problem. +keywords: ['examples'] +--- +import DocCardList from '@theme/DocCardList'; + +A list of comprehensive code examples that teach you how to solve a real world problem. + +:::info +If you want to share your example, follow this [contributing](https://github.com/dlt-hub/dlt/tree/devel/docs/examples/CONTRIBUTING.md) tutorial. +::: + + \ No newline at end of file diff --git a/docs/website/sidebars.js b/docs/website/sidebars.js index 1546a26029..0dc7416caa 100644 --- a/docs/website/sidebars.js +++ b/docs/website/sidebars.js @@ -230,11 +230,8 @@ const sidebars = { type: 'category', label: 'Code Examples', link: { - type: 'generated-index', - title: 'Code Examples', - description: 'A list of comprehensive code examples that teach you how to solve real world problem.', - slug: 'examples', - keywords: ['examples'], + type: 'doc', + id: 'examples/index', }, items: [ 'examples/transformers/index', From 16b59e98b305ebea63bc48ca33a774f0abace0ce Mon Sep 17 00:00:00 2001 From: adrianbr Date: Thu, 9 Nov 2023 13:26:01 +0100 Subject: [PATCH 24/28] blog post solving ingestion (#744) --- .../blog/2023-11-08-solving-ingestion.md | 125 ++++++++++++++++++ .../img/blog-ingestion-etl-tools-users.png | Bin 0 -> 127411 bytes .../static/img/blog-what_would_drake_do.png | Bin 0 -> 1099506 bytes 3 files changed, 125 insertions(+) create mode 100644 docs/website/blog/2023-11-08-solving-ingestion.md create mode 100644 docs/website/static/img/blog-ingestion-etl-tools-users.png create mode 100644 docs/website/static/img/blog-what_would_drake_do.png diff --git a/docs/website/blog/2023-11-08-solving-ingestion.md b/docs/website/blog/2023-11-08-solving-ingestion.md new file mode 100644 index 0000000000..c25e0612bf --- /dev/null +++ b/docs/website/blog/2023-11-08-solving-ingestion.md @@ -0,0 +1,125 @@ +--- +slug: solving-data-ingestion-python +title: "Solving data ingestion for Python coders" +image: /img/blog-ingestion-etl-tools-users.png +authors: + name: Adrian Brudaru + title: Open source data engineer + url: https://github.com/adrianbr + image_url: https://avatars.githubusercontent.com/u/5762770?v=4 +tags: [data ingestion, python sdk, ETL, python data pipelines, Open Source, Developer Tools] +--- + + + +In a recent [article](https://kestra.io/blogs/2023-10-11-why-ingestion-will-never-be-solved), Anna Geller, product manager at Kestra, highlighted why data ingestion will never be solved. In her article, she described the many obstacles around data ingestion, and detailed how various companies and open-source tools approached this problem. + +I’m Adrian, data builder. Before starting dlthub, I was building data warehouses and teams for startups and corporations. Since I was such a power-builder, I have been looking for many years into how this space could be solved. + +The conviction on which we started dlt is that, to solve the data ingestion problem, we need to identify the motivated problem solver and turbo charge them with the right tooling. + +# The current state of data ingestion: dependent on vendors or engineers. + +When building a data pipeline, we can start from scratch, or we can look for existing solutions. + +## How can we build an ingestion pipeline? + +- SaaS tools: We could use ready-made pipelines or use building blocks to configure a new API call. +- SDKs: We could ask a software developer to build a Singer or Airbyte source. Or we could learn object-oriented programming and the SDKs and become the software developer - but the latter is an unreasonable pathway for most. +- Custom pipelines: We could ask a data engineer to build custom pipelines. Unfortunately, everyone is building from scratch, so we usually end up reinventing the flat tire. Pipelines often break and have a high maintenance effort, bottlenecking the amount that can be built and maintained per data engineer. + +Besides the persona-tool fit, in the current tooling, there is a major trade-off between complexity. For example, SaaS tools or SaaS SDKs offer “building blocks” and leave little room for customizations. On the other hand, custom pipelines enable one to do anything they could want but come with a high burden of code, complexity, and maintenance. And classic SDKs are simply too difficult for the majority of data people. + +![etl_by_others.png](/img/blog-ingestion-etl-tools-users.png) + +# So how can we solve ingestion? + +Ask first, **who** should solve ingestion. Afterwards, we can look into the right tools. + +## The builder persona should be invested in solving the problem, not into preserving it. + +UI first? We already established that people dependent on a UI with building blocks are non-builders - they use what exists. They are part of the demand, not part of the solution. + +SDK first? Further, having a community of software engineers for which the only reason to maintain pipelines is financial incentives also doesn’t work. For example, Singer has a large community of agencies that will help - for a price. But the open-source sources are not maintained, PRs are not accepted, etc. It’s just another indirect vendor community for whom the problem is desired. + +The reasonable approach is to offer something to a **person who wants to use the data but also has some capability to do something about it, and willingness to make an effort.** So the problem has to be solved in code, and it logically follows that if we want the data person to use this without friction, it has to be Python. + +## So the existing tools are a dead end: What do custom pipeline builders do? + +Unfortunately, the industry has very little standardization, but we can note some patterns. + +### df.to_sql() was a great first step + +For the Python-first users, pandas df.to_sql() automated loading dataframes to SQL without having to worry about database-specific commands or APIs. + +Unfortunately, this way of loading is limited and not very robust. There is no support for merge/upsert loading or for advanced configuration like performance hints. The automatic typing might sometimes also lead to issues over time with incremental loading. + +Additionally, putting the data into a dataframe means loading it into memory, leading to limitations. So a data engineer considering how to create a boilerplate loading solution would not end up relying on this method because it would offer too little while taking away fine-grain control. + +So while this method works well for quick and dirty work, it doesn’t work so well in production. And for a data engineer, this method adds little while taking away a lot. The good news: we can all use it; The bad news: it’s not engineering-ready. + +### Inserting JSON directly is a common antipattern. However, many developers use it because it solves a real problem. + +Inserting JSON “as is” is a common antipattern in data loading. We do it because it’s a quick fix for compatibility issues between untyped semi-structured data and strongly typed databases. This enables us to just feed raw data to the analyst who can sort through it and clean it and curate it, which in turn enables the data team to not get bottlenecked at the data engineer. + +So, inserting JSON is not all bad. It solves some real problems, but it has some unpleasant side effects: + +- Without an explicit schema, you do not know if there are schema changes in the data. +- Without an explicit schema, you don’t know if your JSON extract path is unique. Many applications output inconsistent types, for example, a dictionary for a single record or a list of dicts for multiple records, causing JSON path inconsistencies. +- Without an explicit schema, data discovery and exploration are harder, requiring more effort. +- Reading a JSON record in a database usually scans the entire record, multiplying cost or degrading performance significantly. +- Without types, you might incorrectly guess and suffer from frequent maintenance or incorrect parsing. +- Dashboarding tools usually cannot handle nested data - but they often have options to model tabular data. + +### Boilerplate code vs one-offs + +Companies who have the capacity will generally create some kind of common, boilerplate methods that enable their team to re-use the same glue code. This has major advantages but also disadvantages: building something like this in-house is hard, and the result is often a major cause of frustration for the users. What we usually see implemented is a solution to a problem, but is usually immature to be a nice technology and far from being a good product that people can use. + +One-offs have their advantage: they are easy to create and can generally take a shortened path to loading data. However, as soon as you have more of them, you will want to have a single point of maintenance as above. + +# The solution: A pipeline-building dev tool for the Python layman + +Let’s let Drake recap for us: + +![what would drake do](/img/blog-what_would_drake_do.png) + +So what does our desired solution look like? + +- Usable by **any Python user** in **any Python environment**, like df.to_sql() +- **Automate difficult things:** Normalize JSON into relational tables automatically. Alert schema changes or contract violations. Add robustness, scaling. +- **Keep code low:** Declarative hints are better than imperative spaghetti. +- **Enable fine-grained control:** Builders should be enabled to control finer aspects such as performance, cost, compliance. +- **Community:** Builders should be enabled to share content that they create + +We formulated our [product principles](https://dlthub.com/product/) and went from there. + +And how far did we get? + +- dlt is usable by any Python user and has a very shallow learning curve. +- dlt runs where Python runs: Cloud functions, notebooks, etc. +- Automate difficult things: Dlt’s schema automations and extraction helpers do 80% of the pipeline work. +- Keep code low: by automating a large chunk and offering declarative configuration, dlt keeps code as short as it can be. +- Fine-grained control: Engineers with advanced requirements can easily fulfill them by using building blocks or custom code. +- Community: We have a sharing mechanism (add a source to dlt’s sources) but it’s too complex for the target audience. There is a trade-off between the quality of code and strictness of requirements which we will continue exploring. We are also considering how LLMs can be used to assist with code quality and pipeline generation in the future. + +What about automating the builder further? + +LLMs are changing the world. They are particularly well-suited at language tasks. Here, a library shines over any other tool - simple code like you would write with dlt can automatically be written by GPT. + +The same cannot be said for SDK code or UI tools: because they use abstractions like classes or configurations, they deviate much further from natural language, significantly increasing the complexity of using LLMs to generate for them. + +LLMs aside, technology is advancing faster than our ability to build better interfaces - and a UI builder has been for years an obsolete choice. With the advent of self-documenting APIs following OpenAPI standard, there is no more need for a human to use a UI to compose building blocks - the entire code can be generated even without LLM assistance ([demo of how we do it](https://www.loom.com/share/2806b873ba1c4e0ea382eb3b4fbaf808?sid=b9d6bcdc-35d0-4349-a564-1e852278ea55)). An LLM could then possibly improve it from there. And if the APIs do not follow the standard, the building blocks of a UI builder are even less useful, while an LLM could read the docs and brute-force solutions. + +# So, will data ingestion ever be a fully solved problem? **Yes, by you and us together.** + +In summary, data ingestion is a complex challenge that has seen various attempts at solutions, from SDKs to custom pipelines. The landscape is marked by trade-offs, with existing tools often lacking the perfect balance between simplicity and flexibility. + +dlt, as a pipeline-building dev tool designed for Python users, aims to bridge this gap by offering an approachable, yet powerful solution. It enables users to automate complex tasks, keep their code concise, and maintain fine-grained control over their data pipelines. The community aspect is also a crucial part of the dlt vision, allowing builders to share their content and insights. + +The journey toward solving data ingestion challenges is not just possible; it's promising, and it's one that data professionals together with dlt are uniquely equipped to undertake. + +### Resources: + +- [Join the ⭐Slack Community⭐ for discussion and help!](https://join.slack.com/t/dlthub-community/shared_invite/zt-1n5193dbq-rCBmJ6p~ckpSFK4hCF2dYA) +- Dive into our [Getting Started](https://dlthub.com/docs/getting-started). +- Star us on [GitHub](https://github.com/dlt-hub/dlt)! diff --git a/docs/website/static/img/blog-ingestion-etl-tools-users.png b/docs/website/static/img/blog-ingestion-etl-tools-users.png new file mode 100644 index 0000000000000000000000000000000000000000..69b96fc6635a25239b03671f87f1bcc61ba23102 GIT binary patch literal 127411 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

I8AMX%AB&^OmE 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

_t|azqzO}PoPVbXshck`D3rOq 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�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%0A4# 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%0D!(vL!*AHYL6^)F>a6{c8bE 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�>jSJ=)lkSt7_JH1NfRP*f_uag2B>;g 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 {x&b=3>nCFZ;6~;ZSQ!o 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

X|^Zdis*$q!e51Bto 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%0A&o$o&E&5+t{K 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 z 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 z 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%0A;jKa4%kHEM}Ep%%B0_hyjzUJ?Hb4n&L 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 z�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 KYKiij5B~=wL^;U- literal 0 HcmV?d00001 From 46777d85e09677db080837583699cdff320678be Mon Sep 17 00:00:00 2001 From: Steinthor Palsson Date: Thu, 9 Nov 2023 11:10:35 -0500 Subject: [PATCH 25/28] Add passing test loading empty rows (#745) --- tests/pipeline/test_pipeline.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/pipeline/test_pipeline.py b/tests/pipeline/test_pipeline.py index 917dac75c4..560a683709 100644 --- a/tests/pipeline/test_pipeline.py +++ b/tests/pipeline/test_pipeline.py @@ -1201,4 +1201,21 @@ def nested_resource(): # print(pipeline.default_schema.to_pretty_yaml()) assert pipeline.default_schema.get_table("flattened_dict__values")["columns"]["value__timestamp_value"]["data_type"] == "timestamp" # make sure data is there - assert pipeline.last_trace.last_normalize_info.row_counts["flattened_dict__values"] == 4 \ No newline at end of file + assert pipeline.last_trace.last_normalize_info.row_counts["flattened_dict__values"] == 4 + + +def test_empty_rows_are_included() -> None: + """Empty rows where all values are `None` or empty dicts + create rows in the dataset with `NULL` in all columns + """ + pipeline = dlt.pipeline(destination='duckdb') + + pipeline.run(iter([{}, {}, {}]), table_name="empty_rows") + pipeline.run(iter([{"a": 1}, {}, {}]), table_name="empty_rows") + pipeline.run(iter([{"a": None}, {}]), table_name="empty_rows") + + with pipeline.sql_client() as client: + rows = client.execute_sql("SELECT a FROM empty_rows ORDER BY a") + + values = [r[0] for r in rows] + assert values == [1, None, None, None, None, None, None, None] From 01c470638b46b9b9c1588d948a0817c397c945fa Mon Sep 17 00:00:00 2001 From: Anton Burnashev Date: Fri, 10 Nov 2023 17:07:53 +0100 Subject: [PATCH 26/28] Rephrase instructions in adjust-a-schema.md (#748) --- docs/website/docs/walkthroughs/adjust-a-schema.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/website/docs/walkthroughs/adjust-a-schema.md b/docs/website/docs/walkthroughs/adjust-a-schema.md index c1c6189ac4..fb27ab3f9a 100644 --- a/docs/website/docs/walkthroughs/adjust-a-schema.md +++ b/docs/website/docs/walkthroughs/adjust-a-schema.md @@ -36,7 +36,8 @@ schemas |---export/ ``` -Instead of modifying the code, you can put those settings in `config.toml`: +Rather than providing the paths in the `dlt.pipeline` function, you can also set them +in the in `config.toml` file: ```toml export_schema_path="schemas/export" From b0d988e4706fe92f05af0732d85e01fc6e841d45 Mon Sep 17 00:00:00 2001 From: Anton Burnashev Date: Fri, 10 Nov 2023 21:14:46 +0100 Subject: [PATCH 27/28] Update schema.md (#747) --- docs/website/docs/general-usage/schema.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/website/docs/general-usage/schema.md b/docs/website/docs/general-usage/schema.md index 492e1a9117..3e690634f3 100644 --- a/docs/website/docs/general-usage/schema.md +++ b/docs/website/docs/general-usage/schema.md @@ -104,8 +104,8 @@ A column schema contains following basic hints: 1. `nullable` tells if column is nullable or not. 1. `primary_key` marks a column as a part of primary key. -1. `merge_key` marks a column as a part of merge key used by. - [incremental load](./incremental-loading.md#merge-incremental_loading) +1. `merge_key` marks a column as a part of merge key used by + [incremental load](./incremental-loading.md#merge-incremental_loading). 1. `foreign_key` marks a column as a part of foreign key. 1. `root_key` marks a column as a part of root key which is a type of foreign key always referring to the root table. From 0843ff61af0fc475bb4dd380f6ec5b1b74059e36 Mon Sep 17 00:00:00 2001 From: Alexander Butler <41213451+z3z1ma@users.noreply.github.com> Date: Fri, 10 Nov 2023 21:40:34 +0000 Subject: [PATCH 28/28] Nit: Remove py.typed file that makes Pyright incessant (#732) * Add __all__ to __init__ modules * Re-add py.typed --------- Co-authored-by: Steinthor Palsson --- dlt/__init__.py | 24 ++++++++++++++ dlt/common/__init__.py | 12 ++++--- dlt/common/configuration/__init__.py | 28 ++++++++++++++--- .../configuration/providers/__init__.py | 17 +++++++++- dlt/common/configuration/specs/__init__.py | 31 +++++++++++++------ dlt/common/data_types/__init__.py | 6 +++- dlt/common/data_writers/__init__.py | 7 ++++- dlt/common/destination/__init__.py | 8 +++++ dlt/common/json/__init__.py | 11 +++++++ dlt/common/normalizers/__init__.py | 8 ++++- dlt/common/normalizers/json/__init__.py | 11 ++++++- dlt/common/normalizers/naming/__init__.py | 4 +++ dlt/common/runners/__init__.py | 9 +++++- dlt/common/runtime/__init__.py | 4 ++- dlt/common/schema/__init__.py | 13 +++++--- dlt/common/storages/__init__.py | 31 +++++++++++++------ dlt/destinations/athena/__init__.py | 5 +-- dlt/extract/incremental/__init__.py | 28 +++++++++++------ dlt/load/__init__.py | 2 ++ dlt/normalize/__init__.py | 4 ++- dlt/pipeline/__init__.py | 1 - dlt/sources/__init__.py | 13 +++++++- dlt/sources/credentials.py | 16 +++++++++- dlt/sources/filesystem.py | 4 ++- dlt/sources/helpers/requests/__init__.py | 19 ++++++++++++ py.typed | 0 26 files changed, 260 insertions(+), 56 deletions(-) delete mode 100644 py.typed diff --git a/dlt/__init__.py b/dlt/__init__.py index c3725af118..f5dde3f204 100644 --- a/dlt/__init__.py +++ b/dlt/__init__.py @@ -41,3 +41,27 @@ TCredentials = _CredentialsConfiguration "When typing source/resource function arguments it indicates that a given argument represents credentials and should be taken from dlt.secrets. Credentials may be a string, dictionary or any other type." + + +__all__ = [ + "__version__", + "config", + "secrets", + "state", + "Schema", + "source", + "resource", + "transformer", + "defer", + "pipeline", + "run", + "attach", + "Pipeline", + "dbt", + "progress", + "current", + "mark", + "TSecretValue", + "TCredentials", + "sources", +] diff --git a/dlt/common/__init__.py b/dlt/common/__init__.py index 222cb3d5d6..466fd7c546 100644 --- a/dlt/common/__init__.py +++ b/dlt/common/__init__.py @@ -1,6 +1,8 @@ -from dlt.common.arithmetics import Decimal # noqa: F401 +from dlt.common.arithmetics import Decimal from dlt.common.wei import Wei -from dlt.common.pendulum import pendulum # noqa: F401 -from dlt.common.json import json # noqa: F401, I251 -from dlt.common.runtime.signals import sleep # noqa: F401 -from dlt.common.runtime import logger # noqa: F401 \ No newline at end of file +from dlt.common.pendulum import pendulum +from dlt.common.json import json +from dlt.common.runtime.signals import sleep +from dlt.common.runtime import logger + +__all__ = ["Decimal", "Wei", "pendulum", "json", "sleep", "logger"] diff --git a/dlt/common/configuration/__init__.py b/dlt/common/configuration/__init__.py index 2f22314ff4..a5ffd3e7b8 100644 --- a/dlt/common/configuration/__init__.py +++ b/dlt/common/configuration/__init__.py @@ -1,11 +1,29 @@ -from .specs.base_configuration import configspec, is_valid_hint, is_secret_hint, resolve_type # noqa: F401 -from .specs import known_sections # noqa: F401 -from .resolve import resolve_configuration, inject_section # noqa: F401 -from .inject import with_config, last_config, get_fun_spec # noqa: F401 +from .specs.base_configuration import configspec, is_valid_hint, is_secret_hint, resolve_type +from .specs import known_sections +from .resolve import resolve_configuration, inject_section +from .inject import with_config, last_config, get_fun_spec -from .exceptions import ( # noqa: F401 +from .exceptions import ( ConfigFieldMissingException, ConfigValueCannotBeCoercedException, ConfigFileNotFoundException, ConfigurationValueError ) + + +__all__ = [ + "configspec", + "is_valid_hint", + "is_secret_hint", + "resolve_type", + "known_sections", + "resolve_configuration", + "inject_section", + "with_config", + "last_config", + "get_fun_spec", + "ConfigFieldMissingException", + "ConfigValueCannotBeCoercedException", + "ConfigFileNotFoundException", + "ConfigurationValueError", +] diff --git a/dlt/common/configuration/providers/__init__.py b/dlt/common/configuration/providers/__init__.py index f79aff223e..76268c14b1 100644 --- a/dlt/common/configuration/providers/__init__.py +++ b/dlt/common/configuration/providers/__init__.py @@ -3,4 +3,19 @@ from .dictionary import DictionaryProvider from .toml import SecretsTomlProvider, ConfigTomlProvider, TomlFileProvider, CONFIG_TOML, SECRETS_TOML, StringTomlProvider, SECRETS_TOML_KEY from .google_secrets import GoogleSecretsProvider -from .context import ContextProvider \ No newline at end of file +from .context import ContextProvider + +__all__ = [ + "ConfigProvider", + "EnvironProvider", + "DictionaryProvider", + "SecretsTomlProvider", + "ConfigTomlProvider", + "TomlFileProvider", + "CONFIG_TOML", + "SECRETS_TOML", + "StringTomlProvider", + "SECRETS_TOML_KEY", + "GoogleSecretsProvider", + "ContextProvider", +] diff --git a/dlt/common/configuration/specs/__init__.py b/dlt/common/configuration/specs/__init__.py index 629a11fb6e..2a033b6bbd 100644 --- a/dlt/common/configuration/specs/__init__.py +++ b/dlt/common/configuration/specs/__init__.py @@ -1,13 +1,26 @@ -from .run_configuration import RunConfiguration # noqa: F401 -from .base_configuration import BaseConfiguration, CredentialsConfiguration, CredentialsWithDefault, ContainerInjectableContext, extract_inner_hint, is_base_configuration_inner_hint, configspec # noqa: F401 -from .config_section_context import ConfigSectionContext # noqa: F401 +from .run_configuration import RunConfiguration +from .base_configuration import BaseConfiguration, CredentialsConfiguration, CredentialsWithDefault, ContainerInjectableContext, extract_inner_hint, is_base_configuration_inner_hint, configspec +from .config_section_context import ConfigSectionContext -from .gcp_credentials import GcpServiceAccountCredentialsWithoutDefaults, GcpServiceAccountCredentials, GcpOAuthCredentialsWithoutDefaults, GcpOAuthCredentials, GcpCredentials # noqa: F401 -from .connection_string_credentials import ConnectionStringCredentials # noqa: F401 -from .api_credentials import OAuth2Credentials # noqa: F401 -from .aws_credentials import AwsCredentials, AwsCredentialsWithoutDefaults # noqa: F401 -from .azure_credentials import AzureCredentials, AzureCredentialsWithoutDefaults # noqa: F401 +from .gcp_credentials import GcpServiceAccountCredentialsWithoutDefaults, GcpServiceAccountCredentials, GcpOAuthCredentialsWithoutDefaults, GcpOAuthCredentials, GcpCredentials +from .connection_string_credentials import ConnectionStringCredentials +from .api_credentials import OAuth2Credentials +from .aws_credentials import AwsCredentials, AwsCredentialsWithoutDefaults +from .azure_credentials import AzureCredentials, AzureCredentialsWithoutDefaults # backward compatibility for service account credentials -from .gcp_credentials import GcpServiceAccountCredentialsWithoutDefaults as GcpClientCredentials, GcpServiceAccountCredentials as GcpClientCredentialsWithDefault # noqa: F401 +from .gcp_credentials import GcpServiceAccountCredentialsWithoutDefaults as GcpClientCredentials, GcpServiceAccountCredentials as GcpClientCredentialsWithDefault + + +__all__ = [ + "RunConfiguration", + "BaseConfiguration", "CredentialsConfiguration", "CredentialsWithDefault", "ContainerInjectableContext", "extract_inner_hint", "is_base_configuration_inner_hint", "configspec", + "ConfigSectionContext", + "GcpServiceAccountCredentialsWithoutDefaults", "GcpServiceAccountCredentials", "GcpOAuthCredentialsWithoutDefaults", "GcpOAuthCredentials", "GcpCredentials", + "ConnectionStringCredentials", + "OAuth2Credentials", + "AwsCredentials", "AwsCredentialsWithoutDefaults", + "AzureCredentials", "AzureCredentialsWithoutDefaults", + "GcpClientCredentials", "GcpClientCredentialsWithDefault", +] diff --git a/dlt/common/data_types/__init__.py b/dlt/common/data_types/__init__.py index 9ad4df37fe..83e123f124 100644 --- a/dlt/common/data_types/__init__.py +++ b/dlt/common/data_types/__init__.py @@ -1,2 +1,6 @@ from dlt.common.data_types.type_helpers import coerce_value, py_type_to_sc_type -from dlt.common.data_types.typing import TDataType, DATA_TYPES \ No newline at end of file +from dlt.common.data_types.typing import TDataType, DATA_TYPES + +__all__ = [ + "coerce_value", "py_type_to_sc_type", "TDataType", "DATA_TYPES" +] diff --git a/dlt/common/data_writers/__init__.py b/dlt/common/data_writers/__init__.py index 89d4607c90..5865466b8f 100644 --- a/dlt/common/data_writers/__init__.py +++ b/dlt/common/data_writers/__init__.py @@ -1,3 +1,8 @@ from dlt.common.data_writers.writers import DataWriter, TLoaderFileFormat from dlt.common.data_writers.buffered import BufferedDataWriter -from dlt.common.data_writers.escape import escape_redshift_literal, escape_redshift_identifier, escape_bigquery_identifier \ No newline at end of file +from dlt.common.data_writers.escape import escape_redshift_literal, escape_redshift_identifier, escape_bigquery_identifier + +__all__ = [ + "DataWriter", "TLoaderFileFormat", "BufferedDataWriter", + "escape_redshift_literal", "escape_redshift_identifier", "escape_bigquery_identifier" +] diff --git a/dlt/common/destination/__init__.py b/dlt/common/destination/__init__.py index 79940cfbc0..88b5d5ef06 100644 --- a/dlt/common/destination/__init__.py +++ b/dlt/common/destination/__init__.py @@ -1,2 +1,10 @@ from dlt.common.destination.capabilities import DestinationCapabilitiesContext, TLoaderFileFormat, ALL_SUPPORTED_FILE_FORMATS from dlt.common.destination.reference import DestinationReference, TDestinationReferenceArg + +__all__ = [ + "DestinationCapabilitiesContext", + "TLoaderFileFormat", + "ALL_SUPPORTED_FILE_FORMATS", + "DestinationReference", + "TDestinationReferenceArg", +] diff --git a/dlt/common/json/__init__.py b/dlt/common/json/__init__.py index cdcc609d03..edb48643ef 100644 --- a/dlt/common/json/__init__.py +++ b/dlt/common/json/__init__.py @@ -193,3 +193,14 @@ def custom_pua_remove(obj: Any) -> Any: except ImportError: from dlt.common.json import _simplejson as _json_simple json = _json_simple # type: ignore[assignment] + + +__all__ = [ + "json", + "custom_encode", + "custom_pua_encode", + "custom_pua_decode", + "custom_pua_decode_nested", + "custom_pua_remove", + "SupportsJson" +] diff --git a/dlt/common/normalizers/__init__.py b/dlt/common/normalizers/__init__.py index cfe1f5beb3..e106419df9 100644 --- a/dlt/common/normalizers/__init__.py +++ b/dlt/common/normalizers/__init__.py @@ -1,3 +1,9 @@ from dlt.common.normalizers.configuration import NormalizersConfiguration from dlt.common.normalizers.typing import TJSONNormalizer, TNormalizersConfig -from dlt.common.normalizers.utils import explicit_normalizers, import_normalizers \ No newline at end of file +from dlt.common.normalizers.utils import explicit_normalizers, import_normalizers + +__all__ = [ + "NormalizersConfiguration", + "TJSONNormalizer", "TNormalizersConfig", + "explicit_normalizers", "import_normalizers" +] diff --git a/dlt/common/normalizers/json/__init__.py b/dlt/common/normalizers/json/__init__.py index 07ffd52e2e..e1c5c3b846 100644 --- a/dlt/common/normalizers/json/__init__.py +++ b/dlt/common/normalizers/json/__init__.py @@ -1,5 +1,5 @@ import abc -from typing import Any, Generic, Type, Iterator, Tuple, Callable, Protocol, TYPE_CHECKING, TypeVar +from typing import Any, Generic, Type, Iterator, Tuple, Protocol, TYPE_CHECKING, TypeVar from dlt.common.typing import DictStrAny, TDataItem, StrAny if TYPE_CHECKING: @@ -54,3 +54,12 @@ class SupportsDataItemNormalizer(Protocol): def wrap_in_dict(item: Any) -> DictStrAny: """Wraps `item` that is not a dictionary into dictionary that can be json normalized""" return {"value": item} + + +__all__ = [ + "TNormalizedRowIterator", + "TNormalizerConfig", + "DataItemNormalizer", + "SupportsDataItemNormalizer", + "wrap_in_dict", +] diff --git a/dlt/common/normalizers/naming/__init__.py b/dlt/common/normalizers/naming/__init__.py index 28f3ae5bd4..c8c08ddd63 100644 --- a/dlt/common/normalizers/naming/__init__.py +++ b/dlt/common/normalizers/naming/__init__.py @@ -1,2 +1,6 @@ from .naming import SupportsNamingConvention, NamingConvention +__all__ = [ + 'SupportsNamingConvention', "NamingConvention" +] + diff --git a/dlt/common/runners/__init__.py b/dlt/common/runners/__init__.py index 36eb8ba6ad..9af668ce87 100644 --- a/dlt/common/runners/__init__.py +++ b/dlt/common/runners/__init__.py @@ -1,5 +1,12 @@ -from . import pool_runner from .pool_runner import run_pool, NullExecutor from .runnable import Runnable, workermethod, TExecutor from .typing import TRunMetrics from .venv import Venv, VenvNotFound + + +__all__ = [ + "run_pool", "NullExecutor", + "Runnable", "workermethod", "TExecutor", + "TRunMetrics", + "Venv", "VenvNotFound" +] diff --git a/dlt/common/runtime/__init__.py b/dlt/common/runtime/__init__.py index 65f5c11696..8a6d78cf67 100644 --- a/dlt/common/runtime/__init__.py +++ b/dlt/common/runtime/__init__.py @@ -1 +1,3 @@ -from .init import initialize_runtime \ No newline at end of file +from .init import initialize_runtime + +__all__ = ["initialize_runtime"] diff --git a/dlt/common/schema/__init__.py b/dlt/common/schema/__init__.py index 6db3f21cef..1a3b4db223 100644 --- a/dlt/common/schema/__init__.py +++ b/dlt/common/schema/__init__.py @@ -1,4 +1,9 @@ -from dlt.common.schema.typing import TSchemaUpdate, TSchemaTables, TTableSchema, TStoredSchema, TTableSchemaColumns, TColumnHint, TColumnSchema, TColumnSchemaBase # noqa: F401 -from dlt.common.schema.typing import COLUMN_HINTS # noqa: F401 -from dlt.common.schema.schema import Schema # noqa: F401 -from dlt.common.schema.utils import verify_schema_hash # noqa: F401 +from dlt.common.schema.typing import TSchemaUpdate, TSchemaTables, TTableSchema, TStoredSchema, TTableSchemaColumns, TColumnHint, TColumnSchema, TColumnSchemaBase +from dlt.common.schema.typing import COLUMN_HINTS +from dlt.common.schema.schema import Schema +from dlt.common.schema.utils import verify_schema_hash + +__all__ = [ + "TSchemaUpdate", "TSchemaTables", "TTableSchema", "TStoredSchema", "TTableSchemaColumns", "TColumnHint", + "TColumnSchema", "TColumnSchemaBase", "COLUMN_HINTS", "Schema", "verify_schema_hash" +] diff --git a/dlt/common/storages/__init__.py b/dlt/common/storages/__init__.py index 05a4f36119..c18b8ab04d 100644 --- a/dlt/common/storages/__init__.py +++ b/dlt/common/storages/__init__.py @@ -1,9 +1,22 @@ -from .file_storage import FileStorage # noqa: F401 -from .versioned_storage import VersionedStorage # noqa: F401 -from .schema_storage import SchemaStorage # noqa: F401 -from .live_schema_storage import LiveSchemaStorage # noqa: F401 -from .normalize_storage import NormalizeStorage # noqa: F401 -from .load_storage import LoadStorage # noqa: F401 -from .data_item_storage import DataItemStorage # noqa: F401 -from .configuration import LoadStorageConfiguration, NormalizeStorageConfiguration, SchemaStorageConfiguration, TSchemaFileFormat, FilesystemConfiguration # noqa: F401 -from .fsspec_filesystem import fsspec_from_config, fsspec_filesystem # noqa: F401 \ No newline at end of file +from .file_storage import FileStorage +from .versioned_storage import VersionedStorage +from .schema_storage import SchemaStorage +from .live_schema_storage import LiveSchemaStorage +from .normalize_storage import NormalizeStorage +from .load_storage import LoadStorage +from .data_item_storage import DataItemStorage +from .configuration import LoadStorageConfiguration, NormalizeStorageConfiguration, SchemaStorageConfiguration, TSchemaFileFormat, FilesystemConfiguration +from .fsspec_filesystem import fsspec_from_config, fsspec_filesystem + + +__all__ = [ + "FileStorage", + "VersionedStorage", + "SchemaStorage", + "LiveSchemaStorage", + "NormalizeStorage", + "LoadStorage", + "DataItemStorage", + "LoadStorageConfiguration", "NormalizeStorageConfiguration", "SchemaStorageConfiguration", "TSchemaFileFormat", "FilesystemConfiguration", + "fsspec_from_config", "fsspec_filesystem", +] diff --git a/dlt/destinations/athena/__init__.py b/dlt/destinations/athena/__init__.py index d19a0ffdb7..1fd7f14d57 100644 --- a/dlt/destinations/athena/__init__.py +++ b/dlt/destinations/athena/__init__.py @@ -6,7 +6,6 @@ from dlt.common.schema.schema import Schema from dlt.common.data_writers.escape import escape_athena_identifier from dlt.common.arithmetics import DEFAULT_NUMERIC_PRECISION, DEFAULT_NUMERIC_SCALE -from dlt.common.wei import EVM_DECIMAL_PRECISION from dlt.destinations.athena.configuration import AthenaClientConfiguration from dlt.common.destination.reference import JobClientBase, DestinationClientConfiguration @@ -47,4 +46,6 @@ def client(schema: Schema, initial_config: DestinationClientConfiguration = conf def spec() -> Type[DestinationClientConfiguration]: - return AthenaClientConfiguration \ No newline at end of file + return AthenaClientConfiguration + + diff --git a/dlt/extract/incremental/__init__.py b/dlt/extract/incremental/__init__.py index 652adc19d2..6d042aa15d 100644 --- a/dlt/extract/incremental/__init__.py +++ b/dlt/extract/incremental/__init__.py @@ -1,8 +1,7 @@ import os -from typing import Generic, TypeVar, Any, Optional, Callable, List, TypedDict, get_args, get_origin, Sequence, Type, Dict +from typing import Generic, Any, Optional, get_args, get_origin, Type, Dict import inspect -from functools import wraps, partial -from datetime import datetime # noqa: I251 +from functools import wraps try: import pandas as pd @@ -12,25 +11,22 @@ import dlt from dlt.common.exceptions import MissingDependencyException from dlt.common import pendulum, logger -from dlt.common.json import json -from dlt.common.jsonpath import compile_path, find_values, JSONPath +from dlt.common.jsonpath import compile_path from dlt.common.typing import TDataItem, TDataItems, TFun, extract_inner_type, get_generic_type_argument_from_instance, is_optional_type from dlt.common.schema.typing import TColumnNames from dlt.common.configuration import configspec, ConfigurationValueError from dlt.common.configuration.specs import BaseConfiguration from dlt.common.pipeline import resource_state -from dlt.common.utils import digest128 from dlt.common.data_types.type_helpers import coerce_from_date_types, coerce_value, py_type_to_sc_type -from dlt.extract.exceptions import IncrementalUnboundError, PipeException +from dlt.extract.exceptions import IncrementalUnboundError from dlt.extract.incremental.exceptions import IncrementalCursorPathMissing, IncrementalPrimaryKeyMissing from dlt.extract.incremental.typing import IncrementalColumnState, TCursorValue, LastValueFunc from dlt.extract.pipe import Pipe -from dlt.extract.utils import resolve_column_value -from dlt.extract.typing import SupportsPipe, TTableHintTemplate, MapItem, YieldMapItem, FilterItem, ItemTransform +from dlt.extract.typing import SupportsPipe, TTableHintTemplate, ItemTransform from dlt.extract.incremental.transform import JsonIncremental, ArrowIncremental, IncrementalTransform try: - from dlt.common.libs.pyarrow import is_arrow_item, pyarrow as pa, TAnyArrowItem + from dlt.common.libs.pyarrow import is_arrow_item except MissingDependencyException: is_arrow_item = lambda item: False @@ -456,3 +452,15 @@ def __call__(self, item: TDataItems, meta: Any = None) -> Optional[TDataItems]: if self._incremental.primary_key is None: self._incremental.primary_key = self.primary_key return self._incremental(item, meta) + + +__all__ = [ + "Incremental", + "IncrementalResourceWrapper", + "IncrementalColumnState", + "IncrementalCursorPathMissing", + "IncrementalPrimaryKeyMissing", + "IncrementalUnboundError", + "LastValueFunc", + "TCursorValue", +] diff --git a/dlt/load/__init__.py b/dlt/load/__init__.py index 0a6c97ed3d..a181d672ba 100644 --- a/dlt/load/__init__.py +++ b/dlt/load/__init__.py @@ -1 +1,3 @@ from dlt.load.load import Load + +__all__ = ["Load"] diff --git a/dlt/normalize/__init__.py b/dlt/normalize/__init__.py index a40a5eaa7e..25d6a4afd3 100644 --- a/dlt/normalize/__init__.py +++ b/dlt/normalize/__init__.py @@ -1 +1,3 @@ -from .normalize import Normalize \ No newline at end of file +from .normalize import Normalize + +__all__ = ['Normalize'] diff --git a/dlt/pipeline/__init__.py b/dlt/pipeline/__init__.py index b6539c1b78..71c37c40ba 100644 --- a/dlt/pipeline/__init__.py +++ b/dlt/pipeline/__init__.py @@ -9,7 +9,6 @@ from dlt.common.configuration.inject import get_orig_args, last_config from dlt.common.destination.reference import DestinationReference, TDestinationReferenceArg from dlt.common.pipeline import LoadInfo, PipelineContext, get_dlt_pipelines_dir -from dlt.common.data_writers import TLoaderFileFormat from dlt.pipeline.configuration import PipelineConfiguration, ensure_correct_pipeline_kwargs from dlt.pipeline.pipeline import Pipeline diff --git a/dlt/sources/__init__.py b/dlt/sources/__init__.py index f080e736d3..6e418a3cb2 100644 --- a/dlt/sources/__init__.py +++ b/dlt/sources/__init__.py @@ -4,4 +4,15 @@ from dlt.common.typing import TDataItem, TDataItems from . import credentials from . import config -from . import filesystem \ No newline at end of file +from . import filesystem + +__all__ = [ + "DltSource", + "DltResource", + "TDataItem", + "TDataItems", + "incremental", + "credentials", + "config", + "filesystem", +] diff --git a/dlt/sources/credentials.py b/dlt/sources/credentials.py index 70e88beb49..5815324d56 100644 --- a/dlt/sources/credentials.py +++ b/dlt/sources/credentials.py @@ -2,4 +2,18 @@ from dlt.common.configuration.specs import ConnectionStringCredentials from dlt.common.configuration.specs import OAuth2Credentials from dlt.common.configuration.specs import CredentialsConfiguration, configspec -from dlt.common.storages.configuration import FileSystemCredentials, FilesystemConfiguration \ No newline at end of file +from dlt.common.storages.configuration import FileSystemCredentials, FilesystemConfiguration + + +__all__ = [ + "GcpServiceAccountCredentials", + "GcpOAuthCredentials", + "GcpCredentials", + "ConnectionStringCredentials", + "OAuth2Credentials", + "CredentialsConfiguration", + "configspec", + "FileSystemCredentials", + "FilesystemConfiguration", +] + diff --git a/dlt/sources/filesystem.py b/dlt/sources/filesystem.py index af874788c1..bb18a15f20 100644 --- a/dlt/sources/filesystem.py +++ b/dlt/sources/filesystem.py @@ -1 +1,3 @@ -from dlt.common.storages.fsspec_filesystem import FileItem, FileItemDict, fsspec_filesystem, glob_files \ No newline at end of file +from dlt.common.storages.fsspec_filesystem import FileItem, FileItemDict, fsspec_filesystem, glob_files + +__all__ = ["FileItem", "FileItemDict", "fsspec_filesystem", "glob_files"] diff --git a/dlt/sources/helpers/requests/__init__.py b/dlt/sources/helpers/requests/__init__.py index 1d0a37b6e5..39d286e29d 100644 --- a/dlt/sources/helpers/requests/__init__.py +++ b/dlt/sources/helpers/requests/__init__.py @@ -26,3 +26,22 @@ def init(config: RunConfiguration) -> None: """Initialize the default requests client from config""" client.update_from_config(config) + + +__all__ = [ + "client", + "get", + "post", + "put", + "patch", + "delete", + "options", + "head", + "request", + "init", + "Session", + "Request", "Response", "ConnectionError", "ConnectTimeout", "FileModeWarning", "HTTPError", "ReadTimeout", + "RequestException", "Timeout", "TooManyRedirects", "URLRequired", "ChunkedEncodingError", "RetryError" + "Client", + "RetryError" +] diff --git a/py.typed b/py.typed deleted file mode 100644 index e69de29bb2..0000000000

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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-table-prop-pbi.png b/docs/website/static/img/blog-modelling-table-prop-pbi.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa8ed67c89ddaa4741a0780327455d44c7e3c54 GIT binary patch literal 10250 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-table-rel-gooddata.png b/docs/website/static/img/blog-modelling-table-rel-gooddata.png new file mode 100644 index 0000000000000000000000000000000000000000..e458db867d4c5e7016a0424a35df93ed77d7f986 GIT binary patch literal 31411 zcmb@ucU)85wl*42L`1*}uOOiE0@78gbU{J7bfv0DClu)=6e$)2M0yA5ARr~Q&_o2K z_ZE`SI|(fWLdsoH_r7PJz3=&bzw_Nc5EpB%wdR~-%rTzvj4|iiN7||kXIRgGKp+OS zhxheBAnHTlr~dRQ;4f5uZ(}IG-1StIK;`{c*MN(Yw)eE|fk2fp^n_?Cw(Eo#*E-)=glK4SrG5G^ok#)g6V|~ z9z{O=`p%@`@iz5&u~WDB!(c4V4O$@#*P{D%xi$AIv(Pm{9sbEH^XR{H--cJtv!u z=9~yMGHbU(o8Lu3bBWKG|1LDwL`=skw@Vf1a~o}MFY&8#7GKVxVg4og;;?seNRgvZ z=SzxBbTp~OHwN!r{>f7M_ZC^-!NfbCN76mFtMi5_(6hGqrLb3=d{Ebj3q5t`&>>PR zr)d%%SDLDE2O00iHXI=CR+lf|r%citcbj`)-JSFKmxyX~OEl#y!JH?R9yl1`n}{%T zRzdgXE)}37*ZRXTi5It(+Dgl5gR@TZGv2IRG^7btH5;fr|LY|MBzaxcn>|zkf;mpK z+|nSB*yXun>-0%e9B5wu+EY?AZF|(hwf_TYggo+DlLLX?=zr(Fclk2AF02-8&ID>L z?m@ZR{9nrSUzOqSbG!8rKxJRQ(|E?Zr9qchnK^yi+Y+FE>cF~JECa-umv`UO3C`b` z;?=`kJmdu%w?CMiv`Q`H5#VlklF$+s7A(i8_>H2+!6xBN3S}dyj)zId45RX=BvQo5Gb7?_53LQTSKe@c30>~fa?W%6JtHZs0o6}yE&XCvZKlm- zYNKig)~3F59Df(_h&k}I8_@#~r>eqjGzdBQ^WkFpF@E4<#h&z_ zNn-3vu06&Mh>7nf77n{xJTnS)&l6bCxMJLtoX7Vs^q%IO+zt~32@*{(L$X=j5c^a; zWpOK(HP!o4iyv}MS{WNxd?oKI0ut5}+3w=Kh-A?~r59rE3!n1S9_~FtTDKEp8cl-q zS!*7~`AzGteTubsn1t*`2{n^w*_JD^$n2P+FXfW`qfIW25xhaA5S@FH*gKB2y$#x% z?I##`FQC0K$D~J*115g z2*vVgtHM&Ojl;XoIy4so89>{(BwVpi6B2Jokwbf&rd{4h;Gmnq&b{*R^n@kwqqvJq zo{MVY!eP0>nhN-#^DIF!gmNXR#n%IF?fJ@f=g5z-5e&GM^f5VBG*@b2!79GAg_+?9 z<6PXz6k5te>A|ds%<{(2adU+N4E9o`S-vUG^4llG_JjNN9V&+EKJ6jRA2a$Yvaf~M&~5WvVRjSl8PyuQOotxNmci=M>BjKoC>n}^AMGBU zl|;i|7+Ep5Pd}((vhS;Tcu!MYZp1SOXT39?%hEW$`5e*}zd*q95U<}UMVsHBdDiVU z^WZ+#`>a=M?GJy3{s*YaC8Bd$4g%&LvYqdy(aLa&DX5ag97-t`imwzka zqCj|Mr2B+?-m$RPz=HYxAF?s9H>Y3kc2B%~-3kA|F>V;gjNVluL0Fe9Z0l@09W&F4 zCC5oau$yibU5U5=_e>k)V}CU!SHX}Ez9Odqw_P^>G5g)S=pu7?ZFwOnpvEyv9tpKf zGCSm+;A%b?_m?g;Rn0(@#eq5b_=glM1}eo5d9qnCkT2hmYAfw~{gq&=qjd)Sy9xAU zIdp@{_0#$;F8vB1r$?oV=}4Z7cHPNeDb7cH|12qD1`kvI0hrtur#PkP{;Nf%9h7?X ziGm5lbpMwi;2aAzdgGTT+olQ3KheVS@TE*wXDfjF4)0wX+5*|F|0}HcgAO`!fbq*K zJT97H@^0kNDVibhHZfh3r|C5d@R4r;mol%9cdL)SNGuM zMW=rf{8m_G&!MP8f-g|dRlKF6Q`c7i8*mDPmy&}m4a`csz{3VcMmc8!p(k2C#>Zz5 z4_B?C_7-wZQP9Lq0p6JtfiHw-Htz81055Oj)wE{>1(ozzy8Oa5gFkMEGJzB?DqAxK zpZ=ea&cAxae}zb~ibcYlkpQ%1%>YJvCQ^N@>Osi{)vRRx*E=*l-J|7NsT;-YfYt>| zu`nFkpA2ZLaB9QVUZgvWUj^g=`d>oK zlJx`U{n5qV%sjr*2*>`BJ!prMj%MPruzoZfZ7TmSPgXv=PHTuC4tl71P@nmw3QHDB zxccZ?eiSubpF!iIN<#Ayn+)?A4&9xsQv!z-mf>B^W%CGMeqXP2b_H>NsGKFM=xt?l zvlwaX)!0H_$6!ZlEyHVzZpR?dHO9+HCk-DPlqA|0mlp8a(u1sC8=Q;Ea*FtX7gsXW7x4&oKfqnf~hDRmTV$^^xkDQN{>M_X=BqEEuXxbpOX{|6J$o{_xIX zvBw43bx_B+Wj}|mv%f&Xtf^?iB(c=uORJ8x3pvI>cUk2|yW5RRf(GBwlAq?}Y8J%B zVYB1>b4V$ytBc2YGK{AbwfotXNNg4`z&3{`(}RrL;}SBGrt3=I=wExRO@l#o;DN!>7J>bhA11+3$Vz0^s^ec! zrIfD6vuQGt8-G;!@aa=!bz!BW}@aSW+rww ze|w-{*K97U?-Db|@hOV-jdq6}?50ntUllWaOLUI!erI?;!I-d72;088MMTwe8yxKnvnU(V zyQ=fSfegd2HDnJ8$+F)ZV=JvS5F%cYnvOUSkBvMbDidhF*px9^>f%)V!Fz6QYlV3- z&Nn8*Y>7RBN?A0I@XCRO>$U^LTrX*esk67udwljhgg>k6FY)UH;m|^jnEjHKDpaUU z((%;H1-T?#W4S1c#>SJ@*^3kl`lxglw=7`r^3f7oP{qgZR{41b2`)bEQ4!oR={cis zMW%#&N8`?v_vx+ffzRaC#A*I;v8%in907T)I zuZ=|0ZojOR%ju*lCxJHsB5UhQuWIO~o0|m9WkgLm+{@Pl%z}h~4tLu0y=y5@yUl(7 z8PV^)W&CI}4BvprP0orkx+%JBW(D@uUHX1%J^sX0>Vls>d9jV+YNU8TzLTz;cw1P^4Nmx{d6 zu5nPw;MbVVz-&(u|Kr|y8sj3LxrCBK*YJ-O>BWj^?w1~Jl#Hes^BMR}(qknjpIVZp zjvWq`WHy0b(dAw-RJSka)rx6Q*0PQA^@%80hCQf9CZ=SSTX=0wYL*?Ro9+o{Ja!&1 z!r1e=ANOr5J?(2AX^u!4?)V8!>c6TVq?N&ZOe~-H5*H{ryP6e6oEr0!ywSnt97hLI zOm|#`zo3@dtJmTI+{EC0N)Y+~L%9CSA^)qJf5L7!AR|1gSn92)~X)oP}-zd60#W6Babm!xUOA>&`|m~oG-TKphF zEfqQh4H11$5s@qZDedu(g)5HhiW8^$Z~gH)8%(9EKaog_n=^Bl`quN?RpUOHx*aGc zU)0dC%i5PabHh*IF zPMQ)LoRc+lBE_+nOcEp1Ez=5YzHz*XE{yi?hnYw{?_x_A$aw2ys9|^Du-2SlWrZ=% zk#p`S*`1`V@yOb!(8b~j4lB-Qt?%3E{rXaJcb#mm;*;2q{jew2Y&MO^ze2jDVh48u z3@=5DxK16@CybJrxgkf4aES}UqVZyf!V?ZswemrY@!0(UQ~Bz}HBEbb-m21sT#wCq z!gMThqqVVl3jxeZSrj!yZqpT*wj1Tk!-ZA z9KXE1{#074?sKvW-&(1HkuT{?xIAiE<$Z9sq_sf(vMoPxMaS@9+$CWWT*O{H*{Vio zYi@(nsc81I8e@)1k$7^#EN0YFztH-o_t+^JeU$ZnsNV~ZmF*AGj@xhKyM<0$CNF+A z%?YeS=G@M38X0+Fg--n(SnjELEU}uB7v0!d-`ZHAN){!2DBX%3(v3|Xpdam9JZQzVTug|BRH}~6j^H==F^@}q| znexxw|Bfm4`Fi;b`wwH^{;T1y!fR22jbN|u3+fq%9}%hK)_`zEmdWs1y0U(~@4U93 zNKJ8mSj49-8FSGatSwqsv=YUH^j?Wtx;sam-0ojb5C#hrc@5wpH18m&Pez8qH~6>s zvhULt{=!|OC7TFe^#+@J90B;kRur+hu4S;S+I-tA>xq2iRS0g`}dEd_^qyVr}9{rvwh-@oj%It zaAaNs3|XPo2A)f^L1#1B)Q+v;&8p0kCtOAw1C3k-XwIUv;ioCD0HgB%BI1b;RHzwN z(Lub^#LI3Cr(*4Fh=RzVi&2qX>lPzlc9?{1!-9Y<*7HS7w*my!gR_}obM#DP1G#>p ztT(ai3|F?P#27v44oCkFXtVz*@M-6rq6VE?`IPkn{z|8chR_}Gv21F(PL9Mob>SCz zHx!%&kbH#huwx2db0-Aryk!K;;{PS5I+(Zl!VMQqP$mFgWO+S-t(0LFcA{(V`0Avr6@i7$(vIyZUx2Gg+|DT*XH&f~qbh zYwQJsEBNr@?_j|d8_Ew^Q^@1;H`94Mg(oMfGv53#tP&Dt!*BjFw;M@_VyCBxDLT{% zy-b*>XkS1Y?Vx27WM%rJvr?OR1RWt7FpPsu+AvA-n=-Kg)mjJJRtt{;o zTM)*NOG&+H7VaRi83?1;Ly84w=Ytb$`S=WrB`cz$3pGvh<8SY6`am8xq92Q+{Gt2E z?%j+^T=}D=CAE7Al~35r>-3@fyakK_s56L#3|?NZnbC|i(&~<(#?yA|+u|_~rn-zv zCF>xu3o$#*2L4*Ln#J84Z|`C{Hyu28yYN?1SbZ=@eO3-vD}LS%EH|{!hrTSCTqz=n znph^SyuJrGLr~YH0LOw0u%I#eRb27r7CDx`d*QNI=eX;6C-rt`j)x@ssIlu%C62*j$VH z+CYs*U!xq4$Fj9R_0v}}E(M**6Whri|3u>teXy?_3vj%6R+X|xHd^$$zYuTTY63PP zM{;G#X>ELnb+#qRSf#f}HU`(M`Bp9lmrD99vpLC?+f1L;RW;^sayWUnPQ5y_Y)$FM z$-|PB4AJM%0t329~aR^lfMXewYk7ElH`bqctd!R*I#`9N!fA6E=*~Ytf;yq2tu5hdMfkH-)sFpZ! z;VPGJo-MWTFAc^npQrVp`?j-oY||6>ZF7(9);(kQy!0wsD)W_);jinmOlJ#vX#tcl zIdMx&xm%>@8S}K9^VliL+9!^QxFKt0Y1P&wQx*T?{@{(??|t~>YZjg}lSbzl+s#!J z9xsXC2b)#oBM0Wt$z7gTAgWLd)Zt3JFL4M{#sejpHDfSywBiME>~AdwoltAj79V0Z z)5r>P7xq%u_X%Gp<|o@|3Daj>w3yv3NwVOM?3(_Vw#%SXKlEiWRy1CEha1Knm%I}gOJ3k$iSJT@XeXxnHGeAvY+RgTuIae>ScNGKwP4>H}`cfn0|Fr z%fqJ!9G@*>v)5@REY_UsRL0bw7F4(r#s8AJZ?$W*!4PK&KIAC>y6oGFdu}tFThRq~ z9yq|?m}`)}SYW$aW$3LEQ(^Jy#U|g6in*0@q(J`G3HkLg#FomaPslt)(gu9r=*XJi z@Q&*vDSG?19Hu1(T`R92P?R2ehu-EQfKFTw64W<6i$9*4DcF4lJt&uccAcittmvdm zuajEA--XsX;fw)AVcIN3PVfufGxkqy!x4cv^mk?znvcE16(OGEtM5dfqct>}Hmcrak>Wshkz+-KW z`zW{lrO(bw42LJ#BIf5PO2@bt_f$P)CfQmk(5E-?lAKBzvG|vHF)<8CEsfXJQDONh z0sFg${@B>(E7{HazT$O}O=G8^G3T#AM5P=q*d@EP^1P5bzWp_$1mU#LyWpT|de2bu zVT*buJBGvGp?7|4GGz?_Uk*kV5fLdD&a)kqj>A@ZR#~3W{CVxz0ZAr2UDl%Z;JZCrpyK=xDS|Yw>7#M;5*+PHbYN4w8 z3L!PHMYZ{2aO3Y@11`2YBQ_?1FqXydvCReJv_teD<*Nb6!f)Y|&o6J5vnXK8Ke&9A zX1I|byKHzSf#X1l$RIJ96m-y%3Yg8~NqwvKvXqqQcu&pY_=dIacSs&lvw}O~D4}+2 zZ7;zCTV>T{<1oH5lWO_of;;TV7r#4osC|oX<~FzO^9*bX#N4Xz4MVI`enFUxqU*N@ zy!Ua>TPIT2*ULz(wl-f~yem+GPn!j7wC=^Hh*y|&U$iir0oAdxOWkd1o0J=v^i*!D zW!qRZ@9lWce(eA4?djhs!GFdWcZ9~UpzVM0`=Y?g`QJwq|IAwcS9=jZr1$_TL+2<&0 zNIGC4^|tYv3^@?s#e)YZJ+M2e&C`)qriybuaO|mJK1e?8UfSz_hjTyB-=6_fhuf;t z8uvuir!qBCr-CRkSD_l@^`X@i`DbC{+BiHRF|oiOLt?djb@(s zh(|~($Gk^xngjKrnO2PKvZ|h~9@$}cCFM?Q) zjaD<^-s_1J0?^*2cN|crn#EdDfv4H>^Eq9_R~l+oZb~0KN0XHT%rl~cIRl8#5|#+} z`dVRQjw!4;Up_r)z9ik$1I-JICXNX%sBwFdOTbBG#|f`CI1P(d_2EWJqTH4{^&d|K zO3ujJQ!s=K6fz&6#lG5D!ZrKtS0a4$TBb6gQp~4~$*^dUepk9mm2ZJm(1FZF1hZ`0 z0!$+`GJeuM44fp`pi5W0HMZHELh=3YRv3(Te^?5v^>|P2ydzvLIebz5@f6A$&MR_t z+cw{J{M;9!Fq+3RKDY1W~_Yc_kd&){4HueejnJ9B?cp zlQ3Pr31I^u%sXH_H27)US80XqPh5N+u^A~sweQnfA?Yg}I4wKg@< zCv=54$a5Qq)HZKD9_lSum&LKtm|zWxK0jQ-5On(@X3Fw%yi0wC?6@KJAAtaPiUa=i zd1&B^0;H7l+h{sM!u4h}m4ZeU22_79n~I{1ZZYSA=2`E|8gHWV<~Q%Dx9obW+mRn6 z5FqbZR=fC*b}iv<7q_+Qjn&!Uj1W=?H8OBrh^)6$y%0Z&QQ^k6evcNHV%hgsRq|$_ zLY>-AhM^xq#ISkPEq865>~)rWgCi6Hht@%(6hO555p3B=fbsj=mOF;iq(UF9sX&? zPQ^wrW>9FKL>_c#0iYJ9J?yZljB_<%V%!e->Ve;jPE7C=WQ`?GLBn;S z4a0qyGcb>f<6eR_WcK1Gj^gBg8@}7$krtx$>w(-J9E%xT+3)0B1lF3;;$`tcTRXfi z)hyc+0`9&`>~7I5aax*mQDuD?gC(>y(YbHbx|CVnyJ48sc;3q4D3>$&@`x?VuJ%kZ zAKIKsCXJJhF!O+x;XPnA6`Q#_BrSjlP?=UiFB>~mz7(Hy)8m?D$N{lQvGqyLCt|Hk zUhswK^rh&E^fAf02|@BcL6B!(PXZ*F0$`sy&I1>h|6GXOi9Kg2 z-ga?bSK;(wFd5MD*|Sp6bExn1wq0aZwj#QJv^%FH%gXiVby758J{@fTxL{P0B>)+w zLrx$TlMV9`y9{KE$gHxnNeRY9pW2H|aG8)jQ#&37e^dL^pDzHGo1#rLo)lU*?4kJ|!dLQFvPP3l5&LIU%QyY0* zZZ;`Cacwa62Jw)nBs68Z?ngyFe&$!wGQwrZ-qfnuyO<@dBs+MEG7Dq=Z7A&2^*(&j z!`9>a4lGEki&NOHxWZFi7oHgKarN!BjuVBzaJO6i7!H?T95XRH{Fn~qx7HO(y{2Ej z*F`@(+5*;KMoNeIWV=!1VO&8)e)z1?0;!+p(&|15yl|lNJa{bU?b!Uq`H({(bR$$) zoFF|DnI)qRxbSPo;pMb;en#e_DzPQs7q_Iv%v;fLGlXe=rfVB-#|f#7KXW5# zQaj7ZAZG3_FY{SKNU!8%fRb!*=d0f;P-M$9+X`D_Z{Arp4f6p-G5%JdM+2H|mbD(m z2N)F4)4|n$jO23xurTZdf4!M|mbbnFz*?YyU<#uO`cE}o0qry5p=I{YoheR|&^{@| z)-Pl_dy%S^2X@7_3Nb3N;8C{$^o8>L!(6(%~_&-Y^oD{`8HihurS*& zsx~B|YJ&c-jP4M`%14oy+xczd){IgMgtUt7rZ<{sAcKPxd?oq=&m)hs72ncPVTnrK zaN&Jwa-^fX$JUav6Pw-5V+DnI^Y=U#0sct+mquUM9)jwHs3khsJj=~B5=3g<2kYT0WSdL=-y;`S5LT3e=d9%Usl6_$<( zOBph^p0#+vIDo0S#*sdBAp4`%46^6qyle`iu zxDjtN)CEEiNcO9=YU!k4OF9-)I%EE@$DWBp6fG3ky3eM9;;?czA+8UM_H3Cq$6t5!~zG<4?A17MIg zWYROQ&vHn56J$$iYj(lvlm^+KoLuqW?V>f^K!~dl+4=n)Z*r7Cv5u=3rXm5$tv7vzU4CDty?f* z+rkvXH?-5qg79giPXK{-Y;Y|)o?Zjx2Rwh#(b27sl~o^btSAfWeE(-c{@VOmT0$<% z&jN8BpqeLhJCxlYx)OK7%jp=cvpI1S!}(!k4e!QfE*IE1+`0zwJLz49W6KxIrAj#9{#ECV-FAj{01vn+M}YeI5mO$O;(7TJ>P zi*$TU=v8;|C?h>>57_h>P)oHJx#Tbc6s<&97LK{+b*Als<dZFSdif7fzAes*SwB52cJP|HvS@? zkSCdo>qJJj$_+&BsN{X-$rh9ebul=xO%Tn$2w^?dg23qs=)2w-# zoHNVM<9!JrdTqTgpEVmy6^7wyyPF5vNLp4O3r@*1vmW*yqKBO=158tW@ex-?)-u{E z%qe9?-DXYTzJYdgT=QSW=`r!s28d6hE1u8L>-t-=Ll-!{HRrl2SqxOMuuTl0miiae zUjoH;bfx1fs}FVGs+?udZl8aCIWc~<`@FJ~7Ri3jVcK1Ds-GdQ-PGwQ`bx|`YCAX) z?M~z{UDscjqyTi&yKL3ptg4gzw$vzjm6t0>`(u9F;l9dP_hhTmL`FjhBPPAPRpM^7 zRsUr$86v>-t*sGRfm zd2MF=wY;z9o(l3NnI3F}uQ~UVu?cezpt^=VAAs_^C^{S`^X9mxarEGnT%*I`EEOv$ zfqt|S!sgv!|1qho_Z6MV?tXwvT2ArN6CllYc5`f)LJg*_WmWv*1{r8wFE$l^W-Y&a za2qKhWM1tY!!Rol-{AbvXS4QpsskrVmFS%D?3m*UVoIj-Bu4OOhQjVl>^3;d%DJ&> zGkGe)E(&)QDy(oIeDhAT!kpELfMYz4b(2P!Y?8@YRH7?XRklrijMsvHGWGQhKZV1T z3A4A874yV2sw~;kpg~PQF&4sR6JgtOS4VW~lYxFrtHvJk?R%Qd=QDK{vi-Dn4S4*q zutbd8b);YbLSDyZs^!OCQ+|STEO>&AW$JswT$hh&#RFD_)`Po8KoQ=1Uq%=I+lX2L zLkolCs%vPV`l;wG9WIMg_Qf|yPmQR#3rbbLVgqv^LrH5*8$G)FjeQDp2Y*lGbK1he zdX%B5n9cKu#>w*oZ9}Qk-r?hu^e4Cu(xH>}78=LeDT zqNcOug}!Y~Je_@k!?&M0i;eCRnT?i_dS<&HTHcRFs>#9938voPx${lXM262~Aj&S8 z2YjHIjqQ49`HeYJRb)$mN_%t06-m(pp0jBe(tm}=0-+uWZlaMvlnNFW4mMG6O9A8A zfhG|KZ^LIcKRB;653pGlS?I_X-OiW^?n=k$BF<;XF%1m5R2~~z-|XofpKxV7_T!90 z2TCo^-zZskgf`K?xr?4$ABZUc!0#&mxi6vzg`b)}#Zn5A20PN%TrIsb#Fw8L-w+j2 z)+kK7ldio!CVBOMYw1>Onebc#P#NJ0s_=^DK6w63wu>2zT4Ri!Y^WZ;kdZ#+4WupS zE?kANJJxa*eZ4||h>)qR#?=O)m$1Ce#0BhC?CK0M<2=A#F!oqHadbp4@Xn;A;7jNo z$Le5>^>;E|C%plQFNnPA6MA!Zs_i;!TvC~;6?0SSgQ_`J0&C{Crpz^gnLtl}XmdAv zDb8W-Rc=h#E67o&0!mOMW=V?<|eSakZ>SEuO30a@Y zuNHMbFXi3~T)~Pk4n5l!FT0XdQ)8iCDs{uX=)u$yoF2EcRceIku zMwJWF3^?L_Ez`vH4 z{i6b(_tLh`&Iwy8%hM;RodGzOy(8`1rn9Z2<@+GqkxDD>Nan)_O0)}#Lb;s?thQ0( z7Z5OhKr?b^m#VJbvpJD>pMM&_E(_j-;H-GNI<5!Y046p$6R9yOn}3Cp;lC!FJ{bSP zB=S;1d}_>Bp2gg?TNo3-3+Dyn3LorUngD>_U_FfzM_rI6P}#;VENG;p^hz%-ZR!a` z1P5xlxcjR42<7jlHaL!`bC@!FizK6|vMcY9E&h>`1WMv~(oQy)nWu?O=)*2D9;$?U z+v&O$XY>{Fa0VvECl|#p{tciTFFDYl&!1?9vnPxg7jQH6%S@AypVv6!UlHYC_~ z``*iQ-k||OfiMFIBVUU&ZO^NlHd@WB(hy54uG-_MK!%i|0%VkAFIl$Fsf7=*=I`tx zlcumJ5DL7u4Pc5X4`MdqDpYMje*)`)Ze!!AD@5hjjPMUZTax83xq!;$-!f2qA0A1z2@Q;KHU|%K2JSop z21^1K2W27*+-GO6%PoZyY!d}X2EVdQhu0JFnHwrp*IKqni`fRcK=c>@gmZwvMXBW<#bo-EFcPbE4r9Zoh_Ol0u0RW^f5wpY^&Jren#jztY^oJ_c>Rff zg@GvQwiF;aMCrcR2X-0nsciCa4|()*Qcz$2DsB_mM`=KbyD1I6q-$Y-X=QsUVLyMk z;WVhDrRA0ja`pSI=qCz){=4K{@qfNvIQ4JKGdM!E&1Kr+@ygsht!CA?Q z#7Nbk+>amiCNA1c7X*FRsBq}Up@$>9C1A0KyF*EJMms&pZC4z1Go+?#cp;01{`_qGHjy(`m{kb|?^f>Ga8xtEiP3_L07m@ET^J{kbkU7#<+LwH`7N zwp7S0Jf5o%^oX7;26tW-HAMEnKZTsY`?oS7YrDcZQB5Ytt9vP~t+#EfNwWS0auYRV zLTt0Adq-BLNl~ea`FV(NwF|zNdPbGQPmxQQ)q&F=zL*Bx9h=y6yw#P`@~QoX|7|@s z_kh>YTU$Fgq!$JDyy*jon?SIF3L_#`xo!W#tGz-mki+Kt^mkOGF*%dS5+t zpAo7<W{*Dd9oSAnbP=-x9!o6aoTLwKbVwO*?;q`w2lxQOl&-b>^7F4Vq+OIt=3jE? z?%1Tpq12QIb<6c^yk-?LX#86={wGn~LTa`buzhN{W4-A; zPRr&e^k0tV>#It>>Wm0xO24;!qS8kGfF5$Z98^tK)M;3FeK6ui1={&4_!Nw&vM#IM z;_*QFc6nnJbb8+=wkLn!XrRgWodIasp{}$?LFl_{stGIilTG|YZThYHZP$-gEwP@G z{E&@Ky4qe|y-!x^ewta&`oY3id#$*j_}G^m?wM38S++5yT25*)e0T3u-P-%}C-}sjkhC4Q7zT9~W^L+^{v(L=#za-8POVy0!ll#9hG}R0LQl3hlgoUO&#o zW}k^&+DVxNMb&plffWDx4HagUmxX0`R&lH2W2Ye1iY%bBzmZd0VJ~sFFN3kS>pc^D zKn?@m68{{C=(CFfj-5iE2lNL}m#6dvf%`UC<<>VOR@0b=v z9Mo1HDYxAD5koZj&qGO7OXNZBZ^BjiGAnsm zTPjqCLo2lOmjwlk(-Qjjqy_z>PLaB8TfMbHQucY2#%8 zE>qwWVOonj@j5>KL-qmKw9x_-SY-@H)WpXXQIM!wKWdX$- z&L@MjE^QteT)uoAyWYtT1+`8=2k3EhZyhp+HOovTyqhVHX?3^{kP)YdMr9_`*$TVE z=YhvKB<|CSIN>mLj*+R^Dtb7iqr0u*XE3M z=sz_`CYQ3ZB+p#4NU>bAsocsW(i#|9d1KXV@5=kUx2>Y(Bz$T4cM^I zdkG-OFD6#6nZwR`EBEtgT@A`$z!w+uQ8wn@fdWMG62Bm0$(OuQY^FuaVXxeU3;iGR z@=oUG|1EI0A%$i0;yMBMHke6Kz|!2>_Ft6ojW=bd@knvN9XTpa#nFEQ3;;I=h(7z> zzk>Ne;f}2doS7uBb)8iPh}l>nAIPy8|5QmYl~#RKbOi%Q(F)L4S4{xLKV_L;1|w{g zTT+G;5*ihO_=i&Vqy2+kq`W3yrZdW7uod4O>jk9##e{*Z5N|KR9oVb(-*6r9J^*<> zvi;Ax2Wm?JqCVH*mwUC-Qv^?!rhGRmRrqj*M44%WE>H!{1Hhv6s(;6Gpji(&?shb>`95#}jR2GyWOox72Lr$D2+Zp`IwD;wRf;6dwy&?RPr3OkIbHbu z-@zLwTOL@*=|=P{9wmHoQuj|K#v6y$`8)X=*f zW925Is6oN{0A_UU4EQ%mbTI<41SlP_F2SPC#5A@|rJ1HOxYG|wQGAGE8|6t#qQXw> zk7aP)e?=NIj;;YV5Y2V~eG%hd&iY%w*2-r8I1>&8JWNO3*C?Zpehuh_?sOgbBHMnF z5c#$66|Yz!#9dyZ6Xh<&It~^sErX%eM;k~VjfKwW+I$(XN!`m_Al{Y+`cnVp-@}vM&Lh4;wd1Aj*R~-2*nW~cXY1qKQA)SudwYL?xjStBg?$=kEy)33l-J(6vV~9 z14AFI0p5Gq`5)vU#tw+DrP_4|I|-0Oa@{&fPOKc-YsCG|GNn z$3}HdlKLmVi&tj%30pqyyK44*`UxM-xrS1<;?FvAE(X1@-Lo{^YgCEBHv-WefG^l+ z2>D;?4Z(rRyWs$b(s{+J&6I&yS=8=@}!1jsdZv<5TQW#)!0hmJNHvQ2n90Rz|S z{_hL(jdvF3p~2hmfuf_>EFc{ds2l5A%UJ7g1Z0;4?%w^09S1yK_Rrho&6Fy3(OeX6 z2I(ac^uzd6gYGp_e1h@nUa0CQe$RzJC!lnLW|lX+EU;X$#|7Bzyc!u3xUJR(d>I4)&kW2kaZjU~gtGsP0~?VQHeoYD`l+P^#nnJ3I!tzIzv` z;q=4u4~{T@BQs0bo4Gki*$+)F)o3dOvi=SqQd2*fwtD80wmZ&xt`1t@UdR_&_9Yhs z(O&}>U@Fo9Tj+XL4(2@)gK1KZc_EjrBY$LoY9MO&5l8gBB7hB#oo|3_WKk$^9tGfR zUo*1TVvi;Q7x*Qq)9=>aFWh#A(#b9Pfey9a_8Ypj--0^A$FaZ4uy~)%&9_cvqjF7+ z+4f&s$^!aQn8k4TKvjE{MIrdmAgOf)khhfDa^R7U?{#ttcaNCIcDUDdX8=1k>dx-} zBWFLd`rl*tW#yXS5nvC{uk3n%FraIL01S$+^GstnvQbeuCsnD#eo`CQs{AXppMFoI zseU*S{gNF%fhcZQg>214WL$VjQma$Q3#WXYn0O3Q$*_XMB#6Nf^Smim2 zq~kPbSxew-d@=c;)?+1ozZ!A#k-{JLB0KhHAKbxqZ=!i8u``Mttl>Rf!?Il-voI-52(boOri{Mdw2Z;n2hl@L%yb19 z?!ED84hU48Wa`k*QE@JAgE~XQ{ukUU&DhZkWPrnTqEH zxd3ruTpO@&5&*Q}%VhZ@Q}aQx27XF}WI9qn9!BbLN@XbhhqESxwkp}5N84wnevY?M z0}hV3V0Ngm<<&dkgK6kefWkdNB)~cctMmr^H9pEmF6Xr&sPp~&iT^5>;z#hV-r`-P zE>vzi*8l%L@L>81;UV1VGS*D&3nhW<^OaZx#+!KGmz^v-y4btH0h|3jc~bm!`&jf^;I-Wp0V)#>9PrOjro{kgVmJHx1dP^;Z4Z zc!9#jYmChRA1McQtwglCwPPE9!5J-mWz>VN(K*YPb4g|~`_rbFwa?D%o?dm@wUE3b zptev>b;3+yvOk-RvPr#v-qHtow-zjD*?iA(XBul53J3+J^^s+p#a>Tm!oJMV=xH+g zcv*JKL`uzED;wh(Cl-{%jF=R^x@`q-a|@`qsobQm;}FRl z?X&psqM3uE^o8&_>NA?j72S6Ojnyx1MaGZU3mr`UkU2S0y*cp%MrWw;jvw{xu?(W7 zy2&=G$P3MHg+8Qv0+iuJcyqD#tH!#b1l1-iJ&RQsVUJYLL_!b4jXk#q&wCpz07PD} zlyzWnnog_uJq04Y?OIC~(Ts_>dz*qOWvHb*EdpdiE@XfYCdJ1zJmh8m0uH~Z`Fvg7 z!y)m1JpJPH@OONF0OrjkeHgm{bhQF$)fr`A>`yhQC29Vpph|GHLbBL2fu0&Og-Jr! zE<}pit0p#TnS6ddo_ZkMcf9;u$giy65xT$3ciNhhZ8$XxQTS|3Bbwxwwf}AVP#6Oh z&h(%aCor^y9a~$}>u73@dS2lg%`ta`tj$z=t{Kx7f2qG8$!hIOjy>kMBwx2b$i(Z* za^V?^&Yti!pi+ENnRQKAv$4Q(m55u7ypo>EB#$i4mzd#Qofddqs(;))oV?eXTs{{n za{4u)m0UeEwg}XCwDIDxa>gTt#QQk%O3Z%$GHz4J%v}UBYY^6?u$-7g9QMC2If9<9 z1lK^c2ZRqMMFMmDYbun}5*^~kWv3-fKYBlNZCrE_e;_p>(5wy)WZ%D9yo1_rLAL5S zHY)@rFJ@qDy}L&7{vrQQbLSluWxA~U#;k}5kpToo89+c#i3&C#C^%%v85PMnw&b8- zK*T`KL2_tPH=$`7$&z!cI1Q8Re+ zE-Xq!wHEI@KB)WKS)MBgJqCQJ5p`O$8yrk)D-s(R;>&`Bdbg`ws!2lCfgQj2#b{_q zKSoZ9je4)oWC+vhR(Javx1sdZh)wj`&8?-j_w;0cu`4=ub~Aq7)Z3FFrR#=Jv9*_)NCCQLY4Lq4QY(RY+bk0?WeQL*`>`mSAT3_rDhejc7U zXf^I;@cX+cf21b2{v~j=>H=Mw21T@c5GUpC8eWvb3(no{F^uGx-|CiQRL%VDM6&o= z$3>KBZ#l}eJ5^k3=e>+Rgoa?0-f+J+xSdJ2@ru{Y;Q*o%3_P{U!xm?!v`7|)NpCRbw{`e@!2|e zBWN-`M8ea<3W)V0sy7ieG$M2~cEUV#Q1$tw$dGvj9;a)CRd@Jkaa~Kx>e5)>IA%5p z*X2ky)|6SBGc_=jV;G139Y^Pt{4EO zah8|)JCVbarM6?DS+7tXl0;XA1J{0a2h1da(fz1Q#&ipr)bi<9Aq;>BX< z@5aBk(CS6od?~ySoCB2U$2sRO@@E;kst#{o0O1cR`bD0z3!$f6cd?&0eNn0r>$lnd zf$YGOdI~|JG)0AN2^6#(Q4j#4sq7>VvEJiPxfo+~CvvIC^5RPDmBXNr2`mp-3eVcf zLPP!o6d%%TJq6iMk-yv!7ol7>KUF3i1?B&^$HGMYpc! zycJVCwu%JxmgqrD(Ieh3#k*t2&&8B`G)rS~(vvgi#e)w&B9UT`1 z-ufzp=P%OMpr}?6`!wV zT41y|YF%v;X~a7^Y^=vd5YwXY9Lt4ett399DTd|L++5qBz+=!&u5R9?<^HS4zJ30q zXH3^s(qPHsY?;I%aGPM2{%$)WfUnTI>M`@_33YE<6wp$R3AZm%E|WK&76uQRlM*ir z#WmQNoaKFs+BFtFvuW!l2_CJcAFk@R_>3>Ns`Ebzi$$(aHQw(#iKyTP?Fa`HVN&ySc zIJ+v6o419`bka$XbQ^4%0dp>2{kMO7BeCDK{$B6g|M9y$*ZxxOB$5j9;6}ophUz&a znb$PT5a9*D2xVLix@XC||Kryxy!h#JTlsNAJoRgTmM4w>QM!h~SRZfnIRNwSaknKX znvZUq4Lo%HBmaZNp7~pya|Il5q&w{?$o{i$-XB0SNM{0!)ug6LhkpjQzAEBSHK~`! zvkh`xy9ECqHw2davpmTd5{IOZRurzWHODTL;4#zkgl-kNSFK|CWyLt{{|wE%ZAIix z-Him3vQD|ShVqJ2tEUa%a4>zZH_#KBnbWRj+>pN&F4(ehB@5gwSc=hK{k4e(vo>i?_=+P5<+K=rkoQML6m7K=?=^L~)$oVwilWkxj;t}rQd zFe#Ck>wr^iZDWTMno zfm+8Ho*Q#iFf#dVqered6=qmr)~vn5yytN1N{3CelN!0?!gFyRo?S53oRLVBYwMva z@6YhJZ0XZ7FkirO1nM*93EVZW(>Am^v$UiY=Q8koeX~~mlQc)`-Ub3J2z&p{_KoTj%GGaPzMoEyzZrSDen>Cn z%YMN%XwnD$@k4anm#>H-Rk(Vz3UhuqC;#2)rp7kHn>EygiIvOKT(oS!OI^yerH+jC zhUL&+7QC{dEZ^RFr`|eV=6i%qn(*)#6}~|Ekld@&xy>p{5Ao1gAw*hOw1M{(%H;8C zjLT&1o{Th_UEiQJtO2u82v@`XXN@_FGX5H++0~CNxg66XyMqnk+PK+i?{+|7(_Cre0IxB~^91G?4XpMh-t6HLzaaP3C$~5* zZo5X%-8#fR9GE#09+SErBcjr)g;RN2u)O{9?OsHnb(eu7?(4g^Cub~Op4l4-%*@Vv z=e3%A;F^y>F0#OuzK`%yY2ieyb8{t%_GmX+JLa#}yn3;X_O=#n(kKwyv!vH4`lUe0 z*OCVH0GSaGm3nrb+u6H%BD0H*>vez4`(K_>AC0MXN_$5KFc0UJkg4(_ppng-sahAC zW9nBe9gBy5RfnVnPNygPjXwhG7@>v>JvWS$+~7Ej zxb?CSm^`pph9if_26wFldSYYtee&#wo87Zsxo?FE*B;c;pO0x+z&_d@BPy4Sobov{ zk$%_cz1UZ=eydA^{FpJDL^)RgwLH)(6?;X#AlCm<)hKoBv#GMRre(J*+wkh2WN{*#oz3#Q1zHL)KHy7e-wnw?;llP?)=Fgs9DjBkqlzIX6`G6|U z-%7=q%>u->00FQ3EU5*aCe+WNE<>CH}7@Ai^)WC1nX}Hn%CalU27Z}K#v?$3@H7fF|t{LE3ZH613b8Vej{v8d< zQDT2C0_s6sY@nn(Eg`R~wD()TlD?E)gT)nnydWj^fx*I{;dj+9%7p%@HYsKriTQ19 zRHeX(qnmHh;->y#k(SrM1%;8OXFLB~MJB0Q=dmAR=QY#cYIhy@ghe5HM`W}kfEsV= z=^PS9w35L_PVo_@OF*2o1XFy+*7bPx9>cl8ut@Ih7G z_plLxNh+$eW%N|)H=xQ%y{;$1pR-ih3i0QIN_P{M(Wc>bh>|J#%k~M1DVsb&SRMgq8S4tlQ$bWk ztxBJHTs|d1t?Ba3-52uUw=}{rGIuO58>c~meWcJkol$vK`rrzE@3?b$UDrW@vaP6B zApfb~c$H>9(WwxotQOR-J-=V&L7OpxbEje;qTeE>Qzv?D9CtewIti{O4WPhb1D^|w zlZ=keAj>+*tK#(mG+hB;qq6n|)K*%{OVHO(YV7Xt8g;7(+?NT%RH3$w=P1vb z%CK4?0PSQg)V}_8XWhGZ0js(d4o8cp3Fec1?@t?4X&Z+kXt_f$5~v*YsXL6FM|9Ba z>A~G9Yeao6>jt|Fns7GR<~Bv4U)&q9(V4Dz_kyMtrUao^bTzlBX_Nm<=Ygj5M?$@= z8kL_Ck)*6$>!`n>WD zBH*-i5-&aFf@z^?`tt=k=iJqDd#`KOSsN7 zENuQ2Uh-Ie3hrndg!tvy>BbMM)J!}#ZB7RGmZAV<)M>UG_!6v0;%xrUXax;R_anf&?iNe($SLw zw83|6eHB?tpA}3zl4mdEmyT;LVEfP}$9)ACS9NS}QX|~Jd$TF3Zm}Or`1BcQplY=7 zj@+6<40<}Ocezez?H%@tc3p1fudCQE=^^B8EXKsuT>HfabEk$P2uFef7fchu$FUvG zQWbd4XJh`n+apDQ0GW0ScCMtDXP-kWaZw%?6^qoj#n3UVUfp=T03scM=fovf=a5?HtCQ>)1zNA(-p0B6BTBk+~^p7 z{K9R^XeqrnWGNe570WwAWwyjHZUOkz89p$(F$(gGrAwpET88e$&b>MMJSe=KWh3(X z6M!wnCPy_a3RIAL@e$>Sw1!fYtlheTb~1Z>4w?%@jBbV8_Mm5i2S33`ZGQ0eIV%!= z&?YO+>hsBwhH?Hd5Ew)$NuU^*>(56Ophx}RY#I1ZVEOCpDu4kGp!vgr$LbflN-h2d z%#|rT>#T+0uQ~hgVdmPf0uY6N6t)+Y)|aBHYSdX-UR z-Lk57f`i$gggJDqiQ2EoFof5oo**YHy!7_3q8o&StIlRBRnDeXwpvyQ(Dh1tB`We4nM@d37K7AcB?c}9DtlkaKc z$R+cJ#IPE0{)NJ3}v!kc9q>FDUVdeuP;roaw4}D@0#u@LV&J?hI?oilD%*Q1Yb#9ZU`r_oyP?JGNM|a^ zPOwre*9hs|^KI3ukf;irH3u{(H&(L&Q7fFUVwCmZzVl=uTEdC?MASfOUgoc^SzHN> z9iRFee8g1l%&VphXCf-^X6026s4SMuC8TygV4!nPzGAC8Vh`yzPtAWm|BOrH+u5)v zYdJmHq+?itq8R>Ig%U!rt8oOKp=O~~`Ih`c^d9ROJGvIlA@5X32uC^73dthD0IaZ&ICay9bKsiWi;I1T&$ zg|{_95S@zez+>waJy$ll1*K+G;#+yz!hP3~bN(ydyWs`^13c+w-+PX_6oXI`0aIi_ z)5?}fmswqFTL#fWv($DU`vTphNg{Y9d$z(s*AhB<6Wj=TKD{V_NX~MZC%unmOwcBe3o=-SX`% z(YE^1mJ2$LfMuJ+KQzRM>pBYXh#UZd*jcdi2qZ{2{hK^fh1QGiljXXkreScqAwp74 z^X=}{-;%DGv=Eiivp|qhPrTspcx*&mW(t~3nXCI9& z6{qj+C07Jwvg-JrRufq=dv0TKzi^`Zy0w4cfJ|6KRtD|dTt$PAH}AZoS`!akPiZM_ zbclGE)$AK(#fH>GA>Dx3kY+P^r29{0qrRm-jj{ft8@VZ2+B_j41_84)0v_Gn;GymO|MiTjrjXSvO1L_m&tygRKP}M>Z*-JLf)l zzOdyVgJJ)~Y5SLBTKL-~2u2Q4!Aqd4ctmaLvw34z>EepWw_uREh(`Jy+vSC9aF&7N z(6rY0aaU+-$G?J}h0+yI76S+uvPj#7u+{h=RwjIoP@_8k(|9L426ua`3yOnTauY^@wms~hn z(vm-MZKA^|FvI>2AMjwVZ55LcGw2t{1CaR)sn(&$sRnLJ8(8hBrhZms`_R|)o-Qt4 z{-W{FSCm|rE+>{K*C^EtPMU2@>D<6Ar>tI*O?-vZMO5jOubHX4qrExF7`|Cz71|cV zW>-+C$|&nLcF%uyVi6C_Qiji#G&!1KA6Fg?nH6S<5(lC)wfjHDWrUJbtjUQ_*>X{0_ zWmR;)hw?ig>ke7-{|5cd{Y5QgD50+hOw*c_;@b&#O=j2s5a3fF`j7-TTX&9Nx>|96 z=11T_PHDHR6}rcgs7<0^zPtD3`f27!x5NuBI%!|X3Q|iRXJXUk)E|0rQL}%gMdtCcb_I`9FJ%Y9;?0La3V24jG-hC5hE5IbesjWzffpZt<2~AZ_Hk3kf z`jJz#3613uXcT9GdWymw9CkLl)Y>MFDpSU*Rv-frp*~bZJ|JUrF zg&eYI58_?s_YodUYcu$)Qo3k0L@4q8GiXmmNNZ_9gI_6cm7BLAaHuC+4>bfgA{^G7 zV>dGGhSHzbw$N}_Og6zclyH)Kcs99Bms1DydVSYs9qa%nwD`_7V*l=W=tIjiiirMr2=&IRD**F@7&4)CM} zwt+LA!R{4F(w&xVMEF@_IeA2MunRpo4m5kQQv=~h8De2hfl)d!|8vor?DH$xQ$w@5 z6*4Ac&o=B5M8!uTQCwN%TPn-q$rAvW-QcX0y$BsY|H3K#QM7iP0A8)j?4ZvxJ4KmO z>q{}{U{#{Mo~N~g{-dr88`I_;Nd~VVj(b#i#$vJWvdD-MY0byaU@!lTCMQJ+YhP&d z1Bn9RoNeWUC&8fJB!NbJa9+PZS*>qm<(Qd9xb7lKf?;R5nL>WXkX>j07Br^^B9o0# znZxH!t1U55d=ZQ%eO4V-mA?XqB{?at`tDslX@;hh$a8|8Nu;3io>Mt)q@RaMaPwnb0d_<%YE?0D zx1Yn*1`#%Rh`vdwYD%Ox?(Lve$~wvf;Ag#Np3fCdm!$hJ0XN7V+5ixUF%=JL3xm(A zaUeR*QDk$f>Ds;Me_CfQL(>ee=f|uZFJC&+v%OKfl6Aw`yus&w(0E#BOT?`uCtH~? zg^5s2sW@nSap*l_sRuQPy4Hxq;#b+6PcIL?TwF)bearJ+Lg;SdT6c#SX zrz0WX5?a#f%tZTIU_Pt}Fba%4tcG9i2yN88rhyO-7=uJ3Gbx###wd(Jas4|uD5jK* zGu8tFJzz2nus1rReIJ`2A}*#o^iqzF2j7K@hh!G#nZ9nSS2g_la%Qt*H-r6aN%25Y zdMAf%DO6ZepAdVNXDAzzyWrHI?h7ELEcu>$$DJA9EV1o%!88(Npd$dvxM)`+6ND&>qoa1v_ZU22$aOKT zj#OL1GELclY&XkvT7^*-%eC6GEJX2ft?L@W;q>J(o%{uRG8`^R7~YGe8@;7p*G+i% z0cjgq^e~4)o<4@L6sp1ip?n2f@)&hNFp`xDuN2!zZC)go0dQrht~=>zJt#RT)2v*? z!PTIUm&e6b%n0-SBqlee!Pktgl*!KwfmhA~LRB&8DY`!oTN>)A?V}+xZ#X`0HE-x9(>(G->gK^8II=VM%pM z$T}VOIl}JpAA7aJumVzgyU}lf9nj+C8Z_PT=$g9mPGfw(q1xRnXwO9E)soOlHJ3yP z3d-Akv~wyy(^tW*j^EI%E^RdHbd7n~5RtaxrE9;4xKdE2b7Eg^q!byk({Cs771l65vtIu0wCU2*k+Uk&KVWnzXZQHq$XS;= zb5TcmHNIbisHPe-fo57Wy7D43#ddTZ|K6i zg%&A%FdW27=_Y~w13G*IJ3|fOBDb`W_upf_a!zD!l&~V}XM`3Sb}s@Lf9Da|MLL=_ zF2i8S(gGnq4!Dw1W8dL2%Kr+=?$u?430Bg5D(!G+afdD6BTwwXjs@Z&8FT)fdV0M( z=}0CQ<^9>6Q%4#K1-j<03&2M12OX=wxQ+&^j|ijVwTl=;8BgXkYd z(8HfB@tN+p7!p_vhb3P>r(kN!(|y|sT8soG761bw^vAx!C!p2W^S0VBu$^fcNk8*s zc?-pdpHj>InLq|`Wq-Mte4x``B(aQG(xrD!a46<=-xIiNk zK)w&B{jW2vIh7}ma^Aj`)+R5Ttv;?p2DtLH^~ZJS1#Rym_stTdq@9{{;j(hOtHn#)5Mb~O-qWF<=4it-%VtU^nV_7;aEA(KiU<}1Ila-SB^G}TVR`9AnMrc^S<|E z+I`)Yy{k0db;`5k%hj_JSYP@ii{g7 zLqEW+^OFcVaeQ<-n7TV=IW|~|`Em0?0l|K|sjR+O_{ZtcODBmEU_VUoD8cNewQUgj zTQYI1{u+7V_!&7cj0=Y20v{IQ7UFLRcw1Wmcb)_Drk1m3das*&0I+`y((xTVbS%9V z!4%6o`EYqnLHGdm5WeF&Sm0Pb@|5Ydy4CZJ7dbW@sD-wURy>6tX}b~EO6ChjIm2iSiL z>{k}5xuEq)KU&`py<~q}a$#V$>+oexBgeuLR_AE_M#5n}k~b!(L8#NzvSSn(9qK3n zOMDEuMdGax4mJjNN3)kgHTUVB_MuMTct%cNj=$y9>&!dV6_jKt?8;G3qW@?bO%hFA zO8Zejc>ZAjK#$zITvuZ!Sa@$Y*4c6PBJ1c7sL2EBy=6dP$pkpXM~hvQ0z{^}Tn!}Z zo$6h9)}=?;GFvx7fJkcN8&%T)fe(={(TYQ h|KV>G-##F__UU5F%Z>Bt;4gsv{y^@2me^zO{{Up0qT&Dm literal 0 HcmV?d00001 diff --git a/docs/website/static/img/blog-modelling-table-rel-metabase.png b/docs/website/static/img/blog-modelling-table-rel-metabase.png new file mode 100644 index 0000000000000000000000000000000000000000..c90d634c3116add3845902c2974449549e0e4916 GIT binary patch literal 23260 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 mWOuu7RMz-5tJ$z29^8 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 literal 0 HcmV?d00001 diff --git a/docs/website/static/img/data-types-gooddata.png b/docs/website/static/img/data-types-gooddata.png new file mode 100644 index 0000000000000000000000000000000000000000..0f92314f58a90b2de98a25786e285cf6b35b392e GIT binary patch literal 24353 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 Z@+HpBmp9*O=Ml&1@7;N*QKDuO@jt_v3S|HQ literal 0 HcmV?d00001 diff --git a/docs/website/static/img/data-types-metabase.png b/docs/website/static/img/data-types-metabase.png new file mode 100644 index 0000000000000000000000000000000000000000..4fe5e500b4e22d55a92ebcddf490dc9f7dafffea GIT binary patch literal 23582 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 dKL8Yu943`76` literal 0 HcmV?d00001 diff --git a/docs/website/static/img/pbi-modelled-livewell.png b/docs/website/static/img/pbi-modelled-livewell.png new file mode 100644 index 0000000000000000000000000000000000000000..b5df15a3758a439dd023827c6b4f56c6015f9c22 GIT binary patch literal 68793 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