diff --git a/component_catalog/admin.py b/component_catalog/admin.py index 3b25b50b..dc458353 100644 --- a/component_catalog/admin.py +++ b/component_catalog/admin.py @@ -574,7 +574,7 @@ def changeform_view(self, request, object_id=None, form_url="", extra_context=No return super().changeform_view(request, object_id, form_url, extra_context) except FormDataOutdated: messages.error( - request, "Form data outdated or inconsistent. " "The form data has been refreshed." + request, "Form data outdated or inconsistent. The form data has been refreshed." ) return redirect(request.path) @@ -1019,7 +1019,7 @@ def collect_data_action(self, request, queryset): if update_fields: package.last_modified_by = request.user package.save() - message = f'Data collected for: {", ".join(update_fields)}.' + message = f"Data collected for: {', '.join(update_fields)}." History.log_change(request.user, package, message, serialized_data) update_count += 1 diff --git a/component_catalog/management/commands/setpurls.py b/component_catalog/management/commands/setpurls.py index e7067f76..118103d0 100644 --- a/component_catalog/management/commands/setpurls.py +++ b/component_catalog/management/commands/setpurls.py @@ -88,8 +88,7 @@ def handle(self, *args, **options): ) except Exception: self.stderr.write( - f"Error encountered when processing Package:" - f" {str(package)} ({package.uuid})" + f"Error encountered when processing Package: {str(package)} ({package.uuid})" ) self.stderr.write(traceback.format_exc()) error_count += 1 @@ -108,4 +107,4 @@ def handle(self, *args, **options): self.stdout.write(self.style.SUCCESS(msg)) self.stdout.write("Pre-update: " + pre_update_summary) self.stdout.write("Post-update: " + self.get_purl_summary(packages)) - self.stdout.write(f"Number of errors encountered when updating Packages: " f"{error_count}") + self.stdout.write(f"Number of errors encountered when updating Packages: {error_count}") diff --git a/component_catalog/models.py b/component_catalog/models.py index 625ac912..203a0eda 100644 --- a/component_catalog/models.py +++ b/component_catalog/models.py @@ -2054,7 +2054,7 @@ def collect_data(self, force_update=False, save=True): if save: self.save(update_fields=update_fields) - tasks_logger.info(f'Package field(s) updated: {", ".join(update_fields)}') + tasks_logger.info(f"Package field(s) updated: {', '.join(update_fields)}") return update_fields diff --git a/component_catalog/tests/test_admin.py b/component_catalog/tests/test_admin.py index 6d11ffe4..b385070f 100644 --- a/component_catalog/tests/test_admin.py +++ b/component_catalog/tests/test_admin.py @@ -1471,7 +1471,7 @@ def test_subcomponent_admin_license_expression_validation(self): response = self.client.post(url, data) expected = { "license_expression": [ - "Unknown license key(s): license2
" "Available licenses: license1" + "Unknown license key(s): license2
Available licenses: license1" ] } self.assertEqual(expected, response.context_data["adminform"].form.errors) @@ -2485,7 +2485,7 @@ def test_package_changeform_save_and_collect_data_on_addition(self, mock_get): response = self.client.post(add_url, data, follow=True) expected = ( - f'The SHA1, MD5, and Size fields collection from {data["download_url"]} is in progress.' + f"The SHA1, MD5, and Size fields collection from {data['download_url']} is in progress." ) self.assertEqual(expected, list(response.context["messages"])[0].message) diff --git a/component_catalog/tests/test_api.py b/component_catalog/tests/test_api.py index fdfea27f..ce885c04 100644 --- a/component_catalog/tests/test_api.py +++ b/component_catalog/tests/test_api.py @@ -273,7 +273,7 @@ def test_api_component_list_endpoint_uuid_filter(self): expected = { "uuid": [ ErrorDetail( - string="Select a valid choice. invalid is not one of " "the available choices.", + string="Select a valid choice. invalid is not one of the available choices.", code="invalid_choice", ) ] diff --git a/component_catalog/tests/test_command.py b/component_catalog/tests/test_command.py index 9de66692..7ce1cef4 100644 --- a/component_catalog/tests/test_command.py +++ b/component_catalog/tests/test_command.py @@ -112,9 +112,7 @@ def test_collectcpes_management_command(self): with self.assertRaises(CommandError) as error: management.call_command("collectcpes", stdout=output) - expected = ( - "Error: the following arguments are required: dataspace, " "cpe_dictionary_location" - ) + expected = "Error: the following arguments are required: dataspace, cpe_dictionary_location" self.assertEqual(expected, str(error.exception)) def test_componentfrompackage_management_command(self): diff --git a/component_catalog/tests/test_importers.py b/component_catalog/tests/test_importers.py index 9f24e251..02496bf9 100644 --- a/component_catalog/tests/test_importers.py +++ b/component_catalog/tests/test_importers.py @@ -795,7 +795,7 @@ def test_component_import_clean_primary_language(self): self.assertTrue(importer.formset.is_valid()) expected = { "primary_language": [ - '"What" is not in standard languages list.' "\nSuggestion(s): WebDNA, Whitespace." + '"What" is not in standard languages list.\nSuggestion(s): WebDNA, Whitespace.' ] } self.assertEqual(expected, importer.formset.forms[0].warnings) diff --git a/component_catalog/tests/test_models.py b/component_catalog/tests/test_models.py index ed77a9dc..b2fb8120 100644 --- a/component_catalog/tests/test_models.py +++ b/component_catalog/tests/test_models.py @@ -1897,7 +1897,7 @@ def test_package_model_set_package_url(self): self.assertEqual("", package.subpath) package.save() - package_url = f'pkg:maven/mysql/mysql-connector-java@%40MYSQL_CJ_.{"version"*100}' + package_url = f"pkg:maven/mysql/mysql-connector-java@%40MYSQL_CJ_.{'version' * 100}" with self.assertRaises(ValidationError) as e: package.set_package_url(package_url) self.assertEqual('Value too long for field "version".', e.exception.message) diff --git a/component_catalog/tests/test_views.py b/component_catalog/tests/test_views.py index 7dcd5f2f..b9b04bda 100644 --- a/component_catalog/tests/test_views.py +++ b/component_catalog/tests/test_views.py @@ -1723,7 +1723,7 @@ def test_package_create_ajax_view(self): response = self.client.get("/packages/") messages = list(response.context["messages"]) msg = ( - f'{collected_data["download_url"]} already exists in your Dataspace as ' + f"{collected_data['download_url']} already exists in your Dataspace as " f'{new_package}' ) self.assertEqual(str(messages[0]), msg) diff --git a/component_catalog/views.py b/component_catalog/views.py index a2d94d51..d3f79912 100644 --- a/component_catalog/views.py +++ b/component_catalog/views.py @@ -810,7 +810,7 @@ def dispatch(self, request, *args, **kwargs): if obj.dataspace != request.user.dataspace: messages.error( request, - ("The dataspace of the selected objects did " "not match your dataspace."), + ("The dataspace of the selected objects did not match your dataspace."), ) return redirect(self.success_url) return super().dispatch(request, *args, **kwargs) @@ -1392,7 +1392,7 @@ def post_scan_to_package(self, form_class): if form.is_valid(): if form.changed_data: form.save() - msg = f'Values for {", ".join(form.changed_data)} assigned to the package.' + msg = f"Values for {', '.join(form.changed_data)} assigned to the package." messages.success(request, msg) else: messages.warning(request, "No new values to assign.") @@ -1711,7 +1711,7 @@ def send_scan_notification(request, key): updated_fields = scancodeio.update_from_scan(package, user) if updated_fields: description = ( - f'Automatically updated {", ".join(updated_fields)} from scan results\n' + f"Automatically updated {', '.join(updated_fields)} from scan results\n" + description ) @@ -2286,7 +2286,7 @@ def scan_summary_fields(self, scan_summary): ( f'' - f' {escape(entry.get("value"))}' + f" {escape(entry.get('value'))}" f' {entry.get("count")}' f"" ) diff --git a/dejacode_toolkit/__init__.py b/dejacode_toolkit/__init__.py index 6a84f76e..c0e497a1 100644 --- a/dejacode_toolkit/__init__.py +++ b/dejacode_toolkit/__init__.py @@ -71,7 +71,7 @@ def __init__(self, dataspace): self.basic_auth_user = get_settings(f"{self.settings_prefix}_USER") self.basic_auth_password = get_settings(f"{self.settings_prefix}_PASSWORD") - self.api_url = f'{self.service_url.rstrip("/")}/api/' + self.api_url = f"{self.service_url.rstrip('/')}/api/" def get_session(self): session = requests.Session() diff --git a/dejacode_toolkit/scancodeio.py b/dejacode_toolkit/scancodeio.py index d52c41b4..5540a68a 100644 --- a/dejacode_toolkit/scancodeio.py +++ b/dejacode_toolkit/scancodeio.py @@ -223,7 +223,7 @@ def update_from_scan(self, package, user): override_unknown=True, ) if updated_fields: - msg = f'Automatically updated {", ".join(updated_fields)} from scan results' + msg = f"Automatically updated {', '.join(updated_fields)} from scan results" logger.debug(f"{self.label}: {msg}") History.log_change(user, package, message=msg) diff --git a/dje/admin.py b/dje/admin.py index 6393f89c..2af9ed40 100644 --- a/dje/admin.py +++ b/dje/admin.py @@ -1426,9 +1426,7 @@ def get_form(self, request, obj=None, **kwargs): permission_details_url = reverse("admin:auth_group_permission_details") label_template = ( - '{} ' - " (permission details)" - "" + '{} (permission details)' ) groups_field.label = format_html(label_template, groups_field.label, permission_details_url) diff --git a/dje/importers.py b/dje/importers.py index 797dfa3b..7bb9250e 100644 --- a/dje/importers.py +++ b/dje/importers.py @@ -613,7 +613,7 @@ def save_form(self, form): ) if updated_fields: self.results["modified"].append(instance) - msg = f'Updated {", ".join(updated_fields)} from import' + msg = f"Updated {', '.join(updated_fields)} from import" History.log_change(self.user, instance, message=msg) return diff --git a/dje/management/commands/checkdata.py b/dje/management/commands/checkdata.py index 7d812f9c..79380d25 100644 --- a/dje/management/commands/checkdata.py +++ b/dje/management/commands/checkdata.py @@ -52,7 +52,7 @@ def handle(self, *args, **options): special_tags = ["reporting"], ["expression"] if options["all_dataspaces"] and tags not in special_tags: raise CommandError( - "--all-dataspaces only usable with `--tag reporting` or " "`--tag expression`" + "--all-dataspaces only usable with `--tag reporting` or `--tag expression`" ) app_configs = {} diff --git a/dje/management/commands/checkmigrations.py b/dje/management/commands/checkmigrations.py index b3392560..f0f85e55 100644 --- a/dje/management/commands/checkmigrations.py +++ b/dje/management/commands/checkmigrations.py @@ -38,7 +38,7 @@ def add_arguments(self, parser): parser.add_argument( "--database", default=DEFAULT_DB_ALIAS, - help='Nominates a database to synchronize. Defaults to the "default" ' "database.", + help='Nominates a database to synchronize. Defaults to the "default" database.', ) def handle(self, *args, **options): diff --git a/dje/management/commands/dumpdataset.py b/dje/management/commands/dumpdataset.py index 7911a24a..41965b42 100644 --- a/dje/management/commands/dumpdataset.py +++ b/dje/management/commands/dumpdataset.py @@ -55,7 +55,7 @@ def handle_field(self, obj, field): class Command(BaseCommand): - help = "Output the contents of the all DejaCode data for the " "given Dataspace as a fixture." + help = "Output the contents of the all DejaCode data for the given Dataspace as a fixture." def add_arguments(self, parser): parser.add_argument("dataspace_name", help="Name of the Dataspace.") diff --git a/dje/mass_update.py b/dje/mass_update.py index 22ca93f0..0b3cda25 100644 --- a/dje/mass_update.py +++ b/dje/mass_update.py @@ -220,7 +220,7 @@ def mass_update_action(modeladmin, request, queryset): messages.info(request, _(f"Updated {updated} records")) if errors: - messages.error(request, _(f'{len(errors)} error(s): {", ".join(errors)}')) + messages.error(request, _(f"{len(errors)} error(s): {', '.join(errors)}")) action_end.send( sender=modeladmin.model, diff --git a/dje/models.py b/dje/models.py index 73359d48..684bbb2b 100644 --- a/dje/models.py +++ b/dje/models.py @@ -1460,7 +1460,7 @@ class ColoredIconMixin(models.Model): blank=True, max_length=7, help_text=_( - "You can specify a valid HTML color code (e.g. #FFFFFF) to apply " "to your icon." + "You can specify a valid HTML color code (e.g. #FFFFFF) to apply to your icon." ), ) @@ -1617,8 +1617,7 @@ class DejacodeUser(AbstractUser): updates_email_notification = models.BooleanField( default=False, help_text=_( - "Check this to receive email notifications with updates on DejaCode " - "features and news." + "Check this to receive email notifications with updates on DejaCode features and news." ), ) @@ -1932,13 +1931,13 @@ def log_deletion(cls, user, obj): class ExternalSource(DataspacedModel): label = models.CharField( max_length=50, - help_text=_("A Label is a concise name of the external source as it " "is commonly known."), + help_text=_("A Label is a concise name of the external source as it is commonly known."), ) notes = models.TextField( blank=True, help_text=_( - "Notes describe the purpose and special characteristics " "of the external source." + "Notes describe the purpose and special characteristics of the external source." ), ) diff --git a/dje/tasks.py b/dje/tasks.py index 3d5e6c8d..c6d1ef4a 100644 --- a/dje/tasks.py +++ b/dje/tasks.py @@ -222,7 +222,7 @@ def pull_project_data_from_scancodeio(scancodeproject_uuid): scancode_project.append_to_log(msg) for object_type, values in errors.items(): - msg = f"- {len(values)} {object_type} error{pluralize(values)} " f"occurred during import." + msg = f"- {len(values)} {object_type} error{pluralize(values)} occurred during import." scancode_project.append_to_log(msg) scancode_project.save() diff --git a/dje/tests/__init__.py b/dje/tests/__init__.py index 0cb161b8..476d9fde 100644 --- a/dje/tests/__init__.py +++ b/dje/tests/__init__.py @@ -101,12 +101,11 @@ def __exit__(self, exc_type, exc_value, traceback): self.test_case.assertLessEqual( executed, self.num, - "%d queries executed, %d max expected\nCaptured queries were:\n%s" - % ( + "{} queries executed, {} max expected\nCaptured queries were:\n{}".format( executed, self.num, "\n".join( - "%d. %s" % (i, query["sql"]) + "{}. {}".format(i, query["sql"]) for i, query in enumerate(self.captured_queries, start=1) ), ), diff --git a/license_library/models.py b/license_library/models.py index ae82e058..1354ba21 100644 --- a/license_library/models.py +++ b/license_library/models.py @@ -106,7 +106,7 @@ class LicenseTag(DataspacedModel): label = models.CharField( max_length=50, help_text=_( - "Organization-defined Label to identify a Tag that can be applied to a " "Tag Group." + "Organization-defined Label to identify a Tag that can be applied to a Tag Group." ), ) @@ -311,13 +311,13 @@ class LicenseStatus(DataspacedModel): code = models.CharField( max_length=50, help_text=_( - "Organization-defined Code to identify a Status that can be applied to a " "License." + "Organization-defined Code to identify a Status that can be applied to a License." ), ) text = models.TextField( help_text=_( - "Text to describe a Status that can be applied to a License by an " "Organization." + "Text to describe a Status that can be applied to a License by an Organization." ), ) @@ -456,9 +456,7 @@ def render(self, template, as_link=False, show_policy=False, **kwargs): if show_policy and self.usage_policy_id: rendered = ( - f'' - f"{rendered}{self.get_usage_policy_icon_tooltip()}" - f"" + f'{rendered}{self.get_usage_policy_icon_tooltip()}' ) return rendered @@ -572,8 +570,7 @@ class License( _("Text URLs"), blank=True, help_text=_( - "URLs to the text of the license (plain text or HTML) on the main site of " - "this license." + "URLs to the text of the license (plain text or HTML) on the main site of this license." ), ) diff --git a/license_library/tests/test_search_quality.py b/license_library/tests/test_search_quality.py index cdfe5d4c..f6c2a81e 100644 --- a/license_library/tests/test_search_quality.py +++ b/license_library/tests/test_search_quality.py @@ -196,8 +196,8 @@ def search_test_func(self): # build a reasonably unique and valid function name # based on the up to 50 chars from the query and a row number - test_func_name = "test_search_%04d_" % rownum + python_safe( - query[:50] + str(notes) if notes else "" + test_func_name = "test_search_{}_".format( + rownum + python_safe(query[:50] + str(notes) if notes else "") ) # these are needed to ensure we can use the tests name for selection in discovery search_test_func.__name__ = str(test_func_name) @@ -225,7 +225,7 @@ def build_tsts_from_csv(csv_path, test_class): - 7 and other columns: Expected results: Each column contains a license: use * if this can be any license. """ - with open(csv_path, "rU") as fin: + with open(csv_path) as fin: import csv reader = csv.reader(fin) @@ -239,7 +239,7 @@ def build_tsts_from_csv(csv_path, test_class): query = row[0] if not query: raise RuntimeError( - "Missing test query for row: %d of CSV file:%r" % (i + 1, csv_path) + "Missing test query for row: {} of CSV file:{}".format(i + 1, csv_path) ) notes = row[1] if len(row) >= 2 else False ordered = row[2] if len(row) >= 3 else False diff --git a/organization/api.py b/organization/api.py index 63bd12e1..45c02c50 100644 --- a/organization/api.py +++ b/organization/api.py @@ -95,7 +95,7 @@ class OwnerFilterSet(DataspacedAPIFilterSet): type = django_filters.ChoiceFilter( choices=Owner.OWNER_TYPE_CHOICES, help_text=f"Exact owner type. Supported values: " - f'{", ".join(type[0] for type in Owner.OWNER_TYPE_CHOICES)}', + f"{', '.join(type[0] for type in Owner.OWNER_TYPE_CHOICES)}", ) last_modified_date = LastModifiedDateFilter() diff --git a/product_portfolio/forms.py b/product_portfolio/forms.py index a9777eff..4baf624b 100644 --- a/product_portfolio/forms.py +++ b/product_portfolio/forms.py @@ -672,7 +672,7 @@ def render(self, name, value, attrs=None, renderer=None): if value: return ( f'
' - f'{value.get_absolute_link(target="_blank")}' + f"{value.get_absolute_link(target='_blank')}" f"
" ) diff --git a/product_portfolio/tests/test_api.py b/product_portfolio/tests/test_api.py index de5599eb..4285bfef 100644 --- a/product_portfolio/tests/test_api.py +++ b/product_portfolio/tests/test_api.py @@ -839,7 +839,7 @@ def test_api_productcomponent_endpoint_create_license_expression_from_choice(sel data["license_expression"] = self.license2.key expected = { "license_expression": [ - "Unknown license key(s): license2
" "Available licenses: license1" + "Unknown license key(s): license2
Available licenses: license1" ] } response = self.client.post(self.productcomponent_list_url, data) diff --git a/product_portfolio/tests/test_models.py b/product_portfolio/tests/test_models.py index 2b14d9e3..5cf94403 100644 --- a/product_portfolio/tests/test_models.py +++ b/product_portfolio/tests/test_models.py @@ -180,10 +180,7 @@ def test_product_model_get_feature_values_and_get_feature_datalist(self): self.assertEqual(expected, list(self.product1.get_feature_values(pc_queryset))) expected = ( - '' - "" - "" - "" + '' ) self.assertEqual(expected, self.product1.get_feature_datalist()) diff --git a/pyproject.toml b/pyproject.toml index 4d70e91b..966a8ea9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,3 +46,4 @@ max-complexity = 17 # Do not run bandit on test files. "**/tests/*" = ["S"] "dejacode_toolkit/csaf/*" = ["D", "UP", "E501", "F401"] +"dejacode_toolkit/spdx.py" = ["UP"] diff --git a/reporting/forms.py b/reporting/forms.py index d5e65835..9d29a4f0 100644 --- a/reporting/forms.py +++ b/reporting/forms.py @@ -128,7 +128,7 @@ } -@functools.lru_cache(maxsize=None) +@functools.cache def get_model_data_for_query(): """ Return a dict-based data structure of the models and their fields available @@ -148,7 +148,7 @@ def get_model_data_for_query(): ) -@functools.lru_cache(maxsize=None) +@functools.cache def get_model_data_for_order_field(): """ Return a dict-based data structure of the models and their fields available diff --git a/reporting/models.py b/reporting/models.py index 5afa87c8..f082656a 100644 --- a/reporting/models.py +++ b/reporting/models.py @@ -140,7 +140,7 @@ class Query(HistoryFieldsMixin, DataspacedModel): limit_choices_to=CT_LIMIT, verbose_name=_("object type"), help_text=_( - "Choose the primary data source for your query: licenses, components, " "or owners." + "Choose the primary data source for your query: licenses, components, or owners." ), ) @@ -704,7 +704,7 @@ class Report(HistoryFieldsMixin, DataspacedModel): description = models.TextField( blank=True, help_text=_( - "Provide a description of the report to explain its purpose " "to DejaCode users." + "Provide a description of the report to explain its purpose to DejaCode users." ), ) @@ -718,7 +718,7 @@ class Report(HistoryFieldsMixin, DataspacedModel): to="reporting.ColumnTemplate", on_delete=models.PROTECT, help_text=_( - "Choose one of your Column templates to define the data " "columns for your report." + "Choose one of your Column templates to define the data columns for your report." ), ) diff --git a/setup.cfg b/setup.cfg index 253dcce6..fb907b1d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -47,15 +47,15 @@ include_package_data = true zip_safe = false install_requires = # Base configuration tools - setuptools==75.2.0 - wheel==0.44.0 + setuptools==75.8.0 + wheel==0.45.1 pip==24.3.1 # Django - Django==5.0.9 + Django==5.0.11 asgiref==3.8.1 typing_extensions==4.12.2 - sqlparse==0.5.0 - pytz==2024.1 + sqlparse==0.5.3 + pytz==2024.2 # Django apps django-crispy-forms==2.3 crispy_bootstrap5==2024.10 @@ -65,65 +65,65 @@ install_requires = confusable_homoglyphs==3.3.1 django-hcaptcha-field==1.4.0 django-guardian==2.4.0 - django-environ==0.11.2 - django-debug-toolbar==4.4.6 + django-environ==0.12.0 + django-debug-toolbar==5.0.1 # REST API djangorestframework==3.15.2 # API documentation, `coreapi` and its requirements: coreapi==2.3.3 - MarkupSafe==2.1.3 + MarkupSafe==3.0.2 coreschema==0.0.4 itypes==1.2.0 - Jinja2==3.1.4 + Jinja2==3.1.5 uritemplate==4.1.1 # Access log django-axes==5.35.0 django-appconf==1.0.6 - django-ipware==5.0.2 + django-ipware==7.0.1 # Multi-factor authentication django-otp==1.5.4 - qrcode==7.4.2 + qrcode==8.0 pypng==0.20220715.0 # Database - psycopg==3.2.3 + psycopg==3.2.4 # Cache - redis==5.2.0 + redis==5.2.1 # redis dependencies: - packaging==23.0 - pyparsing==3.0.9 - async-timeout==4.0.3 - deprecated==1.2.13 - wrapt==1.14.1 + packaging==24.2 + pyparsing==3.2.1 + async-timeout==5.0.1 + Deprecated==1.2.15 + wrapt==1.17.2 # Antivirus clamd==1.0.2 # Testing model_bakery==1.10.1 # Task queue - rq==2.0.0 + rq==2.1.0 django-rq==3.0.0 - fakeredis==2.26.1 + fakeredis==2.26.2 # Scheduler rq-scheduler==0.14.0 crontab==1.0.1 freezegun==1.5.1 # Libs - certifi==2024.8.30 - urllib3==2.2.3 - python-dateutil==2.8.2 - python-mimeparse==1.6.0 - PyJWT==2.4.0 + certifi==2024.12.14 + urllib3==2.3.0 + python-dateutil==2.9.0.post0 + python-mimeparse==2.0.0 + PyJWT==2.10.1 natsort==8.4.0 - six==1.16.0 + six==1.17.0 requests==2.32.3 idna==3.10 - charset-normalizer==3.4.0 + charset-normalizer==3.4.1 PyYAML==6.0.2 Cython==3.0.11 - importlib_metadata==4.11.4 - zipp==3.20.2 - XlsxWriter==3.1.9 + importlib_metadata==8.6.1 + zipp==3.21.0 + XlsxWriter==3.2.1 # Markdown - Markdown==3.3.7 + Markdown==3.7 bleach==6.2.0 bleach_allowlist==1.0.3 webencodings==0.5.1 @@ -133,50 +133,53 @@ install_requires = requests-oauthlib==2.0.0 defusedxml==0.7.1 # LDAP Auth - python-ldap==3.4.3 - pyasn1==0.5.0 - pyasn1_modules==0.3.0 - django-auth-ldap==4.6.0 + python-ldap==3.4.4 + pyasn1==0.6.1 + pyasn1-modules==0.4.1 + django-auth-ldap==5.1.0 # LDAP Testing mockldap==0.3.0.post1 funcparserlib==0.3.6 # license expressions boolean.py==4.0 - license_expression==30.4.0 + license-expression==30.4.1 # Webhooks django-rest-hooks==1.6.1 # django-notifications django_notifications_hq==1.8.3 jsonfield==3.1.0 - django_model_utils==4.3.1 - swapper==1.3.0 + django-model-utils==5.0.0 + swapper==1.4.0 # AboutCode Toolkit - aboutcode_toolkit==10.1.0 - click==8.1.3 + aboutcode_toolkit==11.0.0 + click==8.1.8 saneyaml==0.6.1 openpyxl==3.1.5 - et-xmlfile==1.1.0 + et-xmlfile==2.0.0 # PackageURL packageurl-python==0.16.0 # Gunicorn gunicorn==23.0.0 # SPDX validation - jsonschema==4.16.0 - attrs==23.2.0 - pyrsistent==0.18.1 + jsonschema==4.23.0 + jsonschema-specifications==2024.10.1 + referencing==0.36.1 + rpds-py==0.22.3 + attrs==24.3.0 + pyrsistent==0.20.0 # CycloneDX cyclonedx-python-lib==8.5.0 sortedcontainers==2.4.0 toml==0.10.2 py-serializable==1.1.2 # Git - gitpython==3.1.43 - gitdb==4.0.11 - smmap==5.0.1 + GitPython==3.1.44 + gitdb==4.0.12 + smmap==5.0.2 # CSAF - pydantic==2.10.4 + pydantic==2.10.6 pydantic-core==2.27.2 - maturin==1.7.8 + maturin==1.8.1 setuptools-rust==1.10.2 annotated-types==0.7.0 semantic-version==2.10.0 @@ -184,14 +187,14 @@ install_requires = [options.extras_require] dev = # Linter and Validation - ruff==0.5.2 + ruff==0.9.3 # Documentation - doc8==0.11.2 - stevedore==5.1.0 - Pygments==2.16.1 - docutils==0.20.1 + doc8==1.1.2 + stevedore==5.4.0 + Pygments==2.19.1 + docutils==0.21.2 restructuredtext-lint==1.4.0 - pbr==5.11.1 + pbr==6.1.0 # Parallel testing tblib==3.0.0 diff --git a/thirdparty/dist/Cython-3.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b/thirdparty/dist/Cython-3.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl new file mode 100644 index 00000000..49d405a9 Binary files /dev/null and b/thirdparty/dist/Cython-3.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl differ diff --git a/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl b/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl deleted file mode 100644 index 584d38b0..00000000 Binary files a/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 8065b604..00000000 --- a/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: Deprecated-1.2.13-py2.py3-none-any.whl -name: deprecated -version: 1.2.13 -download_url: https://files.pythonhosted.org/packages/51/6a/c3a0408646408f7283b7bc550c30a32cc791181ec4618592eec13e066ce3/Deprecated-1.2.13-py2.py3-none-any.whl -homepage_url: https://pypi.org/project/deprecated/1.2.13/ -package_url: pkg:pypi/deprecated@1.2.13 -license_expression: mit -copyright: Copyright (c) Laurent LAPORTE -notice_file: Deprecated-1.2.13-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Deprecated Project -checksum_md5: ff90ff19958796129a2ef3731081ad7c -checksum_sha1: 9714ed9ba28f9e19ac52e1e4fc6b0a74e764459d -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl.NOTICE b/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 7215f695..00000000 --- a/thirdparty/dist/Deprecated-1.2.13-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/thirdparty/dist/Deprecated-1.2.15-py2.py3-none-any.whl b/thirdparty/dist/Deprecated-1.2.15-py2.py3-none-any.whl new file mode 100644 index 00000000..b935098f Binary files /dev/null and b/thirdparty/dist/Deprecated-1.2.15-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/Deprecated-1.2.15-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/Deprecated-1.2.15-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..a7350afd --- /dev/null +++ b/thirdparty/dist/Deprecated-1.2.15-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: Deprecated-1.2.15-py2.py3-none-any.whl +name: deprecated +version: 1.2.15 +download_url: https://files.pythonhosted.org/packages/1d/8f/c7f227eb42cfeaddce3eb0c96c60cbca37797fa7b34f8e1aeadf6c5c0983/Deprecated-1.2.15-py2.py3-none-any.whl +package_url: pkg:pypi/deprecated@1.2.15 +license_expression: mit +copyright: Copyright deprecated project contributors +attribute: yes +checksum_md5: af469d4c09de3a05346defeadb015ae3 +checksum_sha1: 2ef639d3f74a2a5758f071abd28545d100211490 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/Django-5.0.9-py3-none-any.whl b/thirdparty/dist/Django-5.0.11-py3-none-any.whl similarity index 91% rename from thirdparty/dist/Django-5.0.9-py3-none-any.whl rename to thirdparty/dist/Django-5.0.11-py3-none-any.whl index 066cc2b0..870eb3f4 100644 Binary files a/thirdparty/dist/Django-5.0.9-py3-none-any.whl and b/thirdparty/dist/Django-5.0.11-py3-none-any.whl differ diff --git a/thirdparty/dist/Django-5.0.11-py3-none-any.whl.ABOUT b/thirdparty/dist/Django-5.0.11-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..30db5a77 --- /dev/null +++ b/thirdparty/dist/Django-5.0.11-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: Django-5.0.11-py3-none-any.whl +name: django +version: 5.0.11 +download_url: https://files.pythonhosted.org/packages/da/d7/da8d8f62f33c3cd45ad7e9cb456d7c95457d15ee26166d2d033f461aedf7/Django-5.0.11-py3-none-any.whl +package_url: pkg:pypi/django@5.0.11 +license_expression: bsd-new +copyright: Copyright django project contributors +attribute: yes +checksum_md5: 9c326096c4501178dd97b0fcd38499b1 +checksum_sha1: dd6e29c05fe32dc820e20a8425443b49ad561e90 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/Django-5.0.9-py3-none-any.whl.ABOUT b/thirdparty/dist/Django-5.0.9-py3-none-any.whl.ABOUT deleted file mode 100644 index d6ab87a9..00000000 --- a/thirdparty/dist/Django-5.0.9-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: Django-5.0.9-py3-none-any.whl -name: django -version: 5.0.9 -download_url: https://files.pythonhosted.org/packages/81/bb/eef60ea99aab7788ea46a57789a00649f8866ac3eb5abdf69eac36a7cdb6/Django-5.0.9-py3-none-any.whl -package_url: pkg:pypi/django@5.0.9 -license_expression: bsd-new -copyright: Copyright django project contributors -attribute: yes -checksum_md5: 406e0ac031c30d38d6e1b05fbb0670b0 -checksum_sha1: 699d5b7269d5f14b3286a8fd5927b16988f547cd -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/Django-5.1.2-py3-none-any.whl b/thirdparty/dist/Django-5.1.2-py3-none-any.whl deleted file mode 100644 index 543d92af..00000000 Binary files a/thirdparty/dist/Django-5.1.2-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/GitPython-3.1.43-py3-none-any.whl b/thirdparty/dist/GitPython-3.1.43-py3-none-any.whl deleted file mode 100644 index e8f4f4aa..00000000 Binary files a/thirdparty/dist/GitPython-3.1.43-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/GitPython-3.1.43-py3-none-any.whl.ABOUT b/thirdparty/dist/GitPython-3.1.43-py3-none-any.whl.ABOUT deleted file mode 100644 index 2e34b583..00000000 --- a/thirdparty/dist/GitPython-3.1.43-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: GitPython-3.1.43-py3-none-any.whl -name: gitpython -version: 3.1.43 -download_url: https://files.pythonhosted.org/packages/e9/bd/cc3a402a6439c15c3d4294333e13042b915bbeab54edc457c723931fed3f/GitPython-3.1.43-py3-none-any.whl -package_url: pkg:pypi/gitpython@3.1.43 -license_expression: bsd-new -copyright: Copyright gitpython project contributors -attribute: yes -checksum_md5: ca4edd790ee6bcb83dc6a5c5039259e9 -checksum_sha1: 3991e2275a5e3cc0ba6ff84ffc5b8be67ab8f849 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/GitPython-3.1.44-py3-none-any.whl b/thirdparty/dist/GitPython-3.1.44-py3-none-any.whl new file mode 100644 index 00000000..42a5ffc8 Binary files /dev/null and b/thirdparty/dist/GitPython-3.1.44-py3-none-any.whl differ diff --git a/thirdparty/dist/GitPython-3.1.44-py3-none-any.whl.ABOUT b/thirdparty/dist/GitPython-3.1.44-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..38be17b1 --- /dev/null +++ b/thirdparty/dist/GitPython-3.1.44-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: GitPython-3.1.44-py3-none-any.whl +name: gitpython +version: 3.1.44 +download_url: https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl +package_url: pkg:pypi/gitpython@3.1.44 +license_expression: bsd-new +copyright: Copyright gitpython project contributors +attribute: yes +checksum_md5: 01f7b1c5f5e54ead375eadd25b72ad74 +checksum_sha1: 6ed3638b5a7223401743c653e5ef64634c242dc6 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl b/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl deleted file mode 100644 index f7189dc9..00000000 Binary files a/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl.ABOUT b/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl.ABOUT deleted file mode 100644 index fa5b434b..00000000 --- a/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: Markdown-3.3.7-py3-none-any.whl -name: markdown -version: 3.3.7 -download_url: https://files.pythonhosted.org/packages/f3/df/ca72f352e15b6f8ce32b74af029f1189abffb906f7c137501ffe69c98a65/Markdown-3.3.7-py3-none-any.whl -homepage_url: https://pypi.org/project/markdown/3.3.7/ -package_url: pkg:pypi/markdown@3.3.7 -license_expression: bsd-new -copyright: Copyright (c) The Python Markdown Project -notice_file: Markdown-3.3.7-py3-none-any.whl.NOTICE -attribute: yes -owner: Waylan Limberg -owner_url: http://achinghead.com/ -checksum_md5: 2dfb70f52701f059740a8f2e5703bf49 -checksum_sha1: 5617dcf21cd3606ef768fe649f9aa14eaa942f35 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl.NOTICE b/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl.NOTICE deleted file mode 100644 index 76bebe8a..00000000 --- a/thirdparty/dist/Markdown-3.3.7-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,23 +0,0 @@ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of the Python Markdown Project nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE PYTHON MARKDOWN PROJECT ''AS IS'' AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL ANY CONTRIBUTORS TO THE PYTHON MARKDOWN PROJECT -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/dist/Markdown-3.7-py3-none-any.whl b/thirdparty/dist/Markdown-3.7-py3-none-any.whl new file mode 100644 index 00000000..50320296 Binary files /dev/null and b/thirdparty/dist/Markdown-3.7-py3-none-any.whl differ diff --git a/thirdparty/dist/Markdown-3.7-py3-none-any.whl.ABOUT b/thirdparty/dist/Markdown-3.7-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..d52dc701 --- /dev/null +++ b/thirdparty/dist/Markdown-3.7-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: Markdown-3.7-py3-none-any.whl +name: markdown +version: '3.7' +download_url: https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl +package_url: pkg:pypi/markdown@3.7 +license_expression: bsd-new +copyright: Copyright The Python Markdown Project, Yuri Takhteyev, Manfred Stienstra +attribute: yes +checksum_md5: b8116c94af09aa5b83cef992fa2328b7 +checksum_sha1: d1612629884c2f4483fdecf39107399b70220fbd +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/MarkupSafe-2.1.3.tar.gz b/thirdparty/dist/MarkupSafe-2.1.3.tar.gz deleted file mode 100644 index 4faf6956..00000000 Binary files a/thirdparty/dist/MarkupSafe-2.1.3.tar.gz and /dev/null differ diff --git a/thirdparty/dist/MarkupSafe-2.1.3.tar.gz.ABOUT b/thirdparty/dist/MarkupSafe-2.1.3.tar.gz.ABOUT deleted file mode 100644 index 93b012e2..00000000 --- a/thirdparty/dist/MarkupSafe-2.1.3.tar.gz.ABOUT +++ /dev/null @@ -1,87 +0,0 @@ -about_resource: MarkupSafe-2.1.3.tar.gz -name: markupsafe -version: 2.1.3 -download_url: https://files.pythonhosted.org/packages/6d/7c/59a3248f411813f8ccba92a55feaac4bf360d29e2ff05ee7d8e1ef2d7dbf/MarkupSafe-2.1.3.tar.gz -description: | - Safely add untrusted strings to HTML/XML markup. - MarkupSafe - ========== - - MarkupSafe implements a text object that escapes characters so it is - safe to use in HTML and XML. Characters that have special meanings are - replaced so that they display as the actual characters. This mitigates - injection attacks, meaning untrusted user input can safely be displayed - on a page. - - - Installing - ---------- - - Install and update using `pip`_: - - .. code-block:: text - - pip install -U MarkupSafe - - .. _pip: https://pip.pypa.io/en/stable/getting-started/ - - - Examples - -------- - - .. code-block:: pycon - - >>> from markupsafe import Markup, escape - - >>> # escape replaces special characters and wraps in Markup - >>> escape("") - Markup('<script>alert(document.cookie);</script>') - - >>> # wrap in Markup to mark text "safe" and prevent escaping - >>> Markup("Hello") - Markup('hello') - - >>> escape(Markup("Hello")) - Markup('hello') - - >>> # Markup is a str subclass - >>> # methods and operators escape their arguments - >>> template = Markup("Hello {name}") - >>> template.format(name='"World"') - Markup('Hello "World"') - - - Donate - ------ - - The Pallets organization develops and supports MarkupSafe and other - popular packages. In order to grow the community of contributors and - users, and allow the maintainers to devote more time to the projects, - `please donate today`_. - - .. _please donate today: https://palletsprojects.com/donate - - - Links - ----- - - - Documentation: https://markupsafe.palletsprojects.com/ - - Changes: https://markupsafe.palletsprojects.com/changes/ - - PyPI Releases: https://pypi.org/project/MarkupSafe/ - - Source Code: https://github.com/pallets/markupsafe/ - - Issue Tracker: https://github.com/pallets/markupsafe/issues/ - - Chat: https://discord.gg/pallets -homepage_url: https://palletsprojects.com/p/markupsafe/ -package_url: pkg:pypi/markupsafe@2.1.3 -license_expression: bsd-new -copyright: Copyright Pallets -attribute: yes -owner: Armin Ronacher -owner_url: http://lucumr.pocoo.org/about/ -contact: armin.ronacher@active-4.com -checksum_md5: ca33f119bd0551ce15837f58bb180214 -checksum_sha1: 88db36605e2cb308d4e1a3c6e53d0cad64702cac -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b/thirdparty/dist/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl new file mode 100644 index 00000000..12902271 Binary files /dev/null and b/thirdparty/dist/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl differ diff --git a/thirdparty/dist/PyJWT-2.10.1-py3-none-any.whl b/thirdparty/dist/PyJWT-2.10.1-py3-none-any.whl new file mode 100644 index 00000000..6195c576 Binary files /dev/null and b/thirdparty/dist/PyJWT-2.10.1-py3-none-any.whl differ diff --git a/thirdparty/dist/PyJWT-2.10.1-py3-none-any.whl.ABOUT b/thirdparty/dist/PyJWT-2.10.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..6eac7a69 --- /dev/null +++ b/thirdparty/dist/PyJWT-2.10.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: PyJWT-2.10.1-py3-none-any.whl +name: pyjwt +version: 2.10.1 +download_url: https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl +package_url: pkg:pypi/pyjwt@2.10.1 +license_expression: mit +copyright: Copyright pyjwt project contributors +attribute: yes +checksum_md5: dcd961185ca574bdf86b92026d714cb6 +checksum_sha1: b10d7244e16cc654d5c91ba9cf82174658afb93c +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl b/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl deleted file mode 100644 index 47695b2b..00000000 Binary files a/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl.ABOUT b/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 9bd3292a..00000000 --- a/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: PyJWT-2.4.0-py3-none-any.whl -name: pyjwt -version: 2.4.0 -download_url: https://files.pythonhosted.org/packages/1c/fb/b82e9601b00d88cf8bbee1f39b855ae773f9d5bcbcedb3801b2f72460696/PyJWT-2.4.0-py3-none-any.whl -homepage_url: https://pypi.org/project/pyjwt/2.4.0/ -package_url: pkg:pypi/pyjwt@2.4.0 -license_expression: mit -copyright: Copyright (c) Jose Padilla -notice_file: PyJWT-2.4.0-py3-none-any.whl.NOTICE -attribute: yes -owner: Jose Padilla -owner_url: https://github.com/jpadilla -contact: hello@jpadilla.com -checksum_md5: 79db059e7b5de6e878e1252c0489e96e -checksum_sha1: 5219e41b2e82f1201693e114caaae5c5d4d9ce91 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl.NOTICE b/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl.NOTICE deleted file mode 100644 index 7215f695..00000000 --- a/thirdparty/dist/PyJWT-2.4.0-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/thirdparty/dist/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b/thirdparty/dist/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl new file mode 100644 index 00000000..901226c9 Binary files /dev/null and b/thirdparty/dist/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl differ diff --git a/thirdparty/dist/Pygments-2.16.1-py3-none-any.whl b/thirdparty/dist/Pygments-2.16.1-py3-none-any.whl deleted file mode 100644 index 3b18d417..00000000 Binary files a/thirdparty/dist/Pygments-2.16.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/Pygments-2.16.1-py3-none-any.whl.ABOUT b/thirdparty/dist/Pygments-2.16.1-py3-none-any.whl.ABOUT deleted file mode 100644 index a0b83c8e..00000000 --- a/thirdparty/dist/Pygments-2.16.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: Pygments-2.16.1-py3-none-any.whl -name: pygments -version: 2.16.1 -download_url: https://files.pythonhosted.org/packages/43/88/29adf0b44ba6ac85045e63734ae0997d3c58d8b1a91c914d240828d0d73d/Pygments-2.16.1-py3-none-any.whl -package_url: pkg:pypi/pygments@2.16.1 -license_expression: bsd-new AND bsd-simplified -copyright: Copyright the Pygments team -attribute: yes -checksum_md5: daed55d1a288e00c9f311a2ff52f313f -checksum_sha1: 9e9ed43e5a862e5b186cdf4d90b87d3be85b9606 -licenses: - - key: bsd-simplified - name: BSD-2-Clause - file: bsd-simplified.LICENSE - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/XlsxWriter-3.1.9-py3-none-any.whl b/thirdparty/dist/XlsxWriter-3.1.9-py3-none-any.whl deleted file mode 100644 index 9cef643a..00000000 Binary files a/thirdparty/dist/XlsxWriter-3.1.9-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/XlsxWriter-3.1.9-py3-none-any.whl.ABOUT b/thirdparty/dist/XlsxWriter-3.1.9-py3-none-any.whl.ABOUT deleted file mode 100644 index ebb73c4e..00000000 --- a/thirdparty/dist/XlsxWriter-3.1.9-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: XlsxWriter-3.1.9-py3-none-any.whl -name: xlsxwriter -version: 3.1.9 -download_url: https://files.pythonhosted.org/packages/f7/3e/05ba2194cd5073602422859c949a4f21310a3c49bf8dccde9e03d4522b11/XlsxWriter-3.1.9-py3-none-any.whl -package_url: pkg:pypi/xlsxwriter@3.1.9 -license_expression: bsd-new AND bsd-simplified -copyright: Copyright xlsxwriter project contributors -attribute: yes -checksum_md5: ead1bd66c119e9d2ad47654572e3cb59 -checksum_sha1: 87691af1823aec1872a96aa56a2cb2ddd6399f41 -licenses: - - key: bsd-simplified - name: BSD-2-Clause - file: bsd-simplified.LICENSE - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/XlsxWriter-3.2.1-py3-none-any.whl b/thirdparty/dist/XlsxWriter-3.2.1-py3-none-any.whl new file mode 100644 index 00000000..c87b2320 Binary files /dev/null and b/thirdparty/dist/XlsxWriter-3.2.1-py3-none-any.whl differ diff --git a/thirdparty/dist/XlsxWriter-3.2.1-py3-none-any.whl.ABOUT b/thirdparty/dist/XlsxWriter-3.2.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..3f6eab86 --- /dev/null +++ b/thirdparty/dist/XlsxWriter-3.2.1-py3-none-any.whl.ABOUT @@ -0,0 +1,17 @@ +about_resource: XlsxWriter-3.2.1-py3-none-any.whl +name: xlsxwriter +version: 3.2.1 +download_url: https://files.pythonhosted.org/packages/bc/30/040af902cb8a9909d320779d8467aa7590bb91477767fd2b7551f4d91bb5/XlsxWriter-3.2.1-py3-none-any.whl +package_url: pkg:pypi/xlsxwriter@3.2.1 +license_expression: bsd-new AND bsd-simplified +copyright: Copyright xlsxwriter project contributors +attribute: yes +checksum_md5: df798572d60339fe0cf63f11c7204776 +checksum_sha1: c52d948958d4a034102471dd99a36a1c1c4a1564 +licenses: + - key: bsd-simplified + name: BSD-2-Clause + file: bsd-simplified.LICENSE + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/aboutcode_toolkit-10.1.0-py3-none-any.whl b/thirdparty/dist/aboutcode_toolkit-10.1.0-py3-none-any.whl deleted file mode 100644 index b01018d4..00000000 Binary files a/thirdparty/dist/aboutcode_toolkit-10.1.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/aboutcode_toolkit-10.1.0-py3-none-any.whl.ABOUT b/thirdparty/dist/aboutcode_toolkit-10.1.0-py3-none-any.whl.ABOUT deleted file mode 100644 index cc0e0366..00000000 --- a/thirdparty/dist/aboutcode_toolkit-10.1.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: aboutcode_toolkit-10.1.0-py3-none-any.whl -name: aboutcode-toolkit -version: 10.1.0 -download_url: https://files.pythonhosted.org/packages/11/af/0c2752a690be6df573cd5e373762ffb6fbe5b382f49ab56c9b88604b5b7c/aboutcode_toolkit-10.1.0-py3-none-any.whl -package_url: pkg:pypi/aboutcode-toolkit@10.1.0 -license_expression: apache-2.0 -copyright: Copyright aboutcode-toolkit project contributors -attribute: yes -track_changes: yes -checksum_md5: 8f57d3f216cfe4d12a1ee9d5badc2c4a -checksum_sha1: 63db25b4f574a3975a54eeeaae140d1720cd2605 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/dist/aboutcode_toolkit-11.0.0-py3-none-any.whl b/thirdparty/dist/aboutcode_toolkit-11.0.0-py3-none-any.whl new file mode 100644 index 00000000..29a3e71f Binary files /dev/null and b/thirdparty/dist/aboutcode_toolkit-11.0.0-py3-none-any.whl differ diff --git a/thirdparty/dist/aboutcode_toolkit-11.0.0-py3-none-any.whl.ABOUT b/thirdparty/dist/aboutcode_toolkit-11.0.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..b9946c42 --- /dev/null +++ b/thirdparty/dist/aboutcode_toolkit-11.0.0-py3-none-any.whl.ABOUT @@ -0,0 +1,15 @@ +about_resource: aboutcode_toolkit-11.0.0-py3-none-any.whl +name: aboutcode-toolkit +version: 11.0.0 +download_url: https://files.pythonhosted.org/packages/2a/00/c5603b3d776b5614b422d762de76b20b678a18c179a63668f56b8b924ce3/aboutcode_toolkit-11.0.0-py3-none-any.whl +package_url: pkg:pypi/aboutcode-toolkit@11.0.0 +license_expression: apache-2.0 +copyright: Copyright aboutcode-toolkit project contributors +attribute: yes +track_changes: yes +checksum_md5: 6109bd4bba3847f37ad4d4b082f0ea85 +checksum_sha1: 448bc6a426fff397e4fb745a72c4d3e60f0c5634 +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE diff --git a/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl b/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl deleted file mode 100644 index 7b5192f4..00000000 Binary files a/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl.ABOUT b/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl.ABOUT deleted file mode 100644 index 36367267..00000000 --- a/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: async_timeout-4.0.2-py3-none-any.whl -name: async-timeout -version: 4.0.2 -download_url: https://files.pythonhosted.org/packages/d6/c1/8991e7c5385b897b8c020cdaad718c5b087a6626d1d11a23e1ea87e325a7/async_timeout-4.0.2-py3-none-any.whl -homepage_url: https://pypi.org/project/async-timeout/4.0.2/ -package_url: pkg:pypi/async-timeout@4.0.2 -license_expression: apache-2.0 -copyright: Copyright (c) aio-libs collaboration -notice_file: async_timeout-4.0.2-py3-none-any.whl.NOTICE -attribute: yes -track_changes: yes -owner: aio-libs -checksum_md5: 20b0b49e7f25f99586331675f4e2e7de -checksum_sha1: c490b7de0828f946f7b6a06c6a7e9c0f6107b733 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl.NOTICE b/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl.NOTICE deleted file mode 100644 index c46e9486..00000000 --- a/thirdparty/dist/async_timeout-4.0.2-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) aio-libs collaboration - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file diff --git a/thirdparty/dist/async_timeout-4.0.3-py3-none-any.whl b/thirdparty/dist/async_timeout-4.0.3-py3-none-any.whl deleted file mode 100644 index d802d01b..00000000 Binary files a/thirdparty/dist/async_timeout-4.0.3-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/async_timeout-5.0.1-py3-none-any.whl b/thirdparty/dist/async_timeout-5.0.1-py3-none-any.whl new file mode 100644 index 00000000..585d57c6 Binary files /dev/null and b/thirdparty/dist/async_timeout-5.0.1-py3-none-any.whl differ diff --git a/thirdparty/dist/async_timeout-5.0.1-py3-none-any.whl.ABOUT b/thirdparty/dist/async_timeout-5.0.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..20e9d1fb --- /dev/null +++ b/thirdparty/dist/async_timeout-5.0.1-py3-none-any.whl.ABOUT @@ -0,0 +1,15 @@ +about_resource: async_timeout-5.0.1-py3-none-any.whl +name: async-timeout +version: 5.0.1 +download_url: https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl +package_url: pkg:pypi/async-timeout@5.0.1 +license_expression: apache-2.0 +copyright: Copyright async-timeout project contributors +attribute: yes +track_changes: yes +checksum_md5: efe854d55a96998187975472b17f7774 +checksum_sha1: a78078860feb93fe8e02602e3dc3580f6b7cf3f3 +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE diff --git a/thirdparty/dist/attr-0.3.2-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/attr-0.3.2-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..eff4bf15 --- /dev/null +++ b/thirdparty/dist/attr-0.3.2-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: attr-0.3.2-py2.py3-none-any.whl +name: attr +version: 0.3.2 +download_url: https://files.pythonhosted.org/packages/68/eb/e96c25f5accb24b151c5a559961f29af2ef089725b547efb185985c73e10/attr-0.3.2-py2.py3-none-any.whl +package_url: pkg:pypi/attr@0.3.2 +license_expression: mit +copyright: Copyright attr project contributors +attribute: yes +checksum_md5: 5f6f3a7286158b1400343403de204c2e +checksum_sha1: 9896b06d8e71bc0871c7e261d25b11698ad71b04 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/attrs-23.2.0-py3-none-any.whl b/thirdparty/dist/attrs-23.2.0-py3-none-any.whl deleted file mode 100644 index db9a7314..00000000 Binary files a/thirdparty/dist/attrs-23.2.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/attrs-23.2.0-py3-none-any.whl.ABOUT b/thirdparty/dist/attrs-23.2.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 55e7e602..00000000 --- a/thirdparty/dist/attrs-23.2.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: attrs-23.2.0-py3-none-any.whl -name: attrs -version: 23.2.0 -download_url: https://files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl -package_url: pkg:pypi/attrs@23.2.0 -license_expression: mit -copyright: Copyright attrs project contributors -attribute: yes -checksum_md5: f1cdfc0569b235844915df6a68dd6606 -checksum_sha1: 563b272af703f8960b76f6637d009fa5fc5864d3 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/attrs-24.3.0-py3-none-any.whl b/thirdparty/dist/attrs-24.3.0-py3-none-any.whl new file mode 100644 index 00000000..d9a69c8c Binary files /dev/null and b/thirdparty/dist/attrs-24.3.0-py3-none-any.whl differ diff --git a/thirdparty/dist/attrs-24.3.0-py3-none-any.whl.ABOUT b/thirdparty/dist/attrs-24.3.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..bc7eede8 --- /dev/null +++ b/thirdparty/dist/attrs-24.3.0-py3-none-any.whl.ABOUT @@ -0,0 +1,17 @@ +about_resource: attrs-24.3.0-py3-none-any.whl +name: attrs +version: 24.3.0 +download_url: https://files.pythonhosted.org/packages/89/aa/ab0f7891a01eeb2d2e338ae8fecbe57fcebea1a24dbb64d45801bfab481d/attrs-24.3.0-py3-none-any.whl +package_url: pkg:pypi/attrs@24.3.0 +license_expression: mit AND unknown-license-reference +copyright: Copyright attrs project contributors +attribute: yes +checksum_md5: 0cbc70af62169bfed0627fb4e0bea1fe +checksum_sha1: a7b75dd3e7eeea24f2cd2887b86eec5799ae801d +licenses: + - key: mit + name: MIT License + file: mit.LICENSE + - key: unknown-license-reference + name: Unknown License file reference + file: unknown-license-reference.LICENSE diff --git a/thirdparty/dist/certifi-2024.12.14-py3-none-any.whl b/thirdparty/dist/certifi-2024.12.14-py3-none-any.whl new file mode 100644 index 00000000..9ec2755d Binary files /dev/null and b/thirdparty/dist/certifi-2024.12.14-py3-none-any.whl differ diff --git a/thirdparty/dist/certifi-2024.12.14-py3-none-any.whl.ABOUT b/thirdparty/dist/certifi-2024.12.14-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..3410aec5 --- /dev/null +++ b/thirdparty/dist/certifi-2024.12.14-py3-none-any.whl.ABOUT @@ -0,0 +1,16 @@ +about_resource: certifi-2024.12.14-py3-none-any.whl +name: certifi +version: 2024.12.14 +download_url: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl +package_url: pkg:pypi/certifi@2024.12.14 +license_expression: mpl-2.0 +copyright: Copyright certifi project contributors +redistribute: yes +attribute: yes +track_changes: yes +checksum_md5: 99607a258123f2671b6e68607322bf91 +checksum_sha1: 06d54fd28c4b026aab6309c2c6058afb7b5f79d7 +licenses: + - key: mpl-2.0 + name: Mozilla Public License 2.0 + file: mpl-2.0.LICENSE diff --git a/thirdparty/dist/certifi-2024.2.2-py3-none-any.whl b/thirdparty/dist/certifi-2024.2.2-py3-none-any.whl deleted file mode 100644 index 450e3bd7..00000000 Binary files a/thirdparty/dist/certifi-2024.2.2-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/certifi-2024.2.2-py3-none-any.whl.ABOUT b/thirdparty/dist/certifi-2024.2.2-py3-none-any.whl.ABOUT deleted file mode 100644 index 04156c9b..00000000 --- a/thirdparty/dist/certifi-2024.2.2-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -about_resource: certifi-2024.2.2-py3-none-any.whl -name: certifi -version: 2024.2.2 -download_url: https://files.pythonhosted.org/packages/ba/06/a07f096c664aeb9f01624f858c3add0a4e913d6c96257acb4fce61e7de14/certifi-2024.2.2-py3-none-any.whl -package_url: pkg:pypi/certifi@2024.2.2 -license_expression: mpl-2.0 -copyright: Copyright certifi project contributors -redistribute: yes -attribute: yes -track_changes: yes -checksum_md5: fe1838e892615b884f84483607c86077 -checksum_sha1: 4acb42f49aed94aeb687b33d3dcb6b564ff36fac -licenses: - - key: mpl-2.0 - name: Mozilla Public License 2.0 - file: mpl-2.0.LICENSE diff --git a/thirdparty/dist/certifi-2024.8.30-py3-none-any.whl b/thirdparty/dist/certifi-2024.8.30-py3-none-any.whl deleted file mode 100644 index 98a9dccd..00000000 Binary files a/thirdparty/dist/certifi-2024.8.30-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/charset_normalizer-3.3.2-py3-none-any.whl b/thirdparty/dist/charset_normalizer-3.3.2-py3-none-any.whl deleted file mode 100644 index c2609a22..00000000 Binary files a/thirdparty/dist/charset_normalizer-3.3.2-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/charset_normalizer-3.3.2-py3-none-any.whl.ABOUT b/thirdparty/dist/charset_normalizer-3.3.2-py3-none-any.whl.ABOUT deleted file mode 100644 index ab1a3c70..00000000 --- a/thirdparty/dist/charset_normalizer-3.3.2-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: charset_normalizer-3.3.2-py3-none-any.whl -name: charset-normalizer -version: 3.3.2 -download_url: https://files.pythonhosted.org/packages/28/76/e6222113b83e3622caa4bb41032d0b1bf785250607392e1b778aca0b8a7d/charset_normalizer-3.3.2-py3-none-any.whl -package_url: pkg:pypi/charset-normalizer@3.3.2 -license_expression: mit -copyright: Copyright Ahmed TAHRI @Ousret, Denny Vrandecic, TAHRI Ahmed R. -attribute: yes -checksum_md5: ea733f7299c80a232262a7f71a4fc698 -checksum_sha1: 1aa12424059bec1d95d9dda38b4ff6d062dededf -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/charset_normalizer-3.4.0-py3-none-any.whl b/thirdparty/dist/charset_normalizer-3.4.0-py3-none-any.whl deleted file mode 100644 index e42eda73..00000000 Binary files a/thirdparty/dist/charset_normalizer-3.4.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b/thirdparty/dist/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl new file mode 100644 index 00000000..561a2153 Binary files /dev/null and b/thirdparty/dist/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl differ diff --git a/thirdparty/dist/charset_normalizer-3.4.1-py3-none-any.whl b/thirdparty/dist/charset_normalizer-3.4.1-py3-none-any.whl new file mode 100644 index 00000000..54bf48e7 Binary files /dev/null and b/thirdparty/dist/charset_normalizer-3.4.1-py3-none-any.whl differ diff --git a/thirdparty/dist/charset_normalizer-3.4.1-py3-none-any.whl.ABOUT b/thirdparty/dist/charset_normalizer-3.4.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..f00d297f --- /dev/null +++ b/thirdparty/dist/charset_normalizer-3.4.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: charset_normalizer-3.4.1-py3-none-any.whl +name: charset-normalizer +version: 3.4.1 +download_url: https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl +package_url: pkg:pypi/charset-normalizer@3.4.1 +license_expression: mit +copyright: Copyright Ahmed TAHRI @Ousret, Denny Vrandecic, TAHRI Ahmed R. +attribute: yes +checksum_md5: 4c824e22b968c4efaa2a436464e438a5 +checksum_sha1: 480257e54141d777c7d593535c0de10b70b08216 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/click-8.1.3-py3-none-any.whl b/thirdparty/dist/click-8.1.3-py3-none-any.whl deleted file mode 100644 index e758ec0c..00000000 Binary files a/thirdparty/dist/click-8.1.3-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/click-8.1.3-py3-none-any.whl.ABOUT b/thirdparty/dist/click-8.1.3-py3-none-any.whl.ABOUT deleted file mode 100644 index 64ec8481..00000000 --- a/thirdparty/dist/click-8.1.3-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: click-8.1.3-py3-none-any.whl -name: click -version: 8.1.3 -download_url: https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl -homepage_url: https://pypi.org/project/click/8.1.3/ -package_url: pkg:pypi/click@8.1.3 -license_expression: bsd-new -copyright: Copyright (c) Gregory P. Ward -notice_file: click-8.1.3-py3-none-any.whl.NOTICE -attribute: yes -owner: Armin Ronacher -owner_url: http://lucumr.pocoo.org/about/ -contact: armin.ronacher@active-4.com -checksum_md5: 7a8260e7bdac219be27f0bdda48e79ce -checksum_sha1: 6176609edd5d6dc5258c1aaa32f4dc72b5a008a9 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/click-8.1.3-py3-none-any.whl.NOTICE b/thirdparty/dist/click-8.1.3-py3-none-any.whl.NOTICE deleted file mode 100644 index ff16110e..00000000 --- a/thirdparty/dist/click-8.1.3-py3-none-any.whl.NOTICE +++ /dev/null @@ -1 +0,0 @@ -License: BSD-3-Clause \ No newline at end of file diff --git a/thirdparty/dist/click-8.1.8-py3-none-any.whl b/thirdparty/dist/click-8.1.8-py3-none-any.whl new file mode 100644 index 00000000..db2c6b31 Binary files /dev/null and b/thirdparty/dist/click-8.1.8-py3-none-any.whl differ diff --git a/thirdparty/dist/click-8.1.8-py3-none-any.whl.ABOUT b/thirdparty/dist/click-8.1.8-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..6d9f2450 --- /dev/null +++ b/thirdparty/dist/click-8.1.8-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: click-8.1.8-py3-none-any.whl +name: click +version: 8.1.8 +download_url: https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl +package_url: pkg:pypi/click@8.1.8 +license_expression: bsd-new +copyright: Copyright click project contributors +attribute: yes +checksum_md5: 7dc0eee374f3bb75bcce4c9dd4222f5f +checksum_sha1: 80a7480700f1aff8340ddbc68a3dba98471889d3 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/django_auth_ldap-4.6.0-py3-none-any.whl b/thirdparty/dist/django_auth_ldap-4.6.0-py3-none-any.whl deleted file mode 100644 index 37433ecf..00000000 Binary files a/thirdparty/dist/django_auth_ldap-4.6.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/django_auth_ldap-4.6.0-py3-none-any.whl.ABOUT b/thirdparty/dist/django_auth_ldap-4.6.0-py3-none-any.whl.ABOUT deleted file mode 100644 index abe610a9..00000000 --- a/thirdparty/dist/django_auth_ldap-4.6.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: django_auth_ldap-4.6.0-py3-none-any.whl -name: django-auth-ldap -version: 4.6.0 -download_url: https://files.pythonhosted.org/packages/de/2b/9c566a9cdf675f3cb919c0c6b806217764cf17bea2600777900656d2fb05/django_auth_ldap-4.6.0-py3-none-any.whl -package_url: pkg:pypi/django-auth-ldap@4.6.0 -license_expression: bsd-new -copyright: Copyright django-auth-ldap project contributors -attribute: yes -checksum_md5: 90c97dfa53ce6b24ca8b895851bf62ec -checksum_sha1: 1742d8561816587ffff3eeaec914d5b4b6cdf4bc -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/django_auth_ldap-5.1.0-py3-none-any.whl b/thirdparty/dist/django_auth_ldap-5.1.0-py3-none-any.whl new file mode 100644 index 00000000..61b4870d Binary files /dev/null and b/thirdparty/dist/django_auth_ldap-5.1.0-py3-none-any.whl differ diff --git a/thirdparty/dist/django_auth_ldap-5.1.0-py3-none-any.whl.ABOUT b/thirdparty/dist/django_auth_ldap-5.1.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..e0f1e16a --- /dev/null +++ b/thirdparty/dist/django_auth_ldap-5.1.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: django_auth_ldap-5.1.0-py3-none-any.whl +name: django-auth-ldap +version: 5.1.0 +download_url: https://files.pythonhosted.org/packages/11/47/f3492884addbb17672cc9a6053381162010d6e40ccd8440dedf22f72bc7f/django_auth_ldap-5.1.0-py3-none-any.whl +package_url: pkg:pypi/django-auth-ldap@5.1.0 +license_expression: bsd-new +copyright: Copyright django-auth-ldap project contributors +attribute: yes +checksum_md5: 8437fc5a4b6d597d718df49cf3f2ca20 +checksum_sha1: a289f44511dfceff1704188e7493cbfd5ea3320a +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/django_debug_toolbar-4.3.0-py3-none-any.whl b/thirdparty/dist/django_debug_toolbar-4.3.0-py3-none-any.whl deleted file mode 100644 index 698783bf..00000000 Binary files a/thirdparty/dist/django_debug_toolbar-4.3.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/django_debug_toolbar-4.3.0-py3-none-any.whl.ABOUT b/thirdparty/dist/django_debug_toolbar-4.3.0-py3-none-any.whl.ABOUT deleted file mode 100644 index d7a0f9ca..00000000 --- a/thirdparty/dist/django_debug_toolbar-4.3.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: django_debug_toolbar-4.3.0-py3-none-any.whl -name: django-debug-toolbar -version: 4.3.0 -download_url: https://files.pythonhosted.org/packages/ee/0e/73d81b1dfd9a84f24e3869019309758b37a5a5a9fe2bc7e54fca08191ea0/django_debug_toolbar-4.3.0-py3-none-any.whl -package_url: pkg:pypi/django-debug-toolbar@4.3.0 -license_expression: bsd-new -copyright: Copyright django-debug-toolbar project contributors -attribute: yes -checksum_md5: 483d3004798375bc524a43a5b590fa35 -checksum_sha1: 55ce065392c1f650643f4e2ec6d7db4a84432efc -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/django_debug_toolbar-4.4.6-py3-none-any.whl b/thirdparty/dist/django_debug_toolbar-4.4.6-py3-none-any.whl deleted file mode 100644 index 2664ede7..00000000 Binary files a/thirdparty/dist/django_debug_toolbar-4.4.6-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/django_debug_toolbar-5.0.1-py3-none-any.whl b/thirdparty/dist/django_debug_toolbar-5.0.1-py3-none-any.whl new file mode 100644 index 00000000..22a4e0a2 Binary files /dev/null and b/thirdparty/dist/django_debug_toolbar-5.0.1-py3-none-any.whl differ diff --git a/thirdparty/dist/django_debug_toolbar-5.0.1-py3-none-any.whl.ABOUT b/thirdparty/dist/django_debug_toolbar-5.0.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..a3a0417c --- /dev/null +++ b/thirdparty/dist/django_debug_toolbar-5.0.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: django_debug_toolbar-5.0.1-py3-none-any.whl +name: django-debug-toolbar +version: 5.0.1 +download_url: https://files.pythonhosted.org/packages/36/f7/3b406dc871d88c938d2bd967e65acf725b46c4e7c9add6a1f1bbaff9bdcf/django_debug_toolbar-5.0.1-py3-none-any.whl +package_url: pkg:pypi/django-debug-toolbar@5.0.1 +license_expression: bsd-new +copyright: Copyright django-debug-toolbar project contributors +attribute: yes +checksum_md5: 1bb4734a70a6b45f8729a0436564e63d +checksum_sha1: 5c208d49775bb89b7e743c30ad7d4c370fad0d97 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/django_environ-0.11.2-py2.py3-none-any.whl b/thirdparty/dist/django_environ-0.11.2-py2.py3-none-any.whl deleted file mode 100644 index 86b1c47e..00000000 Binary files a/thirdparty/dist/django_environ-0.11.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/django_environ-0.11.2-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/django_environ-0.11.2-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index a0ab9701..00000000 --- a/thirdparty/dist/django_environ-0.11.2-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: django_environ-0.11.2-py2.py3-none-any.whl -name: django-environ -version: 0.11.2 -download_url: https://files.pythonhosted.org/packages/c4/f1/468b49cccba3b42dda571063a14c668bb0b53a1d5712426d18e36663bd53/django_environ-0.11.2-py2.py3-none-any.whl -package_url: pkg:pypi/django-environ@0.11.2 -license_expression: mit -copyright: Copyright django-environ project contributors -attribute: yes -checksum_md5: 5085c4ebb6e452c49a9a583f5f8f7084 -checksum_sha1: 573075652ef90e1580cbd91d9e1fbab6cd5e1fad -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/django_environ-0.12.0-py2.py3-none-any.whl b/thirdparty/dist/django_environ-0.12.0-py2.py3-none-any.whl new file mode 100644 index 00000000..3ed1b40b Binary files /dev/null and b/thirdparty/dist/django_environ-0.12.0-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/django_environ-0.12.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/django_environ-0.12.0-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..ed7566d2 --- /dev/null +++ b/thirdparty/dist/django_environ-0.12.0-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: django_environ-0.12.0-py2.py3-none-any.whl +name: django-environ +version: 0.12.0 +download_url: https://files.pythonhosted.org/packages/83/b3/0a3bec4ecbfee960f39b1842c2f91e4754251e0a6ed443db9fe3f666ba8f/django_environ-0.12.0-py2.py3-none-any.whl +package_url: pkg:pypi/django-environ@0.12.0 +license_expression: mit +copyright: Copyright django-environ project contributors +attribute: yes +checksum_md5: efbd8fac490598baa52a18e5664c07db +checksum_sha1: a6e6ba302cd823af6de754418244a3b00cee4525 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/django_ipware-5.0.2-py2.py3-none-any.whl b/thirdparty/dist/django_ipware-5.0.2-py2.py3-none-any.whl deleted file mode 100644 index 065a2f8f..00000000 Binary files a/thirdparty/dist/django_ipware-5.0.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/django_ipware-5.0.2-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/django_ipware-5.0.2-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index a5d3a69f..00000000 --- a/thirdparty/dist/django_ipware-5.0.2-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: django_ipware-5.0.2-py2.py3-none-any.whl -name: django-ipware -version: 5.0.2 -download_url: https://files.pythonhosted.org/packages/c2/e8/bd3e07849cefaada4d492fa9e995600b8d321af9bb99804526349a7b70b6/django_ipware-5.0.2-py2.py3-none-any.whl -package_url: pkg:pypi/django-ipware@5.0.2 -license_expression: mit -copyright: Copyright django-ipware project contributors -attribute: yes -checksum_md5: f615b9670e69c8bc609885bc80971e43 -checksum_sha1: 0dcef14f886482d3b05c61f62d7a4de74fccbeb7 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/django_ipware-7.0.1-py2.py3-none-any.whl b/thirdparty/dist/django_ipware-7.0.1-py2.py3-none-any.whl new file mode 100644 index 00000000..9268076f Binary files /dev/null and b/thirdparty/dist/django_ipware-7.0.1-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/django_ipware-7.0.1-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/django_ipware-7.0.1-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..b0456cb2 --- /dev/null +++ b/thirdparty/dist/django_ipware-7.0.1-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: django_ipware-7.0.1-py2.py3-none-any.whl +name: django-ipware +version: 7.0.1 +download_url: https://files.pythonhosted.org/packages/11/33/bf539925b102d68200da5b1d3eacb8aa5d5d9a065972e8b8724d0d53bb0d/django_ipware-7.0.1-py2.py3-none-any.whl +package_url: pkg:pypi/django-ipware@7.0.1 +license_expression: mit +copyright: Copyright django-ipware project contributors +attribute: yes +checksum_md5: 484b30de32a2dfc4a1291a6a78cd5eb6 +checksum_sha1: e6e482e64ceef0964ef6a453f202956b5aba7746 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/django_model_utils-4.3.1-py3-none-any.whl b/thirdparty/dist/django_model_utils-4.3.1-py3-none-any.whl deleted file mode 100644 index 6d583ced..00000000 Binary files a/thirdparty/dist/django_model_utils-4.3.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/django_model_utils-4.3.1-py3-none-any.whl.ABOUT b/thirdparty/dist/django_model_utils-4.3.1-py3-none-any.whl.ABOUT deleted file mode 100644 index cb96088a..00000000 --- a/thirdparty/dist/django_model_utils-4.3.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: django_model_utils-4.3.1-py3-none-any.whl -name: django-model-utils -version: 4.3.1 -download_url: https://files.pythonhosted.org/packages/17/38/5381cfbee475ddf6c109e434516ac969163124dcaad2cfc258586c571515/django_model_utils-4.3.1-py3-none-any.whl -package_url: pkg:pypi/django-model-utils@4.3.1 -license_expression: bsd-new -copyright: Copyright django-model-utils project contributors -attribute: yes -checksum_md5: ca501eed5541f9f814012dee043aa444 -checksum_sha1: d1af7a128f581ed768b969fca65f7101e5a5ce3e -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/django_model_utils-5.0.0-py3-none-any.whl b/thirdparty/dist/django_model_utils-5.0.0-py3-none-any.whl new file mode 100644 index 00000000..4376dab6 Binary files /dev/null and b/thirdparty/dist/django_model_utils-5.0.0-py3-none-any.whl differ diff --git a/thirdparty/dist/django_model_utils-5.0.0-py3-none-any.whl.ABOUT b/thirdparty/dist/django_model_utils-5.0.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..58cd42af --- /dev/null +++ b/thirdparty/dist/django_model_utils-5.0.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: django_model_utils-5.0.0-py3-none-any.whl +name: django-model-utils +version: 5.0.0 +download_url: https://files.pythonhosted.org/packages/fd/13/87a42048700c54bfce35900a34e2031245132775fb24363fc0e33664aa9c/django_model_utils-5.0.0-py3-none-any.whl +package_url: pkg:pypi/django-model-utils@5.0.0 +license_expression: bsd-new +copyright: Copyright django-model-utils project contributors +attribute: yes +checksum_md5: 6c3d2c064410a4a0669499f0981cfab0 +checksum_sha1: 4a62b381d311daa03a5b48fe5c6e3cf44fcf56b0 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/doc8-0.11.2-py3-none-any.whl b/thirdparty/dist/doc8-0.11.2-py3-none-any.whl deleted file mode 100644 index 994caf5b..00000000 Binary files a/thirdparty/dist/doc8-0.11.2-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/doc8-0.11.2-py3-none-any.whl.ABOUT b/thirdparty/dist/doc8-0.11.2-py3-none-any.whl.ABOUT deleted file mode 100644 index 59ee54fb..00000000 --- a/thirdparty/dist/doc8-0.11.2-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: doc8-0.11.2-py3-none-any.whl -name: doc8 -version: 0.11.2 -download_url: https://files.pythonhosted.org/packages/73/c5/cab73b9e5d381a8fb4823ac99952cbf69fc45bb62774b89d772c5c389159/doc8-0.11.2-py3-none-any.whl -package_url: pkg:pypi/doc8@0.11.2 -license_expression: apache-2.0 -copyright: Copyright doc8 project contributors -attribute: yes -track_changes: yes -checksum_md5: eeab855622b57da5852ee6a23bf17a2d -checksum_sha1: 6cfbb70d0907bd0081a45568a76ce9456b92be97 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/dist/doc8-1.1.2-py3-none-any.whl b/thirdparty/dist/doc8-1.1.2-py3-none-any.whl new file mode 100644 index 00000000..b46a12fb Binary files /dev/null and b/thirdparty/dist/doc8-1.1.2-py3-none-any.whl differ diff --git a/thirdparty/dist/doc8-1.1.2-py3-none-any.whl.ABOUT b/thirdparty/dist/doc8-1.1.2-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..6afb94ac --- /dev/null +++ b/thirdparty/dist/doc8-1.1.2-py3-none-any.whl.ABOUT @@ -0,0 +1,15 @@ +about_resource: doc8-1.1.2-py3-none-any.whl +name: doc8 +version: 1.1.2 +download_url: https://files.pythonhosted.org/packages/0c/f1/6ffd5d76578e98a8f21ae7216b88a7212c778f665f1a8f4f8ce6f9605da4/doc8-1.1.2-py3-none-any.whl +package_url: pkg:pypi/doc8@1.1.2 +license_expression: apache-2.0 +copyright: Copyright doc8 project contributors +attribute: yes +track_changes: yes +checksum_md5: c69cec77f491c5f8e9f2d4ed11f4a1e1 +checksum_sha1: 1e13de16be623b78284b728e72cd3d7f6abb007e +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE diff --git a/thirdparty/dist/docutils-0.20.1-py3-none-any.whl b/thirdparty/dist/docutils-0.20.1-py3-none-any.whl deleted file mode 100644 index dde37644..00000000 Binary files a/thirdparty/dist/docutils-0.20.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/docutils-0.20.1-py3-none-any.whl.ABOUT b/thirdparty/dist/docutils-0.20.1-py3-none-any.whl.ABOUT deleted file mode 100644 index 6079c65f..00000000 --- a/thirdparty/dist/docutils-0.20.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,35 +0,0 @@ -about_resource: docutils-0.20.1-py3-none-any.whl -name: docutils -version: 0.20.1 -download_url: https://files.pythonhosted.org/packages/26/87/f238c0670b94533ac0353a4e2a1a771a0cc73277b88bff23d3ae35a256c1/docutils-0.20.1-py3-none-any.whl -package_url: pkg:pypi/docutils@0.20.1 -license_expression: bsd-new AND bsd-simplified AND gpl-1.0-plus AND gpl-3.0-plus AND other-copyleft - AND public-domain AND python -copyright: Copyright docutils project contributors -redistribute: yes -attribute: yes -track_changes: yes -checksum_md5: 1d4506ff10777551614a128872523dfb -checksum_sha1: 2bac2b2e9f4cc6d832588457c5f69bac79d80239 -licenses: - - key: public-domain - name: Public Domain - file: public-domain.LICENSE - - key: bsd-simplified - name: BSD-2-Clause - file: bsd-simplified.LICENSE - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE - - key: python - name: Python Software Foundation License v2 - file: python.LICENSE - - key: gpl-3.0-plus - name: GNU General Public License 3.0 or later - file: gpl-3.0-plus.LICENSE - - key: gpl-1.0-plus - name: GNU General Public License 1.0 or later - file: gpl-1.0-plus.LICENSE - - key: other-copyleft - name: Other Copyleft Licenses - file: other-copyleft.LICENSE diff --git a/thirdparty/dist/docutils-0.21.2-py3-none-any.whl b/thirdparty/dist/docutils-0.21.2-py3-none-any.whl new file mode 100644 index 00000000..f884bf93 Binary files /dev/null and b/thirdparty/dist/docutils-0.21.2-py3-none-any.whl differ diff --git a/thirdparty/dist/docutils-0.21.2-py3-none-any.whl.ABOUT b/thirdparty/dist/docutils-0.21.2-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..6c3b7a7c --- /dev/null +++ b/thirdparty/dist/docutils-0.21.2-py3-none-any.whl.ABOUT @@ -0,0 +1,25 @@ +about_resource: docutils-0.21.2-py3-none-any.whl +name: docutils +version: 0.21.2 +download_url: https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl +package_url: pkg:pypi/docutils@0.21.2 +license_expression: bsd-new AND gpl-1.0-plus AND public-domain AND python +copyright: Copyright docutils project contributors +redistribute: yes +attribute: yes +track_changes: yes +checksum_md5: 73664b05aff9d030f638edfc3ffaa686 +checksum_sha1: a2120453cdb1498128183696711261dd5f328068 +licenses: + - key: public-domain + name: Public Domain + file: public-domain.LICENSE + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE + - key: python + name: Python Software Foundation License v2 + file: python.LICENSE + - key: gpl-1.0-plus + name: GNU General Public License 1.0 or later + file: gpl-1.0-plus.LICENSE diff --git a/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl b/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl deleted file mode 100644 index 087bd580..00000000 Binary files a/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl.ABOUT b/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 1a8414e0..00000000 --- a/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: et_xmlfile-1.1.0-py3-none-any.whl -name: et-xmlfile -version: 1.1.0 -download_url: https://files.pythonhosted.org/packages/96/c2/3dd434b0108730014f1b96fd286040dc3bcb70066346f7e01ec2ac95865f/et_xmlfile-1.1.0-py3-none-any.whl -homepage_url: https://pypi.org/project/et-xmlfile/1.1.0/ -package_url: pkg:pypi/et-xmlfile@1.1.0 -license_expression: mit -copyright: Copyright (c) openpyxl -notice_file: et_xmlfile-1.1.0-py3-none-any.whl.NOTICE -attribute: yes -owner: openpyxl Project -owner_url: https://pypi.org/project/openpyxl/ -checksum_md5: 9a29d8fafcf8ee613d29a2cd0035f088 -checksum_sha1: 85d20d45ef9e8e6246f804f87d2ac87abe4685cf -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl.NOTICE b/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl.NOTICE deleted file mode 100644 index 9addb929..00000000 --- a/thirdparty/dist/et_xmlfile-1.1.0-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,18 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/dist/et_xmlfile-2.0.0-py3-none-any.whl b/thirdparty/dist/et_xmlfile-2.0.0-py3-none-any.whl new file mode 100644 index 00000000..52a7eeca Binary files /dev/null and b/thirdparty/dist/et_xmlfile-2.0.0-py3-none-any.whl differ diff --git a/thirdparty/dist/et_xmlfile-2.0.0-py3-none-any.whl.ABOUT b/thirdparty/dist/et_xmlfile-2.0.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..6704c9d2 --- /dev/null +++ b/thirdparty/dist/et_xmlfile-2.0.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: et_xmlfile-2.0.0-py3-none-any.whl +name: et-xmlfile +version: 2.0.0 +download_url: https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl +package_url: pkg:pypi/et-xmlfile@2.0.0 +license_expression: mit +copyright: Copyright et-xmlfile project contributors +attribute: yes +checksum_md5: 2a0e42a250b2d8a56497969eb14a979d +checksum_sha1: faedf5285befc808795a60bd400c12f00c1a939d +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/fakeredis-2.26.1-py3-none-any.whl.ABOUT b/thirdparty/dist/fakeredis-2.26.1-py3-none-any.whl.ABOUT deleted file mode 100644 index c9ac3a0c..00000000 --- a/thirdparty/dist/fakeredis-2.26.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: fakeredis-2.26.1-py3-none-any.whl -name: fakeredis -version: 2.26.1 -download_url: https://files.pythonhosted.org/packages/50/d2/1d4df87147ebb024edf1b1863fbaa4f433cd9562aac4ef8d458b6b7b77af/fakeredis-2.26.1-py3-none-any.whl -package_url: pkg:pypi/fakeredis@2.26.1 -license_expression: bsd-new -copyright: Copyright fakeredis project contributors -attribute: yes -checksum_md5: 1647f5c2746dbad2bb0ae719a6d000f0 -checksum_sha1: f2edf6ec840dd1eb5885b61eec2deafd5a761b3d -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/fakeredis-2.26.1-py3-none-any.whl b/thirdparty/dist/fakeredis-2.26.2-py3-none-any.whl similarity index 82% rename from thirdparty/dist/fakeredis-2.26.1-py3-none-any.whl rename to thirdparty/dist/fakeredis-2.26.2-py3-none-any.whl index 12c3598c..7cc876be 100644 Binary files a/thirdparty/dist/fakeredis-2.26.1-py3-none-any.whl and b/thirdparty/dist/fakeredis-2.26.2-py3-none-any.whl differ diff --git a/thirdparty/dist/fakeredis-2.26.2-py3-none-any.whl.ABOUT b/thirdparty/dist/fakeredis-2.26.2-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..acb5bf2c --- /dev/null +++ b/thirdparty/dist/fakeredis-2.26.2-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: fakeredis-2.26.2-py3-none-any.whl +name: fakeredis +version: 2.26.2 +download_url: https://files.pythonhosted.org/packages/d8/8f/9697564d0052a400ca23680c08c8f84066bf3282bd0cb03aa180cab6f855/fakeredis-2.26.2-py3-none-any.whl +package_url: pkg:pypi/fakeredis@2.26.2 +license_expression: bsd-new +copyright: Copyright fakeredis project contributors +attribute: yes +checksum_md5: e5da5064f8f804c5d03f46d192cb4697 +checksum_sha1: d4ed5dd921bfb58670427a40a64e43eaf55d32ac +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/funcparserlib-1.0.1-py2.py3-none-any.whl b/thirdparty/dist/funcparserlib-1.0.1-py2.py3-none-any.whl new file mode 100644 index 00000000..f3f31b4f Binary files /dev/null and b/thirdparty/dist/funcparserlib-1.0.1-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/gitdb-4.0.11-py3-none-any.whl.ABOUT b/thirdparty/dist/gitdb-4.0.11-py3-none-any.whl.ABOUT deleted file mode 100644 index 229f2c40..00000000 --- a/thirdparty/dist/gitdb-4.0.11-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,7 +0,0 @@ -about_resource: gitdb-4.0.11-py3-none-any.whl -name: gitdb -version: 4.0.11 -download_url: https://files.pythonhosted.org/packages/fd/5b/8f0c4a5bb9fd491c277c21eff7ccae71b47d43c4446c9d0c6cff2fe8c2c4/gitdb-4.0.11-py3-none-any.whl -package_url: pkg:pypi/gitdb@4.0.11 -checksum_md5: 71b509c059ea22fbd7c9f3e978027de7 -checksum_sha1: cd5e22ef8e579b895cbc25be1703d5273dbe0cfa diff --git a/thirdparty/dist/gitdb-4.0.11-py3-none-any.whl b/thirdparty/dist/gitdb-4.0.12-py3-none-any.whl similarity index 84% rename from thirdparty/dist/gitdb-4.0.11-py3-none-any.whl rename to thirdparty/dist/gitdb-4.0.12-py3-none-any.whl index d26ba41e..1da16604 100644 Binary files a/thirdparty/dist/gitdb-4.0.11-py3-none-any.whl and b/thirdparty/dist/gitdb-4.0.12-py3-none-any.whl differ diff --git a/thirdparty/dist/gitdb-4.0.12-py3-none-any.whl.ABOUT b/thirdparty/dist/gitdb-4.0.12-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..5cee463b --- /dev/null +++ b/thirdparty/dist/gitdb-4.0.12-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: gitdb-4.0.12-py3-none-any.whl +name: gitdb +version: 4.0.12 +download_url: https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl +package_url: pkg:pypi/gitdb@4.0.12 +license_expression: bsd-new +copyright: Copyright gitdb project contributors +attribute: yes +checksum_md5: 662e9c84460d11983aba4b49c3354549 +checksum_sha1: c8bbc0aeafd6493651e03764b7193800967117db +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl b/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl deleted file mode 100644 index 029d75c7..00000000 Binary files a/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl.ABOUT b/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl.ABOUT deleted file mode 100644 index d0124b7d..00000000 --- a/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: importlib_metadata-4.11.4-py3-none-any.whl -name: importlib-metadata -version: 4.11.4 -download_url: https://files.pythonhosted.org/packages/ab/b5/1bd220dd470b0b912fc31499e0d9c652007a60caf137995867ccc4b98cb6/importlib_metadata-4.11.4-py3-none-any.whl -homepage_url: https://pypi.org/project/importlib-metadata/4.11.4/ -package_url: pkg:pypi/importlib-metadata@4.11.4 -license_expression: apache-2.0 -copyright: Copyright (c) Jason R. Coombs, Barry Warsaw -notice_file: importlib_metadata-4.11.4-py3-none-any.whl.NOTICE -attribute: yes -track_changes: yes -owner: python-devs -owner_url: https://gitlab.com/python-devs -checksum_md5: b91661e6d59c6b2b352cd2f0d2ad28fc -checksum_sha1: de7d170b7feb185ef2300d32ddf432d20aa52997 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl.NOTICE b/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl.NOTICE deleted file mode 100644 index 86a8beec..00000000 --- a/thirdparty/dist/importlib_metadata-4.11.4-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,11 +0,0 @@ -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file diff --git a/thirdparty/dist/importlib_metadata-8.6.1-py3-none-any.whl b/thirdparty/dist/importlib_metadata-8.6.1-py3-none-any.whl new file mode 100644 index 00000000..f057be7a Binary files /dev/null and b/thirdparty/dist/importlib_metadata-8.6.1-py3-none-any.whl differ diff --git a/thirdparty/dist/jinja2-3.1.4-py3-none-any.whl b/thirdparty/dist/jinja2-3.1.4-py3-none-any.whl deleted file mode 100644 index fa6a14bf..00000000 Binary files a/thirdparty/dist/jinja2-3.1.4-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/jinja2-3.1.4-py3-none-any.whl.ABOUT b/thirdparty/dist/jinja2-3.1.4-py3-none-any.whl.ABOUT deleted file mode 100644 index 7406a9fa..00000000 --- a/thirdparty/dist/jinja2-3.1.4-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: jinja2-3.1.4-py3-none-any.whl -name: jinja2 -version: 3.1.4 -download_url: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl -package_url: pkg:pypi/jinja2@3.1.4 -license_expression: bsd-new -copyright: Copyright jinja2 project contributors -attribute: yes -checksum_md5: a5fadd0603a10249348865e85a6f57bc -checksum_sha1: 57760ed83d9ad15fcdf63ad1ffa14941333ef655 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/jinja2-3.1.5-py3-none-any.whl b/thirdparty/dist/jinja2-3.1.5-py3-none-any.whl new file mode 100644 index 00000000..5f4ca3f5 Binary files /dev/null and b/thirdparty/dist/jinja2-3.1.5-py3-none-any.whl differ diff --git a/thirdparty/dist/jinja2-3.1.5-py3-none-any.whl.ABOUT b/thirdparty/dist/jinja2-3.1.5-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..b2b422ad --- /dev/null +++ b/thirdparty/dist/jinja2-3.1.5-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: jinja2-3.1.5-py3-none-any.whl +name: jinja2 +version: 3.1.5 +download_url: https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl +package_url: pkg:pypi/jinja2@3.1.5 +license_expression: bsd-new +copyright: Copyright jinja2 project contributors +attribute: yes +checksum_md5: 837dcd1af6bb3940d8d6730977f2dcad +checksum_sha1: 4d6f9a569e41943cf569f4c3eff67d14c6586e9c +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl b/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl deleted file mode 100644 index df79d84d..00000000 Binary files a/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl.ABOUT b/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 841e66e8..00000000 --- a/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: jsonschema-4.16.0-py3-none-any.whl -name: jsonschema -version: 4.16.0 -download_url: https://files.pythonhosted.org/packages/d8/ad/b96e267a185d0050ac0f128827da6f16a7fd0fd5e045294771b3c265f2e9/jsonschema-4.16.0-py3-none-any.whl -homepage_url: https://pypi.org/project/jsonschema/4.16.0/ -package_url: pkg:pypi/jsonschema@4.16.0 -license_expression: mit -copyright: Copyright (c) Julian Berman -notice_file: jsonschema-4.16.0-py3-none-any.whl.NOTICE -attribute: yes -owner: Julian Berman -checksum_md5: 626d8e45bb1caf83db4e24b6fc119322 -checksum_sha1: 33623e28b856e3c6a3f01be00288db9942d47c0f -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl.NOTICE b/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl.NOTICE deleted file mode 100644 index e14c3714..00000000 --- a/thirdparty/dist/jsonschema-4.16.0-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/dist/jsonschema-4.23.0-py3-none-any.whl b/thirdparty/dist/jsonschema-4.23.0-py3-none-any.whl new file mode 100644 index 00000000..4b8e7b44 Binary files /dev/null and b/thirdparty/dist/jsonschema-4.23.0-py3-none-any.whl differ diff --git a/thirdparty/dist/jsonschema-4.23.0-py3-none-any.whl.ABOUT b/thirdparty/dist/jsonschema-4.23.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..b0fd5076 --- /dev/null +++ b/thirdparty/dist/jsonschema-4.23.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: jsonschema-4.23.0-py3-none-any.whl +name: jsonschema +version: 4.23.0 +download_url: https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl +package_url: pkg:pypi/jsonschema@4.23.0 +license_expression: mit +copyright: Copyright jsonschema project contributors +attribute: yes +checksum_md5: be79227c146cfb34935b5bacaafb47fa +checksum_sha1: b32520738fd2046801f2b23f3e4372caecd11502 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/jsonschema_specifications-2024.10.1-py3-none-any.whl b/thirdparty/dist/jsonschema_specifications-2024.10.1-py3-none-any.whl new file mode 100644 index 00000000..148d0787 Binary files /dev/null and b/thirdparty/dist/jsonschema_specifications-2024.10.1-py3-none-any.whl differ diff --git a/thirdparty/dist/jsonschema_specifications-2024.10.1-py3-none-any.whl.ABOUT b/thirdparty/dist/jsonschema_specifications-2024.10.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..e5996bad --- /dev/null +++ b/thirdparty/dist/jsonschema_specifications-2024.10.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: jsonschema_specifications-2024.10.1-py3-none-any.whl +name: jsonschema-specifications +version: 2024.10.1 +download_url: https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl +package_url: pkg:pypi/jsonschema-specifications@2024.10.1 +license_expression: mit +copyright: Copyright jsonschema-specifications project contributors +attribute: yes +checksum_md5: 6e624e5607663cd4845122dea29fc258 +checksum_sha1: ef511d5e9e07d1533c9ea4112c20f4fbc4519307 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/license_expression-30.4.0-py3-none-any.whl b/thirdparty/dist/license_expression-30.4.0-py3-none-any.whl deleted file mode 100644 index 9f0bcdca..00000000 Binary files a/thirdparty/dist/license_expression-30.4.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/license_expression-30.4.1-py3-none-any.whl b/thirdparty/dist/license_expression-30.4.1-py3-none-any.whl new file mode 100644 index 00000000..5b8974cb Binary files /dev/null and b/thirdparty/dist/license_expression-30.4.1-py3-none-any.whl differ diff --git a/thirdparty/dist/license_expression-30.4.0-py3-none-any.whl.ABOUT b/thirdparty/dist/license_expression-30.4.1-py3-none-any.whl.ABOUT similarity index 53% rename from thirdparty/dist/license_expression-30.4.0-py3-none-any.whl.ABOUT rename to thirdparty/dist/license_expression-30.4.1-py3-none-any.whl.ABOUT index 2488b978..4a2505be 100644 --- a/thirdparty/dist/license_expression-30.4.0-py3-none-any.whl.ABOUT +++ b/thirdparty/dist/license_expression-30.4.1-py3-none-any.whl.ABOUT @@ -1,14 +1,14 @@ -about_resource: license_expression-30.4.0-py3-none-any.whl +about_resource: license_expression-30.4.1-py3-none-any.whl name: license-expression -version: 30.4.0 -download_url: https://files.pythonhosted.org/packages/fc/f8/5699e6d6ea5156d53059ff07464b5d64389b084f67cb08ec97c711e587fc/license_expression-30.4.0-py3-none-any.whl -package_url: pkg:pypi/license-expression@30.4.0 +version: 30.4.1 +download_url: https://files.pythonhosted.org/packages/53/84/8a89614b2e7eeeaf0a68a4046d6cfaea4544c8619ea02595ebeec9b2bae3/license_expression-30.4.1-py3-none-any.whl +package_url: pkg:pypi/license-expression@30.4.1 license_expression: apache-2.0 AND cc-by-4.0 AND public-domain copyright: Copyright nexB Inc. and others attribute: yes track_changes: yes -checksum_md5: a2918c9754841f13855abcad2f62970c -checksum_sha1: c208fea5eb1f2e5e9d94f8ab44f1c2b767b83a2f +checksum_md5: 965ece13e5daf4d68fd3f6a48556eaa5 +checksum_sha1: a1dfb4a5dfd8aaf1800eaaf236e8058ccda71bc8 licenses: - key: apache-2.0 name: Apache License 2.0 diff --git a/thirdparty/dist/markupsafe-3.0.2.tar.gz b/thirdparty/dist/markupsafe-3.0.2.tar.gz new file mode 100644 index 00000000..21376e1a Binary files /dev/null and b/thirdparty/dist/markupsafe-3.0.2.tar.gz differ diff --git a/thirdparty/dist/markupsafe-3.0.2.tar.gz.ABOUT b/thirdparty/dist/markupsafe-3.0.2.tar.gz.ABOUT new file mode 100644 index 00000000..1cd85b89 --- /dev/null +++ b/thirdparty/dist/markupsafe-3.0.2.tar.gz.ABOUT @@ -0,0 +1,56 @@ +about_resource: markupsafe-3.0.2.tar.gz +name: markupsafe +version: 3.0.2 +download_url: https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz +description: | + Safely add untrusted strings to HTML/XML markup. + # MarkupSafe + + MarkupSafe implements a text object that escapes characters so it is + safe to use in HTML and XML. Characters that have special meanings are + replaced so that they display as the actual characters. This mitigates + injection attacks, meaning untrusted user input can safely be displayed + on a page. + + + ## Examples + + ```pycon + >>> from markupsafe import Markup, escape + + >>> # escape replaces special characters and wraps in Markup + >>> escape("") + Markup('<script>alert(document.cookie);</script>') + + >>> # wrap in Markup to mark text "safe" and prevent escaping + >>> Markup("Hello") + Markup('hello') + + >>> escape(Markup("Hello")) + Markup('hello') + + >>> # Markup is a str subclass + >>> # methods and operators escape their arguments + >>> template = Markup("Hello {name}") + >>> template.format(name='"World"') + Markup('Hello "World"') + ``` + + ## Donate + + The Pallets organization develops and supports MarkupSafe and other + popular packages. In order to grow the community of contributors and + users, and allow the maintainers to devote more time to the projects, + [please donate today][]. + + [please donate today]: https://palletsprojects.com/donate +package_url: pkg:pypi/markupsafe@3.0.2 +license_expression: bsd-new +copyright: Copyright Pallets +attribute: yes +checksum_md5: cb0071711b573b155cc8f86e1de72167 +checksum_sha1: b99c84f6c6e966a5221346989fa530afc0997884 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/maturin-1.7.8.tar.gz b/thirdparty/dist/maturin-1.7.8.tar.gz deleted file mode 100644 index 635bffc8..00000000 Binary files a/thirdparty/dist/maturin-1.7.8.tar.gz and /dev/null differ diff --git a/thirdparty/dist/maturin-1.7.8-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl b/thirdparty/dist/maturin-1.8.1-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl similarity index 62% rename from thirdparty/dist/maturin-1.7.8-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl rename to thirdparty/dist/maturin-1.8.1-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl index 055ef59c..4580e643 100644 Binary files a/thirdparty/dist/maturin-1.7.8-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl and b/thirdparty/dist/maturin-1.8.1-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl differ diff --git a/thirdparty/dist/maturin-1.7.8-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl b/thirdparty/dist/maturin-1.8.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl similarity index 50% rename from thirdparty/dist/maturin-1.7.8-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl rename to thirdparty/dist/maturin-1.8.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl index 66dd5900..2c6c6684 100644 Binary files a/thirdparty/dist/maturin-1.7.8-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl and b/thirdparty/dist/maturin-1.8.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl differ diff --git a/thirdparty/dist/maturin-1.8.1.tar.gz b/thirdparty/dist/maturin-1.8.1.tar.gz new file mode 100644 index 00000000..6197caba Binary files /dev/null and b/thirdparty/dist/maturin-1.8.1.tar.gz differ diff --git a/thirdparty/dist/maturin-1.8.1.tar.gz.ABOUT b/thirdparty/dist/maturin-1.8.1.tar.gz.ABOUT new file mode 100644 index 00000000..3b19acc5 --- /dev/null +++ b/thirdparty/dist/maturin-1.8.1.tar.gz.ABOUT @@ -0,0 +1,293 @@ +about_resource: maturin-1.8.1.tar.gz +name: maturin +version: 1.8.1 +download_url: https://files.pythonhosted.org/packages/9a/08/ccb0f917722a35ab0d758be9bb5edaf645c3a3d6170061f10d396ecd273f/maturin-1.8.1.tar.gz +description: | + Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages + # Maturin + + _formerly pyo3-pack_ + + [![Maturin User Guide](https://img.shields.io/badge/user-guide-brightgreen?logo=readthedocs&style=flat-square)](https://maturin.rs) + [![Crates.io](https://img.shields.io/crates/v/maturin.svg?logo=rust&style=flat-square)](https://crates.io/crates/maturin) + [![PyPI](https://img.shields.io/pypi/v/maturin.svg?logo=python&style=flat-square)](https://pypi.org/project/maturin) + [![Actions Status](https://github.com/PyO3/maturin/actions/workflows/test.yml/badge.svg)](https://github.com/PyO3/maturin/actions) + [![FreeBSD](https://img.shields.io/cirrus/github/PyO3/maturin/main?logo=CircleCI&style=flat-square)](https://cirrus-ci.com/github/PyO3/maturin) + [![discord server](https://img.shields.io/discord/1209263839632424990?logo=discord)](https://discord.gg/33kcChzH7f) + + Build and publish crates with [pyo3, cffi and uniffi bindings](https://maturin.rs/bindings) as well as rust binaries as python packages with minimal configuration. + It supports building wheels for python 3.8+ on Windows, Linux, macOS and FreeBSD, can upload them to [pypi](https://pypi.org/) and has basic PyPy and GraalPy support. + + Check out the [User Guide](https://maturin.rs/)! + + ## Usage + + You can either download binaries from the [latest release](https://github.com/PyO3/maturin/releases/latest) or install it with [pipx](https://pypa.github.io/pipx/): + + ```shell + pipx install maturin + ``` + + > [!NOTE] + > + > `pip install maturin` should also work if you don't want to use pipx. + + There are four main commands: + + - `maturin new` creates a new cargo project with maturin configured. + - `maturin publish` builds the crate into python packages and publishes them to pypi. + - `maturin build` builds the wheels and stores them in a folder (`target/wheels` by default), but doesn't upload them. It's possible to upload those with [twine](https://github.com/pypa/twine) or `maturin upload`. + - `maturin develop` builds the crate and installs it as a python module directly in the current virtualenv. Note that while `maturin develop` is faster, it doesn't support all the feature that running `pip install` after `maturin build` supports. + + maturin doesn't need extra configuration files and doesn't clash with an existing setuptools-rust or milksnake configuration. + You can even integrate it with testing tools such as [tox](https://tox.readthedocs.io/en/latest/). + There are examples for the different bindings in the `test-crates` folder. + + The name of the package will be the name of the cargo project, i.e. the name field in the `[package]` section of `Cargo.toml`. + The name of the module, which you are using when importing, will be the `name` value in the `[lib]` section (which defaults to the name of the package). For binaries, it's simply the name of the binary generated by cargo. + + When using `maturin build` and `maturin develop` commands, you can compile a performance-optimized program by adding the `-r` or `--release` flag. + + ## Python packaging basics + + Python packages come in two formats: + A built form called wheel and source distributions (sdist), both of which are archives. + A wheel can be compatible with any python version, interpreter (cpython and pypy, mainly), operating system and hardware architecture (for pure python wheels), + can be limited to a specific platform and architecture (e.g. when using ctypes or cffi) or to a specific python interpreter and version on a specific architecture and operating system (e.g. with pyo3). + + When using `pip install` on a package, pip tries to find a matching wheel and install that. If it doesn't find one, it downloads the source distribution and builds a wheel for the current platform, + which requires the right compilers to be installed. Installing a wheel is much faster than installing a source distribution as building wheels is generally slow. + + When you publish a package to be installable with `pip install`, you upload it to [pypi](https://pypi.org/), the official package repository. + For testing, you can use [test pypi](https://test.pypi.org/) instead, which you can use with `pip install --index-url https://test.pypi.org/simple/`. + Note that for publishing for linux, [you need to use the manylinux docker container](#manylinux-and-auditwheel), while for publishing from your repository you can use the [PyO3/maturin-action github action](https://github.com/PyO3/maturin-action). + + ## Mixed rust/python projects + + To create a mixed rust/python project, create a folder with your module name (i.e. `lib.name` in Cargo.toml) next to your Cargo.toml and add your python sources there: + + ``` + my-project + ├── Cargo.toml + ├── my_project + │   ├── __init__.py + │   └── bar.py + ├── pyproject.toml + ├── README.md + └── src +    └── lib.rs + ``` + + You can specify a different python source directory in `pyproject.toml` by setting `tool.maturin.python-source`, for example + + **pyproject.toml** + + ```toml + [tool.maturin] + python-source = "python" + module-name = "my_project._lib_name" + ``` + + then the project structure would look like this: + + ``` + my-project + ├── Cargo.toml + ├── python + │ └── my_project + │ ├── __init__.py + │ └── bar.py + ├── pyproject.toml + ├── README.md + └── src +    └── lib.rs + ``` + + > [!NOTE] + > + > This structure is recommended to avoid [a common `ImportError` pitfall](https://github.com/PyO3/maturin/issues/490) + + maturin will add the native extension as a module in your python folder. When using develop, maturin will copy the native library and for cffi also the glue code to your python folder. You should add those files to your gitignore. + + With cffi you can do `from .my_project import lib` and then use `lib.my_native_function`, with pyo3 you can directly `from .my_project import my_native_function`. + + Example layout with pyo3 after `maturin develop`: + + ``` + my-project + ├── Cargo.toml + ├── my_project + │   ├── __init__.py + │   ├── bar.py + │   └── _lib_name.cpython-36m-x86_64-linux-gnu.so + ├── README.md + └── src +    └── lib.rs + ``` + + When doing this also be sure to set the module name in your code to match the last part of `module-name` (don't include the package path): + + ```rust + #[pymodule] + #[pyo3(name="_lib_name")] + fn my_lib_name(_py: Python<'_>, m: &PyModule) -> PyResult<()> { + m.add_class::()?; + Ok(()) + } + ``` + + ## Python metadata + + maturin supports [PEP 621](https://www.python.org/dev/peps/pep-0621/), you can specify python package metadata in `pyproject.toml`. + maturin merges metadata from `Cargo.toml` and `pyproject.toml`, `pyproject.toml` takes precedence over `Cargo.toml`. + + To specify python dependencies, add a list `dependencies` in a `[project]` section in the `pyproject.toml`. This list is equivalent to `install_requires` in setuptools: + + ```toml + [project] + name = "my-project" + dependencies = ["flask~=1.1.0", "toml==0.10.0"] + ``` + + Pip allows adding so called console scripts, which are shell commands that execute some function in your program. You can add console scripts in a section `[project.scripts]`. + The keys are the script names while the values are the path to the function in the format `some.module.path:class.function`, where the `class` part is optional. The function is called with no arguments. Example: + + ```toml + [project.scripts] + get_42 = "my_project:DummyClass.get_42" + ``` + + You can also specify [trove classifiers](https://pypi.org/classifiers/) in your `pyproject.toml` under `project.classifiers`: + + ```toml + [project] + name = "my-project" + classifiers = ["Programming Language :: Python"] + ``` + + ## Source distribution + + maturin supports building through `pyproject.toml`. To use it, create a `pyproject.toml` next to your `Cargo.toml` with the following content: + + ```toml + [build-system] + requires = ["maturin>=1.0,<2.0"] + build-backend = "maturin" + ``` + + If a `pyproject.toml` with a `[build-system]` entry is present, maturin can build a source distribution of your package when `--sdist` is specified. + The source distribution will contain the same files as `cargo package`. To only build a source distribution, pass `--interpreter` without any values. + + You can then e.g. install your package with `pip install .`. With `pip install . -v` you can see the output of cargo and maturin. + + You can use the options `compatibility`, `skip-auditwheel`, `bindings`, `strip` and common Cargo build options such as `features` under `[tool.maturin]` the same way you would when running maturin directly. + The `bindings` key is required for cffi and bin projects as those can't be automatically detected. Currently, all builds are in release mode (see [this thread](https://discuss.python.org/t/pep-517-debug-vs-release-builds/1924) for details). + + For a non-manylinux build with cffi bindings you could use the following: + + ```toml + [build-system] + requires = ["maturin>=1.0,<2.0"] + build-backend = "maturin" + + [tool.maturin] + bindings = "cffi" + compatibility = "linux" + ``` + + `manylinux` option is also accepted as an alias of `compatibility` for backward compatibility with old version of maturin. + + To include arbitrary files in the sdist for use during compilation specify `include` as an array of `path` globs with `format` set to `sdist`: + + ```toml + [tool.maturin] + include = [{ path = "path/**/*", format = "sdist" }] + ``` + + There's a `maturin sdist` command for only building a source distribution as workaround for [pypa/pip#6041](https://github.com/pypa/pip/issues/6041). + + ## Manylinux and auditwheel + + For portability reasons, native python modules on linux must only dynamically link a set of very few libraries which are installed basically everywhere, hence the name manylinux. + The pypa offers special docker images and a tool called [auditwheel](https://github.com/pypa/auditwheel/) to ensure compliance with the [manylinux rules](https://peps.python.org/pep-0599/#the-manylinux2014-policy). + If you want to publish widely usable wheels for linux pypi, **you need to use a manylinux docker image**. + + The Rust compiler since version 1.64 [requires at least glibc 2.17](https://blog.rust-lang.org/2022/08/01/Increasing-glibc-kernel-requirements.html), so you need to use at least manylinux2014. + For publishing, we recommend enforcing the same manylinux version as the image with the manylinux flag, e.g. use `--manylinux 2014` if you are building in `quay.io/pypa/manylinux2014_x86_64`. + The [PyO3/maturin-action](https://github.com/PyO3/maturin-action) github action already takes care of this if you set e.g. `manylinux: 2014`. + + maturin contains a reimplementation of auditwheel automatically checks the generated library and gives the wheel the proper platform tag. + If your system's glibc is too new or you link other shared libraries, it will assign the `linux` tag. + You can also manually disable those checks and directly use native linux target with `--manylinux off`. + + For full manylinux compliance you need to compile in a CentOS docker container. The [pyo3/maturin](https://ghcr.io/pyo3/maturin) image is based on the manylinux2014 image, + and passes arguments to the `maturin` binary. You can use it like this: + + ``` + docker run --rm -v $(pwd):/io ghcr.io/pyo3/maturin build --release # or other maturin arguments + ``` + + Note that this image is very basic and only contains python, maturin and stable rust. If you need additional tools, you can run commands inside the manylinux container. + See [konstin/complex-manylinux-maturin-docker](https://github.com/konstin/complex-manylinux-maturin-docker) for a small educational example or [nanoporetech/fast-ctc-decode](https://github.com/nanoporetech/fast-ctc-decode/blob/b226ea0f2b2f4f474eff47349703d57d2ea4801b/.github/workflows/publish.yml) for a real world setup. + + maturin itself is manylinux compliant when compiled for the musl target. + + ## Examples + + - [ballista-python](https://github.com/apache/arrow-ballista-python) - A Python library that binds to Apache Arrow distributed query engine Ballista + - [bleuscore](https://github.com/shenxiangzhuang/bleuscore) - A BLEU score calculation library, written in pure Rust + - [chardetng-py](https://github.com/john-parton/chardetng-py) - Python binding for the chardetng character encoding detector. + - [connector-x](https://github.com/sfu-db/connector-x/tree/main/connectorx-python) - ConnectorX enables you to load data from databases into Python in the fastest and most memory efficient way + - [datafusion-python](https://github.com/apache/arrow-datafusion-python) - a Python library that binds to Apache Arrow in-memory query engine DataFusion + - [deltalake-python](https://github.com/delta-io/delta-rs/tree/main/python) - Native Delta Lake Python binding based on delta-rs with Pandas integration + - [opendal](https://github.com/apache/incubator-opendal/tree/main/bindings/python) - OpenDAL Python Binding to access data freely + - [orjson](https://github.com/ijl/orjson) - A fast, correct JSON library for Python + - [polars](https://github.com/pola-rs/polars/tree/master/py-polars) - Fast multi-threaded DataFrame library in Rust | Python | Node.js + - [pydantic-core](https://github.com/pydantic/pydantic-core) - Core validation logic for pydantic written in Rust + - [pyrus-cramjam](https://github.com/milesgranger/pyrus-cramjam) - Thin Python wrapper to de/compression algorithms in Rust + - [pyxel](https://github.com/kitao/pyxel) - A retro game engine for Python + - [roapi](https://github.com/roapi/roapi) - ROAPI automatically spins up read-only APIs for static datasets without requiring you to write a single line of code + - [robyn](https://github.com/sansyrox/robyn) - A fast and extensible async python web server with a Rust runtime + - [ruff](https://github.com/charliermarsh/ruff) - An extremely fast Python linter, written in Rust + - [tantivy-py](https://github.com/quickwit-oss/tantivy-py) - Python bindings for Tantivy + - [watchfiles](https://github.com/samuelcolvin/watchfiles) - Simple, modern and high performance file watching and code reload in python + - [wonnx](https://github.com/webonnx/wonnx/tree/master/wonnx-py) - Wonnx is a GPU-accelerated ONNX inference run-time written 100% in Rust + + ## Contributing + + Everyone is welcomed to contribute to maturin! There are many ways to support the project, such as: + + - help maturin users with issues on GitHub and Gitter + - improve documentation + - write features and bugfixes + - publish blogs and examples of how to use maturin + + Our [contributing notes](https://github.com/PyO3/maturin/blob/main/guide/src/contributing.md) have more resources if you wish to volunteer time for maturin and are searching where to start. + + If you don't have time to contribute yourself but still wish to support the project's future success, some of our maintainers have GitHub sponsorship pages: + + - [messense](https://github.com/sponsors/messense) + + ## License + + Licensed under either of: + + - Apache License, Version 2.0, ([LICENSE-APACHE](https://github.com/PyO3/maturin/blob/main/license-apache) or http://www.apache.org/licenses/LICENSE-2.0) + - MIT license ([LICENSE-MIT](https://github.com/PyO3/maturin/blob/main/license-mit) or http://opensource.org/licenses/MIT) + + at your option. +homepage_url: https://github.com/pyo3/maturin +package_url: pkg:pypi/maturin@1.8.1 +license_expression: mit OR apache-2.0 +copyright: Copyright konstin +attribute: yes +track_changes: yes +checksum_md5: 6e14b8234aee912adb5f6a00f2314fb7 +checksum_sha1: 2423e481c0b8471af9a87982e1beb05286f431f3 +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/packaging-23.0-py3-none-any.whl b/thirdparty/dist/packaging-23.0-py3-none-any.whl deleted file mode 100644 index a63ab700..00000000 Binary files a/thirdparty/dist/packaging-23.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/packaging-23.0-py3-none-any.whl.ABOUT b/thirdparty/dist/packaging-23.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 84f1442a..00000000 --- a/thirdparty/dist/packaging-23.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,22 +0,0 @@ -about_resource: packaging-23.0-py3-none-any.whl -name: packaging -version: '23.0' -download_url: https://files.pythonhosted.org/packages/ed/35/a31aed2993e398f6b09a790a181a7927eb14610ee8bbf02dc14d31677f1c/packaging-23.0-py3-none-any.whl -homepage_url: https://pypi.org/project/packaging/23.0/ -package_url: pkg:pypi/packaging@23.0 -license_expression: apache-2.0 AND bsd-new -copyright: Copyright packaging project contributors -attribute: yes -track_changes: yes -owner: Python Packaging Authority -owner_url: https://www.pypa.io/en/latest/ -contact: distutils-sig@python.org -checksum_md5: c3015f322fcb73a26d490f61bd07db30 -checksum_sha1: a09b54d249a7dd30e07b81a3e053a975acdd0a1d -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/packaging-24.2-py3-none-any.whl b/thirdparty/dist/packaging-24.2-py3-none-any.whl new file mode 100644 index 00000000..b38a4a5d Binary files /dev/null and b/thirdparty/dist/packaging-24.2-py3-none-any.whl differ diff --git a/thirdparty/dist/packaging-24.2-py3-none-any.whl.ABOUT b/thirdparty/dist/packaging-24.2-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..b14df332 --- /dev/null +++ b/thirdparty/dist/packaging-24.2-py3-none-any.whl.ABOUT @@ -0,0 +1,18 @@ +about_resource: packaging-24.2-py3-none-any.whl +name: packaging +version: '24.2' +download_url: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl +package_url: pkg:pypi/packaging@24.2 +license_expression: apache-2.0 AND bsd-new +copyright: Copyright packaging project contributors +attribute: yes +track_changes: yes +checksum_md5: 137b07612433f1ad2cd27dd8ab38ce49 +checksum_sha1: 80c56385662bb21674d3bd545a3d283b32ba2be6 +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/pbr-5.11.1-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/pbr-5.11.1-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 249af15e..00000000 --- a/thirdparty/dist/pbr-5.11.1-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,18 +0,0 @@ -about_resource: pbr-5.11.1-py2.py3-none-any.whl -name: pbr -version: 5.11.1 -download_url: https://files.pythonhosted.org/packages/01/06/4ab11bf70db5a60689fc521b636849c8593eb67a2c6bdf73a16c72d16a12/pbr-5.11.1-py2.py3-none-any.whl -package_url: pkg:pypi/pbr@5.11.1 -license_expression: apache-2.0 AND bsd-new -copyright: Copyright pbr project contributors -attribute: yes -track_changes: yes -checksum_md5: 01f8e66eeafb92da41652c6b6deaeeee -checksum_sha1: faa64b9dd6ce10c9aa87cf55be4fd66f564fde29 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/pbr-5.11.1-py2.py3-none-any.whl b/thirdparty/dist/pbr-6.1.0-py2.py3-none-any.whl similarity index 53% rename from thirdparty/dist/pbr-5.11.1-py2.py3-none-any.whl rename to thirdparty/dist/pbr-6.1.0-py2.py3-none-any.whl index bdbb8f77..5a329072 100644 Binary files a/thirdparty/dist/pbr-5.11.1-py2.py3-none-any.whl and b/thirdparty/dist/pbr-6.1.0-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/pbr-6.1.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/pbr-6.1.0-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..53c20c76 --- /dev/null +++ b/thirdparty/dist/pbr-6.1.0-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,18 @@ +about_resource: pbr-6.1.0-py2.py3-none-any.whl +name: pbr +version: 6.1.0 +download_url: https://files.pythonhosted.org/packages/1d/44/6a65ecd630393d47ad3e7d5354768cb7f9a10b3a0eb2cd8c6f52b28211ee/pbr-6.1.0-py2.py3-none-any.whl +package_url: pkg:pypi/pbr@6.1.0 +license_expression: apache-2.0 AND bsd-new +copyright: Copyright pbr project contributors +attribute: yes +track_changes: yes +checksum_md5: d869b1f0cc1cd47f4510645feaebbab4 +checksum_sha1: baeb831bf947b7fd74fb9610e69efc066461959e +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/proprietary-license.LICENSE b/thirdparty/dist/proprietary-license.LICENSE new file mode 100644 index 00000000..78074303 --- /dev/null +++ b/thirdparty/dist/proprietary-license.LICENSE @@ -0,0 +1 @@ +This component is normally licensed under a proprietary license agreement with a supplier that has terms and conditions that restrict the use of the code, and may present multiple licensing options depending on how the code will be used. \ No newline at end of file diff --git a/thirdparty/dist/psycopg-3.1.19-py3-none-any.whl b/thirdparty/dist/psycopg-3.1.19-py3-none-any.whl deleted file mode 100644 index 21e0f9e2..00000000 Binary files a/thirdparty/dist/psycopg-3.1.19-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/psycopg-3.1.19-py3-none-any.whl.ABOUT b/thirdparty/dist/psycopg-3.1.19-py3-none-any.whl.ABOUT deleted file mode 100644 index 4ffa9f74..00000000 --- a/thirdparty/dist/psycopg-3.1.19-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,16 +0,0 @@ -about_resource: psycopg-3.1.19-py3-none-any.whl -name: psycopg -version: 3.1.19 -download_url: https://files.pythonhosted.org/packages/f2/cf/172701ea48987548c681e011681dda1d2605131f723e89225477fe7802e9/psycopg-3.1.19-py3-none-any.whl -package_url: pkg:pypi/psycopg@3.1.19 -license_expression: lgpl-3.0 -copyright: Copyright The Psycopg Team -redistribute: yes -attribute: yes -track_changes: yes -checksum_md5: 6345cae8283bfa16c8eafa43e97bbe1b -checksum_sha1: f5d4245d329c1245afe43414a8b7e4df454c748f -licenses: - - key: lgpl-3.0 - name: GNU Lesser General Public License 3.0 - file: lgpl-3.0.LICENSE diff --git a/thirdparty/dist/psycopg-3.2.3-py3-none-any.whl b/thirdparty/dist/psycopg-3.2.4-py3-none-any.whl similarity index 69% rename from thirdparty/dist/psycopg-3.2.3-py3-none-any.whl rename to thirdparty/dist/psycopg-3.2.4-py3-none-any.whl index 22195982..70df5c9b 100644 Binary files a/thirdparty/dist/psycopg-3.2.3-py3-none-any.whl and b/thirdparty/dist/psycopg-3.2.4-py3-none-any.whl differ diff --git a/thirdparty/dist/psycopg-3.2.4-py3-none-any.whl.ABOUT b/thirdparty/dist/psycopg-3.2.4-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..c10d8a2b --- /dev/null +++ b/thirdparty/dist/psycopg-3.2.4-py3-none-any.whl.ABOUT @@ -0,0 +1,16 @@ +about_resource: psycopg-3.2.4-py3-none-any.whl +name: psycopg +version: 3.2.4 +download_url: https://files.pythonhosted.org/packages/40/49/15114d5f7ee68983f4e1a24d47e75334568960352a07c6f0e796e912685d/psycopg-3.2.4-py3-none-any.whl +package_url: pkg:pypi/psycopg@3.2.4 +license_expression: lgpl-3.0 +copyright: Copyright The Psycopg Team +redistribute: yes +attribute: yes +track_changes: yes +checksum_md5: e3ceb4e7e14f7d887faa2c82522d75cc +checksum_sha1: 813711aa5f16685f25b7b51b974f5580381618e3 +licenses: + - key: lgpl-3.0 + name: GNU Lesser General Public License 3.0 + file: lgpl-3.0.LICENSE diff --git a/thirdparty/dist/pyasn1-0.5.0-py2.py3-none-any.whl b/thirdparty/dist/pyasn1-0.5.0-py2.py3-none-any.whl deleted file mode 100644 index d49bc02a..00000000 Binary files a/thirdparty/dist/pyasn1-0.5.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/pyasn1-0.5.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/pyasn1-0.5.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 2b28a6a3..00000000 --- a/thirdparty/dist/pyasn1-0.5.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: pyasn1-0.5.0-py2.py3-none-any.whl -name: pyasn1 -version: 0.5.0 -download_url: https://files.pythonhosted.org/packages/14/e5/b56a725cbde139aa960c26a1a3ca4d4af437282e20b5314ee6a3501e7dfc/pyasn1-0.5.0-py2.py3-none-any.whl -package_url: pkg:pypi/pyasn1@0.5.0 -license_expression: bsd-new AND bsd-simplified -copyright: Copyright Ilya Etingof (etingof@gmail.com) -attribute: yes -checksum_md5: 095d55d909065c490d9da12211872d24 -checksum_sha1: a2d9efce70292694a4b0ba449be06f5512359f32 -licenses: - - key: bsd-simplified - name: BSD-2-Clause - file: bsd-simplified.LICENSE - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/pyasn1-0.6.1-py3-none-any.whl b/thirdparty/dist/pyasn1-0.6.1-py3-none-any.whl new file mode 100644 index 00000000..eef3fa53 Binary files /dev/null and b/thirdparty/dist/pyasn1-0.6.1-py3-none-any.whl differ diff --git a/thirdparty/dist/pyasn1-0.6.1-py3-none-any.whl.ABOUT b/thirdparty/dist/pyasn1-0.6.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..5e7e6119 --- /dev/null +++ b/thirdparty/dist/pyasn1-0.6.1-py3-none-any.whl.ABOUT @@ -0,0 +1,17 @@ +about_resource: pyasn1-0.6.1-py3-none-any.whl +name: pyasn1 +version: 0.6.1 +download_url: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl +package_url: pkg:pypi/pyasn1@0.6.1 +license_expression: bsd-new AND bsd-simplified +copyright: Copyright Ilya Etingof +attribute: yes +checksum_md5: 1df61e80b7865d7693f4b9b9a433197a +checksum_sha1: df3a7fa11816f023fc31fa1669b7a9dd286a348c +licenses: + - key: bsd-simplified + name: BSD-2-Clause + file: bsd-simplified.LICENSE + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/pyasn1_modules-0.3.0-py2.py3-none-any.whl b/thirdparty/dist/pyasn1_modules-0.3.0-py2.py3-none-any.whl deleted file mode 100644 index 222fcec8..00000000 Binary files a/thirdparty/dist/pyasn1_modules-0.3.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/pyasn1_modules-0.3.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/pyasn1_modules-0.3.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index b00fe8c6..00000000 --- a/thirdparty/dist/pyasn1_modules-0.3.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: pyasn1_modules-0.3.0-py2.py3-none-any.whl -name: pyasn1-modules -version: 0.3.0 -download_url: https://files.pythonhosted.org/packages/cd/8e/bea464350e1b8c6ed0da3a312659cb648804a08af6cacc6435867f74f8bd/pyasn1_modules-0.3.0-py2.py3-none-any.whl -package_url: pkg:pypi/pyasn1-modules@0.3.0 -license_expression: bsd-new -copyright: Copyright Ilya Etingof (etingof@gmail.com) -attribute: yes -checksum_md5: 48ed8a5a01ef09ed5ebc332d0979b69f -checksum_sha1: c23e6ccd113b36020c12667c1d31e670e2d4f833 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/pyasn1_modules-0.4.1-py3-none-any.whl b/thirdparty/dist/pyasn1_modules-0.4.1-py3-none-any.whl new file mode 100644 index 00000000..cddf2d6e Binary files /dev/null and b/thirdparty/dist/pyasn1_modules-0.4.1-py3-none-any.whl differ diff --git a/thirdparty/dist/pyasn1_modules-0.4.1-py3-none-any.whl.ABOUT b/thirdparty/dist/pyasn1_modules-0.4.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..62a4b37c --- /dev/null +++ b/thirdparty/dist/pyasn1_modules-0.4.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: pyasn1_modules-0.4.1-py3-none-any.whl +name: pyasn1-modules +version: 0.4.1 +download_url: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl +package_url: pkg:pypi/pyasn1-modules@0.4.1 +license_expression: bsd-new +copyright: Copyright Ilya Etingof +attribute: yes +checksum_md5: 00f5f725276542ac7740532ca742e194 +checksum_sha1: 3c23b3f6a40aba58b87b72c670f996df9363e852 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/pydantic-2.10.4-py3-none-any.whl b/thirdparty/dist/pydantic-2.10.6-py3-none-any.whl similarity index 82% rename from thirdparty/dist/pydantic-2.10.4-py3-none-any.whl rename to thirdparty/dist/pydantic-2.10.6-py3-none-any.whl index f9875e73..decfdc55 100644 Binary files a/thirdparty/dist/pydantic-2.10.4-py3-none-any.whl and b/thirdparty/dist/pydantic-2.10.6-py3-none-any.whl differ diff --git a/thirdparty/dist/pydantic-2.10.6-py3-none-any.whl.ABOUT b/thirdparty/dist/pydantic-2.10.6-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..5315078c --- /dev/null +++ b/thirdparty/dist/pydantic-2.10.6-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: pydantic-2.10.6-py3-none-any.whl +name: pydantic +version: 2.10.6 +download_url: https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl +package_url: pkg:pypi/pydantic@2.10.6 +license_expression: mit +copyright: Copyright pydantic project contributors +attribute: yes +checksum_md5: fc7927f675ad5f05498b8aa8afa3e29f +checksum_sha1: 5e89d881a4417af821a35b3d2d4ff20e2eba7900 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/pygments-2.19.1-py3-none-any.whl b/thirdparty/dist/pygments-2.19.1-py3-none-any.whl new file mode 100644 index 00000000..7e3a808e Binary files /dev/null and b/thirdparty/dist/pygments-2.19.1-py3-none-any.whl differ diff --git a/thirdparty/dist/pygments-2.19.1-py3-none-any.whl.ABOUT b/thirdparty/dist/pygments-2.19.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..ed322790 --- /dev/null +++ b/thirdparty/dist/pygments-2.19.1-py3-none-any.whl.ABOUT @@ -0,0 +1,17 @@ +about_resource: pygments-2.19.1-py3-none-any.whl +name: pygments +version: 2.19.1 +download_url: https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl +package_url: pkg:pypi/pygments@2.19.1 +license_expression: bsd-new AND bsd-simplified +copyright: Copyright the Pygments team +attribute: yes +checksum_md5: 794747e68f6a2c85e86a8a49e4abb285 +checksum_sha1: 5e22e09a3f7049e56133740ccd6a54ebcb18cdd3 +licenses: + - key: bsd-simplified + name: BSD-2-Clause + file: bsd-simplified.LICENSE + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl b/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl deleted file mode 100644 index 597df22c..00000000 Binary files a/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl.ABOUT b/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl.ABOUT deleted file mode 100644 index 0e370880..00000000 --- a/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: pyparsing-3.0.9-py3-none-any.whl -name: pyparsing -version: 3.0.9 -download_url: https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl -homepage_url: https://pypi.org/project/pyparsing/3.0.9/ -package_url: pkg:pypi/pyparsing@3.0.9 -license_expression: mit -copyright: Copyright (c) Paul T. McGuire -notice_file: pyparsing-3.0.9-py3-none-any.whl.NOTICE -attribute: yes -owner: Paul McGuire -checksum_md5: 9b7c6d2c436bc7eba41f5f239b391b4c -checksum_sha1: 529679c7623df976615754272eb75b89ab5f4c53 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl.NOTICE b/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl.NOTICE deleted file mode 100644 index bbf3ba40..00000000 --- a/thirdparty/dist/pyparsing-3.0.9-py3-none-any.whl.NOTICE +++ /dev/null @@ -1,18 +0,0 @@ -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/dist/pyparsing-3.2.1-py3-none-any.whl b/thirdparty/dist/pyparsing-3.2.1-py3-none-any.whl new file mode 100644 index 00000000..1db47624 Binary files /dev/null and b/thirdparty/dist/pyparsing-3.2.1-py3-none-any.whl differ diff --git a/thirdparty/dist/pyparsing-3.2.1-py3-none-any.whl.ABOUT b/thirdparty/dist/pyparsing-3.2.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..80aabf21 --- /dev/null +++ b/thirdparty/dist/pyparsing-3.2.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: pyparsing-3.2.1-py3-none-any.whl +name: pyparsing +version: 3.2.1 +download_url: https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl +package_url: pkg:pypi/pyparsing@3.2.1 +license_expression: mit +copyright: Copyright pyparsing project contributors +attribute: yes +checksum_md5: a0dbc297f4184d68c88640be7979832c +checksum_sha1: ac4cd9fa6528558267430209b7a8e1459ac309e9 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/pyrsistent-0.18.1.tar.gz.ABOUT b/thirdparty/dist/pyrsistent-0.18.1.tar.gz.ABOUT deleted file mode 100644 index 0580c642..00000000 --- a/thirdparty/dist/pyrsistent-0.18.1.tar.gz.ABOUT +++ /dev/null @@ -1,767 +0,0 @@ -about_resource: pyrsistent-0.18.1.tar.gz -name: pyrsistent -version: 0.18.1 -download_url: https://files.pythonhosted.org/packages/42/ac/455fdc7294acc4d4154b904e80d964cc9aae75b087bbf486be04df9f2abd/pyrsistent-0.18.1.tar.gz -description: | - Persistent/Functional/Immutable data structures - Pyrsistent - ========== - .. image:: https://github.com/tobgu/pyrsistent/actions/workflows/tests.yaml/badge.svg - :target: https://github.com/tobgu/pyrsistent/actions/workflows/tests.yaml - - - .. _Pyrthon: https://www.github.com/tobgu/pyrthon/ - - Pyrsistent is a number of persistent collections (by some referred to as functional data structures). Persistent in - the sense that they are immutable. - - All methods on a data structure that would normally mutate it instead return a new copy of the structure containing the - requested updates. The original structure is left untouched. - - This will simplify the reasoning about what a program does since no hidden side effects ever can take place to these - data structures. You can rest assured that the object you hold a reference to will remain the same throughout its - lifetime and need not worry that somewhere five stack levels below you in the darkest corner of your application - someone has decided to remove that element that you expected to be there. - - Pyrsistent is influenced by persistent data structures such as those found in the standard library of Clojure. The - data structures are designed to share common elements through path copying. - It aims at taking these concepts and make them as pythonic as possible so that they can be easily integrated into any python - program without hassle. - - If you want to go all in on persistent data structures and use literal syntax to define them in your code rather - than function calls check out Pyrthon_. - - Examples - -------- - .. _Sequence: collections_ - .. _Hashable: collections_ - .. _Mapping: collections_ - .. _Mappings: collections_ - .. _Set: collections_ - .. _collections: https://docs.python.org/3/library/collections.abc.html - .. _documentation: http://pyrsistent.readthedocs.org/ - - The collection types and key features currently implemented are: - - * PVector_, similar to a python list - * PMap_, similar to dict - * PSet_, similar to set - * PRecord_, a PMap on steroids with fixed fields, optional type and invariant checking and much more - * PClass_, a Python class fixed fields, optional type and invariant checking and much more - * `Checked collections`_, PVector, PMap and PSet with optional type and invariance checks and more - * PBag, similar to collections.Counter - * PList, a classic singly linked list - * PDeque, similar to collections.deque - * Immutable object type (immutable) built on the named tuple - * freeze_ and thaw_ functions to convert between pythons standard collections and pyrsistent collections. - * Flexible transformations_ of arbitrarily complex structures built from PMaps and PVectors. - - Below are examples of common usage patterns for some of the structures and features. More information and - full documentation for all data structures is available in the documentation_. - - .. _PVector: - - PVector - ~~~~~~~ - With full support for the Sequence_ protocol PVector is meant as a drop in replacement to the built in list from a readers - point of view. Write operations of course differ since no in place mutation is done but naming should be in line - with corresponding operations on the built in list. - - Support for the Hashable_ protocol also means that it can be used as key in Mappings_. - - Appends are amortized O(1). Random access and insert is log32(n) where n is the size of the vector. - - .. code:: python - - >>> from pyrsistent import v, pvector - - # No mutation of vectors once created, instead they - # are "evolved" leaving the original untouched - >>> v1 = v(1, 2, 3) - >>> v2 = v1.append(4) - >>> v3 = v2.set(1, 5) - >>> v1 - pvector([1, 2, 3]) - >>> v2 - pvector([1, 2, 3, 4]) - >>> v3 - pvector([1, 5, 3, 4]) - - # Random access and slicing - >>> v3[1] - 5 - >>> v3[1:3] - pvector([5, 3]) - - # Iteration - >>> list(x + 1 for x in v3) - [2, 6, 4, 5] - >>> pvector(2 * x for x in range(3)) - pvector([0, 2, 4]) - - .. _PMap: - - PMap - ~~~~ - With full support for the Mapping_ protocol PMap is meant as a drop in replacement to the built in dict from a readers point - of view. Support for the Hashable_ protocol also means that it can be used as key in other Mappings_. - - Random access and insert is log32(n) where n is the size of the map. - - .. code:: python - - >>> from pyrsistent import m, pmap, v - - # No mutation of maps once created, instead they are - # "evolved" leaving the original untouched - >>> m1 = m(a=1, b=2) - >>> m2 = m1.set('c', 3) - >>> m3 = m2.set('a', 5) - >>> m1 - pmap({'a': 1, 'b': 2}) - >>> m2 - pmap({'a': 1, 'c': 3, 'b': 2}) - >>> m3 - pmap({'a': 5, 'c': 3, 'b': 2}) - >>> m3['a'] - 5 - - # Evolution of nested persistent structures - >>> m4 = m(a=5, b=6, c=v(1, 2)) - >>> m4.transform(('c', 1), 17) - pmap({'a': 5, 'c': pvector([1, 17]), 'b': 6}) - >>> m5 = m(a=1, b=2) - - # Evolve by merging with other mappings - >>> m5.update(m(a=2, c=3), {'a': 17, 'd': 35}) - pmap({'a': 17, 'c': 3, 'b': 2, 'd': 35}) - >>> pmap({'x': 1, 'y': 2}) + pmap({'y': 3, 'z': 4}) - pmap({'y': 3, 'x': 1, 'z': 4}) - - # Dict-like methods to convert to list and iterate - >>> m3.items() - pvector([('a', 5), ('c', 3), ('b', 2)]) - >>> list(m3) - ['a', 'c', 'b'] - - .. _PSet: - - PSet - ~~~~ - With full support for the Set_ protocol PSet is meant as a drop in replacement to the built in set from a readers point - of view. Support for the Hashable_ protocol also means that it can be used as key in Mappings_. - - Random access and insert is log32(n) where n is the size of the set. - - .. code:: python - - >>> from pyrsistent import s - - # No mutation of sets once created, you know the story... - >>> s1 = s(1, 2, 3, 2) - >>> s2 = s1.add(4) - >>> s3 = s1.remove(1) - >>> s1 - pset([1, 2, 3]) - >>> s2 - pset([1, 2, 3, 4]) - >>> s3 - pset([2, 3]) - - # Full support for set operations - >>> s1 | s(3, 4, 5) - pset([1, 2, 3, 4, 5]) - >>> s1 & s(3, 4, 5) - pset([3]) - >>> s1 < s2 - True - >>> s1 < s(3, 4, 5) - False - - .. _PRecord: - - PRecord - ~~~~~~~ - A PRecord is a PMap with a fixed set of specified fields. Records are declared as python classes inheriting - from PRecord. Because it is a PMap it has full support for all Mapping methods such as iteration and element - access using subscript notation. - - .. code:: python - - >>> from pyrsistent import PRecord, field - >>> class ARecord(PRecord): - ... x = field() - ... - >>> r = ARecord(x=3) - >>> r - ARecord(x=3) - >>> r.x - 3 - >>> r.set(x=2) - ARecord(x=2) - >>> r.set(y=2) - Traceback (most recent call last): - AttributeError: 'y' is not among the specified fields for ARecord - - Type information - **************** - It is possible to add type information to the record to enforce type checks. Multiple allowed types can be specified - by providing an iterable of types. - - .. code:: python - - >>> class BRecord(PRecord): - ... x = field(type=int) - ... y = field(type=(int, type(None))) - ... - >>> BRecord(x=3, y=None) - BRecord(y=None, x=3) - >>> BRecord(x=3.0) - Traceback (most recent call last): - PTypeError: Invalid type for field BRecord.x, was float - - - Custom types (classes) that are iterable should be wrapped in a tuple to prevent their - members being added to the set of valid types. Although Enums in particular are now - supported without wrapping, see #83 for more information. - - Mandatory fields - **************** - Fields are not mandatory by default but can be specified as such. If fields are missing an - *InvariantException* will be thrown which contains information about the missing fields. - - .. code:: python - - >>> from pyrsistent import InvariantException - >>> class CRecord(PRecord): - ... x = field(mandatory=True) - ... - >>> r = CRecord(x=3) - >>> try: - ... r.discard('x') - ... except InvariantException as e: - ... print(e.missing_fields) - ... - ('CRecord.x',) - - Invariants - ********** - It is possible to add invariants that must hold when evolving the record. Invariants can be - specified on both field and record level. If invariants fail an *InvariantException* will be - thrown which contains information about the failing invariants. An invariant function should - return a tuple consisting of a boolean that tells if the invariant holds or not and an object - describing the invariant. This object can later be used to identify which invariant that failed. - - The global invariant function is only executed if all field invariants hold. - - Global invariants are inherited to subclasses. - - .. code:: python - - >>> class RestrictedVector(PRecord): - ... __invariant__ = lambda r: (r.y >= r.x, 'x larger than y') - ... x = field(invariant=lambda x: (x > 0, 'x negative')) - ... y = field(invariant=lambda y: (y > 0, 'y negative')) - ... - >>> r = RestrictedVector(y=3, x=2) - >>> try: - ... r.set(x=-1, y=-2) - ... except InvariantException as e: - ... print(e.invariant_errors) - ... - ('y negative', 'x negative') - >>> try: - ... r.set(x=2, y=1) - ... except InvariantException as e: - ... print(e.invariant_errors) - ... - ('x larger than y',) - - Invariants may also contain multiple assertions. For those cases the invariant function should - return a tuple of invariant tuples as described above. This structure is reflected in the - invariant_errors attribute of the exception which will contain tuples with data from all failed - invariants. Eg: - - .. code:: python - - >>> class EvenX(PRecord): - ... x = field(invariant=lambda x: ((x > 0, 'x negative'), (x % 2 == 0, 'x odd'))) - ... - >>> try: - ... EvenX(x=-1) - ... except InvariantException as e: - ... print(e.invariant_errors) - ... - (('x negative', 'x odd'),) - - - Factories - ********* - It's possible to specify factory functions for fields. The factory function receives whatever - is supplied as field value and the actual returned by the factory is assigned to the field - given that any type and invariant checks hold. - PRecords have a default factory specified as a static function on the class, create(). It takes - a *Mapping* as argument and returns an instance of the specific record. - If a record has fields of type PRecord the create() method of that record will - be called to create the "sub record" if no factory has explicitly been specified to override - this behaviour. - - .. code:: python - - >>> class DRecord(PRecord): - ... x = field(factory=int) - ... - >>> class ERecord(PRecord): - ... d = field(type=DRecord) - ... - >>> ERecord.create({'d': {'x': '1'}}) - ERecord(d=DRecord(x=1)) - - Collection fields - ***************** - It is also possible to have fields with ``pyrsistent`` collections. - - .. code:: python - - >>> from pyrsistent import pset_field, pmap_field, pvector_field - >>> class MultiRecord(PRecord): - ... set_of_ints = pset_field(int) - ... map_int_to_str = pmap_field(int, str) - ... vector_of_strs = pvector_field(str) - ... - - Serialization - ************* - PRecords support serialization back to dicts. Default serialization will take keys and values - "as is" and output them into a dict. It is possible to specify custom serialization functions - to take care of fields that require special treatment. - - .. code:: python - - >>> from datetime import date - >>> class Person(PRecord): - ... name = field(type=unicode) - ... birth_date = field(type=date, - ... serializer=lambda format, d: d.strftime(format['date'])) - ... - >>> john = Person(name=u'John', birth_date=date(1985, 10, 21)) - >>> john.serialize({'date': '%Y-%m-%d'}) - {'birth_date': '1985-10-21', 'name': u'John'} - - - .. _instar: https://github.com/boxed/instar/ - - .. _PClass: - - PClass - ~~~~~~ - A PClass is a python class with a fixed set of specified fields. PClasses are declared as python classes inheriting - from PClass. It is defined the same way that PRecords are and behaves like a PRecord in all aspects except that it - is not a PMap and hence not a collection but rather a plain Python object. - - .. code:: python - - >>> from pyrsistent import PClass, field - >>> class AClass(PClass): - ... x = field() - ... - >>> a = AClass(x=3) - >>> a - AClass(x=3) - >>> a.x - 3 - - - Checked collections - ~~~~~~~~~~~~~~~~~~~ - Checked collections currently come in three flavors: CheckedPVector, CheckedPMap and CheckedPSet. - - .. code:: python - - >>> from pyrsistent import CheckedPVector, CheckedPMap, CheckedPSet, thaw - >>> class Positives(CheckedPSet): - ... __type__ = (long, int) - ... __invariant__ = lambda n: (n >= 0, 'Negative') - ... - >>> class Lottery(PRecord): - ... name = field(type=str) - ... numbers = field(type=Positives, invariant=lambda p: (len(p) > 0, 'No numbers')) - ... - >>> class Lotteries(CheckedPVector): - ... __type__ = Lottery - ... - >>> class LotteriesByDate(CheckedPMap): - ... __key_type__ = date - ... __value_type__ = Lotteries - ... - >>> lotteries = LotteriesByDate.create({date(2015, 2, 15): [{'name': 'SuperLotto', 'numbers': {1, 2, 3}}, - ... {'name': 'MegaLotto', 'numbers': {4, 5, 6}}], - ... date(2015, 2, 16): [{'name': 'SuperLotto', 'numbers': {3, 2, 1}}, - ... {'name': 'MegaLotto', 'numbers': {6, 5, 4}}]}) - >>> lotteries - LotteriesByDate({datetime.date(2015, 2, 15): Lotteries([Lottery(numbers=Positives([1, 2, 3]), name='SuperLotto'), Lottery(numbers=Positives([4, 5, 6]), name='MegaLotto')]), datetime.date(2015, 2, 16): Lotteries([Lottery(numbers=Positives([1, 2, 3]), name='SuperLotto'), Lottery(numbers=Positives([4, 5, 6]), name='MegaLotto')])}) - - # The checked versions support all operations that the corresponding - # unchecked types do - >>> lottery_0215 = lotteries[date(2015, 2, 15)] - >>> lottery_0215.transform([0, 'name'], 'SuperDuperLotto') - Lotteries([Lottery(numbers=Positives([1, 2, 3]), name='SuperDuperLotto'), Lottery(numbers=Positives([4, 5, 6]), name='MegaLotto')]) - - # But also makes asserts that types and invariants hold - >>> lottery_0215.transform([0, 'name'], 999) - Traceback (most recent call last): - PTypeError: Invalid type for field Lottery.name, was int - - >>> lottery_0215.transform([0, 'numbers'], set()) - Traceback (most recent call last): - InvariantException: Field invariant failed - - # They can be converted back to python built ins with either thaw() - # or serialize() (which provides possibilities to customize serialization) - >>> thaw(lottery_0215) - [{'numbers': set([1, 2, 3]), 'name': 'SuperLotto'}, {'numbers': set([4, 5, 6]), 'name': 'MegaLotto'}] - >>> lottery_0215.serialize() - [{'numbers': set([1, 2, 3]), 'name': 'SuperLotto'}, {'numbers': set([4, 5, 6]), 'name': 'MegaLotto'}] - - .. _transformations: - - Transformations - ~~~~~~~~~~~~~~~ - Transformations are inspired by the cool library instar_ for Clojure. They let you evolve PMaps and PVectors - with arbitrarily deep/complex nesting using simple syntax and flexible matching syntax. - - The first argument to transformation is the path that points out the value to transform. The - second is the transformation to perform. If the transformation is callable it will be applied - to the value(s) matching the path. The path may also contain callables. In that case they are - treated as matchers. If the matcher returns True for a specific key it is considered for transformation. - - .. code:: python - - # Basic examples - >>> from pyrsistent import inc, freeze, thaw, rex, ny, discard - >>> v1 = freeze([1, 2, 3, 4, 5]) - >>> v1.transform([2], inc) - pvector([1, 2, 4, 4, 5]) - >>> v1.transform([lambda ix: 0 < ix < 4], 8) - pvector([1, 8, 8, 8, 5]) - >>> v1.transform([lambda ix, v: ix == 0 or v == 5], 0) - pvector([0, 2, 3, 4, 0]) - - # The (a)ny matcher can be used to match anything - >>> v1.transform([ny], 8) - pvector([8, 8, 8, 8, 8]) - - # Regular expressions can be used for matching - >>> scores = freeze({'John': 12, 'Joseph': 34, 'Sara': 23}) - >>> scores.transform([rex('^Jo')], 0) - pmap({'Joseph': 0, 'Sara': 23, 'John': 0}) - - # Transformations can be done on arbitrarily deep structures - >>> news_paper = freeze({'articles': [{'author': 'Sara', 'content': 'A short article'}, - ... {'author': 'Steve', 'content': 'A slightly longer article'}], - ... 'weather': {'temperature': '11C', 'wind': '5m/s'}}) - >>> short_news = news_paper.transform(['articles', ny, 'content'], lambda c: c[:25] + '...' if len(c) > 25 else c) - >>> very_short_news = news_paper.transform(['articles', ny, 'content'], lambda c: c[:15] + '...' if len(c) > 15 else c) - >>> very_short_news.articles[0].content - 'A short article' - >>> very_short_news.articles[1].content - 'A slightly long...' - - # When nothing has been transformed the original data structure is kept - >>> short_news is news_paper - True - >>> very_short_news is news_paper - False - >>> very_short_news.articles[0] is news_paper.articles[0] - True - - # There is a special transformation that can be used to discard elements. Also - # multiple transformations can be applied in one call - >>> thaw(news_paper.transform(['weather'], discard, ['articles', ny, 'content'], discard)) - {'articles': [{'author': 'Sara'}, {'author': 'Steve'}]} - - Evolvers - ~~~~~~~~ - PVector, PMap and PSet all have support for a concept dubbed *evolvers*. An evolver acts like a mutable - view of the underlying persistent data structure with "transaction like" semantics. No updates of the original - data structure is ever performed, it is still fully immutable. - - The evolvers have a very limited API by design to discourage excessive, and inappropriate, usage as that would - take us down the mutable road. In principle only basic mutation and element access functions are supported. - Check out the documentation_ of each data structure for specific examples. - - Examples of when you may want to use an evolver instead of working directly with the data structure include: - - * Multiple updates are done to the same data structure and the intermediate results are of no - interest. In this case using an evolver may be a more efficient and easier to work with. - * You need to pass a vector into a legacy function or a function that you have no control - over which performs in place mutations. In this case pass an evolver instance - instead and then create a new pvector from the evolver once the function returns. - - .. code:: python - - >>> from pyrsistent import v - - # In place mutation as when working with the built in counterpart - >>> v1 = v(1, 2, 3) - >>> e = v1.evolver() - >>> e[1] = 22 - >>> e = e.append(4) - >>> e = e.extend([5, 6]) - >>> e[5] += 1 - >>> len(e) - 6 - - # The evolver is considered *dirty* when it contains changes compared to the underlying vector - >>> e.is_dirty() - True - - # But the underlying pvector still remains untouched - >>> v1 - pvector([1, 2, 3]) - - # Once satisfied with the updates you can produce a new pvector containing the updates. - # The new pvector will share data with the original pvector in the same way that would have - # been done if only using operations on the pvector. - >>> v2 = e.persistent() - >>> v2 - pvector([1, 22, 3, 4, 5, 7]) - - # The evolver is now no longer considered *dirty* as it contains no differences compared to the - # pvector just produced. - >>> e.is_dirty() - False - - # You may continue to work with the same evolver without affecting the content of v2 - >>> e[0] = 11 - - # Or create a new evolver from v2. The two evolvers can be updated independently but will both - # share data with v2 where possible. - >>> e2 = v2.evolver() - >>> e2[0] = 1111 - >>> e.persistent() - pvector([11, 22, 3, 4, 5, 7]) - >>> e2.persistent() - pvector([1111, 22, 3, 4, 5, 7]) - - .. _freeze: - .. _thaw: - - freeze and thaw - ~~~~~~~~~~~~~~~ - These functions are great when your cozy immutable world has to interact with the evil mutable world outside. - - .. code:: python - - >>> from pyrsistent import freeze, thaw, v, m - >>> freeze([1, {'a': 3}]) - pvector([1, pmap({'a': 3})]) - >>> thaw(v(1, m(a=3))) - [1, {'a': 3}] - - By default, freeze will also recursively convert values inside PVectors and PMaps. This behaviour can be changed by providing freeze with the flag strict=False. - - .. code:: python - - >>> from pyrsistent import freeze, v, m - >>> freeze(v(1, v(2, [3]))) - pvector([1, pvector([2, pvector([3])])]) - >>> freeze(v(1, v(2, [3])), strict=False) - pvector([1, pvector([2, [3]])]) - >>> freeze(m(a=m(b={'c': 1}))) - pmap({'a': pmap({'b': pmap({'c': 1})})}) - >>> freeze(m(a=m(b={'c': 1})), strict=False) - pmap({'a': pmap({'b': {'c': 1}})}) - - In this regard, thaw operates as the inverse of freeze so will thaw values inside native data structures unless passed the strict=False flag. - - - Compatibility - ------------- - - Pyrsistent is developed and tested on Python 3.7+ and PyPy3. - - Performance - ----------- - - Pyrsistent is developed with performance in mind. Still, while some operations are nearly on par with their built in, - mutable, counterparts in terms of speed, other operations are slower. In the cases where attempts at - optimizations have been done, speed has generally been valued over space. - - Pyrsistent comes with two API compatible flavors of PVector (on which PMap and PSet are based), one pure Python - implementation and one implemented as a C extension. The latter generally being 2 - 20 times faster than the former. - The C extension will be used automatically when possible. - - The pure python implementation is fully PyPy compatible. Running it under PyPy speeds operations up considerably if - the structures are used heavily (if JITed), for some cases the performance is almost on par with the built in counterparts. - - Type hints - ---------- - - PEP 561 style type hints for use with mypy and various editors are available for most types and functions in pyrsistent. - - Type classes for annotating your own code with pyrsistent types are also available under pyrsistent.typing. - - Installation - ------------ - - pip install pyrsistent - - Documentation - ------------- - - Available at http://pyrsistent.readthedocs.org/ - - Brief presentation available at http://slides.com/tobiasgustafsson/immutability-and-python/ - - Contributors - ------------ - - Tobias Gustafsson https://github.com/tobgu - - Christopher Armstrong https://github.com/radix - - Anders Hovmöller https://github.com/boxed - - Itamar Turner-Trauring https://github.com/itamarst - - Jonathan Lange https://github.com/jml - - Richard Futrell https://github.com/Futrell - - Jakob Hollenstein https://github.com/jkbjh - - David Honour https://github.com/foolswood - - David R. MacIver https://github.com/DRMacIver - - Marcus Ewert https://github.com/sarum90 - - Jean-Paul Calderone https://github.com/exarkun - - Douglas Treadwell https://github.com/douglas-treadwell - - Travis Parker https://github.com/teepark - - Julian Berman https://github.com/Julian - - Dennis Tomas https://github.com/dtomas - - Neil Vyas https://github.com/neilvyas - - doozr https://github.com/doozr - - Kamil Galuszka https://github.com/galuszkak - - Tsuyoshi Hombashi https://github.com/thombashi - - nattofriends https://github.com/nattofriends - - agberk https://github.com/agberk - - Waleed Khan https://github.com/arxanas - - Jean-Louis Fuchs https://github.com/ganwell - - Carlos Corbacho https://github.com/ccorbacho - - Felix Yan https://github.com/felixonmars - - benrg https://github.com/benrg - - Jere Lahelma https://github.com/je-l - - Max Taggart https://github.com/MaxTaggart - - Vincent Philippon https://github.com/vphilippon - - Semen Zhydenko https://github.com/ss18 - - Till Varoquaux https://github.com/till-varoquaux - - Michal Kowalik https://github.com/michalvi - - ossdev07 https://github.com/ossdev07 - - Kerry Olesen https://github.com/qhesz - - johnthagen https://github.com/johnthagen - - Bastien Vallet https://github.com/djailla - - Ram Rachum https://github.com/cool-RR - - Vincent Philippon https://github.com/vphilippon - - Andrey Bienkowski https://github.com/hexagonrecursion - - Ethan McCue https://github.com/bowbahdoe - - Jason R. Coombs https://github.com/jaraco - - Nathan https://github.com/ndowens - - Geert Barentsen https://github.com/barentsen - - phil-arh https://github.com/phil-arh - - Tamás Nepusz https://github.com/ntamas - - Hugo van Kemenade https://github.com/hugovk - - Ben Beasley https://github.com/musicinmybrain - - - Contributing - ------------ - - Want to contribute? That's great! If you experience problems please log them on GitHub. If you want to contribute code, - please fork the repository and submit a pull request. - - Run tests - ~~~~~~~~~ - .. _tox: https://tox.readthedocs.io/en/latest/ - - Tests can be executed using tox_. - - Install tox: ``pip install tox`` - - Run test for Python 3.8: ``tox -e py38`` - - Release - ~~~~~~~ - * `pip install -r requirements.txt` - * Update CHANGES.txt - * Update README.rst with any new contributors and potential info needed. - * Update _pyrsistent_version.py - * Commit and tag with new version: `git add -u . && git commit -m 'Prepare version vX.Y.Z' && git tag -a vX.Y.Z -m 'vX.Y.Z'` - * Push commit and tags: `git push && git push --tags` - * Build new release using Github actions - - Project status - -------------- - Pyrsistent can be considered stable and mature (who knows, there may even be a 1.0 some day :-)). The project is - maintained, bugs fixed, PRs reviewed and merged and new releases made. I currently do not have time for development - of new features or functionality which I don't have use for myself. I'm more than happy to take PRs for new - functionality though! - - There are a bunch of issues marked with ``enhancement`` and ``help wanted`` that contain requests for new functionality - that would be nice to include. The level of difficulty and extend of the issues varies, please reach out to me if you're - interested in working on any of them. - - If you feel that you have a grand master plan for where you would like Pyrsistent to go and have the time to put into - it please don't hesitate to discuss this with me and submit PRs for it. If all goes well I'd be more than happy to add - additional maintainers to the project! -homepage_url: http://github.com/tobgu/pyrsistent/ -package_url: pkg:pypi/pyrsistent@0.18.1 -license_expression: mit -copyright: Copyright (c) Tobias Gustafsson -notice_file: pyrsistent-0.18.1.tar.gz.NOTICE -attribute: yes -owner: Tobias Gustafsson -checksum_md5: cef3da08455664bf917dcf8cd00d49a4 -checksum_sha1: 58f9efc4800acb6f7a083688e988187cccee2266 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/pyrsistent-0.18.1.tar.gz.NOTICE b/thirdparty/dist/pyrsistent-0.18.1.tar.gz.NOTICE deleted file mode 100644 index 516c1d6e..00000000 --- a/thirdparty/dist/pyrsistent-0.18.1.tar.gz.NOTICE +++ /dev/null @@ -1,20 +0,0 @@ -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/dist/pyrsistent-0.20.0-py3-none-any.whl b/thirdparty/dist/pyrsistent-0.20.0-py3-none-any.whl new file mode 100644 index 00000000..4416bc0e Binary files /dev/null and b/thirdparty/dist/pyrsistent-0.20.0-py3-none-any.whl differ diff --git a/thirdparty/dist/pyrsistent-0.20.0-py3-none-any.whl.ABOUT b/thirdparty/dist/pyrsistent-0.20.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..f88f42a0 --- /dev/null +++ b/thirdparty/dist/pyrsistent-0.20.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: pyrsistent-0.20.0-py3-none-any.whl +name: pyrsistent +version: 0.20.0 +download_url: https://files.pythonhosted.org/packages/23/88/0acd180010aaed4987c85700b7cc17f9505f3edb4e5873e4dc67f613e338/pyrsistent-0.20.0-py3-none-any.whl +package_url: pkg:pypi/pyrsistent@0.20.0 +license_expression: mit +copyright: Copyright pyrsistent project contributors +attribute: yes +checksum_md5: 2936d62f94b0e025bbdd11296c05b306 +checksum_sha1: 28ea80c386309e5e7bd9418b3b7071854e86b55a +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/python-ldap-3.4.3.tar.gz b/thirdparty/dist/python-ldap-3.4.3.tar.gz deleted file mode 100644 index 65caa022..00000000 Binary files a/thirdparty/dist/python-ldap-3.4.3.tar.gz and /dev/null differ diff --git a/thirdparty/dist/python-ldap-3.4.4.tar.gz b/thirdparty/dist/python-ldap-3.4.4.tar.gz new file mode 100644 index 00000000..766d2815 Binary files /dev/null and b/thirdparty/dist/python-ldap-3.4.4.tar.gz differ diff --git a/thirdparty/dist/python-ldap-3.4.3.tar.gz.ABOUT b/thirdparty/dist/python-ldap-3.4.4.tar.gz.ABOUT similarity index 58% rename from thirdparty/dist/python-ldap-3.4.3.tar.gz.ABOUT rename to thirdparty/dist/python-ldap-3.4.4.tar.gz.ABOUT index 84bfe708..e44542d3 100644 --- a/thirdparty/dist/python-ldap-3.4.3.tar.gz.ABOUT +++ b/thirdparty/dist/python-ldap-3.4.4.tar.gz.ABOUT @@ -1,7 +1,7 @@ -about_resource: python-ldap-3.4.3.tar.gz +about_resource: python-ldap-3.4.4.tar.gz name: python-ldap -version: 3.4.3 -download_url: https://files.pythonhosted.org/packages/3a/7d/de9ae3e5843de77eae3a60c1e70ef5cad9960db50521e8459f7d567a1d1d/python-ldap-3.4.3.tar.gz +version: 3.4.4 +download_url: https://files.pythonhosted.org/packages/fd/8b/1eeb4025dc1d3ac2f16678f38dec9ebdde6271c74955b72db5ce7a4dbfbd/python-ldap-3.4.4.tar.gz description: | Python modules for implementing LDAP clients python-ldap: @@ -11,16 +11,13 @@ description: | (e.g. processing LDIF, LDAPURLs, LDAPv3 schema, LDAPv3 extended operations and controls, etc.). homepage_url: https://www.python-ldap.org/ -package_url: pkg:pypi/python-ldap@3.4.3 +package_url: pkg:pypi/python-ldap@3.4.4 license_expression: python copyright: Copyright python-ldap project contributors attribute: yes track_changes: yes -owner: Python Software Foundation (PSF) -owner_url: http://www.python.org/psf/ -contact: http://www.python.org/psf/about/#how-do-i-reach-the-psf -checksum_md5: 72dac12605ba9d4c13133787af4ce801 -checksum_sha1: 52e6b42bb6318483c8d1a7a2022ad3ef7e725f9e +checksum_md5: 6d42a0b5bdc12dca39875ea399e56501 +checksum_sha1: e2865663be86a084db58d12dbb38a5ee607bcc53 licenses: - key: python name: Python Software Foundation License v2 diff --git a/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl b/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl deleted file mode 100644 index 8ffb9238..00000000 Binary files a/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 5dbda53c..00000000 --- a/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: python_dateutil-2.8.2-py2.py3-none-any.whl -name: python-dateutil -version: 2.8.2 -download_url: https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl -homepage_url: https://pypi.org/project/python-dateutil/2.8.2/ -package_url: pkg:pypi/python-dateutil@2.8.2 -license_expression: bsd-new -copyright: Copyright (c) dateutil contributors -notice_file: python_dateutil-2.8.2-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Gustavo Niemeyer -owner_url: http://labix.org/ -contact: gustavo@niemeyer.net -checksum_md5: 95743ca628ad14d4aeb3628907f017bd -checksum_sha1: 2416d5b8978b5531998436aa5fb6b32b15c819e1 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl.NOTICE b/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index a59ca4cf..00000000 --- a/thirdparty/dist/python_dateutil-2.8.2-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,23 +0,0 @@ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/thirdparty/dist/python_dateutil-2.9.0.post0-py2.py3-none-any.whl b/thirdparty/dist/python_dateutil-2.9.0.post0-py2.py3-none-any.whl new file mode 100644 index 00000000..b9a14e1b Binary files /dev/null and b/thirdparty/dist/python_dateutil-2.9.0.post0-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/python_dateutil-2.9.0.post0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/python_dateutil-2.9.0.post0-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..2094ceec --- /dev/null +++ b/thirdparty/dist/python_dateutil-2.9.0.post0-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,21 @@ +about_resource: python_dateutil-2.9.0.post0-py2.py3-none-any.whl +name: python-dateutil +version: 2.9.0.post0 +download_url: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl +package_url: pkg:pypi/python-dateutil@2.9.0.post0 +license_expression: apache-2.0 AND bsd-new AND unknown-license-reference +copyright: Copyright python-dateutil project contributors +attribute: yes +track_changes: yes +checksum_md5: 2178749b926fe0e2c25905cdfebe3361 +checksum_sha1: 323a8e8de7e00a254fadae9c77b1264d56525178 +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE + - key: unknown-license-reference + name: Unknown License file reference + file: unknown-license-reference.LICENSE diff --git a/thirdparty/dist/python_ipware-3.0.0-py3-none-any.whl b/thirdparty/dist/python_ipware-3.0.0-py3-none-any.whl new file mode 100644 index 00000000..9cdbd93e Binary files /dev/null and b/thirdparty/dist/python_ipware-3.0.0-py3-none-any.whl differ diff --git a/thirdparty/dist/python_ipware-3.0.0-py3-none-any.whl.ABOUT b/thirdparty/dist/python_ipware-3.0.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..7ec6384c --- /dev/null +++ b/thirdparty/dist/python_ipware-3.0.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: python_ipware-3.0.0-py3-none-any.whl +name: python-ipware +version: 3.0.0 +download_url: https://files.pythonhosted.org/packages/08/bd/ccd7416fdb30f104ddf6cfd8ee9f699441c7d9880a26f9b3089438adee05/python_ipware-3.0.0-py3-none-any.whl +package_url: pkg:pypi/python-ipware@3.0.0 +license_expression: mit +copyright: Copyright python-ipware project contributors +attribute: yes +checksum_md5: 496007d3a571b727aafbe236f6f7a5d0 +checksum_sha1: b33f2a42cc745ebb5ab3061d84fa1387f31727ef +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl b/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl deleted file mode 100644 index e8ec9e16..00000000 Binary files a/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index bc54354d..00000000 --- a/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,21 +0,0 @@ -about_resource: python_mimeparse-1.6.0-py2.py3-none-any.whl -name: python-mimeparse -version: 1.6.0 -download_url: https://pypi.python.org/packages/26/2e/03bce213a9bf02a2750dcb04e761785e9c763fc11071edc4b447eacbb842/python_mimeparse-1.6.0-py2.py3-none-any.whl#md5=e2780ceb12929f2f8557c467fa8c2567 -description: Python-MimeParse provides basic functions for handling mime-types. It can handle - matching mime-types against a list of media-ranges. -homepage_url: https://github.com/dbtsai/python-mimeparse -package_url: pkg:pypi/python-mimeparse@1.6.0 -license_expression: mit -copyright: Copyright (c) 2010 Joe Gregorio -notice_file: python_mimeparse-1.6.0-py2.py3-none-any.whl.NOTICE -notice_url: https://raw.github.com/dbtsai/python-mimeparse/master/LICENSE -attribute: yes -owner: Joe Gregorio -vcs_repository: https://github.com/dbtsai/python-mimeparse.git -checksum_md5: e2780ceb12929f2f8557c467fa8c2567 -checksum_sha1: a48227647fe3d9f33e6b8175e6757f4e8d463cce -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl.NOTICE b/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index e14c3714..00000000 --- a/thirdparty/dist/python_mimeparse-1.6.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/dist/python_mimeparse-2.0.0-py3-none-any.whl b/thirdparty/dist/python_mimeparse-2.0.0-py3-none-any.whl new file mode 100644 index 00000000..d6e4132c Binary files /dev/null and b/thirdparty/dist/python_mimeparse-2.0.0-py3-none-any.whl differ diff --git a/thirdparty/dist/python_mimeparse-2.0.0-py3-none-any.whl.ABOUT b/thirdparty/dist/python_mimeparse-2.0.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..d50b9109 --- /dev/null +++ b/thirdparty/dist/python_mimeparse-2.0.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: python_mimeparse-2.0.0-py3-none-any.whl +name: python-mimeparse +version: 2.0.0 +download_url: https://files.pythonhosted.org/packages/65/d9/1093a9d6d22d04d433003c96b9b1d46741b43fee5b11ece5098297737fce/python_mimeparse-2.0.0-py3-none-any.whl +package_url: pkg:pypi/python-mimeparse@2.0.0 +license_expression: mit +copyright: Copyright python-mimeparse project contributors +attribute: yes +checksum_md5: 050e64fa810eae5073b5936775044bed +checksum_sha1: 44351b55d6d231bbaec776791a9e27b2522675f1 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/pytz-2024.1-py2.py3-none-any.whl b/thirdparty/dist/pytz-2024.1-py2.py3-none-any.whl deleted file mode 100644 index 571f586a..00000000 Binary files a/thirdparty/dist/pytz-2024.1-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/pytz-2024.1-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/pytz-2024.1-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index ba12ec34..00000000 --- a/thirdparty/dist/pytz-2024.1-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: pytz-2024.1-py2.py3-none-any.whl -name: pytz -version: '2024.1' -download_url: https://files.pythonhosted.org/packages/9c/3d/a121f284241f08268b21359bd425f7d4825cffc5ac5cd0e1b3d82ffd2b10/pytz-2024.1-py2.py3-none-any.whl -package_url: pkg:pypi/pytz@2024.1 -license_expression: mit -copyright: Copyright pytz project contributors -attribute: yes -checksum_md5: 1167f1cd8008a6e4425f6cbdcbe866f5 -checksum_sha1: a94fff518068cfd1541e61b8f7e8b9103835f2d0 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/pytz-2024.2-py2.py3-none-any.whl b/thirdparty/dist/pytz-2024.2-py2.py3-none-any.whl new file mode 100644 index 00000000..b4644561 Binary files /dev/null and b/thirdparty/dist/pytz-2024.2-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/pytz-2024.2-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/pytz-2024.2-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..3b79a8b3 --- /dev/null +++ b/thirdparty/dist/pytz-2024.2-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: pytz-2024.2-py2.py3-none-any.whl +name: pytz +version: '2024.2' +download_url: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl +package_url: pkg:pypi/pytz@2024.2 +license_expression: mit +copyright: Copyright pytz project contributors +attribute: yes +checksum_md5: be9df8e09f036da011e2d46970be039e +checksum_sha1: 64ab8283251830199343a43db2ce10d4b04fc03b +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/qrcode-7.4.2-py3-none-any.whl b/thirdparty/dist/qrcode-7.4.2-py3-none-any.whl deleted file mode 100644 index 38de309f..00000000 Binary files a/thirdparty/dist/qrcode-7.4.2-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/qrcode-7.4.2-py3-none-any.whl.ABOUT b/thirdparty/dist/qrcode-7.4.2-py3-none-any.whl.ABOUT deleted file mode 100644 index 189421a3..00000000 --- a/thirdparty/dist/qrcode-7.4.2-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: qrcode-7.4.2-py3-none-any.whl -name: qrcode -version: 7.4.2 -download_url: https://files.pythonhosted.org/packages/24/79/aaf0c1c7214f2632badb2771d770b1500d3d7cbdf2590ae62e721ec50584/qrcode-7.4.2-py3-none-any.whl -package_url: pkg:pypi/qrcode@7.4.2 -license_expression: bsd-new -copyright: Copyright qrcode project contributors -attribute: yes -checksum_md5: fdee6ccf06f9f852d44b56c059728201 -checksum_sha1: df35cebcc66e0d8e167e6caf65f534993097302c -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/qrcode-8.0-py3-none-any.whl b/thirdparty/dist/qrcode-8.0-py3-none-any.whl new file mode 100644 index 00000000..6964bd40 Binary files /dev/null and b/thirdparty/dist/qrcode-8.0-py3-none-any.whl differ diff --git a/thirdparty/dist/qrcode-8.0-py3-none-any.whl.ABOUT b/thirdparty/dist/qrcode-8.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..4c29605c --- /dev/null +++ b/thirdparty/dist/qrcode-8.0-py3-none-any.whl.ABOUT @@ -0,0 +1,17 @@ +about_resource: qrcode-8.0-py3-none-any.whl +name: qrcode +version: '8.0' +download_url: https://files.pythonhosted.org/packages/74/ab/df8d889fd01139db68ae9e5cb5c8f0ea016823559a6ecb427582d52b07dc/qrcode-8.0-py3-none-any.whl +package_url: pkg:pypi/qrcode@8.0 +license_expression: bsd-new AND proprietary-license +copyright: Copyright qrcode project contributors +attribute: yes +checksum_md5: 9357c249119c742ee5c226e6212c0315 +checksum_sha1: 1e2d4ce37fb3486113d304f186226fe490b92e1f +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE + - key: proprietary-license + name: Proprietary License + file: proprietary-license.LICENSE diff --git a/thirdparty/dist/redis-5.2.0-py3-none-any.whl.ABOUT b/thirdparty/dist/redis-5.2.0-py3-none-any.whl.ABOUT deleted file mode 100644 index d869508d..00000000 --- a/thirdparty/dist/redis-5.2.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: redis-5.2.0-py3-none-any.whl -name: redis -version: 5.2.0 -download_url: https://files.pythonhosted.org/packages/12/f5/ffa560ecc4bafbf25f7961c3d6f50d627a90186352e27e7d0ba5b1f6d87d/redis-5.2.0-py3-none-any.whl -package_url: pkg:pypi/redis@5.2.0 -license_expression: mit -copyright: Copyright redis project contributors -attribute: yes -checksum_md5: 3a9529557ef88f8b9ed7eccede38aff7 -checksum_sha1: 4e7dc1be6a1afd7f72b288999c5088d65a102b41 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/redis-5.2.0-py3-none-any.whl b/thirdparty/dist/redis-5.2.1-py3-none-any.whl similarity index 85% rename from thirdparty/dist/redis-5.2.0-py3-none-any.whl rename to thirdparty/dist/redis-5.2.1-py3-none-any.whl index e41c70b8..604c6822 100644 Binary files a/thirdparty/dist/redis-5.2.0-py3-none-any.whl and b/thirdparty/dist/redis-5.2.1-py3-none-any.whl differ diff --git a/thirdparty/dist/redis-5.2.1-py3-none-any.whl.ABOUT b/thirdparty/dist/redis-5.2.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..1b0976c0 --- /dev/null +++ b/thirdparty/dist/redis-5.2.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: redis-5.2.1-py3-none-any.whl +name: redis +version: 5.2.1 +download_url: https://files.pythonhosted.org/packages/3c/5f/fa26b9b2672cbe30e07d9a5bdf39cf16e3b80b42916757c5f92bca88e4ba/redis-5.2.1-py3-none-any.whl +package_url: pkg:pypi/redis@5.2.1 +license_expression: mit +copyright: Copyright redis project contributors +attribute: yes +checksum_md5: 5aec1e9dff0bebbaa6d8139dd8a142a1 +checksum_sha1: 659c02e8c12377f54fe79fb7bc5eb25448d0d7d2 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/referencing-0.36.1-py3-none-any.whl b/thirdparty/dist/referencing-0.36.1-py3-none-any.whl new file mode 100644 index 00000000..d090ae9c Binary files /dev/null and b/thirdparty/dist/referencing-0.36.1-py3-none-any.whl differ diff --git a/thirdparty/dist/referencing-0.36.1-py3-none-any.whl.ABOUT b/thirdparty/dist/referencing-0.36.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..10e7dc0b --- /dev/null +++ b/thirdparty/dist/referencing-0.36.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: referencing-0.36.1-py3-none-any.whl +name: referencing +version: 0.36.1 +download_url: https://files.pythonhosted.org/packages/cc/fa/9f193ef0c9074b659009f06d7cbacc6f25b072044815bcf799b76533dbb8/referencing-0.36.1-py3-none-any.whl +package_url: pkg:pypi/referencing@0.36.1 +license_expression: mit +copyright: Copyright referencing project contributors +attribute: yes +checksum_md5: 05da3654be020a6e7181facc7a7faa7b +checksum_sha1: 1a9bd6eabab479a0222a1f0fbd56093d4efbb82f +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b/thirdparty/dist/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl new file mode 100644 index 00000000..83b9a710 Binary files /dev/null and b/thirdparty/dist/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl differ diff --git a/thirdparty/dist/rpds_py-0.22.3.tar.gz b/thirdparty/dist/rpds_py-0.22.3.tar.gz new file mode 100644 index 00000000..c0b734d6 Binary files /dev/null and b/thirdparty/dist/rpds_py-0.22.3.tar.gz differ diff --git a/thirdparty/dist/rpds_py-0.22.3.tar.gz.ABOUT b/thirdparty/dist/rpds_py-0.22.3.tar.gz.ABOUT new file mode 100644 index 00000000..9a319e51 --- /dev/null +++ b/thirdparty/dist/rpds_py-0.22.3.tar.gz.ABOUT @@ -0,0 +1,85 @@ +about_resource: rpds_py-0.22.3.tar.gz +name: rpds-py +version: 0.22.3 +download_url: https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz +description: | + Python bindings to Rust's persistent data structures (rpds) + =========== + ``rpds.py`` + =========== + + |PyPI| |Pythons| |CI| + + .. |PyPI| image:: https://img.shields.io/pypi/v/rpds-py.svg + :alt: PyPI version + :target: https://pypi.org/project/rpds-py/ + + .. |Pythons| image:: https://img.shields.io/pypi/pyversions/rpds-py.svg + :alt: Supported Python versions + :target: https://pypi.org/project/rpds-py/ + + .. |CI| image:: https://github.com/crate-py/rpds/workflows/CI/badge.svg + :alt: Build status + :target: https://github.com/crate-py/rpds/actions?query=workflow%3ACI + + .. |ReadTheDocs| image:: https://readthedocs.org/projects/referencing/badge/?version=stable&style=flat + :alt: ReadTheDocs status + :target: https://referencing.readthedocs.io/en/stable/ + + + Python bindings to the `Rust rpds crate `_ for persistent data structures. + + What's here is quite minimal (in transparency, it was written initially to support replacing ``pyrsistent`` in the `referencing library `_). + If you see something missing (which is very likely), a PR is definitely welcome to add it. + + Installation + ------------ + + The distribution on PyPI is named ``rpds.py`` (equivalently ``rpds-py``), and thus can be installed via e.g.: + + .. code:: sh + + $ pip install rpds-py + + Note that if you install ``rpds-py`` from source, you will need a Rust toolchain installed, as it is a build-time dependency. + An example of how to do so in a ``Dockerfile`` can be found `here `_. + + If you believe you are on a common platform which should have wheels built (i.e. and not need to compile from source), feel free to file an issue or pull request modifying the GitHub action used here to build wheels via ``maturin``. + + Usage + ----- + + Methods in general are named similarly to their ``rpds`` counterparts (rather than ``pyrsistent``\ 's conventions, though probably a full drop-in ``pyrsistent``\ -compatible wrapper module is a good addition at some point). + + .. code:: python + + >>> from rpds import HashTrieMap, HashTrieSet, List + + >>> m = HashTrieMap({"foo": "bar", "baz": "quux"}) + >>> m.insert("spam", 37) == HashTrieMap({"foo": "bar", "baz": "quux", "spam": 37}) + True + >>> m.remove("foo") == HashTrieMap({"baz": "quux"}) + True + + >>> s = HashTrieSet({"foo", "bar", "baz", "quux"}) + >>> s.insert("spam") == HashTrieSet({"foo", "bar", "baz", "quux", "spam"}) + True + >>> s.remove("foo") == HashTrieSet({"bar", "baz", "quux"}) + True + + >>> L = List([1, 3, 5]) + >>> L.push_front(-1) == List([-1, 1, 3, 5]) + True + >>> L.rest == List([3, 5]) + True +homepage_url: https://github.com/crate-py/rpds +package_url: pkg:pypi/rpds-py@0.22.3 +license_expression: mit +copyright: Copyright Julian Berman +attribute: yes +checksum_md5: 461d6f4e753bfd1f26627f5520294b88 +checksum_sha1: dc24ac54fdb600bfe45246df1cd4338b8c22ca75 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/rq-2.0.0-py3-none-any.whl b/thirdparty/dist/rq-2.0.0-py3-none-any.whl deleted file mode 100644 index 5f4df542..00000000 Binary files a/thirdparty/dist/rq-2.0.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/rq-2.0.0-py3-none-any.whl.ABOUT b/thirdparty/dist/rq-2.0.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 0018e387..00000000 --- a/thirdparty/dist/rq-2.0.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: rq-2.0.0-py3-none-any.whl -name: rq -version: 2.0.0 -download_url: https://files.pythonhosted.org/packages/77/0a/09ce745d9639e883888ddae0f71b23a20c59d072eb17b80b8ea8638b16ac/rq-2.0.0-py3-none-any.whl -package_url: pkg:pypi/rq@2.0.0 -license_expression: bsd-new -copyright: Copyright rq project contributors -attribute: yes -checksum_md5: 930b1221f82e9debacf598a7a28dbe21 -checksum_sha1: a1bbb48941f7e542e6ffa4ba07e7acb70c705ae6 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/rq-2.1.0-py3-none-any.whl b/thirdparty/dist/rq-2.1.0-py3-none-any.whl new file mode 100644 index 00000000..dc87cf77 Binary files /dev/null and b/thirdparty/dist/rq-2.1.0-py3-none-any.whl differ diff --git a/thirdparty/dist/rq-2.1.0-py3-none-any.whl.ABOUT b/thirdparty/dist/rq-2.1.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..43e3e553 --- /dev/null +++ b/thirdparty/dist/rq-2.1.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: rq-2.1.0-py3-none-any.whl +name: rq +version: 2.1.0 +download_url: https://files.pythonhosted.org/packages/3f/b3/e691454a551366c71248197f9050e4564f85d15c5d8a5c167ecac4411c40/rq-2.1.0-py3-none-any.whl +package_url: pkg:pypi/rq@2.1.0 +license_expression: bsd-new +copyright: Copyright rq project contributors +attribute: yes +checksum_md5: b6384a5eefdfee230c743c8c22856b07 +checksum_sha1: 8bf6aaa1fd99e2de256e9b7a07af5f6db5cee01d +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/ruff-0.5.2-py3-none-macosx_11_0_arm64.whl b/thirdparty/dist/ruff-0.5.2-py3-none-macosx_11_0_arm64.whl deleted file mode 100644 index fcd405b9..00000000 Binary files a/thirdparty/dist/ruff-0.5.2-py3-none-macosx_11_0_arm64.whl and /dev/null differ diff --git a/thirdparty/dist/ruff-0.5.2.tar.gz b/thirdparty/dist/ruff-0.5.2.tar.gz deleted file mode 100644 index b1204ce6..00000000 Binary files a/thirdparty/dist/ruff-0.5.2.tar.gz and /dev/null differ diff --git a/thirdparty/dist/ruff-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b/thirdparty/dist/ruff-0.9.3-py3-none-macosx_11_0_arm64.whl similarity index 54% rename from thirdparty/dist/ruff-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl rename to thirdparty/dist/ruff-0.9.3-py3-none-macosx_11_0_arm64.whl index 8a2f85d1..44e239d3 100644 Binary files a/thirdparty/dist/ruff-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl and b/thirdparty/dist/ruff-0.9.3-py3-none-macosx_11_0_arm64.whl differ diff --git a/thirdparty/dist/ruff-0.9.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b/thirdparty/dist/ruff-0.9.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl new file mode 100644 index 00000000..27881505 Binary files /dev/null and b/thirdparty/dist/ruff-0.9.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl differ diff --git a/thirdparty/dist/ruff-0.9.3.tar.gz b/thirdparty/dist/ruff-0.9.3.tar.gz new file mode 100644 index 00000000..0ad37aa4 Binary files /dev/null and b/thirdparty/dist/ruff-0.9.3.tar.gz differ diff --git a/thirdparty/dist/ruff-0.9.3.tar.gz.ABOUT b/thirdparty/dist/ruff-0.9.3.tar.gz.ABOUT new file mode 100644 index 00000000..ebb888a1 --- /dev/null +++ b/thirdparty/dist/ruff-0.9.3.tar.gz.ABOUT @@ -0,0 +1,561 @@ +about_resource: ruff-0.9.3.tar.gz +name: ruff +version: 0.9.3 +download_url: https://files.pythonhosted.org/packages/1e/7f/60fda2eec81f23f8aa7cbbfdf6ec2ca11eb11c273827933fb2541c2ce9d8/ruff-0.9.3.tar.gz +description: | + + + # Ruff + + [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) + [![image](https://img.shields.io/pypi/v/ruff.svg)](https://pypi.python.org/pypi/ruff) + [![image](https://img.shields.io/pypi/l/ruff.svg)](https://github.com/astral-sh/ruff/blob/main/LICENSE) + [![image](https://img.shields.io/pypi/pyversions/ruff.svg)](https://pypi.python.org/pypi/ruff) + [![Actions status](https://github.com/astral-sh/ruff/workflows/CI/badge.svg)](https://github.com/astral-sh/ruff/actions) + [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?logo=discord&logoColor=white)](https://discord.com/invite/astral-sh) + + [**Docs**](https://docs.astral.sh/ruff/) | [**Playground**](https://play.ruff.rs/) + + An extremely fast Python linter and code formatter, written in Rust. + +

+ Shows a bar chart with benchmark results. +

+ +

+ Linting the CPython codebase from scratch. +

+ + - ⚡️ 10-100x faster than existing linters (like Flake8) and formatters (like Black) + - 🐍 Installable via `pip` + - 🛠️ `pyproject.toml` support + - 🤝 Python 3.13 compatibility + - ⚖️ Drop-in parity with [Flake8](https://docs.astral.sh/ruff/faq/#how-does-ruffs-linter-compare-to-flake8), isort, and [Black](https://docs.astral.sh/ruff/faq/#how-does-ruffs-formatter-compare-to-black) + - 📦 Built-in caching, to avoid re-analyzing unchanged files + - 🔧 Fix support, for automatic error correction (e.g., automatically remove unused imports) + - 📏 Over [800 built-in rules](https://docs.astral.sh/ruff/rules/), with native re-implementations + of popular Flake8 plugins, like flake8-bugbear + - ⌨️ First-party [editor integrations](https://docs.astral.sh/ruff/integrations/) for + [VS Code](https://github.com/astral-sh/ruff-vscode) and [more](https://docs.astral.sh/ruff/editors/setup) + - 🌎 Monorepo-friendly, with [hierarchical and cascading configuration](https://docs.astral.sh/ruff/configuration/#config-file-discovery) + + Ruff aims to be orders of magnitude faster than alternative tools while integrating more + functionality behind a single, common interface. + + Ruff can be used to replace [Flake8](https://pypi.org/project/flake8/) (plus dozens of plugins), + [Black](https://github.com/psf/black), [isort](https://pypi.org/project/isort/), + [pydocstyle](https://pypi.org/project/pydocstyle/), [pyupgrade](https://pypi.org/project/pyupgrade/), + [autoflake](https://pypi.org/project/autoflake/), and more, all while executing tens or hundreds of + times faster than any individual tool. + + Ruff is extremely actively developed and used in major open-source projects like: + + - [Apache Airflow](https://github.com/apache/airflow) + - [Apache Superset](https://github.com/apache/superset) + - [FastAPI](https://github.com/tiangolo/fastapi) + - [Hugging Face](https://github.com/huggingface/transformers) + - [Pandas](https://github.com/pandas-dev/pandas) + - [SciPy](https://github.com/scipy/scipy) + + ...and [many more](#whos-using-ruff). + + Ruff is backed by [Astral](https://astral.sh). Read the [launch post](https://astral.sh/blog/announcing-astral-the-company-behind-ruff), + or the original [project announcement](https://notes.crmarsh.com/python-tooling-could-be-much-much-faster). + + ## Testimonials + + [**Sebastián Ramírez**](https://twitter.com/tiangolo/status/1591912354882764802), creator + of [FastAPI](https://github.com/tiangolo/fastapi): + + > Ruff is so fast that sometimes I add an intentional bug in the code just to confirm it's actually + > running and checking the code. + + [**Nick Schrock**](https://twitter.com/schrockn/status/1612615862904827904), founder of [Elementl](https://www.elementl.com/), + co-creator of [GraphQL](https://graphql.org/): + + > Why is Ruff a gamechanger? Primarily because it is nearly 1000x faster. Literally. Not a typo. On + > our largest module (dagster itself, 250k LOC) pylint takes about 2.5 minutes, parallelized across 4 + > cores on my M1. Running ruff against our _entire_ codebase takes .4 seconds. + + [**Bryan Van de Ven**](https://github.com/bokeh/bokeh/pull/12605), co-creator + of [Bokeh](https://github.com/bokeh/bokeh/), original author + of [Conda](https://docs.conda.io/en/latest/): + + > Ruff is ~150-200x faster than flake8 on my machine, scanning the whole repo takes ~0.2s instead of + > ~20s. This is an enormous quality of life improvement for local dev. It's fast enough that I added + > it as an actual commit hook, which is terrific. + + [**Timothy Crosley**](https://twitter.com/timothycrosley/status/1606420868514877440), + creator of [isort](https://github.com/PyCQA/isort): + + > Just switched my first project to Ruff. Only one downside so far: it's so fast I couldn't believe + > it was working till I intentionally introduced some errors. + + [**Tim Abbott**](https://github.com/astral-sh/ruff/issues/465#issuecomment-1317400028), lead + developer of [Zulip](https://github.com/zulip/zulip): + + > This is just ridiculously fast... `ruff` is amazing. + + + + ## Table of Contents + + For more, see the [documentation](https://docs.astral.sh/ruff/). + + 1. [Getting Started](#getting-started) + 1. [Configuration](#configuration) + 1. [Rules](#rules) + 1. [Contributing](#contributing) + 1. [Support](#support) + 1. [Acknowledgements](#acknowledgements) + 1. [Who's Using Ruff?](#whos-using-ruff) + 1. [License](#license) + + ## Getting Started + + For more, see the [documentation](https://docs.astral.sh/ruff/). + + ### Installation + + Ruff is available as [`ruff`](https://pypi.org/project/ruff/) on PyPI. + + Invoke Ruff directly with [`uvx`](https://docs.astral.sh/uv/): + + ```shell + uvx ruff check # Lint all files in the current directory. + uvx ruff format # Format all files in the current directory. + ``` + + Or install Ruff with `uv` (recommended), `pip`, or `pipx`: + + ```shell + # With uv. + uv tool install ruff@latest # Install Ruff globally. + uv add --dev ruff # Or add Ruff to your project. + + # With pip. + pip install ruff + + # With pipx. + pipx install ruff + ``` + + Starting with version `0.5.0`, Ruff can be installed with our standalone installers: + + ```shell + # On macOS and Linux. + curl -LsSf https://astral.sh/ruff/install.sh | sh + + # On Windows. + powershell -c "irm https://astral.sh/ruff/install.ps1 | iex" + + # For a specific version. + curl -LsSf https://astral.sh/ruff/0.9.3/install.sh | sh + powershell -c "irm https://astral.sh/ruff/0.9.3/install.ps1 | iex" + ``` + + You can also install Ruff via [Homebrew](https://formulae.brew.sh/formula/ruff), [Conda](https://anaconda.org/conda-forge/ruff), + and with [a variety of other package managers](https://docs.astral.sh/ruff/installation/). + + ### Usage + + To run Ruff as a linter, try any of the following: + + ```shell + ruff check # Lint all files in the current directory (and any subdirectories). + ruff check path/to/code/ # Lint all files in `/path/to/code` (and any subdirectories). + ruff check path/to/code/*.py # Lint all `.py` files in `/path/to/code`. + ruff check path/to/code/to/file.py # Lint `file.py`. + ruff check @arguments.txt # Lint using an input file, treating its contents as newline-delimited command-line arguments. + ``` + + Or, to run Ruff as a formatter: + + ```shell + ruff format # Format all files in the current directory (and any subdirectories). + ruff format path/to/code/ # Format all files in `/path/to/code` (and any subdirectories). + ruff format path/to/code/*.py # Format all `.py` files in `/path/to/code`. + ruff format path/to/code/to/file.py # Format `file.py`. + ruff format @arguments.txt # Format using an input file, treating its contents as newline-delimited command-line arguments. + ``` + + Ruff can also be used as a [pre-commit](https://pre-commit.com/) hook via [`ruff-pre-commit`](https://github.com/astral-sh/ruff-pre-commit): + + ```yaml + - repo: https://github.com/astral-sh/ruff-pre-commit + # Ruff version. + rev: v0.9.3 + hooks: + # Run the linter. + - id: ruff + args: [ --fix ] + # Run the formatter. + - id: ruff-format + ``` + + Ruff can also be used as a [VS Code extension](https://github.com/astral-sh/ruff-vscode) or with [various other editors](https://docs.astral.sh/ruff/editors/setup). + + Ruff can also be used as a [GitHub Action](https://github.com/features/actions) via + [`ruff-action`](https://github.com/astral-sh/ruff-action): + + ```yaml + name: Ruff + on: [ push, pull_request ] + jobs: + ruff: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: astral-sh/ruff-action@v3 + ``` + + ### Configuration + + Ruff can be configured through a `pyproject.toml`, `ruff.toml`, or `.ruff.toml` file (see: + [_Configuration_](https://docs.astral.sh/ruff/configuration/), or [_Settings_](https://docs.astral.sh/ruff/settings/) + for a complete list of all configuration options). + + If left unspecified, Ruff's default configuration is equivalent to the following `ruff.toml` file: + + ```toml + # Exclude a variety of commonly ignored directories. + exclude = [ + ".bzr", + ".direnv", + ".eggs", + ".git", + ".git-rewrite", + ".hg", + ".ipynb_checkpoints", + ".mypy_cache", + ".nox", + ".pants.d", + ".pyenv", + ".pytest_cache", + ".pytype", + ".ruff_cache", + ".svn", + ".tox", + ".venv", + ".vscode", + "__pypackages__", + "_build", + "buck-out", + "build", + "dist", + "node_modules", + "site-packages", + "venv", + ] + + # Same as Black. + line-length = 88 + indent-width = 4 + + # Assume Python 3.9 + target-version = "py39" + + [lint] + # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default. + select = ["E4", "E7", "E9", "F"] + ignore = [] + + # Allow fix for all enabled rules (when `--fix`) is provided. + fixable = ["ALL"] + unfixable = [] + + # Allow unused variables when underscore-prefixed. + dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" + + [format] + # Like Black, use double quotes for strings. + quote-style = "double" + + # Like Black, indent with spaces, rather than tabs. + indent-style = "space" + + # Like Black, respect magic trailing commas. + skip-magic-trailing-comma = false + + # Like Black, automatically detect the appropriate line ending. + line-ending = "auto" + ``` + + Note that, in a `pyproject.toml`, each section header should be prefixed with `tool.ruff`. For + example, `[lint]` should be replaced with `[tool.ruff.lint]`. + + Some configuration options can be provided via dedicated command-line arguments, such as those + related to rule enablement and disablement, file discovery, and logging level: + + ```shell + ruff check --select F401 --select F403 --quiet + ``` + + The remaining configuration options can be provided through a catch-all `--config` argument: + + ```shell + ruff check --config "lint.per-file-ignores = {'some_file.py' = ['F841']}" + ``` + + To opt in to the latest lint rules, formatter style changes, interface updates, and more, enable + [preview mode](https://docs.astral.sh/ruff/rules/) by setting `preview = true` in your configuration + file or passing `--preview` on the command line. Preview mode enables a collection of unstable + features that may change prior to stabilization. + + See `ruff help` for more on Ruff's top-level commands, or `ruff help check` and `ruff help format` + for more on the linting and formatting commands, respectively. + + ## Rules + + + + **Ruff supports over 800 lint rules**, many of which are inspired by popular tools like Flake8, + isort, pyupgrade, and others. Regardless of the rule's origin, Ruff re-implements every rule in + Rust as a first-party feature. + + By default, Ruff enables Flake8's `F` rules, along with a subset of the `E` rules, omitting any + stylistic rules that overlap with the use of a formatter, like `ruff format` or + [Black](https://github.com/psf/black). + + If you're just getting started with Ruff, **the default rule set is a great place to start**: it + catches a wide variety of common errors (like unused imports) with zero configuration. + + + + Beyond the defaults, Ruff re-implements some of the most popular Flake8 plugins and related code + quality tools, including: + + - [autoflake](https://pypi.org/project/autoflake/) + - [eradicate](https://pypi.org/project/eradicate/) + - [flake8-2020](https://pypi.org/project/flake8-2020/) + - [flake8-annotations](https://pypi.org/project/flake8-annotations/) + - [flake8-async](https://pypi.org/project/flake8-async) + - [flake8-bandit](https://pypi.org/project/flake8-bandit/) ([#1646](https://github.com/astral-sh/ruff/issues/1646)) + - [flake8-blind-except](https://pypi.org/project/flake8-blind-except/) + - [flake8-boolean-trap](https://pypi.org/project/flake8-boolean-trap/) + - [flake8-bugbear](https://pypi.org/project/flake8-bugbear/) + - [flake8-builtins](https://pypi.org/project/flake8-builtins/) + - [flake8-commas](https://pypi.org/project/flake8-commas/) + - [flake8-comprehensions](https://pypi.org/project/flake8-comprehensions/) + - [flake8-copyright](https://pypi.org/project/flake8-copyright/) + - [flake8-datetimez](https://pypi.org/project/flake8-datetimez/) + - [flake8-debugger](https://pypi.org/project/flake8-debugger/) + - [flake8-django](https://pypi.org/project/flake8-django/) + - [flake8-docstrings](https://pypi.org/project/flake8-docstrings/) + - [flake8-eradicate](https://pypi.org/project/flake8-eradicate/) + - [flake8-errmsg](https://pypi.org/project/flake8-errmsg/) + - [flake8-executable](https://pypi.org/project/flake8-executable/) + - [flake8-future-annotations](https://pypi.org/project/flake8-future-annotations/) + - [flake8-gettext](https://pypi.org/project/flake8-gettext/) + - [flake8-implicit-str-concat](https://pypi.org/project/flake8-implicit-str-concat/) + - [flake8-import-conventions](https://github.com/joaopalmeiro/flake8-import-conventions) + - [flake8-logging](https://pypi.org/project/flake8-logging/) + - [flake8-logging-format](https://pypi.org/project/flake8-logging-format/) + - [flake8-no-pep420](https://pypi.org/project/flake8-no-pep420) + - [flake8-pie](https://pypi.org/project/flake8-pie/) + - [flake8-print](https://pypi.org/project/flake8-print/) + - [flake8-pyi](https://pypi.org/project/flake8-pyi/) + - [flake8-pytest-style](https://pypi.org/project/flake8-pytest-style/) + - [flake8-quotes](https://pypi.org/project/flake8-quotes/) + - [flake8-raise](https://pypi.org/project/flake8-raise/) + - [flake8-return](https://pypi.org/project/flake8-return/) + - [flake8-self](https://pypi.org/project/flake8-self/) + - [flake8-simplify](https://pypi.org/project/flake8-simplify/) + - [flake8-slots](https://pypi.org/project/flake8-slots/) + - [flake8-super](https://pypi.org/project/flake8-super/) + - [flake8-tidy-imports](https://pypi.org/project/flake8-tidy-imports/) + - [flake8-todos](https://pypi.org/project/flake8-todos/) + - [flake8-type-checking](https://pypi.org/project/flake8-type-checking/) + - [flake8-use-pathlib](https://pypi.org/project/flake8-use-pathlib/) + - [flynt](https://pypi.org/project/flynt/) ([#2102](https://github.com/astral-sh/ruff/issues/2102)) + - [isort](https://pypi.org/project/isort/) + - [mccabe](https://pypi.org/project/mccabe/) + - [pandas-vet](https://pypi.org/project/pandas-vet/) + - [pep8-naming](https://pypi.org/project/pep8-naming/) + - [pydocstyle](https://pypi.org/project/pydocstyle/) + - [pygrep-hooks](https://github.com/pre-commit/pygrep-hooks) + - [pylint-airflow](https://pypi.org/project/pylint-airflow/) + - [pyupgrade](https://pypi.org/project/pyupgrade/) + - [tryceratops](https://pypi.org/project/tryceratops/) + - [yesqa](https://pypi.org/project/yesqa/) + + For a complete enumeration of the supported rules, see [_Rules_](https://docs.astral.sh/ruff/rules/). + + ## Contributing + + Contributions are welcome and highly appreciated. To get started, check out the + [**contributing guidelines**](https://docs.astral.sh/ruff/contributing/). + + You can also join us on [**Discord**](https://discord.com/invite/astral-sh). + + ## Support + + Having trouble? Check out the existing issues on [**GitHub**](https://github.com/astral-sh/ruff/issues), + or feel free to [**open a new one**](https://github.com/astral-sh/ruff/issues/new). + + You can also ask for help on [**Discord**](https://discord.com/invite/astral-sh). + + ## Acknowledgements + + Ruff's linter draws on both the APIs and implementation details of many other + tools in the Python ecosystem, especially [Flake8](https://github.com/PyCQA/flake8), [Pyflakes](https://github.com/PyCQA/pyflakes), + [pycodestyle](https://github.com/PyCQA/pycodestyle), [pydocstyle](https://github.com/PyCQA/pydocstyle), + [pyupgrade](https://github.com/asottile/pyupgrade), and [isort](https://github.com/PyCQA/isort). + + In some cases, Ruff includes a "direct" Rust port of the corresponding tool. + We're grateful to the maintainers of these tools for their work, and for all + the value they've provided to the Python community. + + Ruff's formatter is built on a fork of Rome's [`rome_formatter`](https://github.com/rome/tools/tree/main/crates/rome_formatter), + and again draws on both API and implementation details from [Rome](https://github.com/rome/tools), + [Prettier](https://github.com/prettier/prettier), and [Black](https://github.com/psf/black). + + Ruff's import resolver is based on the import resolution algorithm from [Pyright](https://github.com/microsoft/pyright). + + Ruff is also influenced by a number of tools outside the Python ecosystem, like + [Clippy](https://github.com/rust-lang/rust-clippy) and [ESLint](https://github.com/eslint/eslint). + + Ruff is the beneficiary of a large number of [contributors](https://github.com/astral-sh/ruff/graphs/contributors). + + Ruff is released under the MIT license. + + ## Who's Using Ruff? + + Ruff is used by a number of major open-source projects and companies, including: + + - [Albumentations](https://github.com/albumentations-team/albumentations) + - Amazon ([AWS SAM](https://github.com/aws/serverless-application-model)) + - Anthropic ([Python SDK](https://github.com/anthropics/anthropic-sdk-python)) + - [Apache Airflow](https://github.com/apache/airflow) + - AstraZeneca ([Magnus](https://github.com/AstraZeneca/magnus-core)) + - [Babel](https://github.com/python-babel/babel) + - Benchling ([Refac](https://github.com/benchling/refac)) + - [Bokeh](https://github.com/bokeh/bokeh) + - CrowdCent ([NumerBlox](https://github.com/crowdcent/numerblox)) + - [Cryptography (PyCA)](https://github.com/pyca/cryptography) + - CERN ([Indico](https://getindico.io/)) + - [DVC](https://github.com/iterative/dvc) + - [Dagger](https://github.com/dagger/dagger) + - [Dagster](https://github.com/dagster-io/dagster) + - Databricks ([MLflow](https://github.com/mlflow/mlflow)) + - [Dify](https://github.com/langgenius/dify) + - [FastAPI](https://github.com/tiangolo/fastapi) + - [Godot](https://github.com/godotengine/godot) + - [Gradio](https://github.com/gradio-app/gradio) + - [Great Expectations](https://github.com/great-expectations/great_expectations) + - [HTTPX](https://github.com/encode/httpx) + - [Hatch](https://github.com/pypa/hatch) + - [Home Assistant](https://github.com/home-assistant/core) + - Hugging Face ([Transformers](https://github.com/huggingface/transformers), + [Datasets](https://github.com/huggingface/datasets), + [Diffusers](https://github.com/huggingface/diffusers)) + - IBM ([Qiskit](https://github.com/Qiskit/qiskit)) + - ING Bank ([popmon](https://github.com/ing-bank/popmon), [probatus](https://github.com/ing-bank/probatus)) + - [Ibis](https://github.com/ibis-project/ibis) + - [ivy](https://github.com/unifyai/ivy) + - [Jupyter](https://github.com/jupyter-server/jupyter_server) + - [Kraken Tech](https://kraken.tech/) + - [LangChain](https://github.com/hwchase17/langchain) + - [Litestar](https://litestar.dev/) + - [LlamaIndex](https://github.com/jerryjliu/llama_index) + - Matrix ([Synapse](https://github.com/matrix-org/synapse)) + - [MegaLinter](https://github.com/oxsecurity/megalinter) + - Meltano ([Meltano CLI](https://github.com/meltano/meltano), [Singer SDK](https://github.com/meltano/sdk)) + - Microsoft ([Semantic Kernel](https://github.com/microsoft/semantic-kernel), + [ONNX Runtime](https://github.com/microsoft/onnxruntime), + [LightGBM](https://github.com/microsoft/LightGBM)) + - Modern Treasury ([Python SDK](https://github.com/Modern-Treasury/modern-treasury-python)) + - Mozilla ([Firefox](https://github.com/mozilla/gecko-dev)) + - [Mypy](https://github.com/python/mypy) + - [Nautobot](https://github.com/nautobot/nautobot) + - Netflix ([Dispatch](https://github.com/Netflix/dispatch)) + - [Neon](https://github.com/neondatabase/neon) + - [Nokia](https://nokia.com/) + - [NoneBot](https://github.com/nonebot/nonebot2) + - [NumPyro](https://github.com/pyro-ppl/numpyro) + - [ONNX](https://github.com/onnx/onnx) + - [OpenBB](https://github.com/OpenBB-finance/OpenBBTerminal) + - [Open Wine Components](https://github.com/Open-Wine-Components/umu-launcher) + - [PDM](https://github.com/pdm-project/pdm) + - [PaddlePaddle](https://github.com/PaddlePaddle/Paddle) + - [Pandas](https://github.com/pandas-dev/pandas) + - [Pillow](https://github.com/python-pillow/Pillow) + - [Poetry](https://github.com/python-poetry/poetry) + - [Polars](https://github.com/pola-rs/polars) + - [PostHog](https://github.com/PostHog/posthog) + - Prefect ([Python SDK](https://github.com/PrefectHQ/prefect), [Marvin](https://github.com/PrefectHQ/marvin)) + - [PyInstaller](https://github.com/pyinstaller/pyinstaller) + - [PyMC](https://github.com/pymc-devs/pymc/) + - [PyMC-Marketing](https://github.com/pymc-labs/pymc-marketing) + - [pytest](https://github.com/pytest-dev/pytest) + - [PyTorch](https://github.com/pytorch/pytorch) + - [Pydantic](https://github.com/pydantic/pydantic) + - [Pylint](https://github.com/PyCQA/pylint) + - [PyVista](https://github.com/pyvista/pyvista) + - [Reflex](https://github.com/reflex-dev/reflex) + - [River](https://github.com/online-ml/river) + - [Rippling](https://rippling.com) + - [Robyn](https://github.com/sansyrox/robyn) + - [Saleor](https://github.com/saleor/saleor) + - Scale AI ([Launch SDK](https://github.com/scaleapi/launch-python-client)) + - [SciPy](https://github.com/scipy/scipy) + - Snowflake ([SnowCLI](https://github.com/Snowflake-Labs/snowcli)) + - [Sphinx](https://github.com/sphinx-doc/sphinx) + - [Stable Baselines3](https://github.com/DLR-RM/stable-baselines3) + - [Starlette](https://github.com/encode/starlette) + - [Streamlit](https://github.com/streamlit/streamlit) + - [The Algorithms](https://github.com/TheAlgorithms/Python) + - [Vega-Altair](https://github.com/altair-viz/altair) + - WordPress ([Openverse](https://github.com/WordPress/openverse)) + - [ZenML](https://github.com/zenml-io/zenml) + - [Zulip](https://github.com/zulip/zulip) + - [build (PyPA)](https://github.com/pypa/build) + - [cibuildwheel (PyPA)](https://github.com/pypa/cibuildwheel) + - [delta-rs](https://github.com/delta-io/delta-rs) + - [featuretools](https://github.com/alteryx/featuretools) + - [meson-python](https://github.com/mesonbuild/meson-python) + - [nox](https://github.com/wntrblm/nox) + - [pip](https://github.com/pypa/pip) + + ### Show Your Support + + If you're using Ruff, consider adding the Ruff badge to your project's `README.md`: + + ```md + [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) + ``` + + ...or `README.rst`: + + ```rst + .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json + :target: https://github.com/astral-sh/ruff + :alt: Ruff + ``` + + ...or, as HTML: + + ```html + Ruff + ``` + + ## License + + This repository is licensed under the [MIT License](https://github.com/astral-sh/ruff/blob/main/LICENSE) + +
+ + Made by Astral + +
+homepage_url: https://docs.astral.sh/ruff +package_url: pkg:pypi/ruff@0.9.3 +license_expression: mit +copyright: Copyright Adam Johnson +attribute: yes +checksum_md5: 07f2ecc8dfa3b307109ce477533a2ce8 +checksum_sha1: dd5bf1304e4cc2394147c7fce6e30d9fbeade9d5 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/setuptools-69.5.1-py3-none-any.whl b/thirdparty/dist/setuptools-69.5.1-py3-none-any.whl deleted file mode 100644 index 4bd4c0e0..00000000 Binary files a/thirdparty/dist/setuptools-69.5.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/setuptools-69.5.1-py3-none-any.whl.ABOUT b/thirdparty/dist/setuptools-69.5.1-py3-none-any.whl.ABOUT deleted file mode 100644 index 45a59be3..00000000 --- a/thirdparty/dist/setuptools-69.5.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: setuptools-69.5.1-py3-none-any.whl -name: setuptools -version: 69.5.1 -download_url: https://files.pythonhosted.org/packages/f7/29/13965af254e3373bceae8fb9a0e6ea0d0e571171b80d6646932131d6439b/setuptools-69.5.1-py3-none-any.whl -package_url: pkg:pypi/setuptools@69.5.1 -license_expression: mit -copyright: Copyright setuptools project contributors -attribute: yes -checksum_md5: 1555b24e28b53f3342e557500dedf8f3 -checksum_sha1: 49841be6743b2d129d01d02d5fd339dd693c99dc -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/setuptools-75.2.0-py3-none-any.whl b/thirdparty/dist/setuptools-75.8.0-py3-none-any.whl similarity index 51% rename from thirdparty/dist/setuptools-75.2.0-py3-none-any.whl rename to thirdparty/dist/setuptools-75.8.0-py3-none-any.whl index f476c405..65ee9ceb 100644 Binary files a/thirdparty/dist/setuptools-75.2.0-py3-none-any.whl and b/thirdparty/dist/setuptools-75.8.0-py3-none-any.whl differ diff --git a/thirdparty/dist/setuptools-75.8.0-py3-none-any.whl.ABOUT b/thirdparty/dist/setuptools-75.8.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..ed9b1442 --- /dev/null +++ b/thirdparty/dist/setuptools-75.8.0-py3-none-any.whl.ABOUT @@ -0,0 +1,28 @@ +about_resource: setuptools-75.8.0-py3-none-any.whl +name: setuptools +version: 75.8.0 +download_url: https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl +package_url: pkg:pypi/setuptools@75.8.0 +license_expression: apache-2.0 AND bsd-new AND lgpl-3.0 AND mit AND python +copyright: Copyright setuptools project contributors +redistribute: yes +attribute: yes +track_changes: yes +checksum_md5: ebfe74306840b1ddc42cf1c5ec127f22 +checksum_sha1: d6d3eb8d2b85b784707dcc3b48469384ca7d24a1 +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE + - key: mit + name: MIT License + file: mit.LICENSE + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE + - key: python + name: Python Software Foundation License v2 + file: python.LICENSE + - key: lgpl-3.0 + name: GNU Lesser General Public License 3.0 + file: lgpl-3.0.LICENSE diff --git a/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl b/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl deleted file mode 100644 index fd942658..00000000 Binary files a/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 0acca121..00000000 --- a/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,19 +0,0 @@ -about_resource: six-1.16.0-py2.py3-none-any.whl -name: six -version: 1.16.0 -download_url: https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl -homepage_url: https://pypi.org/project/six/1.16.0/ -package_url: pkg:pypi/six@1.16.0 -license_expression: mit -copyright: Copyright (c) Benjamin Peterson -notice_file: six-1.16.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Benjamin Peterson -owner_url: http://www.benjamin-peterson.org/ -contact: benjamin@python.org -checksum_md5: 529d7fd7e14612ccde86417b4402d6f3 -checksum_sha1: 79e6f2e4f9e24898f1896df379871b9c9922f147 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl.NOTICE b/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index f8da085d..00000000 --- a/thirdparty/dist/six-1.16.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1,16 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/dist/six-1.17.0-py2.py3-none-any.whl b/thirdparty/dist/six-1.17.0-py2.py3-none-any.whl new file mode 100644 index 00000000..c506fd05 Binary files /dev/null and b/thirdparty/dist/six-1.17.0-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/six-1.17.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/six-1.17.0-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..e9a12780 --- /dev/null +++ b/thirdparty/dist/six-1.17.0-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: six-1.17.0-py2.py3-none-any.whl +name: six +version: 1.17.0 +download_url: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl +package_url: pkg:pypi/six@1.17.0 +license_expression: mit +copyright: Copyright six project contributors +attribute: yes +checksum_md5: 090bac7d568f9c1f64b671de641ccdee +checksum_sha1: 6e8f2653019f7cfb05196f8f08b9a905eab3d8dd +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/smmap-5.0.1-py3-none-any.whl.ABOUT b/thirdparty/dist/smmap-5.0.1-py3-none-any.whl.ABOUT deleted file mode 100644 index 88d963aa..00000000 --- a/thirdparty/dist/smmap-5.0.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: smmap-5.0.1-py3-none-any.whl -name: smmap -version: 5.0.1 -download_url: https://files.pythonhosted.org/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl -package_url: pkg:pypi/smmap@5.0.1 -license_expression: bsd-new -copyright: Copyright smmap project contributors -attribute: yes -checksum_md5: fbeb9e7c083a701e69cb4eac48f3651f -checksum_sha1: ae56f988e8bcc87b338e3e20090d4466c0daab57 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/smmap-5.0.1-py3-none-any.whl b/thirdparty/dist/smmap-5.0.2-py3-none-any.whl similarity index 75% rename from thirdparty/dist/smmap-5.0.1-py3-none-any.whl rename to thirdparty/dist/smmap-5.0.2-py3-none-any.whl index 2d625b11..0ebec139 100644 Binary files a/thirdparty/dist/smmap-5.0.1-py3-none-any.whl and b/thirdparty/dist/smmap-5.0.2-py3-none-any.whl differ diff --git a/thirdparty/dist/smmap-5.0.2-py3-none-any.whl.ABOUT b/thirdparty/dist/smmap-5.0.2-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..815798a3 --- /dev/null +++ b/thirdparty/dist/smmap-5.0.2-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: smmap-5.0.2-py3-none-any.whl +name: smmap +version: 5.0.2 +download_url: https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl +package_url: pkg:pypi/smmap@5.0.2 +license_expression: bsd-new +copyright: Copyright smmap project contributors +attribute: yes +checksum_md5: 1a8eaba35da37e91943659f5cb7f2787 +checksum_sha1: cf5ba495ae740067de11bc380b2e0229596475ed +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/sphinx-8.1.3-py3-none-any.whl.ABOUT b/thirdparty/dist/sphinx-8.1.3-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..f3ca2377 --- /dev/null +++ b/thirdparty/dist/sphinx-8.1.3-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: sphinx-8.1.3-py3-none-any.whl +name: sphinx +version: 8.1.3 +download_url: https://files.pythonhosted.org/packages/26/60/1ddff83a56d33aaf6f10ec8ce84b4c007d9368b21008876fceda7e7381ef/sphinx-8.1.3-py3-none-any.whl +package_url: pkg:pypi/sphinx@8.1.3 +license_expression: bsd-new +copyright: Copyright sphinx project contributors +attribute: yes +checksum_md5: 3bcca8b62843f94429276a0bf1c90c28 +checksum_sha1: 67dc18611c44f712539585db41aaee4b0a7ec646 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/sqlparse-0.5.0-py3-none-any.whl b/thirdparty/dist/sqlparse-0.5.0-py3-none-any.whl deleted file mode 100644 index 60b04f12..00000000 Binary files a/thirdparty/dist/sqlparse-0.5.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/sqlparse-0.5.0-py3-none-any.whl.ABOUT b/thirdparty/dist/sqlparse-0.5.0-py3-none-any.whl.ABOUT deleted file mode 100644 index b6df1c2c..00000000 --- a/thirdparty/dist/sqlparse-0.5.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: sqlparse-0.5.0-py3-none-any.whl -name: sqlparse -version: 0.5.0 -download_url: https://files.pythonhosted.org/packages/43/5d/a0fdd88fd486b39ae1fd1a75ff75b4e29a0df96c0304d462fd407b82efe0/sqlparse-0.5.0-py3-none-any.whl -package_url: pkg:pypi/sqlparse@0.5.0 -license_expression: bsd-new -copyright: Copyright sqlparse project contributors -attribute: yes -checksum_md5: f22879a0ed4eb42d721e3c2c57c6a29c -checksum_sha1: 5a8083d37e0c4dbe95769cb82cb5f2022b52f309 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/sqlparse-0.5.3-py3-none-any.whl b/thirdparty/dist/sqlparse-0.5.3-py3-none-any.whl new file mode 100644 index 00000000..0ac32bae Binary files /dev/null and b/thirdparty/dist/sqlparse-0.5.3-py3-none-any.whl differ diff --git a/thirdparty/dist/sqlparse-0.5.3-py3-none-any.whl.ABOUT b/thirdparty/dist/sqlparse-0.5.3-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..cf7c797b --- /dev/null +++ b/thirdparty/dist/sqlparse-0.5.3-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: sqlparse-0.5.3-py3-none-any.whl +name: sqlparse +version: 0.5.3 +download_url: https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl +package_url: pkg:pypi/sqlparse@0.5.3 +license_expression: bsd-new +copyright: Copyright sqlparse project contributors +attribute: yes +checksum_md5: 28a0ac4500fe5b9b0d7c7e593b21e6df +checksum_sha1: 1522ee6a87f0edc9bcee1513ee41d40904b4d916 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/stevedore-5.1.0-py3-none-any.whl b/thirdparty/dist/stevedore-5.1.0-py3-none-any.whl deleted file mode 100644 index f3f17cda..00000000 Binary files a/thirdparty/dist/stevedore-5.1.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/stevedore-5.1.0-py3-none-any.whl.ABOUT b/thirdparty/dist/stevedore-5.1.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 3cd76c50..00000000 --- a/thirdparty/dist/stevedore-5.1.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,15 +0,0 @@ -about_resource: stevedore-5.1.0-py3-none-any.whl -name: stevedore -version: 5.1.0 -download_url: https://files.pythonhosted.org/packages/4b/68/e739fd061b0aba464bef8e8be48428b2aabbfb3f2f8f2f8ca257363ee6b2/stevedore-5.1.0-py3-none-any.whl -package_url: pkg:pypi/stevedore@5.1.0 -license_expression: apache-2.0 -copyright: Copyright Red Hat -attribute: yes -track_changes: yes -checksum_md5: 31fe0913f1918fab6b6b49b0c5195c05 -checksum_sha1: 334a8777cbd910669abe5fb285ca012f76775051 -licenses: - - key: apache-2.0 - name: Apache License 2.0 - file: apache-2.0.LICENSE diff --git a/thirdparty/dist/stevedore-5.4.0-py3-none-any.whl b/thirdparty/dist/stevedore-5.4.0-py3-none-any.whl new file mode 100644 index 00000000..8825e5da Binary files /dev/null and b/thirdparty/dist/stevedore-5.4.0-py3-none-any.whl differ diff --git a/thirdparty/dist/stevedore-5.4.0-py3-none-any.whl.ABOUT b/thirdparty/dist/stevedore-5.4.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..11a0d52f --- /dev/null +++ b/thirdparty/dist/stevedore-5.4.0-py3-none-any.whl.ABOUT @@ -0,0 +1,15 @@ +about_resource: stevedore-5.4.0-py3-none-any.whl +name: stevedore +version: 5.4.0 +download_url: https://files.pythonhosted.org/packages/8f/73/d0091d22a65b55e8fb6aca7b3b6713b5a261dd01cec4cfd28ed127ac0cfc/stevedore-5.4.0-py3-none-any.whl +package_url: pkg:pypi/stevedore@5.4.0 +license_expression: apache-2.0 +copyright: Copyright Red Hat +attribute: yes +track_changes: yes +checksum_md5: 1e09b7fe86ace2b403e93b8b7f4a5aae +checksum_sha1: d36db01bf262a71655002773aa8677f4d11c4960 +licenses: + - key: apache-2.0 + name: Apache License 2.0 + file: apache-2.0.LICENSE diff --git a/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl b/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl deleted file mode 100644 index a5799a31..00000000 Binary files a/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl.ABOUT deleted file mode 100644 index 3232e3a6..00000000 --- a/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: swapper-1.3.0-py2.py3-none-any.whl -name: swapper -version: 1.3.0 -download_url: https://files.pythonhosted.org/packages/53/10/6730e2afcbf3f75d9c9203be16ef64730a9777226a6be3235d5b11c52b41/swapper-1.3.0-py2.py3-none-any.whl -homepage_url: https://pypi.org/project/swapper/1.3.0/ -package_url: pkg:pypi/swapper@1.3.0 -license_expression: mit -copyright: Copyright (c) S. Andrew Sheppard -notice_file: swapper-1.3.0-py2.py3-none-any.whl.NOTICE -attribute: yes -owner: Jakub Brzezniak -checksum_md5: e7fa17e1e98739c69517b11706d3af28 -checksum_sha1: e58b090ec5003af7804c2e85cf26b384875975c6 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl.NOTICE b/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl.NOTICE deleted file mode 100644 index 98a91365..00000000 --- a/thirdparty/dist/swapper-1.3.0-py2.py3-none-any.whl.NOTICE +++ /dev/null @@ -1 +0,0 @@ -License :: OSI Approved :: MIT License \ No newline at end of file diff --git a/thirdparty/dist/swapper-1.4.0-py2.py3-none-any.whl b/thirdparty/dist/swapper-1.4.0-py2.py3-none-any.whl new file mode 100644 index 00000000..c22363cd Binary files /dev/null and b/thirdparty/dist/swapper-1.4.0-py2.py3-none-any.whl differ diff --git a/thirdparty/dist/swapper-1.4.0-py2.py3-none-any.whl.ABOUT b/thirdparty/dist/swapper-1.4.0-py2.py3-none-any.whl.ABOUT new file mode 100644 index 00000000..0a360065 --- /dev/null +++ b/thirdparty/dist/swapper-1.4.0-py2.py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: swapper-1.4.0-py2.py3-none-any.whl +name: swapper +version: 1.4.0 +download_url: https://files.pythonhosted.org/packages/e9/53/c59363308ef97507a680372471e25e1ebab2e706a45a7c416eea6474c928/swapper-1.4.0-py2.py3-none-any.whl +package_url: pkg:pypi/swapper@1.4.0 +license_expression: mit +copyright: Copyright swapper project contributors +attribute: yes +checksum_md5: d1ec32580d41a09bd5afed8dcaa99db1 +checksum_sha1: 87571076dfefba79ad35c2a4488d6932b57df606 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/unknown-license-reference.LICENSE b/thirdparty/dist/unknown-license-reference.LICENSE new file mode 100644 index 00000000..260d38d3 --- /dev/null +++ b/thirdparty/dist/unknown-license-reference.LICENSE @@ -0,0 +1 @@ +Unknown License file reference \ No newline at end of file diff --git a/thirdparty/dist/urllib3-2.2.1-py3-none-any.whl b/thirdparty/dist/urllib3-2.2.1-py3-none-any.whl deleted file mode 100644 index d7cca6a4..00000000 Binary files a/thirdparty/dist/urllib3-2.2.1-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/urllib3-2.2.1-py3-none-any.whl.ABOUT b/thirdparty/dist/urllib3-2.2.1-py3-none-any.whl.ABOUT deleted file mode 100644 index 68e8fec4..00000000 --- a/thirdparty/dist/urllib3-2.2.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: urllib3-2.2.1-py3-none-any.whl -name: urllib3 -version: 2.2.1 -download_url: https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl -package_url: pkg:pypi/urllib3@2.2.1 -license_expression: mit -copyright: Copyright urllib3 project contributors -attribute: yes -checksum_md5: 826986cd62165de59653bdd7c9685284 -checksum_sha1: fe4c49d871becc8029044f32093cf46b0f787801 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/urllib3-2.2.3-py3-none-any.whl b/thirdparty/dist/urllib3-2.2.3-py3-none-any.whl deleted file mode 100644 index 38705683..00000000 Binary files a/thirdparty/dist/urllib3-2.2.3-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/urllib3-2.3.0-py3-none-any.whl b/thirdparty/dist/urllib3-2.3.0-py3-none-any.whl new file mode 100644 index 00000000..cfa568f8 Binary files /dev/null and b/thirdparty/dist/urllib3-2.3.0-py3-none-any.whl differ diff --git a/thirdparty/dist/urllib3-2.3.0-py3-none-any.whl.ABOUT b/thirdparty/dist/urllib3-2.3.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..b33f23b4 --- /dev/null +++ b/thirdparty/dist/urllib3-2.3.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: urllib3-2.3.0-py3-none-any.whl +name: urllib3 +version: 2.3.0 +download_url: https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl +package_url: pkg:pypi/urllib3@2.3.0 +license_expression: mit +copyright: Copyright urllib3 project contributors +attribute: yes +checksum_md5: 21cc339da6ff13770c290e665a50d1a6 +checksum_sha1: 1481268457cd2aa8a0a1465c572ab31d8ec85620 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/wheel-0.43.0-py3-none-any.whl b/thirdparty/dist/wheel-0.43.0-py3-none-any.whl deleted file mode 100644 index 67e23087..00000000 Binary files a/thirdparty/dist/wheel-0.43.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/wheel-0.43.0-py3-none-any.whl.ABOUT b/thirdparty/dist/wheel-0.43.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 046e466e..00000000 --- a/thirdparty/dist/wheel-0.43.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -about_resource: wheel-0.43.0-py3-none-any.whl -name: wheel -version: 0.43.0 -download_url: https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl -package_url: pkg:pypi/wheel@0.43.0 -license_expression: mit -copyright: Copyright wheel project contributors -attribute: yes -checksum_md5: e65b1197e1dfc6bbc8df362935f5943d -checksum_sha1: 71a83a2237cb57ab45bdafed364564e36ca5dc95 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/wheel-0.44.0-py3-none-any.whl b/thirdparty/dist/wheel-0.45.1-py3-none-any.whl similarity index 67% rename from thirdparty/dist/wheel-0.44.0-py3-none-any.whl rename to thirdparty/dist/wheel-0.45.1-py3-none-any.whl index 96431aa4..589308a2 100644 Binary files a/thirdparty/dist/wheel-0.44.0-py3-none-any.whl and b/thirdparty/dist/wheel-0.45.1-py3-none-any.whl differ diff --git a/thirdparty/dist/wheel-0.45.1-py3-none-any.whl.ABOUT b/thirdparty/dist/wheel-0.45.1-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..bf68a241 --- /dev/null +++ b/thirdparty/dist/wheel-0.45.1-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: wheel-0.45.1-py3-none-any.whl +name: wheel +version: 0.45.1 +download_url: https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl +package_url: pkg:pypi/wheel@0.45.1 +license_expression: mit +copyright: Copyright wheel project contributors +attribute: yes +checksum_md5: 67835ab585e0d1522727173dd4b09eae +checksum_sha1: 2c6c56f64de6d3c413eb5b94b8496f33468f8c98 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/wrapt-1.14.1.tar.gz b/thirdparty/dist/wrapt-1.14.1.tar.gz deleted file mode 100644 index c32a3ee9..00000000 Binary files a/thirdparty/dist/wrapt-1.14.1.tar.gz and /dev/null differ diff --git a/thirdparty/dist/wrapt-1.14.1.tar.gz.ABOUT b/thirdparty/dist/wrapt-1.14.1.tar.gz.ABOUT deleted file mode 100644 index 1d986451..00000000 --- a/thirdparty/dist/wrapt-1.14.1.tar.gz.ABOUT +++ /dev/null @@ -1,162 +0,0 @@ -about_resource: wrapt-1.14.1.tar.gz -name: wrapt -version: 1.14.1 -download_url: https://files.pythonhosted.org/packages/11/eb/e06e77394d6cf09977d92bff310cb0392930c08a338f99af6066a5a98f92/wrapt-1.14.1.tar.gz -description: | - Module for decorators, wrappers and monkey patching. - wrapt - ===== - - |Actions| |PyPI| - - The aim of the **wrapt** module is to provide a transparent object proxy - for Python, which can be used as the basis for the construction of function - wrappers and decorator functions. - - The **wrapt** module focuses very much on correctness. It therefore goes - way beyond existing mechanisms such as ``functools.wraps()`` to ensure that - decorators preserve introspectability, signatures, type checking abilities - etc. The decorators that can be constructed using this module will work in - far more scenarios than typical decorators and provide more predictable and - consistent behaviour. - - To ensure that the overhead is as minimal as possible, a C extension module - is used for performance critical components. An automatic fallback to a - pure Python implementation is also provided where a target system does not - have a compiler to allow the C extension to be compiled. - - Documentation - ------------- - - For further information on the **wrapt** module see: - - * http://wrapt.readthedocs.org/ - - Quick Start - ----------- - - To implement your decorator you need to first define a wrapper function. - This will be called each time a decorated function is called. The wrapper - function needs to take four positional arguments: - - * ``wrapped`` - The wrapped function which in turns needs to be called by your wrapper function. - * ``instance`` - The object to which the wrapped function was bound when it was called. - * ``args`` - The list of positional arguments supplied when the decorated function was called. - * ``kwargs`` - The dictionary of keyword arguments supplied when the decorated function was called. - - The wrapper function would do whatever it needs to, but would usually in - turn call the wrapped function that is passed in via the ``wrapped`` - argument. - - The decorator ``@wrapt.decorator`` then needs to be applied to the wrapper - function to convert it into a decorator which can in turn be applied to - other functions. - - .. code-block:: python - - import wrapt - - @wrapt.decorator - def pass_through(wrapped, instance, args, kwargs): - return wrapped(*args, **kwargs) - - @pass_through - def function(): - pass - - If you wish to implement a decorator which accepts arguments, then wrap the - definition of the decorator in a function closure. Any arguments supplied - to the outer function when the decorator is applied, will be available to - the inner wrapper when the wrapped function is called. - - .. code-block:: python - - import wrapt - - def with_arguments(myarg1, myarg2): - @wrapt.decorator - def wrapper(wrapped, instance, args, kwargs): - return wrapped(*args, **kwargs) - return wrapper - - @with_arguments(1, 2) - def function(): - pass - - When applied to a normal function or static method, the wrapper function - when called will be passed ``None`` as the ``instance`` argument. - - When applied to an instance method, the wrapper function when called will - be passed the instance of the class the method is being called on as the - ``instance`` argument. This will be the case even when the instance method - was called explicitly via the class and the instance passed as the first - argument. That is, the instance will never be passed as part of ``args``. - - When applied to a class method, the wrapper function when called will be - passed the class type as the ``instance`` argument. - - When applied to a class, the wrapper function when called will be passed - ``None`` as the ``instance`` argument. The ``wrapped`` argument in this - case will be the class. - - The above rules can be summarised with the following example. - - .. code-block:: python - - import inspect - - @wrapt.decorator - def universal(wrapped, instance, args, kwargs): - if instance is None: - if inspect.isclass(wrapped): - # Decorator was applied to a class. - return wrapped(*args, **kwargs) - else: - # Decorator was applied to a function or staticmethod. - return wrapped(*args, **kwargs) - else: - if inspect.isclass(instance): - # Decorator was applied to a classmethod. - return wrapped(*args, **kwargs) - else: - # Decorator was applied to an instancemethod. - return wrapped(*args, **kwargs) - - Using these checks it is therefore possible to create a universal decorator - that can be applied in all situations. It is no longer necessary to create - different variants of decorators for normal functions and instance methods, - or use additional wrappers to convert a function decorator into one that - will work for instance methods. - - In all cases, the wrapped function passed to the wrapper function is called - in the same way, with ``args`` and ``kwargs`` being passed. The - ``instance`` argument doesn't need to be used in calling the wrapped - function. - - Repository - ---------- - - Full source code for the **wrapt** module, including documentation files - and unit tests, can be obtained from github. - - * https://github.com/GrahamDumpleton/wrapt - - .. |Actions| image:: https://img.shields.io/github/workflow/status/GrahamDumpleton/wrapt/Test/develop?logo=github&cacheSeconds=600 - :target: https://github.com/GrahamDumpleton/wrapt/actions - .. |PyPI| image:: https://img.shields.io/pypi/v/wrapt.svg?logo=python&cacheSeconds=3600 - :target: https://pypi.python.org/pypi/wrapt -homepage_url: https://github.com/GrahamDumpleton/wrapt -package_url: pkg:pypi/wrapt@1.14.1 -license_expression: bsd-new -copyright: Copyright (c) Graham Dumpleton -notice_file: wrapt-1.14.1.tar.gz.NOTICE -attribute: yes -owner: Graham Dumpleton -owner_url: http://blog.dscpl.com.au/ -contact: https://github.com/GrahamDumpleton -checksum_md5: 6e7340264f038efdefcba707250c91c2 -checksum_sha1: 034e42e256e9e9ea1cd8ee8b2d75ee81ae9b1c44 -licenses: - - key: bsd-new - name: BSD-3-Clause - file: bsd-new.LICENSE diff --git a/thirdparty/dist/wrapt-1.14.1.tar.gz.NOTICE b/thirdparty/dist/wrapt-1.14.1.tar.gz.NOTICE deleted file mode 100644 index 3633760d..00000000 --- a/thirdparty/dist/wrapt-1.14.1.tar.gz.NOTICE +++ /dev/null @@ -1 +0,0 @@ -License: BSD License (BSD) \ No newline at end of file diff --git a/thirdparty/dist/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl b/thirdparty/dist/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl new file mode 100644 index 00000000..e78a2789 Binary files /dev/null and b/thirdparty/dist/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl differ diff --git a/thirdparty/dist/wrapt-1.17.2-py3-none-any.whl b/thirdparty/dist/wrapt-1.17.2-py3-none-any.whl new file mode 100644 index 00000000..6aed2d39 Binary files /dev/null and b/thirdparty/dist/wrapt-1.17.2-py3-none-any.whl differ diff --git a/thirdparty/dist/wrapt-1.17.2-py3-none-any.whl.ABOUT b/thirdparty/dist/wrapt-1.17.2-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..f4d7627f --- /dev/null +++ b/thirdparty/dist/wrapt-1.17.2-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: wrapt-1.17.2-py3-none-any.whl +name: wrapt +version: 1.17.2 +download_url: https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl +package_url: pkg:pypi/wrapt@1.17.2 +license_expression: bsd-new +copyright: Copyright wrapt project contributors +attribute: yes +checksum_md5: 9efa1f85fae13da905c5ad0f6145f37a +checksum_sha1: ca59f76c557f4ffec6cca4e1d4d6a05f52106869 +licenses: + - key: bsd-new + name: BSD-3-Clause + file: bsd-new.LICENSE diff --git a/thirdparty/dist/zipp-3.20.2-py3-none-any.whl b/thirdparty/dist/zipp-3.20.2-py3-none-any.whl deleted file mode 100644 index d506da93..00000000 Binary files a/thirdparty/dist/zipp-3.20.2-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/zipp-3.21.0-py3-none-any.whl b/thirdparty/dist/zipp-3.21.0-py3-none-any.whl new file mode 100644 index 00000000..ccd19f08 Binary files /dev/null and b/thirdparty/dist/zipp-3.21.0-py3-none-any.whl differ diff --git a/thirdparty/dist/zipp-3.21.0-py3-none-any.whl.ABOUT b/thirdparty/dist/zipp-3.21.0-py3-none-any.whl.ABOUT new file mode 100644 index 00000000..babf502c --- /dev/null +++ b/thirdparty/dist/zipp-3.21.0-py3-none-any.whl.ABOUT @@ -0,0 +1,14 @@ +about_resource: zipp-3.21.0-py3-none-any.whl +name: zipp +version: 3.21.0 +download_url: https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl +package_url: pkg:pypi/zipp@3.21.0 +license_expression: mit +copyright: Copyright zipp project contributors +attribute: yes +checksum_md5: b7151ef99fdd9e649f88086423ba2cdf +checksum_sha1: b4337a7c096e7356a76c9e4ee9ec71f9786318e9 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/dist/zipp-3.8.0-py3-none-any.whl b/thirdparty/dist/zipp-3.8.0-py3-none-any.whl deleted file mode 100644 index 088faa45..00000000 Binary files a/thirdparty/dist/zipp-3.8.0-py3-none-any.whl and /dev/null differ diff --git a/thirdparty/dist/zipp-3.8.0-py3-none-any.whl.ABOUT b/thirdparty/dist/zipp-3.8.0-py3-none-any.whl.ABOUT deleted file mode 100644 index 2f295f2a..00000000 --- a/thirdparty/dist/zipp-3.8.0-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,17 +0,0 @@ -about_resource: zipp-3.8.0-py3-none-any.whl -name: zipp -version: 3.8.0 -download_url: https://files.pythonhosted.org/packages/80/0e/16a7ee38617aab6a624e95948d314097cc2669edae9b02ded53309941cfc/zipp-3.8.0-py3-none-any.whl -homepage_url: https://pypi.org/project/zipp/3.8.0/ -package_url: pkg:pypi/zipp@3.8.0 -license_expression: mit -copyright: Copyright (c) Jason R. Coombs -notice_file: zipp-3.8.0-py3-none-any.whl.NOTICE -attribute: yes -owner: Jason R. Coombs -checksum_md5: da531f1b3a5c5e65470cb74729242bfc -checksum_sha1: 94d2e7505ec6471aebf3fd34a1a249e8e7607ab8 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE diff --git a/thirdparty/dist/zipp-3.8.0-py3-none-any.whl.NOTICE b/thirdparty/dist/zipp-3.8.0-py3-none-any.whl.NOTICE deleted file mode 100644 index c9655f58..00000000 --- a/thirdparty/dist/zipp-3.8.0-py3-none-any.whl.NOTICE +++ /dev/null @@ -1 +0,0 @@ -Classifier: License :: OSI Approved :: MIT License \ No newline at end of file diff --git a/vulnerabilities/fetch.py b/vulnerabilities/fetch.py index eae91293..8c097567 100644 --- a/vulnerabilities/fetch.py +++ b/vulnerabilities/fetch.py @@ -52,8 +52,8 @@ def fetch_from_vulnerablecode(dataspace, batch_size, update, timeout, log_func=N ) run_time = timer() - start_time if log_func: - log_func(f"+ Created {intcomma(results.get("created", 0))} vulnerabilities") - log_func(f"+ Updated {intcomma(results.get("updated", 0))} vulnerabilities") + log_func(f"+ Created {intcomma(results.get('created', 0))} vulnerabilities") + log_func(f"+ Updated {intcomma(results.get('updated', 0))} vulnerabilities") log_func(f"Completed in {humanize_time(run_time)}") dataspace.vulnerabilities_updated_at = timezone.now() diff --git a/workflow/forms.py b/workflow/forms.py index 911f4e58..47e7d102 100644 --- a/workflow/forms.py +++ b/workflow/forms.py @@ -55,7 +55,7 @@ css_class="btn-outline-success", data_placement="top", data_toggle="tooltip", - title='Self-assign this request with the "Draft" status. ' "Notifications are not sent.", + title='Self-assign this request with the "Draft" status. Notifications are not sent.', ) diff --git a/workflow/models.py b/workflow/models.py index ade33cf5..6c46c114 100644 --- a/workflow/models.py +++ b/workflow/models.py @@ -75,7 +75,7 @@ class Priority(DataspacedModel): max_length=7, blank=True, help_text=_( - "You can specify a valid HTML color code (e.g. #FFFFFF) to apply " "to your Priority." + "You can specify a valid HTML color code (e.g. #FFFFFF) to apply to your Priority." ), ) @@ -671,8 +671,7 @@ class RequestTemplate(HistoryFieldsMixin, DataspacedModel): description = models.TextField( verbose_name=_("Request header text"), help_text=_( - "Provide a title and/or general instructions to the Requestor about this " - "Request form." + "Provide a title and/or general instructions to the Requestor about this Request form." ), ) @@ -774,7 +773,7 @@ class Question(DataspacedModel): help_text = models.TextField( blank=True, help_text=_( - "Descriptive text (instructions) to display to the Requestor below the " "question." + "Descriptive text (instructions) to display to the Requestor below the question." ), ) diff --git a/workflow/notification.py b/workflow/notification.py index c3b71137..5df124b0 100644 --- a/workflow/notification.py +++ b/workflow/notification.py @@ -45,7 +45,7 @@ def send_request_notification(http_request, req, created, extra=None): } subject = ( - "Request {req}{content_object_verbose} {action} " "by {action_user} in {req.dataspace}" + "Request {req}{content_object_verbose} {action} by {action_user} in {req.dataspace}" ).format(**data) template = "request_created_email.txt" if created else "request_updated_email.txt" @@ -89,7 +89,7 @@ def send_request_comment_notification(http_request, comment, closed=False): } subject = ( - "Request {req}{content_object_verbose} " "{action} by {comment.user} in " "{req.dataspace}" + "Request {req}{content_object_verbose} {action} by {comment.user} in {req.dataspace}" ).format(**data) body = render_to_string("workflow/comment_created_email.txt", data) diff --git a/workflow/tests/test_views.py b/workflow/tests/test_views.py index 32f105be..841ee835 100644 --- a/workflow/tests/test_views.py +++ b/workflow/tests/test_views.py @@ -1509,7 +1509,7 @@ def test_workflow_request_send_attachment_view(self): self.client.logout() response = self.client.get(attachment_url) - self.assertRedirects(response, f'{reverse("login")}?next={attachment_url}') + self.assertRedirects(response, f"{reverse('login')}?next={attachment_url}") def test_workflow_request_details_view_product_context_links(self): self.client.login(username=self.nexb_user.username, password="secret") diff --git a/workflow/views.py b/workflow/views.py index 6b941205..d38fcdf1 100644 --- a/workflow/views.py +++ b/workflow/views.py @@ -219,7 +219,7 @@ def get_productrelation_review_status_summary(product): link = ( f'' - f' {status_label} ({data["count"]})' + f" {status_label} ({data['count']})" f"" ) links.append(link)